DR/BDR選舉過程

 1. 在與一個或多個鄰居之間的雙向通信建立起來之後,(路由器)對每個鄰居(發送來)的Hello包中的優先級、DR和BDR域進行檢查。列出所有能夠參加選舉的路由器(也就是說,路由器的優先級高於0並且此路由器的鄰居狀態至少爲“雙向”);所有路由器都宣稱自己爲DR(將它們自己的接口地址置於Hello包的DR域中);而且所有路由器都宣稱自己爲BDR(將它們自己的接口地址置於Hello包的BDR域中)。進行計算的路由器也要將自身包括在此列表內,除非它被禁止參加選舉。
2. 從(以上)備選路由器列表中,創造一個子集,此子集包含所有未宣稱爲DR的路由器(宣稱自己爲DR的路由器無法被選舉爲BDR).
3. 如果此子集中的一或多個鄰居將它(們)自身的接口地址置於BDR域中,這些鄰居中擁有最高優先級的路由器將被宣告爲BDR。如果出現平局(路由器優先級相等),擁有最高Router ID的鄰居將被選舉出來。
4. 如果此子集中沒有任何路由器被宣告爲BDR,擁有最高優先級的鄰居將被宣告爲BDR。如果出現平局,擁有最高Router ID的鄰居將被選舉出來。
5. 如果一或多個備選路由器將它(們)自身的接口地址置於DR域中,擁有最高優先級的鄰居將被宣告爲DR。如果出現平局,擁有最高Router ID的鄰居將被選舉出來。
6. 如果沒有任何路由器宣告自己爲DR,則新選舉出來的BDR將成爲DR。
7. 如果進行計算的路由器是新選舉出來的DR或者BDR,或者如果它不再是DR或者BDR,重複步驟2到6。

 

簡而言之,當一個OSPF路由器啓動並開始搜索鄰居時,它先搜尋活動的DR和BDR。如果DR和BDR存在,路由器就接受它們。如果沒有BDR,就進行一次選舉將擁有最高優先級的路由器選舉爲BDR。如果多於一臺路由器擁有相同的優先級,那麼擁有最高路由器ID的路由器將勝出。如果沒有活動的DR,BDR將被提升爲DR然後再進行一次BDR的選舉。

 


以上譯自《Routing TCP/IP Volume I》 Jeff Doyle Cisco Press 1998 / PTP 2003

 

DR選舉機制按照如下規則運作:將進行計算的路由器稱爲路由器X。路由器X將會檢查所有連接到此網絡並與路由器X建立起雙向通信的鄰居的列表。此列表恰好爲所有與路由器X的狀態等於或高於“2-Way”狀態的所有鄰居的總和。路由器X也將其本身包括在此列表內。將列表中無權參加選舉的所有路由器剔除。(擁有優先級0的路由器將無權成爲DR。)。基於列表中剩餘的所有路由器執行如下步驟:
1.記錄當前網絡中的DR和BDR值。此值稍後將作比較之用。
2.爲此網絡按照如下方式計算BDR。只有那些在列表中的沒有宣稱自己爲DR的路由器才能參加BDR選舉。如果多於一臺路由器宣稱自己爲BDR(例如,當前在它們的Hello包中它們將自己列爲BDR,但不是DR),則擁有最高路由器優先級的路由器被選舉成爲BDR。如果路由器的優先級相等,則擁有最高Router ID的路由器將當選。如果沒有路由器宣稱自己爲BDR,則選舉擁有最高路由器優先級的路由器爲BDR(同樣不考慮那些宣稱自己爲DR的路由器),同樣使用Router ID來打破平局。
3.按照如下方法爲此網絡計算新的DR。如果一或多個路由器宣稱自己爲DR(也就是說,當前在它們的Hello包中將它們自己列爲DR),則擁有最高路由器優先級的路由器被宣告爲DR。如果出現平局,擁有最高Router ID者勝出。如果沒有路由器宣告自己爲DR,則新選擇出來的BDR成爲DR。
4.如果路由器X現在被選爲新的DR或者BDR,或者它不再成爲DR或者BDR,重複步驟2和3,然後跳到步驟5。例如,如果路由器X現在是DR,當重複第2步時路由器X將不能再參加BDR的選舉。此外,這也會保證沒有任何路由器會同時宣告自己爲BDR和DR。
5.作爲選舉的結果,路由器本身可能現在成爲了DR或者BDR。路由器的接口狀態將被依此而設置。如果路由器現在成爲了BDR,則端口的新狀態爲“備份”。否則,接口的新狀態成爲DR Other。
6.如果所連接的網絡是NBMA網絡而路由器本身正好被選舉爲DR或者BDR,它必須開始發送hello包給那些無權成爲DR的鄰居。這是通過調用每個擁有路由器優先級0的鄰居消息“Start”來實現的。
7.如果以上計算導致了DR或者BDR身份的改變,與此端口關聯的鄰接關係需要進行改變。某些鄰接關係需要建立,而其他一些將被打破。爲了實現此動作,爲所有狀態至少爲“2-Way”的鄰居調用消息“AdjOK?”。這將會導致它們重新檢查鄰接狀態。
以上譯自 RFC 2178

一旦路由器進入Two-Way狀態,它們將被認爲是鄰居。此時會發生DR/BDR的選舉。 

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章