鏈路狀態(tài)路由協(xié)議_第1頁
鏈路狀態(tài)路由協(xié)議_第2頁
鏈路狀態(tài)路由協(xié)議_第3頁
鏈路狀態(tài)路由協(xié)議_第4頁
鏈路狀態(tài)路由協(xié)議_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、鏈路狀態(tài)路由協(xié)議在這里,我們首先將了解鏈路狀態(tài)路由協(xié)議的原理及它的算法等知識,然后,將詳細(xì)介 紹鏈路狀態(tài)路由協(xié)議相對于距離矢量路由協(xié)議的優(yōu)勢。9.1鏈路狀態(tài)路由協(xié)議原理屬于鏈路狀態(tài)類型的路由協(xié)議有OSPF、IS-IS等路由協(xié)議。運行鏈路狀態(tài)路由協(xié)議的路由器,在互相學(xué)習(xí)路由之前,會首先向鄰居路由器學(xué)習(xí)整個 網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),在自己的內(nèi)存中建立一個拓?fù)浔恚ɑ蚍Q鏈路狀態(tài)數(shù)據(jù)庫),然后使用最短 路徑優(yōu)先(SPF)算法,從自己的拓?fù)浔砝镉嬎愠雎酚蓙怼_@就好比是在上高速路之前先去買了一份地圖,之后再開車去目的地,這樣就不用看了 路牌了。遇到路壞了,也可以根據(jù)自己手中的地圖找到繞行的路,而不用再去問別人了。運

2、行鏈路狀態(tài)路由協(xié)議的路由器雖然在開始學(xué)習(xí)路由時先要學(xué)習(xí)整個網(wǎng)路的拓?fù)洌瑢W(xué)習(xí) 路由的速率可能會比運行距離矢量路由協(xié)議的路由器慢一點,但是一旦路由學(xué)習(xí)完畢,路由 器之間就不再需要周期性地互相傳遞路由表了,因為整個網(wǎng)路的拓?fù)渎酚善鞫贾?,不需?使用周期性的路由更新包來維持路由表的正確性,從而節(jié)省了網(wǎng)路的帶寬。當(dāng)網(wǎng)路拓?fù)涑霈F(xiàn)改變時(如在網(wǎng)路中加入了新的路由器或網(wǎng)路發(fā)生了故障),路由器也 不需要吧自己的整個路由表發(fā)送給鄰居路由器,只需要發(fā)出一個包含有出現(xiàn)改變網(wǎng)段的信息 的觸發(fā)更新包。收到這個包的路由器會把該信息添加進(jìn)拓?fù)浔砝?,并且從拓?fù)浔砝镉嬎愠鲂?的路由。由于運行鏈路狀態(tài)路由協(xié)議的路由器都維護(hù)一個相

3、同的拓?fù)浔恚酚墒锹酚善髯?己從這張表中計算出來的,所以運行鏈路狀態(tài)路由協(xié)議的路由器都能自己保證路由的正確 性,不需要使用額外的措施來保證它。運行鏈路狀態(tài)路由協(xié)議的網(wǎng)路在出現(xiàn)故障收斂是很快 的。由于鏈路狀態(tài)路由協(xié)議不必周期性地傳遞路由更新包,所以它不像距離矢量路由協(xié)議一 樣用路由更新包來維持鄰居關(guān)系,鏈路狀態(tài)路由協(xié)議必須使用專門的Hello包來維持鄰居關(guān) 系。運行鏈路狀態(tài)路由協(xié)議的路由器周期性地向鄰居的路由器發(fā)送Hello包,它們通過Hello 包中的信息相互認(rèn)識對方并且形成鄰居關(guān)系。只有在形成鄰居關(guān)系之后,路由器才可能學(xué)習(xí) 網(wǎng)路拓?fù)洹?.2鏈路狀態(tài)路由協(xié)議的算法正如我們所知,運行鏈路狀態(tài)路

4、由協(xié)議的路由器在計算路由之前會首先學(xué)習(xí)網(wǎng)絡(luò)拓?fù)洌?建立拓?fù)浔?。然后,它們會使用SPF算法(基于Dijkstra算法),即最短路徑優(yōu)先(ShortestPath First )算法,根據(jù)拓?fù)浔碛嬎懵酚?。SPF算法會把網(wǎng)路拓?fù)滢D(zhuǎn)變?yōu)樽疃搪窂絻?yōu)先樹(Shortest Path First Tree),然后從該樹型 結(jié)構(gòu)中找出到達(dá)每一個網(wǎng)段的最短路徑,該路徑就是路由;同時,該樹型結(jié)構(gòu)還保證了所計 算出的路由不會存在路由環(huán)路。SPF計算路由的依據(jù)是帶寬,每條鏈路根據(jù)其帶寬都有相應(yīng)的開銷(Cost)。開銷越小, 該鏈路的帶寬越大,該鏈路越優(yōu)。9.3鏈路狀態(tài)協(xié)議的優(yōu)缺點當(dāng)在比較大型的網(wǎng)路里運行時,距離矢量路

5、由協(xié)議就暴露出了它的缺陷。比如,運行距 離矢量路由協(xié)議的路由器由于不能了解整個網(wǎng)路的拓?fù)?,只能周期性地向自己的鄰居路由?發(fā)送路由更新包,這種操作增加了整個網(wǎng)路的負(fù)擔(dān)。距離矢量路由協(xié)議在處理網(wǎng)路故障時, 其收斂速率也極其緩慢,通常要耗時48分鐘甚至更長,著對于大型網(wǎng)絡(luò)或者電信級網(wǎng)路的 骨干來說是不能忍受的。另外,距離矢量路由協(xié)議的最大度量值的限制也使得該種協(xié)議無法 再大型網(wǎng)絡(luò)里使用。所以,在大型網(wǎng)絡(luò)里,我們需要使用一種比距離矢量路由協(xié)議更加高效, 對網(wǎng)絡(luò)帶寬的影響更小的動態(tài)路由協(xié)議,這種協(xié)議就是鏈路狀態(tài)路由協(xié)議。鏈路狀態(tài)路由協(xié)議與距離矢量路由協(xié)議的比較鏈路狀態(tài)路由協(xié)議與距離矢量路由協(xié)議的比較的

6、比較如下。1)對整個網(wǎng)絡(luò)拓?fù)涞牧私膺\行距離矢量路由協(xié)議的路由器都是從自己的鄰居路由器處得到鄰居的整個路由表,然 后學(xué)習(xí)其中的路由信息,在把自己的路由表發(fā)給所有的鄰居路由器。在這個程中,路由器雖 然可以學(xué)習(xí)到路由,但是路由器并不了解整個網(wǎng)絡(luò)的拓?fù)洹_\行鏈路狀態(tài)路由協(xié)議的路由器 首先會向鄰居路由器學(xué)習(xí)整個網(wǎng)絡(luò)拓?fù)?,建立拓?fù)浔?,然后使用SPF算法從該拓?fù)浔砝镒?己計算出路由來。由于對整個網(wǎng)絡(luò)拓?fù)涞牧私?,鏈路狀態(tài)路由協(xié)議具有很多距離矢量路由協(xié)議所不具備的 優(yōu)點。2)計算路由的算法距離矢量路由協(xié)議的算法(也被稱為Bellman Ford-Fulkerson算法),只能夠使路由器 知道一個IP網(wǎng)段在網(wǎng)絡(luò)里

7、德哪個方向,有多遠(yuǎn),而不能知道該IP網(wǎng)絡(luò)的具體位置,從而使 路由器無法了解網(wǎng)絡(luò)的拓?fù)?。鏈路狀態(tài)路由協(xié)議的算法需要鏈路狀態(tài)數(shù)據(jù)庫的支持,鏈路狀態(tài)路由協(xié)議是從鏈路狀態(tài) 數(shù)據(jù)庫里計算出路由的。3)路由更新由于距離矢量路由協(xié)議不能了解網(wǎng)絡(luò)拓?fù)?,運行該協(xié)議的路由器必須周期性地向鄰居路 由器發(fā)送路由更新包,其中包括了自己的整個路由表。距離矢量路由協(xié)議只能以這種方式保 證路由表的正確性和實時性。運行距離矢量路由協(xié)議的路由器無法告訴鄰居路由器哪一條特 定的鏈路發(fā)生了故障,因為它們都不知道網(wǎng)絡(luò)拓?fù)涞臉幼?。由于在鏈路狀態(tài)路由協(xié)議剛剛開始工作時,所有運行鏈路狀態(tài)路由協(xié)議的路由器就都學(xué) 習(xí)了整個網(wǎng)絡(luò)的拓?fù)?,并且從中?/p>

8、算出了路由,所以運行鏈路狀態(tài)路由協(xié)議的路由器不必周 期性地向鄰居路由器傳遞路由更新包。它只需要在網(wǎng)絡(luò)發(fā)生故障時發(fā)出觸發(fā)的更新包,告訴 其它的路由器在網(wǎng)絡(luò)的哪個位置發(fā)生了故障即可。而網(wǎng)絡(luò)中的路由器會依據(jù)拓?fù)浔碇匦掠嬎?該鏈路相關(guān)的路由。鏈路狀態(tài)路由協(xié)議的路由更新是增量的更新。鏈路狀態(tài)路由協(xié)議的優(yōu)點從上述比較,我們可以看出鏈路狀態(tài)路由協(xié)議的優(yōu)點如下??焖偈諗?。由于該鏈路狀態(tài)路由協(xié)議對整個網(wǎng)絡(luò)拓的了解,當(dāng)發(fā)生網(wǎng)絡(luò)故障故障時,察覺到該故障 的路由器將該故障向網(wǎng)絡(luò)里德其它路由器通告。接收到鏈路狀態(tài)通告的路由器除了繼續(xù)傳遞 該通告外,還會根據(jù)自己的拓?fù)浔碇匦掠嬎汴P(guān)于故障網(wǎng)段的路由。這個重新計算的過程相當(dāng)

9、快速,整個網(wǎng)絡(luò)會在極短的時間里收斂。路由更新的操作更加有效率。由于鏈路狀態(tài)路由協(xié)議在剛剛開始工作的時候,路由器就已經(jīng)學(xué)習(xí)了整個網(wǎng)絡(luò)的拓?fù)洌?并且根據(jù)網(wǎng)絡(luò)拓?fù)溆嬎愠隽寺酚杀?,如果網(wǎng)絡(luò)的拓?fù)洳话l(fā)生改變,這些路由器的路由表里的 路由條目一定是正確的。所以運行鏈路狀態(tài)路由協(xié)議的路由器之間不必周期性地傳遞路由更 新包來保證路由表的正確性,它們只需要在網(wǎng)絡(luò)拓?fù)浒l(fā)生改變的時候(如有新的路由器加入 網(wǎng)絡(luò)或者網(wǎng)絡(luò)中出現(xiàn)了故障),發(fā)送觸發(fā)的更新包來通知其他路由器,網(wǎng)絡(luò)中具體哪里發(fā)生 了變化,而不用傳遞整個路由表。接收到該信息的路由器會根據(jù)自己的拓?fù)浔碛嬎愠鼍W(wǎng)絡(luò)中 變化部分的路由。這種觸發(fā)的更新(或者叫做增量更新)

10、,由于不必周期性地傳遞整個路由表,使路由更 新的處理變得更有效率了。但是,鏈路狀態(tài)路由協(xié)議并不是沒有缺點。由于鏈路狀態(tài)路由協(xié)議要求路由器首先學(xué)習(xí)拓?fù)浔?,然后從中計算出路由,所以運 行鏈路狀態(tài)路由協(xié)議的路由器被要求有更大的內(nèi)存和更強計算能力的處理器。同時,由于鏈路狀態(tài)路由協(xié)議在剛剛開始工作的時候,路由器之間要首先形成鄰居 關(guān)系,并且學(xué)習(xí)網(wǎng)絡(luò)拓?fù)?,所以路由器在網(wǎng)絡(luò)剛開始工作的時候不能路由數(shù)據(jù)包,必須等到 拓?fù)浔斫⑵饋聿⑶覐闹杏嬎愠雎酚?,路由器才能進(jìn)行數(shù)據(jù)包的路由操作,這個過程需要一 定的時間。另外,因為鏈路狀態(tài)路由協(xié)議要求在網(wǎng)絡(luò)中劃分區(qū)域,并且對每個區(qū)域的路由進(jìn)行 匯總,從而達(dá)到減少路由表的路由

11、條目、減少路由操作延時的目的,所以鏈路狀態(tài)路由協(xié)議 要求在網(wǎng)絡(luò)中進(jìn)行體系化編址,對IP子網(wǎng)的分配位置和分配順序要求極為嚴(yán)格。雖然鏈路狀態(tài)路由協(xié)議有上述這些缺點,但相對于它所帶來的好處,這些缺點不過是白 璧微瑕,并非不可以接受。由于以上這些特點,鏈路狀態(tài)路由協(xié)議特別適合大規(guī)模的網(wǎng)絡(luò)或者電信級網(wǎng)絡(luò)的骨干上 使用。9.4 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é)議也是一

12、種IGP協(xié)議,它只能工作在自治域系統(tǒng)內(nèi)部,不能跨自治域系統(tǒng) 運行。相對于距離矢量路由協(xié)議,OSPF具有收斂時間很短、適用范圍很大的優(yōu)點。在大型網(wǎng)絡(luò)或者電信級網(wǎng)絡(luò)的骨干上,是不能使用距離矢量路由協(xié)議的。原因在于距離 矢量路由協(xié)議的最大度量值影響了它的使用范圍;而且該種協(xié)議收斂緩慢,無法達(dá)到電信運 營網(wǎng)對故障恢復(fù)時間的要求;另外,距離矢量路由協(xié)議周期性地向鄰居發(fā)送路由更新,也會 占用帶寬。而OSPF很好地解決了這些問題。運行OSPF路由協(xié)議的路由器,在剛剛開始工作的時候,首先和相鄰的路由器建立鄰居 關(guān)系,形成鄰居表,然后相互交換自己所了解的網(wǎng)絡(luò)拓?fù)?。路由器在沒有學(xué)習(xí)到全部網(wǎng)絡(luò)的 拓?fù)渲?,是不會進(jìn)

13、行任何路由操作的,因為這時路由表是空的。只有當(dāng)路由器學(xué)習(xí)到了全 部網(wǎng)絡(luò)的拓?fù)?,建立了拓?fù)浔恚ㄒ卜Q鏈路狀態(tài)數(shù)據(jù)庫)之后,它們會使用最短路徑優(yōu)先(SPF) 算法,從拓?fù)浔碇杏嬎愠雎酚蓙?。因為所有運行OSPF路由協(xié)議的路由器都維護(hù)著相同的拓 撲表,路由器可以自己從中計算出路由,所以這些路由器之間不必周期性地傳遞路由更新包, OSPF路由協(xié)議的更新是增量的更新。這種更新方式也節(jié)省了對網(wǎng)絡(luò)帶寬的消耗。由OSPF的工作方式,我們可以知道,運行OSPF路由協(xié)議的路由器要求有更多的內(nèi)存 和更高效的處理器,以便存儲鄰居表、拓?fù)浔淼葦?shù)據(jù)庫和進(jìn)行路由的計算。雖然OSPF路由協(xié)議在剛剛運行的時候,其操作要比距離矢量路

14、由協(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)段的路由。由于沒有 holdown時間,OSPF路由協(xié)議的收斂速率是相當(dāng)快的,這一點對

15、于大型網(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)時間勢必會延長,從而路 由器的包通過率下降。另外,在一個大的區(qū)域里集中了如此多

16、的路由器和鏈路,出現(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ū)域相連,如圖9-1所示。圖9-1 OSPF劃分區(qū)域的示意圖在每個小區(qū)域里,路由器不再去關(guān)心其他區(qū)域的鏈路改變,而只關(guān)心本區(qū)域的鏈路改變, 一個區(qū)域的網(wǎng)絡(luò)拓?fù)渥兓?,只會引起本區(qū)域的網(wǎng)絡(luò)收斂操作

17、。通過劃分區(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)行分級的、體系化的編址,如圖9-2所示。圖9-2 OSPF要求進(jìn)行體系化的編址在圖9-2中,我們可以看到,每一個區(qū)域里都IP地址,應(yīng)該盡量的連

18、續(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ǔ)。9.5 OSPF協(xié)議適用的網(wǎng)絡(luò)類型OSPF路由協(xié)議在下面三種類型的網(wǎng)絡(luò)上都可以使用。廣播多路訪問(Broadcast Multiaccess, BMA)網(wǎng)絡(luò):廣播多路訪問網(wǎng)絡(luò)包括以太網(wǎng)、 令牌環(huán)網(wǎng)及FDDI。在這種類型的網(wǎng)絡(luò)上使用OSPF要求進(jìn)行DR與BDR的選舉。點對點(Point-To-Po

19、int)網(wǎng)絡(luò):專線是典型的點對點網(wǎng)絡(luò)。在這種類型的網(wǎng)絡(luò)上不 需要進(jìn)行DR與BDR的選舉。非廣播多路訪問(Nonbroadcast Multiaccess, NBMA)網(wǎng)絡(luò):非廣播多路訪問網(wǎng)絡(luò) 包括幀中繼、X.25及SMDS。在這種網(wǎng)絡(luò)中使用OSPF情況比較復(fù)雜。圖9-3描述了這三種網(wǎng)絡(luò)類型。點對點廣播多.路訪問非廣播多 路訪問圖9-3 OSPF路由協(xié)議適用的三種網(wǎng)絡(luò)類型9.6 DR與BDR的選舉在運行OSPF路由協(xié)議的廣播多路訪問網(wǎng)絡(luò)中,所有的路由器被連接到同一個網(wǎng)段,它 們兩兩之間如果建立完全的鄰居關(guān)系,則會有nX(n-1)/2個鄰居關(guān)系。在大型的網(wǎng)絡(luò)中,存 在著大量的路由器,在一個網(wǎng)段里有

20、如此多的鄰居,維持鄰居關(guān)系的Hello包及鄰居間的鏈 路狀態(tài)通告會消耗很多的帶寬。尤其是當(dāng)網(wǎng)絡(luò)中突發(fā)大面積故障時,同時發(fā)生的大量的鏈路 更新可能會使路由器不斷的重新計算路由,而無法正常提供路由服務(wù)。解決該問題的辦法是從這些路由器中選舉出指定的路由器DR,并且把這個路由器作為 廣播網(wǎng)絡(luò)里每一臺路由器的鄰居路由器,如圖9-4所示。所有非DR得路由器把自己的鏈路狀態(tài)信息以多點廣播的形式發(fā)送給DR,該多點廣播 的地址為224.0.0.6。然后DR再以多點廣播的形式將這些信息發(fā)送給網(wǎng)段中所有的路由器, 該多點廣播的地址為224.0.0.5。這樣的操作使眾多的狀態(tài)信息只使用一個廣播包就可以傳遞 到所有的路

21、由器,節(jié)省了網(wǎng)絡(luò)資源。圖9-5、圖9-6和圖9-7舉例說明了 DR的操作。圖9-4 DR與BDR的操作圖9-5路由器B向DR通告網(wǎng)絡(luò)故障在圖9-5中我們看到,當(dāng)路由器B發(fā)現(xiàn)一個網(wǎng)段出現(xiàn)故障后,它會向DR發(fā)出LSU,通 告該網(wǎng)絡(luò)故障。然后,DR會向網(wǎng)絡(luò)中所有的非DR路由器發(fā)送LSU,通告該故障。如圖9-6 所示。路由器C在接收到該通告后,除了要改動自己的拓?fù)浔怼⒅匦掠嬎懵酚梢酝?,還要向 其他的路由器轉(zhuǎn)發(fā)該通告,如圖9-7所示。圖9-7路由器C轉(zhuǎn)發(fā)鏈路狀態(tài)更新從上例子中我們可以看出,事實上,DR成為了廣播多路訪問網(wǎng)絡(luò)中鏈路信息會聚的點, 它同時也是廣播多路訪問網(wǎng)絡(luò)中鏈路信息發(fā)散的點。為了防止DR故

22、障影響整個網(wǎng)絡(luò)鏈路信息的傳遞,我們還要從這些路由器中選舉出備份的DR,即BDR。DR與BDR的選舉,在廣播多路訪問網(wǎng)絡(luò)中是自動的。在運行OSPF路由協(xié)議的廣播多路訪問網(wǎng)絡(luò)中,路由器相互比較它們的優(yōu)先級,優(yōu)先級 高的作為DR,第二高的作為BDR。但是在默認(rèn)情況下,路由器的優(yōu)先級是一樣的,這時,路由器依靠比較路由器的標(biāo)識來 決定誰是DR。標(biāo)識最大的路由器作為DR,標(biāo)識第二大的路由器作為BDR。一旦DR發(fā)生故障而離線,BDR會升級為DR,同時引發(fā)新一輪的選舉,從非DR中選 舉出一臺BDR。當(dāng)發(fā)生故障的原DR重新在線時,無論它的優(yōu)先級多高,或者路由器標(biāo)識 多大,它都不能得到原來的DR地位,只能成為普通

23、的非DR路由器。只有等到下一次DR 的選舉,它才可能成為DR或者BDR。優(yōu)先級是0的路由器永遠(yuǎn)不能成為DR或者BDR。9.7 OSPF鄰居關(guān)系的建立運行OSPF路由協(xié)議的路由器之間使用周期性地發(fā)送Hello包的方法建立和維持鄰居關(guān) 系。在OSI參考模式的網(wǎng)絡(luò)層上,Hello包也是向多點廣播組224.0.0.5發(fā)送。這個多點廣播 組是所有運行OSPF路由協(xié)議的路由器都識別的。默認(rèn)地,運行OSPF路由協(xié)議的路由器每10秒鐘發(fā)出一次Hello包,但是在NBMA類 型的網(wǎng)絡(luò)里,路由器每30秒鐘發(fā)出一次Hello包。圖9-8是Hello包的包頭結(jié)構(gòu)。VersionTypePacket LengthRou

24、ter IDArea IDChecksumAuthentication TypeAuthentication Data圖9-8 Hello包的包頭結(jié)構(gòu)Hello包的包頭實際上是OSPF包的包頭,當(dāng)OSPF包頭的TYPE部分被置位為1時, 該報成為Hello包。在Hello包的包頭里,包含路由器的標(biāo)識及區(qū)域標(biāo)識,這是必不可少的信息。路由器的標(biāo)識作用在于讓其他的路由器能夠識別自己。兩臺路由器只有區(qū)域標(biāo)識相同才能成為鄰居。 另外,如果我們在運行OSPF路由協(xié)議的路由器上配置了鄰居驗證,驗證的數(shù)據(jù)也會包含在 Hello包的包頭里,如果驗證口令不匹配,兩臺路由器不能成為鄰居。圖9-9表示的是Hello包

25、的內(nèi)容。Network MaskHello IntervalOptionsRouter PriorityDead IntervalDesignated RouterBackup Designated RouterNeighbor Router IDNeighbor Router ID(additional Neighbor Router ID fields can be added to end of the header,if necessary)圖9-9 Hello包的內(nèi)容在圖9-9中Hello Interval是發(fā)出Hello包的時間間隔,Dead Interval是鄰居關(guān)系失效的 時間

26、,也就是在Dead Interval規(guī)定的時間里沒有收到Hello包,則鄰居關(guān)系失效。兩臺只有 Hello Interval和Dead Interval相同才能成為鄰居關(guān)系。Router Priority是路由器的優(yōu)先級。通過交換Hello包,路由器能夠了解鄰居的優(yōu)先級和 路由器標(biāo)識的大小,從而能夠在廣播多路訪問網(wǎng)絡(luò)中選舉出DR和BDR。一旦DR和BDR被選出,它們會出現(xiàn)在Hello包的內(nèi)容里。一臺路由器發(fā)出的Hello包里還包括了它的所有鄰居路由器的標(biāo)識。如果路由器在它收 到的Hello包里看到了自己的標(biāo)識則該路由器認(rèn)為發(fā)送Hello包的路由器和自己是鄰居關(guān)系下面的圖9-10到圖9-16,表

27、示了路由器之間形成鄰居關(guān)系及建立拓?fù)浔砗托纬陕酚杀?的過程。首先請看圖9-10。如圖9-10所示,在使用OSPF路由協(xié)議的網(wǎng)絡(luò)還沒有運行的時候,路由器A和路由器 B互相還沒有向?qū)Ψ桨l(fā)送任何信息,這是兩臺路由器互相不知道對方的存在,這種狀態(tài)是 DOWN狀態(tài)。路由器A 路由器id:路由器ID:路由器BDOWN狀態(tài)圖9-10 DOWN狀態(tài)當(dāng)使用OSPF路由協(xié)議的網(wǎng)絡(luò)開始運行時,其中總會有一臺路由器首先發(fā)出Hello包, 如圖9-11所示。路由器A路由器ID:1.1.1.1路由器ID:1.1.1.2E1路由器B初始(Init)狀態(tài)1.1.1.1圖9-11初始狀態(tài)在圖9-11中,路由器A首先發(fā)出Hell

28、o包,路由器B收到該Hello包并且將路由器A的標(biāo)識記入鄰居表,這個狀態(tài)是初始狀態(tài)。路由器B認(rèn)識了路由器A之后,也會向路由器A發(fā)出Hello包,如圖9-11所示。在圖9-12中,路由器B也發(fā)出Hello包,其中不但有路由器B的標(biāo)識,還有它所認(rèn)識的鄰居的標(biāo)識。路由器A收到該Hello包后,也會把路由器B的標(biāo)識記入鄰居表。這時,兩臺路由器的鄰居表里都有了對方的信息,鄰居關(guān)系形成,這個狀態(tài)是Two-Way狀態(tài)。路由器A路由器ID:1.1.1.1路由器ID: 化工昨路由器B1.1.1.2E0E1Two-Way 狀態(tài)鄰居表路由器ID:1.1.1.2,E0Hello 包路由器 ID: 1.1.1.2鄰居路

29、由器ID: 1.1.1.1圖 9-12 Two-Way狀態(tài)由于兩臺路由器是使用以太線連接的,也就是說它們工作在廣播多路訪問網(wǎng)絡(luò)中,而不 是點對點網(wǎng)絡(luò),所有,在形成鄰居關(guān)系之后要選舉DR,如圖9-13所示。在圖9-13中我們可以看到,路由器A和路由器B通過相互交換Hello包比較兩者的優(yōu) 先級和路由器標(biāo)識。優(yōu)先級高的路由器將成為DR。如果優(yōu)先級相同,則路由器標(biāo)識大的路 由器成為DR。在圖9-13中,兩臺路由器的優(yōu)先級都是默認(rèn)的,是相同的,所以路由器標(biāo)識較大的B路由器成為了 DR。路由器A路由器ID:1.1.1.1路由器ID:1.1.1.2路由器BE0 Exstart 狀態(tài) E14DR交換Hell

30、o包比較路由器優(yōu)先級和路由器標(biāo)識圖 9-13 Exstart 狀態(tài)這個過程是Exstart狀態(tài)選舉出DR之后,有DR首先向非DR發(fā)送網(wǎng)絡(luò)拓?fù)湫畔ⅲ缓蠓荄R再把自己所知道 的網(wǎng)卡拓?fù)湫畔l(fā)送給DR,如圖9-14所示。路由器A路由器ID:1.1.1.1路由器ID:1.1.1.2路由器BE0 Exchange 狀態(tài) E1 DR路由器B的鏈路狀態(tài)數(shù)據(jù)庫的匯總信息路由器A的鏈路狀態(tài)數(shù)據(jù)庫的匯總信息發(fā)LSAck確認(rèn)收到信息圖 9-14 Exchange 狀態(tài)路由器交換鏈路狀態(tài)信息的過程是Exchange狀態(tài)。在這個過程中交換的是鏈路狀態(tài)數(shù)據(jù)庫的匯總信息。如果路由器A對某一條鏈路的信 息不清楚,可以要求D

31、R發(fā)送關(guān)于該鏈路的完整的信息條目。在圖9-15中,DR應(yīng)路由器A的要求,發(fā)送出某條鏈路的完整信息,這是Loading狀態(tài)。路由器A路由器ID:1.1.1.1路由器ID:1.1.1.2路由器BE0 Loading 狀態(tài) E1 DR路由器A要求得到某條鏈路的詳細(xì)信息路由器B傳送某條鏈路的詳細(xì)信息給A發(fā)LSAck確認(rèn)收到信息圖 9-15 Loading 狀態(tài)當(dāng)Loading狀態(tài)結(jié)束時,路由器已經(jīng)學(xué)習(xí)到了完整的網(wǎng)絡(luò)拓?fù)?,這個時候是Full狀態(tài), 如圖9-16所示。路由器A路由器ID:1.1.1.1路由器ID:1.1.1.2路由器BE0 Full 狀態(tài)E1圖9-16 Full狀態(tài)只有當(dāng)?shù)竭_(dá)了 Full狀

32、態(tài)的時候,運行OSPF路由協(xié)議的路由器才會從拓?fù)浔砝镉嬎愠雎?由表。在達(dá)到Full狀態(tài)之前,路由器沒有路由能力。2運行OSPF路由協(xié)議的路由器處理路由更新的過程在運行OSPF路由協(xié)議的網(wǎng)絡(luò)里,當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生改變的時候,路由器會收到LSU,其 中包含有鏈路狀態(tài)通告(LSA)。圖9-17是路由器對LSA的處理過程。忽略LSU拓?fù)浔碇惺欠裼性摋l目序列號是否相同結(jié)束圖9-17運行OSPF路由協(xié)議的路由器處理路由更新的過程如圖9-17所示,當(dāng)鏈路狀態(tài)更新包到達(dá)路由器時,路由器首先判斷自己的拓?fù)浔砝镉?沒有鏈路狀態(tài)通告所描述的鏈路。如果沒有,則說明該鏈路是新添加進(jìn)網(wǎng)絡(luò)的鏈路。路由器將它添加進(jìn)路由表,然后向

33、發(fā) 送者發(fā)出確認(rèn)信息并且向其他鄰居該更新信息,最后計算出這條新添加的鏈路的路由。如果自己的拓?fù)浔砝镆呀?jīng)有了該條目,那么路由器會比較該更新的順序號與自己維護(hù)的 鏈路狀態(tài)的順序號。運行OSPF路由協(xié)議的路由器只接受和維護(hù)最高的順序號。如果順序號相同,說明該更新路由器已經(jīng)處理過了,路由器將忽略該鏈路更新。如果鏈路更新的順序號還不如路由器維護(hù)的鏈路狀態(tài)的順序號大,說明該更新是過時的 信息,路由器會向它的發(fā)送者發(fā)出更新的信息。如果鏈路更新的順序號比路由維護(hù)的鏈路狀態(tài)的順序號大,說明該通告中包含的是比較 新的信息,路由器會完成將該信息添加進(jìn)路由表、發(fā)出確認(rèn)信息、向鄰居轉(zhuǎn)發(fā)該更新信息、 計算路由等一系列操作

34、9.8單區(qū)域OSPF的配置在這一節(jié)里,將會介紹如何在單區(qū)域里配置OSPF路由協(xié)議,以及一些OSPF的輔助命 令和檢查OSPF配置的命令。9.8.1配置OSPF路由協(xié)議的命令及一些輔助命令配置OSPF路由協(xié)議的命令及一些輔助命令介紹如下:在路由器上配置單區(qū)域的OSPF路由協(xié)議的命令首先在路由器上聲明使用OSPF路由協(xié)議,命令格式如下:Router (config)#router ospf process-id在該命令中,process-id是進(jìn)程號,范圍是165 535。在同一個使用OSPF路由協(xié)議 的網(wǎng)絡(luò)中的不同路由器可以使用不同的進(jìn)程號。一臺路由器可以啟用多個OSPF進(jìn)程。在聲明使用OSPF

35、路由協(xié)議之后,我們還要在OSPF路由協(xié)議里發(fā)布網(wǎng)段,命令格式如 下:Router (config-router)#network address wildcard-mask area area-id在該命令中,address可以是網(wǎng)段。子網(wǎng)或者接口的地址:wildcard-mask稱為通配符 號掩碼,它與子網(wǎng)掩碼正好相反,但是作用是一樣的;area-id是區(qū)域標(biāo)識,它的范圍是 0-65535,區(qū)域0是骨干區(qū)域,OSPF路由協(xié)議在發(fā)布網(wǎng)段的時候必須指明其所屬的區(qū)域, 在單區(qū)域的的OSPF配置里區(qū)域標(biāo)識必須是0下面是一組OSPF的配置命令示范:Router (config)#router ospf

36、 1Router (config-router)#network 10.0.0.0 0.255.255.255 area 0Router (config-router)#network 172.16.0.0 0.0.255.255 area 0Router (config-router)#network 192.168.1.0 0.0.0.255 area 0Router (config-router)#network 192.168.2.1 0.0.0.0 area 0在路由器上配置環(huán)回接口的命令我們已知道,運行OSPF路由協(xié)議的路由器需要一個標(biāo)識,該標(biāo)識可以是路由器的所有 物理接口上配置的

37、最大的IP地址。但是物理接口由于線路等原因有可能會從UP變成為 DOWN的狀態(tài)。為了穩(wěn)定起見,我們可以在運行OSPF路由協(xié)議的路由器上配置環(huán)路接口, 它不會變成為DOWN的狀態(tài)。聲明環(huán)回的命令格式如下:Router (config)#interface loopback number然后可以在該接口下配置地址,該接口不必使用no shutdown命令。圖9-18給出了配置環(huán)回接口的命令實例。Sydney3(config)#interface loopback 0Sydney3(config-if)#ip address 192.168.31.33255.255.255.255Sydney3(c

38、onfig-if)#exit圖9-18配置環(huán)回接口命令取消環(huán)回接口的命令格式如下:Router (config)#no interface loopback number圖9-19給出了取消環(huán)回接口的命令實例。Sydney3(config)#no interface loopback 0Sydney3(config)#01:47:27: LINK-5-CHANGED: Interfaceloopback 0 ,changed state to administratively down圖9-19取消環(huán)回接口的命令更改優(yōu)先級的命令運行OSPF路由協(xié)議的路由器之間會比較各自的優(yōu)先級,優(yōu)先級高的路由

39、器將成為DR。 優(yōu)先級的范圍為0255,其中如果優(yōu)先級為0,則該路由器永遠(yuǎn)不能成為DR。路由器上默 認(rèn)的優(yōu)先級是1。我們可以改變某一臺路由器的優(yōu)先級,使得該路由器成為DR或者永遠(yuǎn)不 會成為DR。更改優(yōu)先級的命令格式如下:Router (config-if )#ip ospf priority number圖9-20給出了更改優(yōu)先級命令的實例。Sydney1(config)#interface fastEthernet 0/0Sydney1(config-if)#ip ospf priority 50Sydney1(config-if)#endSydney1#%SYS-5-CONFIG_I: C

40、onfigured from console by console圖9-20更改優(yōu)先級的命令我們可以使用如下命令查看接口上的優(yōu)先級及其他關(guān)鍵信息:Router#show ip ospf interface type number圖9-21顯示了該命令查看的部分內(nèi)容。Router#show ip ospf interface fastEthernet 0/0FastEthernet0/0 is up, line protocol is upInternet address is 12.1.1.1/24, Area 0Process ID 1, Router ID 12.1.1.1, Networ

41、k Type BROADCAST, Cost: 1Transmit Delay is 1 sec, State BDR, Priority 1Designated Router (ID) 12.1.1.2, Interface address 12.1.1.2Backup Designated Router (ID) 12.1.1.1, Interface address 12.1.1.1Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5Hello due in 00:00:02Index 1/1, floo

42、d queue length 0Next 0 x0(0)/0 x0(0)Last flood scan length is 1, maximum is 1Last flood scan time is 0 msec, maximum is 0 msecNeighbor Count is 1, Adjacent neighbor count is 1Adjacent with neighbor 12.1.1.2 (Designated Router)Suppress hello for 0 neighbor(s)圖9-21 show ip ospf interface 命令的部分內(nèi)容2.更改鏈路

43、開銷的命令OSPF路由協(xié)議是通過對鏈路的帶寬計算得出路徑的開銷值的,計算公式是:鏈路開銷=108/帶寬(bps)在串行接口上鏈路的帶寬默認(rèn)為1.544Mbps。Cisco IOS會根據(jù)接口的帶寬自動計算鏈 路開銷的值,表9-1介紹了部分鏈路的開銷值。表9-1部分鏈路的開銷接口帶寬開銷56Mbps串行鏈路1785T1 (1.544Mbps 鏈路)64E1 (2.048Mbps 鏈路)484Mbps令牌環(huán)鏈路2510Mbps以太鏈路1016Mbps令牌環(huán)鏈路6100Mbps快速以太鏈路,F(xiàn)DDI1我們可以通過使用如下的命令更改接口的帶寬,則該鏈路的開銷也會相應(yīng)改變:Router (config)#

44、 interface serial 0/0Router (config-if )# bandwidth 64另外,我們可以通過如下命令直接在接口上更改開銷:Router (config-if )#ip ospf cost number其中開銷值可以是165535之間的數(shù)值。應(yīng)用鄰居驗證的命令在默認(rèn)情況下,路由器相信它所收到的路由信息是沒有被篡改的。但是如果網(wǎng)絡(luò)環(huán)境無 法保證該信任,我們可以使用鄰居驗證的方法來保證路由器收到的路由信息確實是它的鄰居 發(fā)出的。我們可以在路由器的接口上配置驗證的密碼,該密碼最多可以有8位字符。該接口所連 接的鄰居路由器的相應(yīng)接口也要配置驗證的密碼。這樣,當(dāng)兩臺路由器

45、互相發(fā)送Hello 包時,Hello包里就會帶有驗證的信息,如果該信息不匹配,則無法形成鄰居關(guān)系。在接口上配置驗證密碼的命令格式如下:Router (config-if )#ip ospf authentication-key password當(dāng)配置完接口的驗證密碼之后,還要在OSPF路由協(xié)議里聲明使用鄰居驗證,命令格式如下:Router (config-router )#area area-number authentication這種配置方式下,密碼是在網(wǎng)絡(luò)上以明文的方式傳送的,為了安全起見,我們也可以配 置MD5加密的密碼驗證,其接口上的配置命令格式如下:Router (config-i

46、f )#ip ospf message-digest-key key-id md5 encryption-type key 其中key-id可以是1255之間的數(shù)。兩臺路由器如果要成為鄰居,該數(shù)值必須配置得 一樣。而encryption-type key可以是07之間的數(shù)。它表示加密的程度,0表示不加密, 7表示最大程度的加密。在OSPF路由協(xié)議里聲明使用加密的鄰居驗證的命令如下:Router (config-router )#area area-id authentication message-digest該種鄰居驗證方式不會在網(wǎng)絡(luò)中以文明的方式傳遞密碼,安全性大大增加了。圖11-25 是

47、MD5加密的密碼驗證的實例。Sydeny1(config-if)#ip ospf message-digest-key 1 md5 7 asecretSydeny1(config-if)#exitSydeny1(config)#router ospf 1Sydeny1(config-router)#area 0 authentication message-digestSydeny1(config-router)#endSydeny1#圖9-22 MD5加密的密碼驗證實例更改 Hello-interval 和 dead-interval 的命令Hello-interval是路由器發(fā)出Hello包的時間間隔,dead-interval是鄰居關(guān)系失效 的時間間隔。默認(rèn)的Hello-interval是10秒,而dead-interval是40秒。在非廣播多路 訪問網(wǎng)絡(luò),默認(rèn)的Hello-interval是30秒,而dead-interval 是 120秒。當(dāng)在dead-interval 之內(nèi)沒有收到鄰居的Hello包時,一旦dead-interval超時,路由器會認(rèn)為該鄰居已經(jīng)離線。如果路由器的Hello-interval或dead-interval配置不相同,則兩臺路由器不能形成 鄰居關(guān)系。所以更改該參數(shù)時一定要小心。一下是更改Hello-interval和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論