摘要:通信專業(yè)自治系統(tǒng)內(nèi)部路由協(xié)議OSPF:這個協(xié)議的名宇是開放最短路徑優(yōu)先(Open Shortest Path Firet, OSPF)。它是為克服 RIP的缺點在1989年開發(fā)出來的。0SPF的原理很簡單,但實現(xiàn)起來卻較復雜?!?/p>
7.3.3 自治系統(tǒng)內(nèi)部路由協(xié)議OSPF
OSPF協(xié)議的基本特點
這個協(xié)議的名宇是開放最短路徑優(yōu)先(Open Shortest Path Firet, OSPF)。它是為克服 RIP的缺點在1989年開發(fā)出來的。0SPF的原理很簡單,但實現(xiàn)起來卻較復雜?!伴_放”表 明0SPF協(xié)議不是受某一家廠商控制,而是公開發(fā)表的。“最短路徑優(yōu)先”是因為使用了 Dijkstra提出的最短路徑算法(見5.3.2節(jié))。0SPF的第二個版本0SPF2已成為互聯(lián)網(wǎng)標準協(xié)議[RFC 2328 ] ( 0SPF2的文檔長達224頁,而RIP2的文檔才38頁)。
請注意:0SPF只是一個協(xié)議的名字,它并不表示其他的路由協(xié)議不是“最短路徑優(yōu) 先”。實際上,所有的在自治系統(tǒng)內(nèi)部使用的路由協(xié)議(包括RIP)都是要尋找一條最短的路徑。
0SPF最主要的特征就是使用分布式的鏈路狀態(tài)協(xié)議(Link State Protocol),而不是RIP那樣的距離向量協(xié)議。和RIP相比,0SPF協(xié)議的三個要點和RIP的都不一樣。
每個路由器向本自治系統(tǒng)中所有路由器發(fā)送路由信息。這里使用的方法是洪泛法 (flooding),這就是路由器通過所有輸出端口向所有相鄰的路由器發(fā)送信息。而每一個相鄰 路由器又再將此信息發(fā)往其所有的相鄰路由器(但不再發(fā)送給剛剛發(fā)來信息的那個路由 器)。這樣,最終整個區(qū)域中所有的路由器都得到了這個信息的一個副本。更具體的做法后 面還要討論。我們應注意,RIP是僅僅向自己相鄰的幾個路由器發(fā)送信息。
發(fā)送的路由信息就是與本路由器相鄰的所有路由器的鏈路狀態(tài),但這只是路由器所知道的部分信息。所謂“鏈路狀態(tài)”就是說明本路由器都和哪些路由器相鄰,以及該鏈 路的“度量”(Metric)。OSPF將這個“度量”用來表示費用、距離、時延、帶寬等。這些 都由網(wǎng)絡管理人員來決定,因此較為靈活。有時為了方便就稱這個度量為“代價”。我們注 意到,對于RIP,發(fā)送的信息是:“到所有網(wǎng)絡的距離和下一跳路由器”。
(3)只有當鏈路狀態(tài)發(fā)生變化時,路由器才用洪泛法向所有路由器發(fā)送此信息。而不 像RIP那樣,不管網(wǎng)絡拓撲有無發(fā)生變化,路由器之間都要定期交換路由表的信息。
從上述的三個方面可以看出,OSPF和RIP的工作原理相差較大。
由于各路由器之間頻繁地交換鏈路狀態(tài)信息,因此所有的路由器最終都能建立一個鏈路 狀態(tài)數(shù)據(jù)庫(Link-state Database),這個數(shù)據(jù)庫實際上就是全網(wǎng)的拓撲結(jié)構(gòu)圖。這個拓撲結(jié) 構(gòu)圖在全網(wǎng)范圍內(nèi)是一致的(這稱為鏈路狀態(tài)數(shù)據(jù)庫的同步)。因此,每一個路由器都知道 全網(wǎng)共有多少個路由器,以及哪些路由器是相連的,其代價是多少,等等。每一個路由器使 用鏈路狀態(tài)數(shù)據(jù)庫中的數(shù)據(jù),構(gòu)造出自己的路由表(例如,使用Dijkstra的最短路徑路由算法)。我們注意到,RIP的每一個路由器雖然知道到所有的網(wǎng)絡的距離以及下一跳路由器, 但卻不知道全網(wǎng)的拓撲結(jié)構(gòu)(只有到了下一跳路由器,才能知道再一跳應當怎樣走)。
OSPF的鏈路狀態(tài)數(shù)據(jù)庫能較快地進行更新,使各個路由器能及時更新其路由表。OSPF 的更新過程收斂得快是其重要優(yōu)點。
為了使OSPF能夠用于規(guī)模很大的網(wǎng)絡,OSPF將一個自治系統(tǒng)再劃分為若干個更小的 范圍,叫做區(qū)域(Area〉。圖7-18表示把一個自治系統(tǒng)劃分為4個區(qū)域。每一個區(qū)域都有一個32 bit的區(qū)域標識符(用點分十進制表示)。當然,一個區(qū)域也不能太大,在一個區(qū)域內(nèi) 的路由器最好不超過200個。
劃分區(qū)域的好處就是將利用洪泛法交換鏈路狀態(tài)信息的范圍局限于每一個區(qū)域而不是整 個的自治系統(tǒng),這就減少了整個網(wǎng)絡上的通信量c在一個區(qū)域內(nèi)部的路由器只知道本區(qū)域的 完整網(wǎng)絡拓撲,而不知道其他區(qū)域的網(wǎng)絡拓撲的情況。
為了使每一個區(qū)域能夠和本區(qū)域以外的區(qū)域進行通信,0SPF使用層次結(jié)構(gòu)的區(qū)域劃分。 在上層的區(qū)域叫做主干區(qū)域(Backbone Area)。主干區(qū)域的標識符規(guī)定為0_ 0.0. 0。主干區(qū) 域的作用是用來連通其他在下層的區(qū)域。從其他區(qū)域來的信息都由區(qū)域邊界路由器(Area Bonier Router)進行概括。在圖7-18中,路由器R,,匕和&都是區(qū)域邊界路由器,顯然每一個區(qū)域至少應當有一個區(qū)域邊界路由器。在主干區(qū)域內(nèi)的路由器叫做主干路由器 (backbone router),如R3,R4 , R5? R*和R7。一個主干路由器可以同時是區(qū)域邊界路由器, 如R3,札和R7。在主干區(qū)域內(nèi)還要有一個路由器專門和本自治系統(tǒng)外的其他自治系統(tǒng)交換 路由信息。這樣的路由器叫做自治系統(tǒng)邊界路由器(如圖中的R6)。
返回目錄:
編輯推薦:
通信工程師備考資料免費領取
去領取