在談路由協議之前,我們先來看1下路由器的結構:
路由器是1種具有多個輸入端口和多個輸出端口的專用計算機,其任務是轉發分組。
路由選擇部份的核心是路由處理機,路由處理機可以根據選定的路由協議構造前途由表,同時常常或定期和相鄰路由器交換路由信息來更新和保護本身的路由表。
分組轉發部份包括1組輸入端口、交換結構和1組輸出端口。交換結構又稱交換組織,它的作用就是根據轉發表把收到的IP數據報從路由器適合的端口轉發出去。交換結構可看成1個在路由器中的網絡。
由于筆者主要研究WMN,所以首先從WMN的路由協議說起,但是WMN路由協議很多都是鑒戒有線網絡的路由協議,所以目的在于讓讀者對網絡層的路由協議有個全局的認識。本篇雖然有1些專業術語,但基本都在上下文可以找到解釋。如果有些內容遺漏或解釋不到位,請讀者自己搜索資料,請見諒。
WMN的動態性,多跳性使得傳統的路由協議不能夠很好的處理無線網狀網中拓撲結構和鏈路狀態的快速變化。
WMN由Ad hoc網絡發展而來,Ad hoc網絡重點在移動,而WMN重點在無線。目前主流的WMN路由協議也是從Ad hoc網絡路由協議發展而來。主要包括3種類型的路由協議:先驗式路由協議、反應式路由協議、混合式路由協議。
在先驗式路由協議中,不管是不是有通訊需求,每一個節點采取周期性的路由分組廣播保護1張包括到達其他節點的路由信息的路由表,當檢測到網絡拓撲結構變化的時候,節點在網絡中交換并更新路由表。源節點1旦要送分組,可以立即取得指向目的節點的路由。
這類的路由協議通常是通過修改現有的有線路由協議來適應 Ad Hoc無線網絡要求,如通過修改路由信息協議(RIP)得到的目的節點序列距離矢量協議(DSDV)。 因此這類路由協議的時延較小,但是協議需要大量的路由控制報文路由,協議的開消較大。 經常使用的先驗式路由協議有 DSDV,HSR,GSR,WRP等。
DSDV協議
DSDV協議的基本原理是:每個節點保持1個到其它節點的路由表,表的內容為路由的“下1跳”節點。DSDV創新的地方是為每條路由設置1個序列號,序列號大的路由為優選路由,序列號相同時,跳數少的路由為優選路由。正常情況下,節點廣播的序列號是單調遞增的偶數,當節點B發現到節點D的路由(路由序列號為s)中斷后,節點B就廣播1個路由信息,告知該路由的序列號變成s+l,并把跳數設置為無窮大,這樣,任何1個通過B發送信息的節點A的路由表中就包括1個無窮大的距離,這1進程直到A收到1個到達D的有效路由(路由序列號為s+1⑴)為止。
使用分層次的路由選擇方法,可將因特網的路由協議劃分為:
內部網關協議IGPI(nterior Gateway Protocol):具體的協議有多種,如:RIP和OSPF等。
外部網關協議EGP(External Gateway Protocol):目前使用的協議就是BGP
下面我們分別介紹:
路由信息協議RIP(RoutingInformation Protocol)
RIP采取距離向量算法,最大優點是簡單。在實際使用中已較少適用。RIP協議允許1條路徑最多只能包括15個路由器。因此,“距離”等于16時即相當于不可達。可見RIP只適用于小型互聯網。對范圍較大的網絡應當使用OSPF協議。RIP不能在兩個網絡之間同時使用多條路由。RIP選擇1條具有最少路由器的路由(即最短路由),哪怕還存在另外一條高速(低時延)但路由器較多的路由。RIP進程使用UDP的520端口來發送和接收RIP分組。RIP分組每隔30s以廣播的情勢發送1次,為了避免出現“廣播風暴”,其后續的的分組將做隨機延時后發送。在RIP中,如果1個路由在180s內未被刷,則相應的距離就被設定成無窮大,并從路由表中刪除該表項。RIP分組分為兩種:要求分組和響應分組。
RIP協議的特點是:
僅和相鄰路由器交換信息
路由器交換的信息是當前本路由器所知道的全部信息,即自己的路由表
依照固定的時間間隔交換路由信息
RIP協議存在的1個問題是:當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。
開放最短路徑優先OSPF(OpenShortest Path First)
OSPF原理簡單,實現復雜,使用了Dijkstra提出的最短路徑算法SPF。
OSPF最主要特點是使用散布式鏈路狀態協議,而不是像RIP那樣的距離向量協議。和RIP協議相比,OSPF的3個要點和RIP都不1樣。
1、 向本自治系統中所有路由器發送信息。這里使用的方法是洪泛法(Flooding)
洪泛法(Flooding)
在OSPF協議中,當鏈路狀態產生變化時要用Flooding向所有路由器發送信息。
例如,源節點希望發送1段數據給目標節點。源節點首先通過網絡將數據副本傳送給它的每一個鄰居節點,每一個鄰居節點再將數據傳送給各自的除發送數據來的節點以外的其他。如此繼續下去,直到數據傳送目標節點或數據設定的生存期限為0為止。
2、 發送的信息就是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部份信息,“鏈路狀態”包括本路由器和哪些路由器相鄰,和鏈路的1些度量信息。而RIP協議發送的是到所有路由器的距離和下1跳路由器。
3、 只有當鏈路狀態產生變化時,路由器才向所有路由器用洪泛法發送此信息。
由于各路由器之間頻繁的交換路由信息,因此所有路由器終究都能建立1個鏈路狀態數據庫,這個數據庫實際上就是全網的拓撲結構圖。RIP協議中的每個路由器雖然知道所有網絡的距離和下1跳路由器,但卻不知道全網的拓撲結構(只有到了下1跳路由器,才能知道再下1跳應當怎樣走)。
OSPF的更新進程收斂的快是其重要優點。(“收斂”就是在自治系統中所有的節點都得到正確的路由選擇信息的進程)
OSPF不用UDP而是直接用IP數據報傳送(其IP數據報首部的協議字段值為89)
OSPF共有以下5種分組類型:
1、問候(Hello)分組,用來發現和保持鄰站的可達性。
2、數據庫描寫(Database Description)分組,向鄰站發出自己鏈路狀態數據庫中所有鏈路狀態項目的摘要信息。
3、鏈路狀態要求(Link State Request)分組,像對方要求發送某些鏈路狀態項目的詳細信息。
4、鏈路狀態更新(Link State Update)分組,用洪泛法對全網更新鏈路狀態。
5、鏈路狀態確認(Link State Acknowledgment)分組,對鏈路更新分組的確認。
為了使OSPF能夠用于范圍很大的網絡,OSPF將1個自治系統再劃分為若干個更小的范圍,叫做區域。下圖表示1個自治系統劃分為4個區域。每一個區域都有1個32位的區域標志符(用點分10進制表示)
固然,1個區域也不能太大,1個區域內的路由器最好不超過200個。
劃分區域的好處就是把利用洪泛法交換鏈路狀態信息的范圍局限于每個區域而不是全部自治系統,這就減少了全部網絡上的通訊量。
外部網關協議BGP
BGP是不同AS(Area System)的路由器之間交換路由信息的協議。
邊界網關協議BGP只能是力求尋覓1條能夠到達目的網絡且比較好的路由(不能兜圈子),而并不是要尋覓1條最好路由。BGP采取了路徑向量路由選擇協議。
1般說來,兩個BGP發言人都是通過1個同享網絡連接起來的。1個BGP發言人要與其他自治系統的BGP發言人交換路由信息,就要先建立TCP連接(端口號為179),然后在此連接上交換BGP報文以建立BGP會話,利用BGP會話交換路由信息。
在RFC4271中規定了BGP⑷的4種報文:
1、OPEN(打開)報文,用來與相鄰的另外一個BGP發言人建立關系,使通訊初始化。
2、UPDATE(更新)報文,用來通告某1路由的信息,和列出要撤消的多條路由。
3、KEEPALIVE(保活報文),用來周期性的證實鄰站的連通性。
4、NOTIFICATION(通知)報文,用來發送檢測到的過失。
在RFC2918中增加了ROUTER—REQUEST報文,用來要求對等端重新通告。
反應式路由協議
反應式路由協議又稱為隨選型路由協議或按需路由協議。是專門針對移動自組織網絡工作組MANET(Mobile
Ad-hoc NETworks)環境提出來的。與表驅動路由協議相反,該類協議其實不事前生成路由,而是僅在源節點需要時才這樣做。因此,路由表信息是按需建立的,它可能僅僅是全部拓撲結構信息的1部份。
節點其實不保存全部網絡的及時準確的路由信息。當源節點要向目的節點發送報文時,源節點在網絡中發起路由查找進程,找到相應的路由后,才開始發送報文。為了提高效力,節點可以將找到的路由保存在緩存中供后續發送使用。反應式路由協議按需路由的特點可以較好地適應節點移動較為頻繁的無線網絡環境,節點產生移動后,只需要更新需要發送數據的相干路徑的路由信息便可。
混合式路由協議
混合式路由是將先驗式路由協議和反應式路由協議兩種路由方式的組合,在局部范圍內使用先驗式路由協議,保護準確的路由信息,并可以縮小路由控制消息傳播的范圍。當目標節點較遠時,則使用反應式路由協議查找發現路由。ZRP協議就是混合式路由協議的代表。
ZRP協議是1種專為多變的通訊環境(如可重構無線網絡,RwN)設計的平鋪式路由協議。在每一個節點定義1個區域,此區域包括1些節點,這些節點的距離(也就是跳數)在1個限定的范圍以內。這個距離被成為區域半徑rzone。每個節點只需要知道它的路由區域內的拓撲結構,而且其路由信息隨著區域內的拓撲更新而更新。這樣,雖然網絡很大,但更新僅僅在局部區域進行。由于距離大于1,這樣區域就有大量堆疊。
參考資料:
1、無線網狀網絡的路由協議分析 .TechTarget[援用日期2016⑹⑵7]
2、謝希仁. 計算機網絡(第5版)[M]. 北京:電子工業出版社, 2012.
下一篇 jvm內存回收機制