OSPF的DR/BDR選舉

1      DR的選舉機制算法

MA網絡上要同時選舉DR/BDR,DR與BDR,DR與DRother、BDR與Drother造成FULL,Drother之間造成2-way。網絡

MA網絡能夠沒有BDR,可是必須有DRide

DR的選舉是依靠hello報文,交互hello報文完成DR/BDR的選舉(有說法在2-way狀態後才進行選舉,路由器是進入2-way狀態後纔開始進行DR/BDR選舉,由於這個狀態下每臺路由器的鄰居ID都包含全部其餘的路由器,這體現公平性,實際實驗中華爲設備並無)。學習

2      DR的選舉算法spa

三個集合:blog

DR集合:經過hello報文學習到的全部DR路由器;接口

BDR集合:經過hello報文學習到的全部BDR路由器;路由

DRother集合:沒有被選舉的DR/BDR的路由器(要求優先級不爲0)it

2.1    DR的選舉規則class

若是 DR集合爲非空,則從中選擇最好的路由器成爲DR;

不然 DR集合爲空,將當前BDR提高爲DR;

若是BDR集合也爲空,則先從DRother集合中選出BDR,再將其提高爲DR。

2.2    BDR的選舉規則

若是BDR集合爲非空,則從中選擇最好的路由器爲BDR;

若是BDR集合爲空,則從DRother集合中選擇最好的路由器爲BDR

2.3    DR/BDR的選舉過程

說明:生成鄰居表並在接口維持三個集合:

DR集合{},BDR集合{},DRother集合{},這裏DRother指非DR非BDR且有資格成爲DR/BDR的路由器。

判斷狀態:OSPF接口開啓後,在hello報文中的DR/BDR字段都爲0,此時DR/BDR未知,同時wait timer啓動,時長4倍hello間隔,若是收到的hello報文裏的DR/BDR字段爲非空,則wait timer計時器中止,接受當前DR/BDR;若是wait計時超時後仍未學習到DR/BDR,則開始DR/BDR選舉。

選舉狀態

先從DRother集合選BDR,再把BDR提高爲DR,而後再選擇BDR。

每臺路由器根據本身收到的鄰居hello報文得知DRother集合,而後獨立選擇DR/BDR,其餘路由器也同理。相同算法算出來的DR/BDR相同。

3      DR的選舉實驗

單臺路由器啓動,證實華爲不是在2-way後才進行DR/BDR選舉

單臺路由器啓動,在4倍hello後直接選舉出了DR。

                          image.png                   

 image.png

相關文章
相關標籤/搜索