(十三)網絡層--RIP協議報文格式

RIP協議報文格式

繼續上文的內容,這篇文章我們來學習下RIP協議的報文格式。

RIP報文由首部和路由部分組成。
首部佔4個字節,其中的命令字段指出報文的意義,例如,1表示請求路由信息,2表示對請求路由信息的響應或未被請求而發出的路由更新報文,首部後面的“必爲0”是爲了4字節的對齊。RIP2報文中的路由部分由若干個路由信息組成,每個路由信息需要用20個字節。其中,地址族標識符字段用來標誌所使用的地址協議,如採用IP地址就令這個字段的值爲2。路由標記填入自治系統號ASN(Autonomous System Number),這是考慮使RIP有可能收到本自治系統以外的路由選擇信息。後面指出了網絡地址、該網絡的子網掩碼、下一跳路由器地址以及到此網絡的距離。一個RIP報文最多可包含25個路由,因而RIP報文的最大長度是(4 + 25 * 20) = 504字節。如超過,必須再用一個RIP報文來傳送。

RIP還具有簡單的鑑別功能。若使用鑑別功能,則將原來寫入第一個路由信息的位置用作鑑別(20字節)。這時應將地址族標識符置爲全1,而路由標記寫入鑑別類型,剩下的16字節爲鑑別數據。在鑑別數據之後,才寫入路由信息,但這時最多隻能再放入24個路由信息。

RIP存在的一個問題是當網絡出現故障時,要經過較長的時間才能將此信息傳送到所有的路由器,看下面這個例子:

設三個網絡通過兩個路由器互連起來,並且都已建立了各自的路由表。圖中路由器交換的信息只給出了我們感興趣的一行內容。路由器R1中的“1, 1, 直接”表示“到網1的距離是1,直接交付”。路由器R2中的“1, 2, R1”表示“到網1的距離是2,下一跳經過R1”。
現在假定路由器R1到網1的鏈路出了故障,R1無法到達網1,於是路由器R1把到網1的距離改爲16,表示網1不可達,所以現在R1的路由表中的相應項目變爲“1, 16, 直接”。但是,很可能要經過30s後,R1才把更新信息發送給R2,在這段時間,可能R2已經把自己的路由表發送給了R1,其中有“1, 2, R1”這一項。R1收到R2的更新報文(1, 3, R2)後,誤以爲可經過R2到達網1,根據前面一篇文章提到的步驟:路由表中存在目的網絡,下一條路由器不是它自己,而且距離小於路由表中的距離16,所以進行了更新,被改爲:1, 3, R2,表明“我到網1的距離是3,下一跳路由器經過R2”,並把更新後的信息發送給R2。同理R2又更新自己的路由表爲“1, 4, R1”,以爲“我到網1的距離是4,下一跳經過路由器R1”。這樣的更新一直繼續下去,直到R1和R2到網1的距離都爲16時,R1和R2才知道原來網1是不可達的。RIP協議的這一特點叫做:好消息傳播得快,壞消息傳播得慢。網絡出故障的傳播時間往往需要較長的時間,這是RIP的一個主要缺點。

總之,RIP協議最大的優點是實現簡單,開銷較小。但RIP協議的缺點也較多。首先,RIP限制了網絡的規模,它能使用的最大距離爲15,其次,路由器之間交換的路由信息是路由器中的完整路由表,隨着網絡規模的增大,開銷也就增加。最後,“壞消息傳播得慢”,使得更新過程的收斂時間過長。

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