王迪
【摘 要】本文主要分析了RIP和OSPF這兩種類型的網絡通信協議的工作原理,并從不同角度分析了這兩種類型的路由協議的優缺點及區別,總結出了其各自的特點及適用場景。
【關鍵詞】距離矢量協議;鏈路狀態協議;RIP;OSPF
在現在的計算機通信網絡中,當兩臺非直接相連的計算機需要通信時,通常就需要使用到路由器。路由器為我們提供了一種方法來開辟一個網狀聯結的路徑。那么這個路徑是怎么建立的呢?這時候就用到了路由選擇協議。RIP和OSPF作為基于TCP/IP的計算機網絡中廣泛使用的路由協議,理解其工作原理對深入研究計算機網絡有著很好的幫助作用。
一、路由協議分類
每種路由協議都有自己的算法,路由協議在共享和傳遞路由更新信息時,乃至收斂都因為算法的不同而不同。路由協議根據算法可以分為兩大類:距離矢量(Distance Vector)和鏈路狀態(Link State)。
距離矢量協議直接傳送各自的路由表信息。網絡中的路由器從自己的鄰居路由器得到路由信息,并將這些路由信息連同自己的本地路由信息發送給其他鄰居,這樣一級一級的傳遞下去從而達到全網同步。每個路由器都不了解整個網絡拓撲,它們只知道與自己直接相連的網絡情況,并根據從鄰居得到的路由信息來更新自己的路由。
鏈路狀態路由協議并不向鄰居傳遞路由項,而是通告給鄰居一些鏈路的狀態。與距離矢量路由協議相比,鏈路狀態協議對路由的計算方法有本質的差別。運行該路由協議的路由器不是簡單地從相鄰的路由器學習路由,而是收集所有的路由器的鏈路狀態信息,根據狀態信息生成網絡拓撲結構,然后每一個路由器再根據拓撲結構計算出路由。
二、距離矢量協議的代表:RIP
路由信息協議( Routing Information Protocol)簡稱RIP,是使用最為廣泛的一種距離矢量協議,它是由施樂(Xerox)在70年代開發的。TCP/IP版本的RIP是施樂協議的改進版。
1.RIP的工作原理
RIP的實現是基于距離矢量的算法。簡單來說,距離矢量的運算引入跳數值作為一個度量值。當路徑中每通過一個路由,路徑中的跳數值就會增加1。這就意味著跳數值越大,路徑中經過的路由器就越多,相對的路徑也就越長。而RIP就是通過路由間的信息交換,找到兩個目的路由器之間跳數值最小的路徑。
2.RIP的特點
(1)僅和相鄰路由器交換信息。RIP協議規定,不相鄰的路由器不交換信息。
(2)路由器交換的信息是當前本路由器所知道的全部信息,即自己的路由表。
(3)按固定的時間間隔交換路由信息,然后路由器根據收到的路由信息更新路由表。當網絡拓撲發生變化時,路由器也及時向相鄰路由器通告拓撲變化后的路由信息。
3.RIP的局限
(1)由于跳數最大值的限制,RIP不適用于較大型的網絡。因為如果網絡過大,跳數將超過其極限,路徑被認定為無效,從而使得網絡無法正常工作。
(2)由于任何一個網絡設備都可以發送路由更新信息,RIP的可靠性與安全性將無法得到保證。
(3)RIP所使用的算法,即距離矢量算法,僅僅考慮了路徑中跳數值的大小。然而在實際環境中,網絡延時以及網絡的可靠性將成為影響網絡傳輸質量的重要指標。因此跳數值無法完全反映出網絡的實際情況,從而有可能使得路由器在路徑的選擇上出現次優。
(4)路由信息的更新時間較長,而且由于在更新時,路由器發送全部的路由表信息占用了相對較多的網絡資源,所以RIP對于網絡帶寬的要求更高,將會增加網絡開銷。
三、鏈路狀態協議的代表:OSPF
開放式最短路徑優先(Open Source Path First)協議,是鏈路狀態路由協議的代表。它是為了克服RIP的缺點于1989年開發出來的。相較于RIP,OSPF適用網絡的規模更大且范圍更廣。此外,OSPF也擺脫了距離矢量協議的算法,而是基于由Dijkstra提出的最短路徑算法。同時,該協議也能夠支持分層網絡,這使得OSPF的應用更加具有靈活性,廣泛性。這里需要注意的是,OSPF只是一個協議的名字,它并不代表其他的路由選擇協議不是最短的路徑。事實上,所有的在自治系統內部使用的路由協議的目標都是要尋找一條最短的路徑。
1.OSPF的工作原理
在OSPF中引入了鏈路狀態的概念。所謂鏈路狀態,其因為其包含了鏈路中附屬端口以及其他量度信息。鏈路狀態公告(Link-State Advertisement)在更新路由器的網絡拓撲信息庫時被廣泛的使用。路由器中的網絡拓撲數據庫就是對于同一區域中所有路由器發布的鏈路狀態公告的收集和整理,從而形成的整個網絡的拓撲結構圖。鏈路狀態信息庫信息收集過程完成之后,路由器會根據最短路徑優先算法,生成一個無環路的路徑圖。該圖描述了以每個路由器自身為起始點,到達所有已知目標路由器的最短路徑,即最優的路徑。這個路徑圖被稱為最短路徑優先樹。
2.OSPF的特點
(1)向本自治系統中所有路由器發送信息。這種方式稱為洪泛,這就是路由器通過所有輸出端口向所有相鄰的路由器發送鏈路狀態信息。而每個路由器又再次將此信息發往其所有的相鄰路由器。這樣,最終整個區域中所有的路由器都得到了這個信息的一個副本。
(2)發送的信息就是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部分信息。所謂鏈路狀態其實就是說明本路由器都和哪些路由器相連接,以及該鏈路的度量值。OSPF將這個度量值用來表示費用、距離、時延、帶寬,等等。
(3)只有當鏈路狀態發生變化時,路由器才向其他路由器洪泛發送信息,而不是向RIP那樣,不管網絡拓撲是否發生變化,都要周期的交換路由表信息。
3.OSPF的局限
(1)相較于其他的網絡協議來說,OSPF的工作方式較為復雜,對于網絡配置和維護人員的要求更高,需要相關人員在前期對網絡有較好的規劃和設計。
(2)OSPF的工作基于最短路徑優先算法,而算法較為復雜,需要使用較多的CPU和內存資源,對于路由器性能有著更高的要求,增加了組網時的成本。
四、兩種路由協議的比較及結論
就復雜程度而言,RIP 相對比較簡單,也便于配置;OSPF則復雜度較高,配置要求也高,而且需要對網絡進行規劃及設計。由于跳數的限制,RIP更加適用于較小型的網絡;而OSPF更加適用于復雜網絡、分層網絡。RIP基于距離矢量算法,而OSPF基于最短路徑優先算法。就兩者的收斂時間而言,RIP的更新時間相對更長一些。由于RIP更新信息需要在網絡中傳遞,所以其網絡帶寬占用較多,周期性傳輸路由信息,對帶寬要求較高;而OSPF發送鏈路狀態信息,且更新信息只在相鄰路由器間傳輸。在工作方式方面,RIP 每 30秒發送一次完整的路由表,路由器如果超過180秒沒有發送更新路由表,那么該路由器將被標記為失效,120秒之后該路由器將被標記為不存在;而 OSPF 每 10秒發送一次 Hello 包,如果超過 40秒不發送 Hello 包,路由器將會被認定為無效,每 30分鐘更新一次路由數據庫。
綜上所述,RIP主要適用于小型且機構簡單的網絡,利于維護;而OSPF更適合于在較復雜的大型網絡中應用。
【參考文獻】
[1]羅問陶.簡析OSPF路由協議研究及應用[J].網絡安全技術與應用,2016,12(4):40-40.
[2]劉自紅.互聯網OSPF路由協議的分析與應用[J].通信世界,2015,(27):35-36.