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