多路訪問網(wǎng)絡(luò)中的挑戰(zhàn)
在多路訪問網(wǎng)絡(luò)中,相同的共享介質(zhì)上連接有兩臺以上設(shè)備。在圖的上半部分,R1 所連接的以太網(wǎng) LAN 展開并顯示了網(wǎng)絡(luò) 172.16.1.16/28 所連接的多臺設(shè)備。以太網(wǎng) LAN 就是一種廣播多路訪問網(wǎng)絡(luò)。因?yàn)樵摼W(wǎng)絡(luò)中的所有設(shè)備會看到所有廣播幀,所以它屬于廣播網(wǎng)絡(luò)。因?yàn)樵摼W(wǎng)絡(luò)可能包括許多主機(jī)、打印機(jī)、路由器和其它設(shè)備,所以屬于多路訪問網(wǎng)絡(luò)。
相比之下,點(diǎn)對點(diǎn)網(wǎng)絡(luò)中只有兩臺設(shè)備,它們分處網(wǎng)絡(luò)兩端。R1 和 R3 之間的 WAN 鏈路就屬于點(diǎn)對點(diǎn)鏈路。圖中下半部分即為 R1 和 R3 之間的點(diǎn)對點(diǎn)鏈路。
OSPF 定義了五種網(wǎng)絡(luò)類型:
.點(diǎn)對點(diǎn)
.廣播多路訪問 .非廣播多路訪問 (NBMA) .點(diǎn)對多點(diǎn) .虛擬鏈路 NBMA 和點(diǎn)對多點(diǎn)網(wǎng)絡(luò)包括幀中繼、ATM 和 X.25 網(wǎng)絡(luò)。 LSA 泛洪
我們之前已經(jīng)了解到,鏈路狀態(tài)路由器會在 OSPF 初始化以及拓?fù)涓臅r泛洪其鏈路狀態(tài)數(shù)據(jù)包。
在多路訪問網(wǎng)絡(luò)中,此泛洪過程中的流量可能變得很大。在上圖中R2 發(fā)出一個 LSA。此事件觸發(fā)其它每臺路由器發(fā)出 LSA。收到每個 LSA 后需要發(fā)出的確認(rèn)未在動畫中顯示。如果多路訪問網(wǎng)絡(luò)中的每臺路由器都需要向其它所有路由器泛洪 LSA 并為收到的所有 LSA 發(fā)出確認(rèn),網(wǎng)絡(luò)通信將變得非?;靵y。
打個比方,想象您在一個有很多人的房間內(nèi)。如果每個人都必須向其它所有人逐個作介紹,會發(fā)生什么情況呢?不僅每個人必須向其它所有人逐個介紹自己的姓名,而且一旦某個人獲悉了另一個人的姓名,還必須將該信息逐個告訴其它所有人。如您所見,此過程將十分混亂!
解決方案:指定路由器
用于在多路訪問網(wǎng)絡(luò)中管理相鄰關(guān)系數(shù)量和 LSA 泛洪的解決方案是指定路由器 (DR)。繼續(xù)討論上一個例子,此解決方案可比喻為在房間里選舉出一個人,由該人員向所有人逐個詢問姓名,然后將這些姓名一次性通告給所有人。
在多路訪問網(wǎng)絡(luò)中,OSPF 會選舉出一個指定路由器 (DR) 負(fù)責(zé)收集和分發(fā) LSA。還會選舉出一個備用指定路由器 (BDR),以防指定路由器發(fā)生故障。其它所有路由器變?yōu)?DROther(這就表示該路由器既不是 DR 也不是 BDR)。
多路訪問網(wǎng)絡(luò)中的路由器會選舉出一個 DR 和一個 BDR。DROther 僅與網(wǎng)絡(luò)中的 DR 和 BDR 建立完全的相鄰關(guān)系。這意味著 DROther 無需向網(wǎng)絡(luò)中的所有路由器泛洪 LSA,只需使用組播地址 224.0.0.6(ALLDRouters — 所有 DR 路由器)將其 LSA 發(fā)送給 DR 和 BDR 即可。在上圖中R1 將 LSA 發(fā)給 DR,BDR 也收到該通信。DR 負(fù)責(zé)將來自 R1 的 LSA 轉(zhuǎn)發(fā)給其它所有路由器。DR 使用組播地址 224.0.0.5(AllSPFRouters — 所有 OSPF 路由器)。最終結(jié)果是,多路訪問網(wǎng)絡(luò)中僅有一臺路由器負(fù)責(zé)泛洪所有 LSA。
DR/BDR選舉過程
拓?fù)渥兓?/font>
DR/BDR 選舉不會發(fā)生在點(diǎn)對點(diǎn)網(wǎng)絡(luò)中。因此,在標(biāo)準(zhǔn)的三路由器拓?fù)渲?,R1、R2 和 R3 不需要選舉 DR 和 BDR,原因在于這些路由器之間的鏈路不是多路訪問網(wǎng)絡(luò)。
為繼續(xù)討論 DR 和 BDR,我們將使用圖中所示的多路訪問拓?fù)?。路由器使用了不同的名稱。在此新拓?fù)渲?,三臺路由器共享一個公共以太網(wǎng)多路訪問網(wǎng)絡(luò) 192.168.1.0/24。每臺路由器在快速以太網(wǎng)接口上配置有一個 IP 地址,并配置有一個環(huán)回地址以充當(dāng)路由器 ID。
DR/BDR 選舉
DR 和 BDR 是如何選出的呢?選舉過程遵循以下條件:
1. DR:具有最高 OSPF 接口優(yōu)先級的路由器
2. BDR:具有第二高 OSPF 接口優(yōu)先級的路由器
3. 如果 OSPF 接口優(yōu)先級相等,則取路由器 ID 最高者。
在本例中,默認(rèn)的 OSPF 接口優(yōu)先級為 1,因此,根據(jù)上述選舉條件,采用 OSPF 路由器 ID 來選舉 DR 和 BDR。如您所見,RouterC 成為 DR,RouterB 具有第二高的路由器 ID,因此成為 BDR。因?yàn)?RouterA 未被選舉為 DR 或 BDR,所以成為 DROther。
DROther 僅與 DR 和 BDR 建立完全的相鄰關(guān)系,但也會與該網(wǎng)絡(luò)中的任何其它 DROthers 建立相鄰關(guān)系。這意味著多路訪問網(wǎng)絡(luò)中的所有 DROther 路由器仍然會收到其它所有 DROther 路由器發(fā)來的 Hello 數(shù)據(jù)包。通過這種方式,它們可獲悉網(wǎng)絡(luò)中所有路由器的情況。當(dāng)兩臺 DROther 路由器形成相鄰關(guān)系后,其相鄰狀態(tài)顯示為 2WAY。
命令輸出顯示了該多路訪問網(wǎng)絡(luò)中各臺路由器之間的相鄰關(guān)系。請注意,RouterA 的輸出顯示 DR 是 RouterC,路由器 ID 為 192.168.31.33;BDR 是 RouterB,路由器 ID 是 192.168.31.22。
因?yàn)?RouterA 顯示的兩個鄰居分別為 DR 和 BDR,所以 RouterA 是一個 DROther。這一點(diǎn)可通過在 RouterA 上運(yùn)行 show ip ospf interface fastethernet 0/0 命令來驗(yàn)證,命令輸出如圖所示。此命令將顯示此路由器的狀態(tài)是 DR、BDR 還是 DROTHER,還將顯示此多路訪問網(wǎng)絡(luò)中 DR 和 BDR 的路由器 ID。
為了確保所需的路由器在 DR 和 BDR 選舉中獲勝無需進(jìn)一步配置,解決方案有兩種:
.首先啟動 DR,再啟動 BDR,然后啟動其它所有路由器;
.關(guān)閉所有路由器上的接口,然后在 DR 上執(zhí)行 no shutdown 命令,再在 BDR 上執(zhí)行該命令,隨后在其它所有路由器上執(zhí)行該命令。 您可能已經(jīng)猜到,我們可以通過更改 OSPF 優(yōu)先級來更好地控制 DR/BDR 選舉。 拓?fù)湟廊挥蒙厦娴哪莻€
ospf接口優(yōu)先級
由于 DR 成為 LSA 的集散中心,所以它必須具有足夠的 CPU 和存儲性能才能擔(dān)此重責(zé)。與其依賴路由器 ID 來確定 DR 和 BDR 結(jié)果,不如使用 ip ospf priority 接口命令來控制選舉。
Router(config-if)#ip ospf priority {0 - 255}
在前述討論中,各臺路由器的 OSPF 優(yōu)先級相等,原因在于所有路由器接口的優(yōu)先級值默認(rèn)為 1,因此通過路由器 ID 來確定 DR 和 BDR。但如果將該值從默認(rèn)值 1 改為更高的值,則具有最高優(yōu)先級的路由器將成為 DR,具有第二高優(yōu)先級的路由器將成為 BDR。若該值為 0,則該路由器不具備成為 DR 或 BDR 的資格。
因?yàn)閮?yōu)先級是特定于具體接口的值,因此可用于更好地控制 OSPF 多路訪問網(wǎng)絡(luò)。它們還可以使一臺路由器在一個網(wǎng)絡(luò)中充當(dāng) DR,同時在另一個網(wǎng)絡(luò)中充當(dāng) DROther。
可使用 show ip ospf interface 命令查看 OSPF 接口優(yōu)先級。在圖中,我們可看到 RouterA 上的優(yōu)先級被設(shè)為默認(rèn)值 1。
如圖所示,RouterA 和 RouterB 的 OSPF 優(yōu)先級被修改,因此具有最高優(yōu)先級的 RouterA 成為 DR,RouterB 則成為 BDR。RouterC 上的 OSPF 接口優(yōu)先級保持為默認(rèn)值 1。
當(dāng)在所有三臺路由器的 FastEthernet 0/0 接口上按順序執(zhí)行 shutdown 和 no shutdown 命令后,即可看到 OSPF 接口優(yōu)先級改變所帶來的結(jié)果。RouterC 上的 show ip ospf neighbor 命令現(xiàn)在顯示 RouterA(路由器 ID 為 192.168.31.11)是 DR,其 OSPF 接口優(yōu)先級最高,為 200;RouterB(路由器 ID 為 192.168.31.22)仍是 BDR,其 OSPF 接口優(yōu)先級第二高,為 100。請注意 RouterA 的 show ip ospf neighbor 命令輸出中未顯示 DR,因?yàn)?RouterA 就是此網(wǎng)絡(luò)中的 DR。
本文出自 “www.51cto.com” 博客,請務(wù)必保留此出處http://frecolwang.blog.51cto.com/330699/136869 |
|