全部課程
OSPF路由協(xié)議概述
發(fā)布時間: 2022-08-22
OSPF路由協(xié)議概述,開放式最短路徑優(yōu)先(Open Shortest Path First,OSPF)路由協(xié)議是一種基于開放式標(biāo)準(zhǔn)的鏈路狀態(tài)路由協(xié)議。它的最新記述出現(xiàn)在RFC2328文檔中。OSPF中的開放式(Open)表示該協(xié)議是向公眾開放的非私有的協(xié)議。
OSPF路由協(xié)議也是一種IGP協(xié)議,它只能工作在自治域系統(tǒng)內(nèi)部,不能跨自治域系統(tǒng)運行。
相對于距離矢量路由協(xié)議,OSPF具有收斂時間很短、適用范圍更大的優(yōu)點。
在大型網(wǎng)絡(luò)或者電信級網(wǎng)絡(luò)的骨干上,是不能使用距離矢量路由協(xié)議的。原因在于距離矢量路由協(xié)議的最大度量值影響了它的使用范圍;而且該種協(xié)議收斂緩慢,無法達(dá)到電信運營網(wǎng)絡(luò)對故障恢復(fù)時間的要求;另外,距離矢量路由協(xié)議周期性地向鄰居發(fā)送路由更新,也會占用帶寬。而OSPF很好地解決了這些問題。
運行OSPF路由協(xié)議的路由器,在剛剛開始工作的時候,首先和相鄰的路由器建立鄰居關(guān)系,形成鄰居表,然后互相交換自己所了解的網(wǎng)絡(luò)拓?fù)洹B酚善髟跊]有學(xué)習(xí)到全部網(wǎng)絡(luò)的拓?fù)渲埃遣粫M(jìn)行任何路由操作的,因為這時路由表是空的。
只有當(dāng)路由器學(xué)習(xí)到了全部網(wǎng)絡(luò)的拓?fù)洌⒘送負(fù)浔?也稱為鏈路狀態(tài)數(shù)據(jù)庫)之后,它們會使用最短路徑優(yōu)先(SPF)算法,從拓?fù)浔碇杏嬎愠雎酚蓙怼?br>
因為所有運行OSPF路由協(xié)議的路由器都維護(hù)著相同的拓?fù)浔恚酚善骺梢宰约簭闹杏嬎懵酚桑赃@些路由器之間不必周期性地傳遞路由更新包,OSPF路由協(xié)議的更新是增量的更新。這種更新方式也節(jié)省了對網(wǎng)絡(luò)帶寬的消耗。
由OSPF的工作方式,我們可以知道,運行OSPF路由協(xié)議的路由器要求有更多的內(nèi)存和更高效的處理器,以便存儲鄰居表、拓?fù)浔淼葦?shù)據(jù)庫和進(jìn)行路由的計算。雖然OSPF路由協(xié)議在剛剛運行的時候,其操作要比距離矢量路由協(xié)議復(fù)雜,OSPF路由協(xié)議的生效可能不如距離矢量路由協(xié)議快,但是,OSPF路由協(xié)議一旦開始運行,它的優(yōu)勢就體現(xiàn)出來了。
在運行OSPF路由協(xié)議的網(wǎng)絡(luò)里,當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生改變的時候(比如有新的路由器或網(wǎng)段加入網(wǎng)絡(luò),或者網(wǎng)絡(luò)出現(xiàn)了故障,某個網(wǎng)段壞掉了),這時發(fā)現(xiàn)該變化的路由器會向其他路由器發(fā)送觸發(fā)的路由更新包——鏈路狀態(tài)更新包(LSU)。在LSU中包含了關(guān)于發(fā)生變化的網(wǎng)段的信息——鏈路狀態(tài)通告(LSA)。接收到該更新包的路由器,會繼續(xù)向其他路由器發(fā)送更新,同時根據(jù)LSA中的信息,在拓?fù)浔砝镏匦掠嬎惆l(fā)生變化的網(wǎng)段的路由。
由于沒有holddown時間,OSPF路由協(xié)議的收斂速度是相當(dāng)快的,這一點對于大型網(wǎng)絡(luò)或者電信級網(wǎng)絡(luò)是非常重要的。OSPF路由協(xié)議還有一個重要的特性,就是它可以把一個大型的路由網(wǎng)絡(luò)進(jìn)行分級設(shè)計,即把一個大型網(wǎng)絡(luò)分成多個區(qū)域,這種特性使OSPF路由協(xié)議能夠在大規(guī)模的路由網(wǎng)絡(luò)上正常而高效地工作。
在大型路由網(wǎng)絡(luò)里,往往有成百上千臺路由器。如果這些路由器都在一個大的區(qū)域里工作,那么每一臺路由器都要了解整個網(wǎng)絡(luò)的所有網(wǎng)段的路由,這些路由器的路由表里的條目可能會有成千上萬條。
路由器為每一個數(shù)據(jù)包做路由時,都不得不在大量的路由信息里尋找適合該數(shù)據(jù)包的路由條目,路由器對數(shù)據(jù)包進(jìn)行路由操作的反應(yīng)時間勢必會延長,從而使路由器的數(shù)據(jù)包通過率下降。
另外,在一個大的區(qū)域里集中了如此多的路由器和鏈路,出現(xiàn)設(shè)備故障和鏈路故障的概率也會相應(yīng)增加,而每次故障都會引起整個網(wǎng)絡(luò)的路由收斂操作。即使是使用如OSPF這樣的能夠快速收斂的路由協(xié)議,頻繁的網(wǎng)絡(luò)收斂一樣會使網(wǎng)絡(luò)的可用性下降。
OSPF路由協(xié)議通過使用分級的設(shè)計,把整個大型路由網(wǎng)絡(luò)劃分成多個小范圍的區(qū)域,從而解決了上述問題。
OSPF把大型網(wǎng)絡(luò)劃分為骨干區(qū)域和非骨干區(qū)域。骨干區(qū)域只有一個,并且被固定地稱為區(qū)域0,所有的非骨干區(qū)域都必須和骨干區(qū)域相連,如圖1所示。
圖1 OSPF劃分區(qū)域的示意圖
在每個小區(qū)域里,路由器不再去關(guān)心其他區(qū)域的鏈路改變,而只關(guān)心本區(qū)域的鏈路改變。一個區(qū)域的網(wǎng)絡(luò)拓?fù)渥兓粫鸨緟^(qū)域的網(wǎng)絡(luò)收斂操作。通過劃分區(qū)域,網(wǎng)絡(luò)故障的影響范圍被縮小,整個網(wǎng)絡(luò)不再頻繁地進(jìn)行收斂操作。
在區(qū)域與區(qū)域的邊界處有邊界路由器。該路由器負(fù)責(zé)學(xué)習(xí)兩個區(qū)域的路由,而區(qū)域內(nèi)部的路由器只需要使用靜態(tài)路由或者匯總的路由,把目的地是其他區(qū)域的數(shù)據(jù)包路由給邊界路由器,由邊界路由器將數(shù)據(jù)包路由到其他區(qū)域,而區(qū)域內(nèi)部的路由器不需要學(xué)習(xí)其他區(qū)域的路由。這樣,相對而言,路由器所維護(hù)的路由表體積顯著減小,路由操作效率提高。
但是,為了達(dá)到以上目的,每一個區(qū)域的路由都要盡量地進(jìn)行匯總,這要求進(jìn)行分級的、體系化的編址,如圖2所示。
圖2 OSPF要求進(jìn)行體系化的編址
從圖2中我們可以看到,每一個區(qū)域里的IP地址,應(yīng)該盡量地連續(xù)分配,這樣才能匯總出比較少的路由條目。
由于多區(qū)域的OSPF操作比較復(fù)雜,CCNA的教學(xué)和考試只要求掌握在單個區(qū)域里配置OSPF路由協(xié)議的技術(shù)。本章下面的有關(guān)OSPF的內(nèi)容,都是在OSPF單區(qū)域中的操作知識。學(xué)會了在單個區(qū)域里配置OSPF協(xié)議,就為學(xué)習(xí)在多區(qū)域環(huán)境中配置OSPF打下了良好的基礎(chǔ)。
上一篇: Hello包結(jié)構(gòu)及OSPF路由器形成鄰居的過程
下一篇: OSPF包格式