1 RIP綜述
RIP(Routing Information Protocol)是基于D-V算法的內部動態路由協議。它是第一個為所有主要廠商支持的標準IP選路協議,目前已成為路由器、主機路由信息傳遞的標準之一,適應于大多數的校園網和使用速率變化不大的連續的地區性網絡。對于更復雜的環境,一般不應使用RIP。
RIP1作為距離矢量路由協議,具有與D-V算法有關的所有限制,如慢收斂和易于產生路由環路和廣播更新占用帶寬過多等;RIP1作為一個有類別路由協議,更新消息中是不攜帶子網掩碼,這意味著它在主網邊界上自動聚合,不支持VLSM和CIDR;同樣,RIP1作為一個古老協議,不提供認證功能,這可能會產生潛在的危險性。總之,簡單性是RIP1廣泛使用的原因之一,但簡單性帶來的一些問題,也是RIP故障處理中必須關注的。
RIP在不斷地發展完善過程中,又出現了第二個版本:RIP2。與RIP1最大的不同是RIP2為一個無類別路由協議,其更新消息中攜帶子網掩碼,它支持VLSM、CIDR、認證和多播。目前這兩個版本都在廣泛應用,兩者之間的差別導致的問題在RIP故障處理時需要特別注意。
我們還將關注RIP配置和與其他廠商互通中的一些問題。
2 RIP配置的常見問題
2.1 配置的兩臺路由器間不能用RIP互通
如果配置的兩臺路由器間不能用RIP互通,在物理連接沒有問題的時候,就要考慮是否是下面原因:
(1) 在Quidway系列路由器之間不通:
l 可能是RIP沒有啟動, 也可能相應的網段沒有使能。
這里需要注意的是在用使用network命令時要按地址類別配置相應的網段。例如接口地址137.11.1.1,由于137.11.1.1是B類地址,如果設置“network 137.0.0.0”,報文將不會被對端接受,此時配置成“network 137.11.0.0” 就可以正確接收了。
l 另一個可能原因是接口上把RIP給關掉了。
這是要查看一下配置信息,看看接口上是不是設置了undo rip work 或undo rip input或undo rip output命令。
l 還有一個可能原因是子網掩碼的不匹配。
在RIP1這樣的有類別路由協議中,主網中的每一路由器和主機都應有相同的子網掩碼。如果子網掩碼長度不匹配,信息包就不能正確路由。
2.2 在Quidway系列路由器與其他廠商路由器之間不通:
l 請先照(1)進行相應檢查
l 然后考慮是不是版本設置不同。Quidway系列路由器缺省情況下,RIP可以接收RIP1和RIP2廣播報文,但是只能發送RIP1報文。如果Quidway系列路由器之間互通時,一個配置為RIP1,一個配置為RIP2, 是可以正確的收發報文的; 但是如果Quidway系列路由器和其他廠商路由器互通時, Quidway系列路由器配置了RIP2,而其他廠商路由器還是RIP1,就會有可能出現問題。
2.3 RIP1與RIP2的區別引起的問題
由于RIP2對RIP1有許多功能上的擴充,它們之間的混淆也會帶來一些問題。
(1) 配了驗證,卻沒有起作用:
由于RIP-1不支持驗證,如果在啟動RIP后就配驗證,實際上是不起作用的(缺省條件下時RIP-1),只有在兩端的接口上配了rip version 2 后驗證能生效。
(2) 子網掩碼沒有配上
在取消自動聚合的情況下, 如果發送的報文中有一條B類地址的路由,但是 配了24位掩碼,結果發現對端路由表上的出現的是16位掩碼,如:
137.11.1.0/24, 得到137.11.0.0/16 , 就是由于沒有配ip rip version 2, 因為RIP-1不支持子網掩碼,只能按地址類別聚合發路由,137.11.1.0是B類地址就會按類聚合為137.11.0.0發出去, RIP2支持子網掩碼, 這樣配置的子網掩碼就能發過去了。
相關的問題還有對于兩條在同一主網中的路由,如10.1.0.0和10.110.0.0,在RIP1下不做區別都聚合成10.0.0.0往外發。RIP-2下都配16位掩碼就可以區別發出。
(3)自動聚合引起的問題
RIP1永遠使用聚合 ,且RIP的聚合是按照類進行的,RIP2 缺省也使用聚合,但是可以在協議模式下取消。需要注意的有兩點:
l取消自動聚合只對RIP2接口有效.
l 自動聚合是為了減少網絡中路由量,如果沒有特殊原因,一般不要取消。
2.4 RIP性能問題
1. 僅以hop作為metric的問題
RIP僅僅是以跳數作為選擇路由的度量值,完全不考慮不同路徑帶寬的影響。這在某些情況下,我們會發現報文到達目的地所經過的路由并非最佳路由。例如:從源到目的的報文可能從hop為1的ISDN鏈路(該鏈路其真實作用是用于備份)轉發,而不走帶寬高達10Mbps的兩個局域網鏈路,僅僅是因為其hop值為2。
此時的解決辦法就是重新設計網絡或使用其他具有更大靈活性的路由協議(如:OSPF)。
2. 廣播更新問題
RIP缺省設置是每隔30秒進行廣播交換整個路由表信息,這將大量消耗網絡帶寬,尤其是在廣域網環境中,可能出現嚴重性能問題。
當由于RIP廣播而產生網絡性能問題時,可以考慮使用“neighbor”命令配置RIP報文的定點傳送。一方面,定點傳送可用于在非廣播網絡(如幀中繼網絡)支持RIP。另一方面,定點傳送用于以太網環境可以顯著減少其上的網絡流量。
3. 慢收斂問題
RIP是一個距離矢量協議,同時由于Garbage定時器的設置,可能會產生下面這個有趣的現象:有時候配置了一個命令卻發現沒起作用, 這可能會使我們認為是配置出錯或者其他故障,其實是由于RIP慢收斂的原因需要一段延時,不要著急,先等幾分鐘,也許你什么都沒做就可以看到一切都正常了。
說明:
Garbage 時間:當路由被標記為無效之后,此時路由器并不立即刪除此路由,而是保持一段時間,只有在經過這段時間之后,路由器才真正將此路由從路由表中徹底刪除。這段時間就稱為Garbage時間。Garbage時間有助于增加網絡的穩定性,但付出的代價是路由再次可用的時間推遲,即收斂更緩慢。
2.5 其他相關問題
1. 幀中繼中的水平分割問題:
在幀中繼,X25等NBMA網絡上運行的時候,要取消水平分割,在接口模式下配置no ip rip split,如果使用水平分割,使用同一個物理接口下的邏輯接口之間就不能交換路由信息了。
2. 驗證問題:
配置驗證時,在配置了驗證類型,沒有配驗證字時是不顯示驗證信息的,這時候驗證也不起作用。
3. 地址借用問題:
地址借用必須兩端同時借用,如果只有一端借用,會由于兩端不在同一網段而導致不能互通,如果兩端都借用就可以取消對源地址的檢查。
4.2.6 RIP故障處理的一般步驟
在網絡上測定IP連通性的最常用方法是Ping命令。從源點向目的端發送Ping命令成功的話,意味著所有物理層、數據鏈路層、網絡層功能均正常運轉。而當IP連通失敗,我們首先要檢查的是源到目標間所有物理連接是否正常、所有接口和線路協議是否運行。當物理層和數據鏈路層檢查無誤后,我們將排錯重點轉向網絡層,假定此網絡運行的路由協議為RIP,那么一般故障處理的步驟如下:
1. 檢查從源到目的間的所有路由設備的路由表,看是否丟失路由表項。
例如:從源設備Ping目標設備161.7.9.10 沒有響應,我們應當使用display ip routing-table命令依次檢查從源到目的間所有路由表項為161.7.x.x (x.x根據使用的RIP版本不同可能會有所不同)的項。
2. 當發生路由表項丟失或其他問題,檢查網絡設備的RIP基本配置
(1) 使用display rip 命令察看RIP的各種參數設置。
l 看RIP是否已經啟動,相關的接口是否 已經使能,network命令設置的網段是否正確;
(2)用debug rip 系列命令看RIP的調試信息。
通過debug信息可以很明白的看出RIP報文是否被正確的收發;如果發送或接收有問題,也可以由debug信息中看到是什么原因而導致發送或接收報文失敗。
3. 當RIP基本配置沒有發現問題,請檢查如下項目
應當考慮是否在接口上配置undo rip work命令,是否驗證有問題,是否引入其他路由有問題,是否訪問控制列表配置不正確等等。
l 查看接口的display current-configuration信息可以看到RIP在接口模式下的配置信息是否正確。如該接口是否收發RIP報文,接口配置驗證了么和驗證是什么類型的,接口向外發送的報文是RIP-1還是RIP-2,是廣播發送還是多播發送,接口在接收和發送路由時是否增加附加的路由權。
l 查看display current-configuration信息可以看到RIP在協議模式下的配置信息是否正確。如是否引入其他協議的路由,如果引入,是已多大的路由權值引入的;是否對路由進行過濾和按什么規則過濾等。