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 0End

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的關係


推薦閱讀:
相关文章