Hello包結(jié)構(gòu)及OSPF路由器形成鄰居的過(guò)程
發(fā)布時(shí)間:
2022-08-24
Hello包結(jié)構(gòu)及OSPF路由器形成鄰居的過(guò)程,運(yùn)行OSPF路由協(xié)議的路由器之間使用周期性地發(fā)送Hello包的方法建立和維持鄰居關(guān)系。
在OSI參考模型的網(wǎng)絡(luò)層上,Hello包也是向多點(diǎn)廣播組224.0.0.5發(fā)送的。這個(gè)多點(diǎn)廣播組是所有運(yùn)行OSPF路由協(xié)議的路由器都能夠識(shí)別的。
默認(rèn)地,運(yùn)行OSPF路由協(xié)議的路由器每10秒鐘發(fā)出一次Hello包,但是在NBMA類(lèi)型的網(wǎng)絡(luò)里,路由器每30秒鐘發(fā)出一次Hello包。
圖1是Hello包的包頭結(jié)構(gòu)。
圖1 Hello包的包頭結(jié)構(gòu)
Hello包的包頭實(shí)際上是OSPF包的包頭,當(dāng)OSPF包頭的TYPE部分被置位為1時(shí),該包成為Hello包。
在Hello包的包頭里,包含路由器的標(biāo)識(shí)及區(qū)域標(biāo)識(shí),這是必不可少的信息。路由器標(biāo)識(shí)的作用在于讓其他路由器能夠識(shí)別自己。兩臺(tái)路由器只有區(qū)域標(biāo)識(shí)相同才能成為鄰居。另外,如果我們?cè)谶\(yùn)行OSPF路由協(xié)議的路由器上配置了鄰居驗(yàn)證,驗(yàn)證的數(shù)據(jù)也會(huì)包含在Hello包的包頭里,如果驗(yàn)證口令不匹配,兩臺(tái)路由器也不能成為鄰居。
圖2表示的是Hello包的內(nèi)容。
圖2 Hello包的內(nèi)容
在圖2中,Hello Interval是發(fā)出Hello包的時(shí)間間隔,Dead Interval是鄰居關(guān)系失效的時(shí)間,也就是在Dead Interval規(guī)定的時(shí)間里如果沒(méi)有收到Hello包,則鄰居關(guān)系失效。兩臺(tái)路由器只有Hello Interval和Dead Interval相同才能形成鄰居關(guān)系。
Router Priority是路由器的優(yōu)先級(jí)。通過(guò)交換Hello包,路由器能夠了解鄰居的優(yōu)先級(jí)和路由器標(biāo)識(shí)的大小,從而能夠在廣播多路訪問(wèn)網(wǎng)絡(luò)中選舉出DR和BDR。
一旦DR和BDR被選出,它們會(huì)出現(xiàn)在Hello包的內(nèi)容里。一臺(tái)路由器發(fā)出的Hello包里還包括了它的所有鄰居路由器的標(biāo)識(shí)。如果路由器在它收到的Hello包里看到了自己的標(biāo)識(shí),則該路由器認(rèn)為發(fā)送Hello包的路由器和自己是鄰居關(guān)系。
下面的圖3到圖9,表示了路由器之間形成鄰居關(guān)系及建立拓?fù)浔砗托纬陕酚杀淼倪^(guò)程。
圖3 DOWN狀態(tài)
圖9 Full狀態(tài)
首先請(qǐng)看圖3。
如圖3所示,在使用OSPF路由協(xié)議的網(wǎng)絡(luò)還沒(méi)有運(yùn)行的時(shí)候,路由器A和路由器B互相還沒(méi)有向?qū)Ψ桨l(fā)送任何信息,這時(shí)兩臺(tái)路由器互相不知道對(duì)方的存在,這種狀態(tài)是DOWN狀態(tài)。
當(dāng)使用OSPF路由協(xié)議的網(wǎng)絡(luò)開(kāi)始運(yùn)行時(shí),其中總會(huì)有一臺(tái)路由器首先發(fā)出Hello包,如圖4所示。
圖4 初始狀態(tài)
在圖4中,路由器A首先發(fā)出Hello包,路由器B收到該Hello包并且將路由器A的標(biāo)識(shí)記入鄰居表,這個(gè)狀態(tài)是初始狀態(tài)。
路由器B認(rèn)識(shí)了路由器A之后,也會(huì)向路由器A發(fā)出Hello包,如圖5所示。
圖5 Two-Way狀態(tài)
在圖5中,路由器B也發(fā)出Hello包,其中不但有路由器B的標(biāo)識(shí),還有它所認(rèn)識(shí)的鄰居的標(biāo)識(shí)。路由器A收到該Hello包后,也會(huì)把路由器B的標(biāo)識(shí)記入鄰居表。這時(shí),兩臺(tái)路由器的鄰居表里都有了對(duì)方的信息,鄰居關(guān)系形成,這個(gè)狀態(tài)是Two-Wa y狀態(tài)。
由于兩臺(tái)路由器是使用以太線連接的,也就是說(shuō)它們工作在廣播多路訪問(wèn)網(wǎng)絡(luò)中,而不是點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),所以,在形成鄰居關(guān)系之后要選舉DR,如圖6所示。
圖6 Exstart狀態(tài)
從圖6中我們可以看到,路由器A和路由器B通過(guò)互相交換Hello包比較兩者的優(yōu)先級(jí)和路由器標(biāo)識(shí)。優(yōu)先級(jí)高的路由器將成為DR。如果優(yōu)先級(jí)相同,則路由器標(biāo)識(shí)大的路由器成為DR。
在圖6中,兩臺(tái)路由器的優(yōu)先級(jí)都是默認(rèn)的,是相同的,所以路由器標(biāo)識(shí)較大的B路由器成為了DR。
這個(gè)過(guò)程是Exstart狀態(tài)。
選舉出DR之后,由DR首先向非DR發(fā)送網(wǎng)絡(luò)拓?fù)湫畔?,然后非DR再把自己所知道的網(wǎng)絡(luò)拓?fù)湫畔l(fā)送給DR,如圖7所示。
圖7 Exchange狀態(tài)
路由器交換鏈路狀態(tài)信息的過(guò)程是Exchange狀態(tài)。
在這個(gè)過(guò)程中交換的是鏈路狀態(tài)數(shù)據(jù)庫(kù)的匯總信息。如果路由器A對(duì)某一條鏈路的信息不清楚,可以要求DR發(fā)送關(guān)于該鏈路的完整信息。
在圖8中,DR應(yīng)路由器A的請(qǐng)求,發(fā)送出某條鏈路的完整信息,這是Loading狀態(tài)。

圖8 Loading狀態(tài)
當(dāng)Loading狀態(tài)結(jié)束時(shí),路由器已經(jīng)學(xué)習(xí)到了完整的網(wǎng)絡(luò)拓?fù)?,這個(gè)時(shí)候是Full狀態(tài),如圖9所示。
只有當(dāng)達(dá)到了Full狀態(tài)的時(shí)候,運(yùn)行OSPF路由協(xié)議的路由器才會(huì)從拓?fù)浔砝镉?jì)算出路由表。在達(dá)到Full狀態(tài)之前,路由器沒(méi)有路由能力。
上一篇:
EIGRP路由協(xié)議與IGRP路由協(xié)議的比較
下一篇:
OSPF路由協(xié)議概述