DR BDR的選舉

那么如果在一個(gè)以太網(wǎng)環(huán)境中這五臺(tái)路由器之間希望交換同步路由信息,它們之間使用的是網(wǎng)狀的邏輯拓?fù)洹H缦聢D所示:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
交換路由信息

這時(shí)如果希望它們之間能夠迅速同步,需要多條鏈路,這樣維護(hù)成本是比較大的。我們就想了,我們可以在網(wǎng)絡(luò)上選擇一個(gè)路由器出來(lái),讓它來(lái)當(dāng)“老大”,然后規(guī)定其他的路由器如果希望與另一個(gè)路由器通訊,那么只要經(jīng)過(guò)這個(gè)“老大”就可以了。所以如果我們把C當(dāng)成“老大”,則拓?fù)渚妥兂闪讼旅孢@樣:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
選舉過(guò)程

這樣所有的路由器之間通訊都通過(guò)C路由器,就減少了路由信息在網(wǎng)絡(luò)上的洪泛。節(jié)約了網(wǎng)絡(luò)帶寬。那么這個(gè)路由器C就是咱們所說(shuō)的DR,指定路由器(Designated Rouer)

那關(guān)鍵是如果有一天這個(gè)路由器C壞了,怎么辦?這和WINDOWS中的DC有點(diǎn)類似,為了實(shí)現(xiàn)冗余,我們?cè)賮?lái)指定一個(gè)BDR(Backup DR),如我們?cè)谶@里再指定路由器D作為BDR,那么這個(gè)拓?fù)鋱D又變了:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
再次變化

其實(shí)也就是咱們網(wǎng)絡(luò)拓?fù)渲兴f(shuō)的部分互連。這樣的話冗余實(shí)現(xiàn)了,成本也降低了。關(guān)鍵是網(wǎng)絡(luò)上有這么多路由器,到底哪一個(gè)是DR,哪一個(gè)是BDR?

我們來(lái)看一下選舉過(guò)程:

當(dāng)選舉DR/BDR的時(shí)候要比較hello報(bào)文中的優(yōu)先級(jí)。那么什么又是hello報(bào)文中,簡(jiǎn)單來(lái)說(shuō)這個(gè)hello報(bào)文中包括一些定時(shí)器的數(shù)值,DR,BDR,以及自己已知的鄰居。也就是說(shuō)每個(gè)路由器在和對(duì)方通訊時(shí)也是發(fā)hello報(bào)文,見(jiàn)面先打個(gè)照呼!在OSPF中默認(rèn)每10秒中發(fā)一次Hello報(bào)文!如果40秒還沒(méi)有收到的話,則宣稱該鄰居死亡。里面就包含了Router ID,Hello報(bào)文的時(shí)間間隔和死亡時(shí)間間隔,鄰居信息,區(qū)域信息,路由器優(yōu)先級(jí),DR以及BDR的信息,驗(yàn)證信息以及根區(qū)域標(biāo)記等。如圖所示:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
OSPF路由協(xié)議

其中要求打*的參數(shù)必須要完全一樣,不然就不可能成為一個(gè)鄰居。

那么當(dāng)選舉DR/BDR的時(shí)候就先比較Hello包中的優(yōu)先級(jí)(priority)優(yōu)先級(jí)最高的為DR,次高的為BDR,但是默認(rèn)優(yōu)先級(jí)都為1,所以這個(gè)意義不大!那么在優(yōu)先級(jí)相同的情況下就開(kāi)始比較我們剛剛介紹的一個(gè)東西了Router ID,RID值最高的為DR,次高的為BDR,當(dāng)你把優(yōu)先級(jí)設(shè)置為0以后,該路由器就不能成為DR或者是BDR,只能是DROther。

修改優(yōu)先級(jí)可以使用命令: (config-if)#ip ospf cost 0-255 255最高

當(dāng)選舉完成后,DROther只和DR/BDR形成鄰接關(guān)系也就是說(shuō)在它們的眼里只有DR和BDR是它們的鄰居,所有的路由器將組播Hello包到地址224.0.0.5以便它們能跟蹤其他鄰居的信息,即DR將洪泛LSU到224.0.0.5這個(gè)組播地址上;DROther 只能能過(guò)組播地址224.0.0.6將LSU(鏈路狀態(tài)更新)到所有的DR上。只有DR/BDR監(jiān)聽(tīng)這個(gè)組播地址。

如果兩臺(tái)路由器剛剛啟動(dòng)沒(méi)有配置OSPF時(shí),則相關(guān)的端口都是DOWN的。

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
沒(méi)有啟用路由協(xié)議

如果配置好OSPF,這個(gè)時(shí)候如果雙方開(kāi)始發(fā)送一個(gè)初始化狀態(tài),我們以Router1為例,此時(shí)它會(huì)宣告我是192.168.10.10 這其實(shí)就是它的RID,它會(huì)告訴對(duì)方我是192.168.10.10我現(xiàn)在沒(méi)有任何鄰居。這個(gè)時(shí)候Router2在自己的Fa0/0中收到了Router2 發(fā)過(guò)來(lái)的宣告信息就是把這個(gè)信息加到自己的鄰居表里面并注明是通過(guò)Fa0/0中連接。,然后再反饋給Router1說(shuō)我是192.168.10.20,我有一個(gè)鄰居是192.168.10.10;此時(shí)Router1又收到Router2的宣告信息就會(huì)把Router2的地址加到自己的路由表中并注明是通過(guò)Fa0/0連接的。

這個(gè)狀態(tài)稱為:Two-way 狀態(tài),相對(duì)穩(wěn)定狀態(tài)但是還沒(méi)有真正成為鄰居關(guān)系。接下來(lái)進(jìn)行 Exstart 狀態(tài),還沒(méi)有真正進(jìn)行信息交換呢,只是一個(gè)選舉DR的過(guò)程:Router1會(huì)發(fā)出一個(gè)數(shù)據(jù)包說(shuō)我來(lái)負(fù)責(zé)更新路由表,因?yàn)槲业腞ID是192.168.10.10,但是Router2會(huì)說(shuō),不行,我不認(rèn)可,因?yàn)槲业腞ID比你大。所以經(jīng)過(guò)協(xié)商,Roter2應(yīng)該是BDR了。再往下就是一個(gè)Exchange 狀態(tài):交換雙方LSDB中的鏈路狀態(tài)數(shù)據(jù)庫(kù)的摘要信息,注意僅僅是摘要信息,為同步雙方的數(shù)據(jù)庫(kù)做準(zhǔn)備。

注意這里使用的不再是hello報(bào)文,是DD報(bào)文,也就是說(shuō)Router1發(fā)出一個(gè)DD報(bào)文給對(duì)方,對(duì)方收到后會(huì)發(fā)出LSACK,大家一看ACK太熟悉了,好多地方我們都使用過(guò)ACK,如TCP建立連接,通訊,拆除連接過(guò)程中,DHCP的工作過(guò)程中等等,都用到達(dá)ACK這個(gè)詞,在這里也是一個(gè)意思就是給對(duì)方一個(gè)確認(rèn),因?yàn)槿绻麤](méi)有確認(rèn),對(duì)方會(huì)重傳!再往下就進(jìn)入了Load 狀態(tài),這才是真正根據(jù)需要來(lái)調(diào)整自己的鏈路狀態(tài)數(shù)據(jù)庫(kù),沒(méi)有的加進(jìn)來(lái),如果我已經(jīng)有了,再做出比較應(yīng)該不應(yīng)該做更新,等等操作。

最后完全結(jié)束之后進(jìn)行是一個(gè)FULL狀態(tài),完全狀態(tài)。所有的鏈路狀態(tài)數(shù)據(jù)庫(kù)保持同步!那么如果又有網(wǎng)絡(luò)鏈路發(fā)生改變了,則LSU的信息(LSU更新包中包含LSA狀態(tài)信息)只會(huì)發(fā)給DR,然后由DR再通過(guò)組播洪泛到本區(qū)域的其他路由器上。其他路由器再根據(jù)鏈路狀態(tài)重新計(jì)算出新的路由表出來(lái)。 這中間會(huì)用到鏈路狀態(tài)樹(shù)和最短路徑樹(shù)兩個(gè)概念,我們簡(jiǎn)單看一下:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
SPF算法

在OSPF中是用帶寬作為metric的標(biāo)準(zhǔn)叫 cost,一般每個(gè)路由器都是以自己為根來(lái)計(jì)算到達(dá)對(duì)方所需要的一個(gè)開(kāi)銷,用10的8次方來(lái)除以帶寬,越小說(shuō)明帶寬越大,路徑最優(yōu),就放到路由表中也就是最短路徑樹(shù)中。

以上只是簡(jiǎn)單分析了一下OSPF的工作過(guò)程。在此給出一張截圖供大家參考:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
OSPF工作過(guò)程

OSFP雖然說(shuō)理論知識(shí)很多,但是配置起來(lái)很簡(jiǎn)單,我們來(lái)看一下具體的配置:

啟用 OSPF:

(Config)# router ospf 進(jìn)程ID 范圍是 1-65535

其中這個(gè)進(jìn)程ID,用于區(qū)分不同的OSPF協(xié)議,這只是一個(gè)本地進(jìn)程ID,隨便取,也就是說(shuō)只是區(qū)分一個(gè)路由器上的多個(gè)OSPF協(xié)議,跟別的路由器沒(méi)有關(guān)系可以不同。

指定網(wǎng)段

(config-router)network 網(wǎng)絡(luò)號(hào) 反向掩碼 area 區(qū)域號(hào)

注意這里區(qū)域號(hào)必須要求一樣

查看啟用的路由協(xié)議:

Show ip protocols

查看當(dāng)前路由表:

Show ip route

查直O(jiān)SPF相關(guān)信息

Show ip ospf interface

同樣我們還是通過(guò)一個(gè)實(shí)驗(yàn)來(lái)結(jié)束OSPF的學(xué)習(xí):

Lab:: 動(dòng)態(tài)路由協(xié)議OSPF

實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)OSPF路由協(xié)議使得網(wǎng)絡(luò)中達(dá)到全網(wǎng)互通的目的

設(shè)備:三臺(tái)Cisco系統(tǒng)路由器,2條V24線纜

拓?fù)鋱D:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
實(shí)驗(yàn)拓?fù)鋱D

Router1上的配置:

Router>en

Router#conf t

Router(config)#hostname RA

RA(config)#interface s2/0

RA(config-if)#ip address 192.168.0.1 255.255.255.0

RA(config-if)#clock rate 64000

RA(config-if)#no shutdown

RA(config-if)#exit

RA(config)#interface fa 0/0

RA(config-if)#ip address 10.10.10.1 255.255.255.0

RA(config-if)#no shutdown

RA(config-if)#exit

RA(config)#router ospf 1

RA(config-router)#network 10.10.10.0 0.0.0.255 area 0

RA(config-router)#network 192.168.0.0 0.0.0.255 area 0

Router2的配置:

Router>enable

Router#conf t

Router(config)#hostname RB

RB(config)#interface s2/0

RB(config-if)#ip address 192.168.0.2 255.255.255.0

RB(config-if)#no shutdown

RB(config-if)#exit

RB(config)#interface s3/0

RB(config-if)#ip address 192.168.1.1 255.255.255.0

RB(config-if)#clock rate 64000

RB(config-if)#no shutdown

RB(config-if)#exit

RB(config)#router ospf 1

RB(config-router)#network 192.168.0.0 0.0.0.255 area 0

RB(config-router)#network 192.168.1.0 0.0.0.255 area 0

Router3的配置:

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#interface s2/0

Router(config-if)#ip address 192.168.1.2 255.255.255.0

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#interface fa 0/0

Router(config-if)#ip address 20.20.20.1 255.255.255.0

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#router ospf 1

Router(config-router)#network 192.168.1.0 0.0.0.255 area 0

Router(config-router)#network 20.20.20.0 0.0.0.255 area 0

Router(config-router)#exit

驗(yàn)證我們?cè)赑C2上去ping PC1:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
驗(yàn)證

反之也可以通訊,在此不再測(cè)試。

我們可以使用show ip route,顯示當(dāng)前的路由表:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
路由表

其中O代表的就是OSPF,在此不再詳細(xì)介紹!

也可以使用show ip rotocols 顯示當(dāng)前正在運(yùn)行的路由協(xié)議:

中小企業(yè)網(wǎng)絡(luò)管理:OSPF路由協(xié)議分析1
路由協(xié)議

關(guān)于OSPF我們就介紹到此,下一篇文章我們將介紹一個(gè)平衡混合路由協(xié)議的代表EIGRP,敬請(qǐng)期待。

分享到

yangkun

相關(guān)推薦