●對RIP而言,最複雜的部分莫過於在路由失效時重新收斂路由所使用的環路預防方法。在RIP中,採用了不少環路預防的工具,但是實際上這些工具卻在增加收斂時間——這也是RIP爲人詬病的主要原因。
●與收斂和環路預防相關的RIP特性
功能
|
描述
|
分割範圍(split horizon)
|
當發送更新時,RIP不是在特定接口上廣播所有路由,而是忽略那些與外發接口字段與接口匹配的路由。
|
觸發式更新
|
當路由信息改變時,立即進行路由更新,而不再等待更新定時器超時。
|
路由中毒(route poisoning)
|
當某條路由失效時,在路由更新時發送一條無窮metric(跳數爲16)的路由。
|
反向中毒(poison reverse)
|
爲了防止在同一接口上接收到包含相同中毒路由的更新所採用的中毒路由廣播策略。
|
更新定時器
|
確定更新發送時間間隔的定時器。每個接口使用一個獨立的定時器,默認爲30秒
|
保持定時器
|
當一條路由metric改爲更大值時,啓動該定時器(默認180秒),直到定時器超時,路由器纔會在其路由表中添加可選路由。
|
失效定時器
|
對每條路由,該定時器會一直增長,直到接收到路由更新確定該路由仍然有效,此時它的值重設爲0。如果更新停止,失效計時器會一直增長直到超時(默認180秒),此時路由即認爲失效。
|
垃圾定時器(garbage timer)
|
和失效定時器同時清空和增長。當該定時器超時(默認240秒),路由器會在路由表中刪除該條路由以接受新的路由。
|
●環路預防配置實例
所有路由器都使用的RIP配置:
router rip
network 172.31.0.0
version 2
(配置完後可以用show ip protocol、show ip route和show ip rip database命令查看RIP配置信息。)
當RIP發現某條路由失效時,RIPv2會重新收斂到另一條路由,這個過程如下:
1)在R1上使用debug ip rip,會顯示R1的RIP更新(包括R1對分割範圍的使用)。
2)R3的E0/0接口shut down,表示接口失效。
3)R3立即觸發更新,因爲R3明確地知道有路由失效了。R3廣播中毒路由172.31.103.0/24。
4)R1立即廣播一條中毒反向路由172.31.103.0/24回R3,同時由其fa0/0接口發送觸發更新。
5)R1在其路由表中刪除172.31.103.0/24的路由記錄。
6)R1等待R2的下一個更新,該更新基於R2在其fa0/0接口上的更新定時器發送。該更新包含一條到172.31.103.0/24的路由。R1將該條路由加入路由表。
(不要將觸發更新與RIP的觸發擴展(RFC 2091)混淆,觸發擴展定義了RIP可以選擇只發送一次完全更新,這是爲了支持請求式線路。該功能在接口上使用子命令ip rip triggered激活。)