【7】TCP/IP協議族詳解-動態選路協議

聲明:本博客參考自《TCP/IP詳解卷一:協議》

1.概述

上篇博客中介紹的路由表操作是靜態選路的方式。在網絡很小的時候,這種方法是可行的。但是網絡比較複雜的時候這種方法就行不通了。這就要引入接下來要介紹的內容:動態選路協議。

2.動態選路

當相鄰路由器之間進行通信,互相溝通所連網絡時,就出現了動態選路。路由器之間必須採用選路協議進行通信。路由器上有一個進程-路由守護程序。它運行選路協議,並與其相鄰的一些路由器進行通信。路由守護程序會從相鄰路由接收信息,並更新路由表。當路由發生變化時,路由守護程序動態增加或刪除路由表項。

動態選路並不會改變內核搜索路由表的方式,即先主機路由再網絡路由最後默認路由。路由守護程序在發現同一目的地多條路徑時,會選擇將最佳路徑加入到路由表中。如果有條路中斷,路由守護程序也會將指定的路由從內核路由表中刪除。

像Internet這樣的系統中,有多種不同的選路協議。Internet是以一組自治系統的方式組織的。每個自治系統通常是由單個實體管理。通常一個公司或者學習可以被定義爲一個自治系統。在一個自治系統內選路的協議稱爲內部網關協議IGP(Interior Gateway Protocol)或域內選路協議(Intradomain routing protocol)。在不同的自治系統間通信的協議叫做外部網關協議EGP(Exterier Gateway Protocol)。

最常用的IGP是路由信息協議RIP,現在也出現了一種新的開發最短路徑優先協議-OSPF,正在逐漸取代RIP。

現在常用的外部網關協議是邊界網關協議BGP(Border Gateway Protocol)。

3.選路信息協議RIP

3.1 報文格式

RIP報文包含在UDP數據報中,格式如下所示:

RIP報文的具體格式如下圖:

①命令字段:1-請求,2-應答,5-輪詢,6-輪詢表項。3,4是捨棄不用的。

②版本字段通常爲1。在第2版的RIP協議中,此字段爲2。

③緊跟在後面的20個字節指定地址系列(IP協議此值爲2)、IP地址及相應的度量。

採用這種20字節的RIP報文最多可以通告多達25條路由。

對於運行RIP的自治系統,沒過30s,所有或部分路由器會將其完整路由表發送給相鄰路由器。如果發現一條路由在3分鐘內未更新,就將該路由的度量設置成無窮大(16),並標爲刪除。再過60s,將從本地路由表中刪除該路由,以保證該路由的失效已被傳播開。

3.2 度量

RIP所使用的度量是以跳(hop)計算的。所有直接連接接口的跳數爲1。

路由器R1通過發送廣播到N1通告它與N2之間的跳數是1。同時通過發送廣播給N2通過它與N1之間的跳數爲1。同樣,R2通告N3,它與N2的度量爲1。同時,通告N2,它與N3的度量爲1。

如果相鄰路由器通告它與其它網絡路由的跳數爲1,那麼我們與那個網絡的度量就是2,這是因爲我們必須經過那個路由器。在上面的塗總R2到N1的度量是2,與R1到N3的度量一樣。

這樣的選路方式存在這下面的各個問題:

①跳數的最大值只有15,這就限制了選路的範圍。

②RIP不區分子網的概念會造成信息出現差錯。

③當路由器或者鏈路發生故障的時候,需要很長一段時間穩定下來,這個過程中可能會發生路由環路。

3.3 RIP版本2

RIP版本2通常稱爲RIP-2。這些擴充並不改變協議本身,只是充分利用協議中爲0的字段。

說明:

①路由域是選路守護程序的標識符,它指出這個數據報的所有者。一般是選路守護程序的進程號。

②路由標記是爲了支持外部網關協議而存在的。它攜帶着一個EGP和BGP的自治系統號。

③每個表項的子網掩碼應用於相應的IP地址上。下一站IP地址指明發往目的IP地址的報文該發往哪裏。該字段爲0意味着發往目的地址的報文應該發給發送RIP報文的系統。

RIP-2除了支持廣播外,還支持多播。着可以減少很多主機的負載。

4. 開放最短路徑優先協議:OSPF

OSPF是除RIP外的另一個內部網關協議。它克服了RIP的所有缺陷。與採用距離向量的RIP協議不同的是,OSPF是一個鏈路狀態協議。距離向量的意思是RIP發送的報文包含一個距離向量(跳數)。每個路由器根據它所接收的鄰站的這些距離來更新路由表。

在鏈路狀態協議中,每個路由器主動地測試與相鄰站相連鏈路的狀態,將這些信息發送給它的其它相鄰站。每個路由器接收到這些鏈路狀態信息,並建立起完整的路由表。鏈路狀態比距離向量在路由器關閉或鏈路故障時,可以更快穩定下來。

OSPF相對與RIP的優點:

①OSPF可以對每個 I P服務類型計算各自的路由集。這意味着對於任何目的,可以有多個路由表表項,每個表項對應着一個 I P服務類型。

②給每個接口指派一個無維數的費用。可以通過吞吐率、往返時間、可靠性或其他性能來進行指派。可以給每個I P服務類型指派一個單獨的費用。

③ 當對同一個目的地址存在着多個相同費用的路由時,O S P F在這些路由上平均分配流量。我們稱之爲流量平衡。

④OSPF支持子網:子網掩碼與每個通告路由相連。這樣就允許將一個任何類型的 I P地址分割成多個不同大小的子網。到一個主機的路由是通過全 1子網掩碼進行通告的。

⑤路由器之間的點對點鏈路不需要每端都有一個 I P地址,我們稱之爲無編號網絡。這樣可以節省I P地址 — 現在非常緊缺的一種資源。

⑥採用了一種簡單鑑別機制。可以採用類似於 R I P - 2機制的方法指定一個明文口令。

⑦OSPF多采用多播,以減少不參與OSPF系統的負載。

5.邊界網關協議:BGP

 BGP是一種不同自治系統的路由器之間進行通信的外部網關協議。B G P系統與其他B G P系統之間交換網絡可到達信息。這些信息包括數據到達這些網絡所必須經過的自治系統 A S中的所有路徑。這些信息足以構造一幅自治系統連接圖。然後,可以根據連接圖刪除選路環,制訂選路策略。

B G P與R I P和O S P F的不同之處在於B G P使用T C P作爲其傳輸層協議。兩個運行 B G P的系統之間建立一條T C P連接,然後交換整個B G P路由表。

B G P是一個距離向量協議,但是與(通告到目的地址跳數的) R I P不同的是,B G P列舉了到每個目的地址的路由(自治系統到達目的地址的序列號)。這樣就排除了一些距離向量協議的問題。採用16 bit數字表示自治系統標識。

B G P通過定期發送keepalive報文給其鄰站來檢測TCP連接對端的鏈路或主機失敗。兩個報文之間的時間間隔建議值爲30秒。

6. 總結

動態選路協議分爲兩個類:內部網關協議(IGP)和外部網關協議(EGP)。其中外部網關協議有:RIP,RIP-2,OSPF。而外部網關協議主要有BGP,還有一種無類型域間選路協議(CIDR),在本文中沒有介紹。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章