鏈路狀態路由協議

2021-08-13 12:09:17 字數 4844 閱讀 6599

在這裡,我們首先將了解鏈路狀態路由協議的原理及它的演算法等知識,然後,將詳細介紹鏈路狀態路由協議相對於距離向量路由協議的優勢。

9.1 鏈路狀態路由協議原理

屬於鏈路狀態型別的路由協議有ospf、is-is等路由協議。

執行鏈路狀態路由協議的路由器,在互相學習路由之前,會首先向鄰居路由器學習整個網路的拓撲結構,在自己的記憶體中建立乙個拓撲表(或稱鏈路狀態資料庫),然後使用最短路徑優先(spf)演算法,從自己的拓撲表裡計算出路由來。

這就好比是在上高速路之前先去買了乙份地圖,之後再開車去目的地,這樣就不用看了路牌了。遇到路壞了,也可以根據自己手中的地圖找到繞行的路,而不用再去問別人了。

執行鏈路狀態路由協議的路由器雖然在開始學習路由時先要學習整個網路的拓撲,學習路由的速率可能會比執行距離向量路由協議的路由器慢一點,但是一旦路由學習完畢,路由器之間就不再需要周期性地互相傳遞路由表了,因為整個網路的拓撲路由器都知道,不需要使用週期性的路由更新包來維持路由表的正確性,從而節省了網路的頻寬。

當網路拓撲出現改變時(如在網路中加入了新的路由器或網路發生了故障),路由器也不需要吧自己的整個路由表傳送給鄰居路由器,只需要發出乙個包含有出現改變網段的資訊的觸發更新包。收到這個包的路由器會把該資訊新增進拓撲表裡,並且從拓撲表裡計算出新的路由。由於執行鏈路狀態路由協議的路由器都維護乙個相同的拓撲表,而路由是路由器自己從這張表中計算出來的,所以執行鏈路狀態路由協議的路由器都能自己保證路由的正確性,不需要使用額外的措施來保證它。

執行鏈路狀態路由協議的網路在出現故障收斂是很快的。

由於鏈路狀態路由協議不必周期性地傳遞路由更新包,所以它不像距離向量路由協議一樣用路由更新包來維持鄰居關係,鏈路狀態路由協議必須使用專門的hello包來維持鄰居關係。執行鏈路狀態路由協議的路由器周期性地向鄰居的路由器傳送hello包,它們通過hello包中的資訊相互認識對方並且形成鄰居關係。只有在形成鄰居關係之後,路由器才可能學習網路拓撲。

9.2 鏈路狀態路由協議的演算法

正如我們所知,執行鏈路狀態路由協議的路由器在計算路由之前會首先學習網路拓撲,建立拓撲表。然後,它們會使用spf演算法(基於dijkstra演算法),即最短路徑優先(shortest path first )演算法,根據拓撲表計算路由。

spf演算法會把網路拓撲轉變為最短路徑優先樹(shortest path first tree),然後從該樹型結構中找出到達每乙個網段的最短路徑,該路徑就是路由;同時,該樹型結構還保證了所計算出的路由不會存在路由環路。

spf計算路由的依據是頻寬,每條鏈路根據其頻寬都有相應的開銷(cost)。開銷越小,該鏈路的頻寬越大,該鏈路越優。

9.3 鏈路狀態協議的優缺點

當在比較大型的網路裡執行時,距離向量路由協議就暴露出了它的缺陷。比如,執行距離向量路由協議的路由器由於不能了解整個網路的拓撲,只能周期性地向自己的鄰居路由器傳送路由更新包,這種操作增加了整個網路的負擔。距離向量路由協議在處理網路故障時,其收斂速率也極其緩慢,通常要耗時4~8分鐘甚至更長,著對於大型網路或者電信級網路的骨幹來說是不能忍受的。

另外,距離向量路由協議的最大度量值的限制也使得該種協議無法再大型網路裡使用。所以,在大型網路裡,我們需要使用一種比距離向量路由協議更加高效,對網路頻寬的影響更小的動態路由協議,這種協議就是鏈路狀態路由協議。

1. 鏈路狀態路由協議與距離向量路由協議的比較

鏈路狀態路由協議與距離向量路由協議的比較的比較如下。

1)對整個網路拓撲的了解

執行距離向量路由協議的路由器都是從自己的鄰居路由器處得到鄰居的整個路由表,然後學習其中的路由資訊,在把自己的路由表發給所有的鄰居路由器。在這個程中,路由器雖然可以學習到路由,但是路由器並不了解整個網路的拓撲。執行鏈路狀態路由協議的路由器首先會向鄰居路由器學習整個網路拓撲,建立拓撲表,然後使用spf演算法從該拓撲表裡自己計算出路由來。

由於對整個網路拓撲的了解,鏈路狀態路由協議具有很多距離向量路由協議所不具備的優點。

2)計算路由的演算法

距離向量路由協議的演算法(也被稱為bellman –ford-fulkerson演算法),只能夠使路由器知道乙個ip網段在網路里德哪個方向,有多遠,而不能知道該ip網路的具體位置,從而使路由器無法了解網路的拓撲。

鏈路狀態路由協議的演算法需要鏈路狀態資料庫的支援,鏈路狀態路由協議是從鏈路狀態資料庫裡計算出路由的。

3)路由更新

由於距離向量路由協議不能了解網路拓撲,執行該協議的路由器必須周期性地向鄰居路由器傳送路由更新包,其中包括了自己的整個路由表。距離向量路由協議只能以這種方式保證路由表的正確性和實時性。執行距離向量路由協議的路由器無法告訴鄰居路由器哪一條特定的鏈路發生了故障,因為它們都不知道網路拓撲的樣子。

由於在鏈路狀態路由協議剛剛開始工作時,所有執行鏈路狀態路由協議的路由器就都學習了整個網路的拓撲,並且從中計算出了路由,所以執行鏈路狀態路由協議的路由器不必周期性地向鄰居路由器傳遞路由更新包。它只需要在網路發生故障時發出觸發的更新包,告訴其它的路由器在網路的哪個位置發生了故障即可。而網路中的路由器會依據拓撲表重新計算該鏈路相關的路由。

鏈路狀態路由協議的路由更新是增量的更新。

2. 鏈路狀態路由協議的優點

從上述比較,我們可以看出鏈路狀態路由協議的優點如下。

● 快速收斂。

由於該鏈路狀態路由協議對整個網路拓的了解,當發生網路故障故障時,察覺到該故障的路由器將該故障向網路里德其它路由器通告。接收到鏈路狀態通告的路由器除了繼續傳遞該通告外,還會根據自己的拓撲表重新計算關於故障網段的路由。這個重新計算的過程相當快速,整個網路會在極短的時間裡收斂。

● 路由更新的操作更加有效率。

由於鏈路狀態路由協議在剛剛開始工作的時候,路由器就已經學習了整個網路的拓撲,並且根據網路拓撲計算出了路由表,如果網路的拓撲不發生改變,這些路由器的路由表裡的路由條目一定是正確的。所以執行鏈路狀態路由協議的路由器之間不必周期性地傳遞路由更新包來保證路由表的正確性,它們只需要在網路拓撲發生改變的時候(如有新的路由器加入網路或者網路中出現了故障),傳送觸發的更新包來通知其他路由器,網路中具體**發生了變化,而不用傳遞整個路由表。接收到該資訊的路由器會根據自己的拓撲表計算出網路中變化部分的路由。

這種觸發的更新(或者叫做增量更新),由於不必周期性地傳遞整個路由表,使路由更新的處理變得更有效率了。

但是,鏈路狀態路由協議並不是沒有缺點。

● 由於鏈路狀態路由協議要求路由器首先學習拓撲表,然後從中計算出路由,所以執行鏈路狀態路由協議的路由器被要求有更大的記憶體和更強計算能力的處理器。

● 同時,由於鏈路狀態路由協議在剛剛開始工作的時候,路由器之間要首先形成鄰居關係,並且學習網路拓撲,所以路由器在網路剛開始工作的時候不能路由資料報,必須等到拓撲表建立起來並且從中計算出路由,路由器才能進行資料報的路由操作,這個過程需要一定的時間。

● 另外,因為鏈路狀態路由協議要求在網路中劃分區域,並且對每個區域的路由進行彙總,從而達到減少路由表的路由條目、減少路由操作延時的目的,所以鏈路狀態路由協議要求在網路中進行體系化編址,對ip子網的分配位置和分配順序要求極為嚴格。

雖然鏈路狀態路由協議有上述這些缺點,但相對於它所帶來的好處,這些缺點不過是白璧微瑕,並非不可以接受。

由於以上這些特點,鏈路狀態路由協議特別適合大規模的網路或者電信級網路的骨幹上使用。

9.4 ospf路由協議概述

開放式最短路徑優先(open shortest path first,ospf)路由協議是一種基於開放式標準的鏈路狀態路由協議。它的最新記述出現在rfc2328文件中。ospf中的開放式(open)表示該協議是向公眾開放的非私有的協議。

ospf路由協議也是一種igp協議,它只能工作在自治域系統內部,不能跨自治域系統執行。

相對於距離向量路由協議,ospf具有收斂時間很短、適用範圍很大的優點。

在大型網路或者電信級網路的骨幹上,是不能使用距離向量路由協議的。原因在於距離向量路由協議的最大度量值影響了它的使用範圍;而且該種協議收斂緩慢,無法達到電信運營網對故障恢復時間的要求;另外,距離向量路由協議周期性地向鄰居傳送路由更新,也會占用頻寬。而ospf很好地解決了這些問題。

執行ospf路由協議的路由器,在剛剛開始工作的時候,首先和相鄰的路由器建立鄰居關係,形成鄰居表,然後相互交換自己所了解的網路拓撲。路由器在沒有學習到全部網路的拓撲之前,是不會進行任何路由操作的,因為這時路由表是空的。只有當路由器學習到了全部網路的拓撲,建立了拓撲表(也稱鏈路狀態資料庫)之後,它們會使用最短路徑優先(spf)演算法,從拓撲表中計算出路由來。

因為所有執行ospf路由協議的路由器都維護著相同的拓撲表,路由器可以自己從中計算出路由,所以這些路由器之間不必周期性地傳遞路由更新包,ospf路由協議的更新是增量的更新。這種更新方式也節省了對網路頻寬的消耗。

由ospf的工作方式,我們可以知道,執行ospf路由協議的路由器要求有更多的記憶體和更高效的處理器,以便儲存鄰居表、拓撲表等資料庫和進行路由的計算。

雖然ospf路由協議在剛剛執行的時候,其操作要比距離向量路由協議複雜,ospf路由協議的生效可能不如距離向量路由協議快,但是,ospf路由協議一旦開始執行,它的優勢就體現出來了。

在執行ospf路由協議的網路裡,當網路拓撲發生改變的時候(比如有新的路由器或網段加入網路,或者網路出現了故障,某個網段壞掉了),這時發現該變化的路由器會向其他路由器傳送觸發的路由更新包——鏈路狀態更新包(lsu)。在lsu中包含了關於發生變化的網段的資訊——鏈路狀態通告(lsa)。接收到該更新包的路由器,會繼續向其他路由器傳送更新,同時根據lsa中的資訊,在拓撲表重新計算發生變化的網段的路由。

由於沒有holdown時間,ospf路由協議的收斂速率是相當快的,這一點對於大型網路或者電信級網路是非常重要的。

ospf路由協議還有乙個重要的特徵,就是它可以把乙個大型的路由網路進行分級設計,即把乙個大型網路分成多個區域,這種特性使ospf路由協議能夠在大規模的路由網路上正常而高效地工作。

在大型路由網路裡,往往有成百上千臺路由器。如果這些路由器都是在乙個大的區域裡工作,那麼每一台路由器都要了解整個網路的所有網段的路由,這些路由器的路由表裡的條目可能會有成千上萬條。路由器為每乙個資料報做路由時,都不得不在大量的路由資訊裡尋找適合該資料報的路由條目,路由器對資料報進行路由操作的反應時間勢必會延長,從而路由器的包通過率下降。

距離向量路由協議VS鏈路狀態協議

距離向量 執行距離向量路由協議的路由器,會將所有它知道的路由資訊與鄰居共享,但是只與直連鄰居共享!鏈路狀態 執行鏈路狀態路由協議的路由器,只將它所直連的鏈路狀態與鄰居共享,這個鄰居是指乙個域內 domain 或乙個區域內 area 的所有路由器!所有距離向量路由協議均使用bellman ford f...

鏈路狀態路由演算法實驗報告

中南大學 班級資訊保安0901 學生王樹雄 學號 0909090128 教師王偉平 實驗目的 1 要求實驗者利用路由選擇演算法模擬軟體提供的通訊功能,模擬鏈路狀態路由選擇演算法的初始化 路由資訊擴散過程和路由計算方法 2 掌握鏈路狀態演算法的路由資訊擴散過程 3 掌握鏈路狀態演算法的路由計算方法。實...

PPP鏈路故障告警

告警名稱 ppp鏈路中斷 伴隨告警 可能會導致信令鏈路和操作維護鏈路斷告警 定位資訊 基站名稱 化州中垌高嶺,基站編號 710,單板型別 cmpt trs,單板編號 0,子單元型別 無子單元型別,子單元編號 3,詳細資訊 無 告警 bts 告警描述 ppp鏈路中斷 系統自處理過程 如果有伴隨告警,則...