TCP/IP詳解讀書筆記(第10章動態選路協議)
在前面各章中,討論了靜態選路。在配置接口時,以默認方式生成路由表項(對于直接連接的接口),并通過route命令增加表項(通常從系統自引導程序文件),或是通過I MP重定向生成表項(通常是在默認方式出錯的情況下)。
在網絡很小,且與其他網絡只有單個連接點且沒有多余路由時(若主路由失敗,可以使用備用路由),采用這種方法是可行的。如果上述三種情況不能全部滿足,通常使用動態選路。
本章討論動態選路協議,它用于路由器間的通信。我們主要討論RIP,即選路信息協議(Routing Information Protocol),大多數TCP/IP實現都提供這個應用廣泛的協議。然后討論兩種新的選路協議,OSPF和BGP。
動態選路
當相鄰路由器之間進行通信,以告知對方每個路由器當前所連接的網絡,這時就出現了動態選路。路由器之間必須采用選路協議進行通信,這樣的選路協議有很多種。路由器上有一個進程稱為路由守護程序(routing daemon),它運行選路協議,并與其相鄰的一些路由器進行通信。路由守護程序根據它從相鄰路由器接收到的信息,更新內核中的路由表。
注:動態選路并不改變我們在上章中所描述的內核在IP層的選路方式。這種選路方式稱為選路機制(routing mechanism)。內核搜索路由表,查找主機路由、網絡路由以及默認路由的方式并沒有改變。僅僅是放置到路由表中的信息改變了—當路由隨時間變化時,路由是由路由守護程序動態地增加或刪除,而不是來自于自引導程序文件中的route命令。
路由守護程序將選路策略(routing policy)加入到系統中,選擇路由并加入到內核的路由表中。如果守護程序發現前往同一信宿存在多條路由,那么它(以某種方法)將選擇最佳路由并加入內核路由表中。如果路由守護程序發現一條鏈路已經斷開(可能是路由器崩潰或電話線路不好),它可以刪除受影響的路由或增加另一條路由以繞過該問題。
RIP:選路信息協議
報文格式
RIP報文包含中在UDP數據報中,如圖1所示:

圖1:封裝在UDP數據包中的RIP報文
詳細的RIP報文格式如圖2所示:

圖2:RIP報文格式
命令字段為1表示請求,2表示應答。還有兩個舍棄不用的命令(3和4),兩個非正式的命令:輪詢(5)和輪詢表項(6)。請求表示要求其他系統發送其全部或部分路由表。應答則包含發送者全部或部分路由表。
版本字段通常為1,而第2版RIP將此字段設置為2。緊跟在后面的20字節指定地址系列(address family)(對于IP地址來說,其值是2)、IP地址以及相應的度量。RIP的度量是以跳計數的。采用這種20字節格式的RIP報文可以通告多達25條路由。上限25是用來保證RIP報文的總長度為20×25 + 4 = 504,小于512字節。由于每個報文最多攜帶25個路由,因此為了發送整個路由表,經常需要多個報文。
度量
RIP所使用的度量是以跳( hop )計算的。所有直接連接接口的跳數為1??紤]圖3所示的
路由器和網絡。畫出的4條虛線是廣播RIP報文。(R-理由器,N-網絡)

圖3:路由器和網絡示例
路由器R1通過發送廣播到N1通告它與N2之間的跳數是1(發送給N1的廣播中通告它與N1之間的路由是無用的)。同時也通過發送廣播給N2通告它與N1之間的跳數為1。同樣,R2通告它與N2的度量為1,與N3的度量為1。
如果相鄰路由器通告它與其他網絡路由的跳數為1,那么我們與那個網絡的度量就是2,這是因為為了發送報文到該網絡,我們必須經過那個路由器。在我們的例子中, R2到N1的度量是2,與R1到N3的度量一樣。
跳數的最大值是15,這意味著RIP只能用在主機間最大跳數值為15的AS內。度量為16表示到無路由到達該I P地址。
OSPF:開放最短路徑優先
O S P F是除R I P外的另一個內部網關協議。它克服了R I P的所有限制。
與采用距離向量的R I P協議不同的是, O S P F是一個鏈路狀態協議。距離向量的意思是,R P發送的報文包含一個距離向量(跳數)。每個路由器都根據它所接收到鄰站的這些距離向量來更新自己的路由表。
在一個鏈路狀態協議中,路由器并不與其鄰站交換距離信息。它采用的是每個路由器主
動地測試與其鄰站相連鏈路的狀態,將這些信息發送給它的其他鄰站,而鄰站將這些信息在
自治系統中傳播出去。每個路由器接收這些鏈路狀態信息,并建立起完整的路由表。
BGP:邊界網關協議
BGP是一種不同自治系統的路由器之間進行通信的外部網關協議。
BGP系統與其他BGP系統之間交換網絡可到達信息。這些信息包括數據到達這些網絡所必須經過的自治系統AS中的所有路徑。這些信息足以構造一幅自治系統連接圖。然后,可以根據連接圖刪除選路環,制訂選路策略。
posted on 2008-08-21 16:16
水 閱讀(1877)
評論(4) 編輯 收藏 引用 所屬分類:
tcp/ip