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