rfc1723:路由信息協議(版本2)

組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:[email protected]
譯者:熊勁鬆(zte_shawn, [email protected]
譯文發佈時間:2001-6-5
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用於非商業用途自由轉載,但必須保留本文檔的翻譯及版權信息。

Network Working Group
Request for Comments: 1723
Obsoletes: 1388
Updates: 1058
Category: Standards Track

G. Malkin
Xylogics, Inc.
November 1994

本備忘錄的狀態

本文檔詳細說明了一種Internet標準的循路協議以及進一步的請求討論和建議。請參考最新版的“Internet正式協議標準(STD1)”來獲得本協議的標準化程度和狀態。本文檔的發佈不受任何限制。

摘要

本文檔詳細說明了正如定義在[1,2]中的路由信息協議的擴展,擴充了在RIP信息中攜帶有用信息的數量,增加了安全措施。

在本文檔的舊文檔RFC1388中,描述了對“路由信息協議”STD34(RFC1058)的更新信息。

RIP-2 協議分析參考文檔RFC1721[4]

IP-2 適用性陳述參考文檔RFC1722[5]

RIP-2 管理系統庫的描述參考文檔RFC1724[3]

RFC1389是其舊文檔

致謝

感謝ITTF ripv2 工作組對RIP-2協議改進提供幫助

1、 源由

隨着OSPF和IS-IS協議的出現,有人認爲RIP協議過時了。不可否認,新的IGP路由協議比RIP協議優越得多,但RIP協議也有許多優點:

首先,在小型網絡中,RIP協議在帶寬使用、配置和管理時間上有一些優勢。而且,RIP協議特別是相對新的IGP協議來說十分容易去實現。

此外,現在RIP還在大量使用,這是OSPF與IS-IS所不能比的,並且這種情形還可能持續好幾年時間。

既然RIP在許多領域和一定時期內仍具有使用價值,那麼就有理由增加RIP的有效性,這是毫無疑問的,因爲對已有技術進行改造所獲收益比起徹底更新要現實得多。

2、現行的路由信息協議

現行的RIP數據包僅包含路由器爲包在網絡中路由所需的最少必需信息,由於其自身的原因,RIP包中還有許多地址空間未用。

現行的RIP協議並沒有考慮自治系統之間以及內部網關協議與外部網關協議之間的聯繫,沒有考慮子網和驗證功能,這些問題要由後來的RIP協議加以解決。

因爲路由器需要子網掩碼來獲知怎樣去決定路由,故缺少子網掩碼對路由器來說是一個很嚴重的問題。如果RIP路由是網絡路由(所有非網絡號字節爲零),則子網掩碼就是網絡掩碼;然而如果加入了主機號,路由器就不能確定出子網掩碼號,同樣不能確定是子網路由還是主機路由。當前,一些路由器是通過路由學習來簡單地選擇接口的子網掩碼和決定路由類型的。

3. 協議的擴展

本文檔對RIP協議本身沒有做根本改變,只是對RIP數據包格式定義作了補充,來使路由器享有一些重要的附加信息。

RIP數據包的首四位字節是RIP數據頭,餘下的字節由1到25個路由實體組成。新的路由信息協議數據包格式定義如下:

新的路由信息協議數據包格式

其中命令域、地址族標識符域、IP地址域和度量值符域都保留了它們在RFC1058中的定義。版本域被指定爲2的RIP包將會支持使用驗證機制和攜帶一些新的定義域信息;未被使用的兩個字節域繼續保留不使用。

所有的字節域皆採用IP網絡字節順序來編碼。

3.1、 驗證功能

驗證機制是數據包的功能,在RIP消息頭中只有兩個字節的空間可利用,然而任何合理的驗證算法都需要兩字節以上的空間,所以對於RIP(版本2)的驗證算法將使用整個RIP消息體中一個實體空間來進行身份驗證。

如果數據包中第一項實體(並且僅僅是第一項)的地址族標誌符爲0XFFFF,那麼這個實體的其它字節域就包含了驗證所需的信息,也就是說RIP數據包中僅剩下最多包含24個實體路由信息。如果不使用驗證功能,則數據包中就沒有含有地址族標誌爲0XFFFFFF實體。具有驗證功能的RIP數據包格式定義如下:

驗證功能的RIP數據包格式

現在,能確定的唯一的驗證算法就是“明文驗證”,它的類型是2,其餘下的16個字節包含了純文本密碼。如果密碼大小少於16個字節,則位數向左對齊,右邊補零。

3.2路由標籤

路由標記字段的存在是爲了支持外部網關協議(EGP)。有關與這個字段的使用已經超出本協議的範圍了。不論使用什麼方法,這個字段被期望用於傳遞自治系統的標號給外部網關協議以及邊界網關協議(BGP)。任何RIP系統收到一個包含有非零路由標記字段的RIP包時,必須重新對外廣播收到的值。而沒有路由標記的路由器必須將0作爲自己的路由標記對外廣播。

路由標籤域(RT)是分配給路由的一個屬性,必須受到保護並隨路由重發。路由標籤域的設置提供了把內部RIP路由與外部RIP路由(可能來於EGP和另一個IGP)隔離的方法

除RIP以外的路由器支持的協議都應該能配置,以使路由標籤能配置成從不同源輸入的路由。例如:從EGP或BGP輸入的路由要麼可以成任意值的路由標籤,要麼至少可設置成發來路由的獨立系統號。

在RIP領域中只要所有路由器協調的使用路由標籤域,其許多使用是十分有效的,它考慮了在BGP-RIP協議間交互文檔的可能性,此交互文檔描述了在傳輸網絡中同步路由的方法。

3.3 子網掩碼

子網掩碼域字段包含的子網掩碼,對應於IP地址的網絡號部分。如果其值爲0,表示這個實體中不包含子網掩碼。

運行RIP-1的路由器在收聽和處理RIP-2數據包時遵循以下原則:

  1. 網絡內部的路由信息不可以向其他的網絡廣播,
  2. 有關特定子網的路由不能對運行RIP-1協議的路由器廣播,因爲它會誤認爲那是一個到主機的路由,
  3. 超網路由不能對運行RIP-1協議的路由器廣播,因爲它會被路由器曲解。

3.4、下一跳

指定一個包到一個特定地址的立即下一跳地址的路由器應該被路由通過的。如果這個字段的值爲0.0.0.0的話,說明這個路由是RIP廣播發出者。每一個被指定的下一跳地址,都必須是可以通過發送RIP廣播的邏輯子網而直接抵達的。

增加下一跳地址字段的目的是消除包在發送的過程中不會增加不必要的跳數。當一個網絡上並不是所有的路由器都運行RIP時,下一跳地址字段就會顯得特別有用。一個很簡單的例子就是附錄A中給出的例子。注意,下一跳地址字段是一個可選的字段。也就是說,如果這些信息被忽略了,路由仍絕對有效,但不一定是最佳的。如果下一跳地址不可直接到達則地址將被設爲0.0.0.0。

3.5 、組播

爲了減輕那些不接受RIP-2包的主機的不必要的負載,一個ip組播地址將被用於週期性的廣播。這個ip組播地址爲224.0.0.9。注意,IGMP是不需要的,因爲RIP路由信息包只是在本地網絡上進行組播。

爲了維持向後兼容性,組播的使用是可選擇的,具體方法參考4.1節。如果使用組播的話,應該使用在所以支持它的接口上。

3.6、 請求與響應

如果RIP-2 路由器收到一個RIP-1請求,它將以RIP-1包響應;如果這個路由器作了僅發送RIP-2包配置,那麼它將對RIP-1請求包不作響應。

4、兼容性

RFC 1058在對版本號的處理規範中十分有遠見,它做了如下規定:丟棄版本號爲0的RIP數據包;丟棄字節域應爲0(MBZ域)卻不爲0,且版本號爲1的RIP數據包、不可簡單地丟棄MBZ域包含非0值,版本號大於1的RIP數據包。這就意味着支持實施這個現存的處理規範,新的RIP版本將全面向後兼容。

4.1 兼容性轉換

需要兼容轉換有兩個原因。首先,一些RIP-1並不按照在上面所談到的在RFC1058中的描述那樣去實現。其次,組播的使用將會阻止RIP-1路由器收到RIP-2路由更新數據包(這正是在某些情況下希望得到的信息)。

這種兼容轉換在基於某個單一的接口是可配置的,有四種配置方法: RIP-1,表示只有RIP-1數據包發送;RIP-1兼容,表示用廣播的方法發送RIP-2數據包;RIP-2,表示用組播的方法發送RIP-2路由信息包;爲空,表示RIP數據包發送失效。推薦的方法是RIP-1兼容。

路由器通過RIP-1、RIP-2、“both”和“none”四種選擇配置來決定對RIP數據包的接收與否控制,達到了對RIP包收發控制的完整性。對RIP包收發控制也可對每一個接口作相應的配置。

4.2 、驗證機制

驗證RIP數據包使用下面的算法規則。

如果路由器沒有配置爲對RIP-2數據包信息作驗證,那麼路由器將接收RIP-1和沒有驗證信息的RIP-2數據包,對帶有驗證信息的RIP-2數據包作丟棄處理;如果路由器配置爲對RIP-2數據包信息作驗證,那麼路由器將接收RIP-1和通過驗證的RIP-2數據包,對不帶有驗證信息和沒有通過驗證的RIP-2數據包作丟棄處理。從最高安全考慮,當使用驗證體制時,RIP-1數據包將會被忽略(參考章節4.1)。

驗證機制是將RIP包中驗證實體地址族標識符字段設置爲0xffff來標識的。對RIP-1路由器來說,這是一個非IP地址族的地址,這個RIP包將會被路由器拋棄。應當注意:使用驗證機制並不能阻止RIP-1路由器得到RIP-2路由信息包。如果你希望達到這種效果的話,應當像在3.5及4.1節中描述的那樣使用組播來發送你的RIP-2路由信息包。

4.3 增加跳距極限限制

一提到兼容性,有一些增加跳距極限限制的請求。增加跳距限制不能實行的主要原因在於它會破壞向後兼容,會明顯地使舊版本的RIP路由器產生混亂。最好是能夠忽略這些路由信息,就像他們要求忽略跳距極限大小爲16一樣。

也有建議使跳距字段爲一個字節並對其它的三位高字節加以使用,但是這樣會破壞對爲4個字節實體的度量值的實現。

4.4、 無地址鏈接

與RIP-1一樣,RIP-2也不支持無地址鏈接。

5、安全考慮

基本的RIP協議不是一個安全協議,爲把RIP-2融入更盛行的路由協議之列,這個增強性的協議引入了一個可擴展的驗證機制。這個機制的描述參考章節3.1和4.2。

附錄A

這是一個在RIP中使用下一跳的簡單例子:

在RIP中使用下一跳

假設IR1,IR2和IR3都是一個使用RIP-2作爲內部網關協議的網絡(例如一個校園網)的內部路由器。另一方面,XR1,XR2,和XR3則是在另一個使用其他路由協議(例如 OSPF)的網絡(如這個校園網所屬的一個局域網)中。XR1,XR2和XR3之間會互相交換路由信息,這樣它們會知道到達網絡N1,N2的最佳路由是經過XR1,到網絡N3,N4和N5的最佳路由是經過XR2,而到網絡N6,N7的最佳路由是經過XR3。通過設定正確的下一跳 (XR2爲到達N3/N4/N5的下一跳,XR3爲到達N6/N7的下一跳),只有XR1需要與IR1/IR2/IR3交換路由信息來避免經由XR1的多餘的跳數。假如沒有下一跳 (如使用RIP-1協議),那麼我們就需要XR2,XR3也一樣分享RIP-2路由信息以消滅多餘的跳數。

參考文獻

  1. Hedrick, C., "Routing Information Protocol", STD 34, RFC 1058, Rutgers University, June 1988.
  2. Malkin, G., "RIP Version 2 - Carrying Additional Information", RFC 1388, Xylogics, Inc., January 1993.
  3. Malkin, G., and F. Baker, "RIP Version 2 MIB Extension", RFC 1724, Xylogics, Inc., Cisco Systems, November 1994.
  4. Malkin, G., "RIP Version 2 Protocol Analysis", RFC 1721, Xylogics, Inc., November 1994.
  5. Malkin, G., "RIP Version 2 Protocol Applicability Statement", RFC1722, Xylogics, Inc., November 1994.

作者地址

Gary Scott Malkin
Xylogics, Inc.
53 Third Avenue
Burlington, MA 01803
電話: (617) 272-8140
電子信箱: [email protected]

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