(轉)示例化講解RIP路由更新機制


 

 

目錄(?)[+]

 

    以下內容摘自最新上市的“四大金剛”圖書之一《Cisco路由器配置與管理完全手冊》(第二版)(其它三本分別為《Cisco交換機配置與管理完全手冊》(第二版)《H3C交換機配置與管理完全手冊》(第二版)《H3C路由器配置與管理完全手冊》(第二版)),目前這四本新書在各大網店中均有銷售:http://item.jd.com/11273171.html http://product.dangdang.com/product.aspx?product_id=23270907


8.1.3 RIP路由更新機制

    RIP協議有兩種更新機制:一是定期更新,二是觸發更新“定期更新”是根據設置的更新計時器定期發送RIP路由通告。該通告報文中攜帶了除“水平分割”機制抑制的RIP路由之外本地路由器中的所有RIP路由信息。而“觸發更新”則是RIP路由器僅在有路由表項發生變化時發送的RIP路由通告,僅攜帶本地路由表中有變化的路由信息RIP路由器一旦察覺到網絡變化,就盡快甚至是立即發送更新報文,而不等待更新周期結束。只要觸發更新的速度足夠快,就可以大大地防止“計數到無窮大”的發生,但是這一現象還是有可能發生的。

    無論是定期更新,還是觸發更新,RIP路由的更新規則如下

l  如果更新的某路由表項在路由表中沒有,則直接在路由表中添加該路由表項;

l  如果路由表中已有相同目的網絡的路由表項,且來源端口相同,那么無條件根據最新的路由信息更新其路由表;

l  如果路由表中已有相同目的網絡的路由表項,但來源端口不同,則要比較它們的度量值,將度量值較小的一個作為自己的路由表項;

l  如果路由表中已有相同目的網絡的路由表項,且度量值相等,保留原來的路由表項。

下面主要介紹RIP路由的定期更新機制。

1.RIP路由定期更新機制

    RIP路由器總是會每隔30秒(這是默認值,可以修改,而且也可能與設置值有些偏差)通過UDP 520端口以RIP廣播應答方式向鄰居路由器發送的一個路由更新包,包中包括了本路由器上的完整的路由表(除了被“水平分割”機制抑制的路由表項),用來向鄰居路由器提供路由更新,同時用來向鄰居路由器證明自己的存在。RIP的路由表中主要包括“目的網絡”、“下一跳地址”和“距離”這三個字段,參見圖8-3

    如果一個路由器在180秒(這也是默認值,可以修改)內沒有收到某個鄰居路由器發來的路由更新,則這個路由器就會標記該鄰居路由器為不可達路由器,使這個鄰居路由器處於抑制周期。當路由器處於抑制周期內,它仍然用於向前轉發數據包,但網絡中的其它路由器不學習到達該路由器所連網絡的路由信息,除非是一條更好的到達該路由器所連網絡的路由信息,如本來是3跳,在抑制周期內學到了一條2跳的路由信息。但抑制周期過后,即使是差的路由信息也接受。

    如果在連續的240秒(這也是默認值,可以修改)內還沒收到這個路由器的路由更新,則本地路由器會在路由表中刪除與該鄰居路由器相關的路由表項。

    由此可見,這個路由更新不僅影響着整個RIP網絡中的路由器上最由表的更新和所有需要到達,或者經過該路由器的數據包路由,還影響着其它鄰居路由器是否當它存在。試想一下,如果有一個數據包是要發送到連接某個某個RIP路由器的網絡的一台主機上,但這台RIP路由器當時恰好出現了故障,沒有這個路由器更新機制的話,其它路由器也就不知道它當前出現了故障,仍按原來的路由路徑傳輸數據包,結果當然是數據包總是無法到達目的主機了,盡管可能經過多次嘗試。

2.RIP路由定期更新機制解析示例

    為了更好地理解RIP協議路由表的更新機制,下面以圖8-6所示的簡單的互連網絡為例來討論圖中各個路由器中的路由表是怎樣建立的。

 

 

圖8-6 RIP路由表建立網絡示例

   (1)在一開始,所有路由器中的路由表只有自己所直接連接的網絡的路由表項信息。但不是RIP路由表項,是直連路由表項,無需下一跳(用“--”表示),度量“距離”也均為,各路由器的初始路由表如圖8-7所示,均只有兩條直連網絡的路由表項。

  (2)接下來,各路由器就會按設置的周期(默認為30秒)向鄰居路由器發送路由更新了。具體哪個路由器會先發送路由更新,取決於哪個路由器先開了。現假設路由器R2先收到來自路由器R1R3的路由更新,然后就更新自己的路由表,如圖8-8所示。從中可以看出,它新添加了分別通過R1R3到達10.0.0.0網絡和30.0.0.0網絡的路由表項,度量值均為1,因為它只經過了一跳。

圖8-7 R1、R2和R3的初始路由表

   (3R2更新自己的路由表后,會把完整的路由表發給鄰居路由器R1R3。路由器R1R3分別再進行更新。根據前面介紹的RIP路由表更新的規則可以知道,R1首先是把從R2上接收到的如果圖8-8的路由表中,對每項度量進行加1,得到的路由表如圖8-9所示。

   

圖8-8  R2在路由更新后的路由表   圖8-9  R1對收到的來自R2路由表進行度量加1后形成的路由表

   (4)然后R1再把圖8-9所示的路由表與自己原來的路由表(圖8-6中的左圖所示)進行比較,凡是新添加的,和度量值小於等於原來的路由表項均將更新,度量值更大的路由表項將忽略更新。經過行比較發現有兩條新的路由表項,其目的網絡分別為30.0.0.040.0.0.0,直接在路由表中添加。而原來已有的兩條10.0.0.020.0.0.0表項,發現路由度量(“距離”)值1比原來的0還大,忽略更新,結果就得到R1更新后的路由表,如圖8-10所示。

   用同樣的方法可以得出R3在收到R2路由更新后的路由表如圖8-11所示。但RIP路由協議存在一個問題,那就是網絡收斂比較慢,當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器,而且中間有許多是無效路由更新。

 

圖8-10 R1在收到R2路由更新后的路由表   圖8-11 R3在收到R2路由更新后的路由表

    仍以圖8-6為例,現在三個路由器都已經建立了各自的穩定路由表,假設R1路由器和網110.0.0.0)的連接線路斷開了。此時R1可以立即發現,並更新自己的路由表,將到10.0.0.0的路由表項距離改為16(即不可達),並在30秒后將此路由更新信息發給R2。但是,R2R3得到的路由更新是“經過R2到達10.0.0.0網絡的距離為2”,明顯度量值更小,於是R2將此路由表項更新為“經過R3到達10.0.0.0的距離為3”,然后再通過路由更新發給R3,此時R3的路由表中更新為“經過R2到達10.0.0.0網絡的距離為4”。R3再通過路由更新發給R2信息,結果是““經過R3到達10.0.0.0網絡的距離為5””,一直如此反復,直到該路由表項的距離達到16R2R3才知道10.0.0.0網絡是不可達的。

   為了解決這一不足,產生了水平分割技術,就是同一路由表項更新不再從接收該路由表項的接口發送出去,具體將在本章后面介紹。下面再具體介紹RIP路由的收斂機制。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM