回覆列表
-
1 # 龍傑vs鳳凰
-
2 # 鄂東阿川
DR/BDR的選舉步驟:
1.優先選舉優先順序大的,優先順序是可以配置的,取值範圍1-255,取值0表示不參與選舉;
2.每臺路由器都根據從網段中其他鄰居那裡收集到的hello包中的優先順序值,在本地進行DR的比較選舉;
3.MA網路中在等待階段,如果路由器收到了一個聲稱自己是DR或BDR的hello包(表示網路中DR和BDR都已選舉出來),路由器會馬上執行DR/BDR選舉過程,否則就要等待介面上的等待計時器超時;
4.優先順序相同的情況下,選舉最高RID的路由器成為DR;
5.選舉結束後,如果有新路由器加入網路或現網中的某臺路由器提高了優先順序,它並不能搶佔;
6.DR失效後,BDR成為DR,網段中的所有路由器重新選舉BDR。(即使DR失效後,某個DRother有比BDR更高的優先權)
ospf中,dr/bdr選舉,路由器優先順序最高的為DR,其次為BDR
根據你描述的問題,先明確幾個概念。
1.路由器上IP的分配是在埠下定義的。下面是一個簡單的路由器埠起ospf協議: En Conf t Int s0/0 Ip add 192.168.0.2 255.255.255.0 No sh Router ospf 1 Network 192.168.0.2 0.0.0.0 area 0 End
2.同一個路由器的多個埠是可以分屬不同ospf程序或者ospf區域的
3. ospf路由器之間透過傳遞LSA,最終在所有路由器上建立相同的LSDB,然後各個路由器透過對LSDB使用spf演算法生成以自己為根的到達整個網路的最短路徑樹來建立路由表。網路上的路由器數量很大,如果每兩臺路由器之間都要傳遞LSA資訊,這勢必會佔用很多網路資源以及影響路由器效能。OSPF協議指定一臺路由器DR(Designated Router)來負責傳遞資訊。
4.不是每一種ospf協議的網路型別都存在dr/bdr選舉。你說到選舉了,就預設是可以選舉的網路型別
5.ospf優先順序為0.表示不參與dr/bdr選舉
6. DR是某個網段中的概念,是針對路由器的介面而言的。某臺路由器在一個介面上可能是DR,在另一個介面上有可能是BDR,或者是DR Other。 7.路由器的優先順序可以影響一個選取過程,但是當DR/BDR已經選取完畢,就算一臺具有更高優先順序的路由器變為有效,也不會替換該網段中已經選取的DR/BDR成為新的DR/BDR。即,dr/bdr不能被搶佔。
現在回答
第一個問題,ospf修改優先順序是在埠下進行的。這個對。
第二個問題,一臺路由器多個埠參與ospf程序,這裡面先確認一個問題,是參與同一程序嗎?是在同一區域內嗎?不同區域之間,dr/bdr的選舉是相互獨立的。
現在假設,如你所願,一臺路由器多個埠參與同一ospf程序,並且不人工定義router-id
如圖,每個路由器有兩個埠都在參與ospf程序,因為沒有定義router-id,在ospf區域內,每個路由器自己選擇介面最大IP為自己router-id。即R1為13.0.0.1 R2為23.0.0.2 R3為23.0.0.3 所有埠優先順序相同,所以最後,R3的Router-id最大,R3為DR,R2為Bdr。
現在,我們將R3的f0/0口優先順序改為0,其他不動。清理程序,dr/bdr重新選舉
這是R3上的鄰居關係,R3依然是DR,但是檢視R1時,如下
在R1上,R3連線R1的埠優先順序修改了,變成了DRother,就是說,在R1上,R1是DR,R2是BDR,R3不參與選舉,但在R2和R3上,兩者分別是整個拓撲的DR和BDR
如果是將R3的f1/0介面優先順序改為0,雖然整個拓撲中23.0.0.3這個IP最大,但是這個埠優先順序為0,代表R3不參與整個ospf的選舉,所以dr/bdr依次為R2、R1,這時埠優先順序影響到整個網路的DR和BDR選舉
當給R1、R2、R3定義了各自router-ID後,只會影響與修改了優先順序的哪一個埠相連的路由器上拓撲關係
綜合實驗驗證,題主所描述的問題,單個埠優先順序會影響拓撲中的DR、BDR選舉。修改過埠優先順序後,如果埠IP地址代表本路由器router-id,則優先順序為0,表示本路由器不參與選舉。如果埠IP地址不代表本路由器router-id或手動定義不同的router-id地址,則隻影響與本埠相連的路由器,埠優先順序為0時,在相連路由器上鄰居關係為DRother,表示不參與選舉。
以上經過實驗驗證,辯證了埠優先順序與DR/bdr的關係