1. 程式人生 > >OSPF的DR與BDR選舉

OSPF的DR與BDR選舉

ospf 圖片 mage term eset eee 狀態 com 負責

DR和BDR
作用:減少網絡中LSA流量的泛洪
特點:
1.不會減少Hello報文,較少的DD,LSR,LSU,LSAck報文
2.DRother只和DR以及BDR泛洪DD,LSR,LSU
3.DRother之間只互相發送Hello報文
4.DRother之間保持2-Way關系
5.DR和BDR負責收集網絡LSA
6.DR負責向網絡中其他DRother通告拓撲信息
7.BDR監控DR運行狀態,準備隨時取代
8.只存在MA網絡
選舉規則:
1.先比較優先級,默認為1,大的為DR次大為BDR
優先級0,表示不參與選舉
如果兩臺路由器優先級都為0,則鄰居狀態為2-Way
2.優先級相同,比較Router-ID,大的為DR次大為BDR
細節:
1.網絡初始時,先選出BDR,BDR發現網絡中沒有DR後,把自己變為DR,再選出BDR。
2.非搶占性,當網絡中已經有了DR和BDR,有一臺優先級更高的或者RID更高的路由器接入,為了保障網絡的穩定,DR和BDR不會發生改變。
(1)重啟DR和BDR或者OSPF進程
(2)把路由器接口的優先級置為0
3.當整個網絡沒有DR和BDR存在時,所有的OSPF路由器都會在2-Way狀態下,等待一個dead時間(40s)後進行選舉
4.當多個MA網絡通過交換機互聯時,DR和DR之間競選,BDR和BDR之間進行競選。
5.在幀中繼Hub-Spoke結構,必須讓Hub節點成為DR,最好其他節點不參與選舉優先級為0。
實驗:
拓撲:
技術分享圖片
1.如何實現快速讓新加入的設備成為DR
先開啟R1、R2、LSW1,並運行OSPF,根據選舉規則R2將成為DR,R1成為BDR
技術分享圖片
再將R3啟動並運行OSPF,查看DR和BDR。
技術分享圖片
發現R3加入後,DR和BDR沒有變動,驗證了DR和BDR選舉的非搶占性,當網絡中有DR存在時,即使有優先級高的,Router-ID大的路由器加入網絡也不會進行重新選舉。
假設R3是一臺高性能路由器,必須讓它成為DR,該如何做?
方法1:重啟現在為DR的R2的OSPF進程,觸發重新選舉
<R2>reset ospf 1 process
技術分享圖片
R2的OSPF進程重啟後,先前網絡中為BDR的R1成為DR,而Router-ID大的R3成為了BDR。網絡初始化時,發現網絡中沒有BDR,即先選出BDR,一臺路由器成為BDR後,監控DR運行狀態,發現DR不存在時,把自己的角色從BDR定義為DR通告出去。所以即便R2重啟了OSPF,觸發了重新選舉,也只是把R3選為了BDR,R1從BDR轉換為DR,R3仍然不是DR。
因此,我們再重啟R1的OSPF進程,讓R3從BDR->DR
<R1>reset ospf 1 process
技術分享圖片
R3從BDR->DR,而且也把Router-ID第二大的R2選為了BDR
方法2:把R1和R2的優先級設置為0(不參與選舉)
我們先讓R3恢復DRother身份
[R3-GigabitEthernet0/0/0]shutdown
先shutdown後等40s路由器失效再undo shutdown
[R3-GigabitEthernet0/0/0]undo shutdown
這樣又讓R2成為了DR,R1成為了BDR
[R1-GigabitEthernet0/0/0]ospf dr-priority 0
[R2-GigabitEthernet0/0/0]ospf dr-priority 0
將R1和R2的OSPF的dr都優先級置為0(不再參與選舉)
觸發兩次選舉,R3從Drother->BDR->DR
由於R1和R2都不參與選舉,此時網絡中只有DR沒有BDR
將R2優先級調為1,讓R2成為BDR,開始下一個實驗
2.當兩臺交換機之間的鏈路斷開後又重新連接,兩邊的DR和BDR該如何自處?
[SW1-Ethernet0/0/4]shutdown 先把交換機之間的鏈路斷開
把右邊SW2、R4、R5、R6開啟並運行OSPF,讓R6為DR、R5為BDR
因此配置順序應該為先配置R6、再R5、R4
配置完成後的環境
技術分享圖片
R2、R5為BDR,R3、R6為DR
現在將R2的OSPF的dr優先級調為2(成為該網絡中最大的優先)
如果現在將SW1和SW2的鏈路開啟,會發生什麽?
[SW1-Ethernet0/0/4]undo shutdown
按照規則,兩邊DR和DR進行比較優先級和RID,BDR和BDR比較優先級和RID

OSPF的DR與BDR選舉