關於路由信息協議RIP解析

路由信息協議RIP是內部網關協議IGP中最先得到廣泛應用的協議,是一種距離矢量路由協議,RIP最大的特點是,無論實現原理還是配置方法,都非常簡單。RIP的度量基於跳數,每經過一臺路由器,路徑的跳數加一。如此一來,跳數越多,路徑就越長,RIP算法會優先選擇跳數比較少的路徑。RIP支持的最大跳數是15,跳數爲16的網絡被認爲不可達。所以RIP協議適用於小型的網絡環境

關於路由信息協議RIP解析

爲了維持所學路由的正確性以及與鄰居的一致性,運行RIP協議的路由器之間要週期性地向鄰居傳遞之間的整個路由表。週期性(默認爲30秒)傳遞的路由表被封裝在Updata包--路由更新包中。具體說明到本自治系統中所有網絡的最短距離,以及到每個網絡應經過的下一個路由器。

在路由協議剛剛開始啓動時,只知道到直連網絡的距離。接着,每一個路由器只會和相鄰的路由器交換信息。經過若干次的更新交換後,所有的路由器最終可以知道到達本自治系統中任何一個網絡的最短距離和到達每個網絡應該經過的下一個路由器地址。

現在較新的RIP版本爲1998年公佈的RIPv2,與RIPv1相比,RIPv2可以支持變長子網掩碼和CIDR,同時還提供簡單的鑑別過程支持多播。

RIP協議存在的一個問題是當網絡出現故障時,路由表會頻繁的變化,導致很長時間整個路由表都無法收斂。例如在2003年網絡工程師下午試題五則體現了RIP協議的這一特點。同時廣大網友可以可參閱《網絡工程師考試衝刺指南》最新版P306頁。

爲了讓網絡出現故障時能路由器能快速收斂,可以採取以下幾種措施:

  1.水平分割:

就是對於一臺路由器來說,從一個方向上學習到的路由信息,不讓同一路由信息再通過此接口向反方向傳送。例如我們對照《網絡工程師考試衝刺指南》最新版P306頁的圖,當路由器R3發現網段出現故障時,就會把這條路由清除出路由器。由於水平分割的原因,路由器R2在向路由器R3發送路由更新包時,不能將關於的網段放入該更新包,因爲他是從路由器R3那裏學過來。

  2.路由中毒:

水平分割能避免路由環路。但在R1和R2路由器的路由表中,關於故障網段的信息依然存在。這時候引入路由中毒的方法。當路由器R3發現網段出現故障時,會首先對自己“下毒”,標記該路由不可達。然後再通過路由更新包給自己的.鄰居路由器R2“下毒”,這樣通過一連串的“下毒”,整個網絡都會知道網段出現了故障。

  3.反向下毒:

當路由器R2、R1被成功“下毒”後,他們會向“毒源”的方向反向“下毒”,這樣保證所有的路由器都接受到了毒化的路由信息,雖然違反水平分割原則,但在路由協議中是被允許的。

  4.保持時間:

指的是當路由器R3發現網段出現故障時,使自己的路由表關於該網段的路由變成“可能DOWN”狀態後,還要繼續保持該狀態一段時間。在此時間段內,路由器收到鄰居發來的關於該網段的更新信息後,如果再次收到從鄰居發送來的更新信息,包含一個比原來路徑具有更好度量值的路由,就標記爲可以訪問,並取消保持時間。如果在保持時間超時之前從不同鄰居收到的更新信息包含的度量值比以前的更差,更新將被忽略,這樣可以有更多的時間讓更新信息傳遍整個網絡。

  5.觸發更新:

正常情況下,路由器會定期將路由表發送給鄰居路由器。而觸發更新就是立刻發送路由更新信息,以響應某些變化。測到網絡故障的路由器會立即發送一個更新信息給鄰居路由器,並依次產生觸發更新通知它們的鄰居路由器,使整個網絡上的路由器在最短的時間內收到更新信息,從而快速瞭解整個網絡的變化。

事實上,只依靠以上幾種方法中的任何一種或幾種,都不能完全解決路由表正確的問題,只有將幾種方法聯合起來才能湊效。