RIP環路問題總結

RIP協議產生路由環路的緣由:
        當從第一臺路由器意識到失敗時,直到全部路由器都知道該路由已經失敗,這段時間內距離矢量路由選擇協議就有引發路由選擇環回的可能。
        例如:路由器A會將針對目標網絡C的路由表項的metric值置爲16,即標記爲目標網絡不可達,並準備在每30秒進行一次的路由表更新中發送出去,若是在這條信息還未發出的時候,A路由器收到了來自B的路由更新報文,而路由器B中包含着關於網絡C的metric爲2的路由信息,根據前面提到的路由更新方法,路由器A會錯誤的認爲有一條經過路由器B的路徑能夠到達目標網絡C,從而更新其路由表,將對於目標網絡C的路由表項的metric值由16改成3,而對於的端口變爲與路由器B相鏈接的端口。很明顯,路由器A會將該條信息發給路由器B,路由器B將無條件更新其路由表,將metric改成4;該條信息又從路由器 B發向路由器A,路由器A將metric改成 5......最後雙發的路由表關於目標網絡C的metric值都變爲16,此時,才真正獲得了正確的路由信息。這種現象稱爲"計數到無窮大"現象,雖然最終完成了收斂,可是收斂速度很慢,並且浪費了網絡資源來發送這些循環的分組。
 
在最初開發RIP的時候就發現環路的問題,因此已經在RIPv1和 RIPv2中集成了幾種防止環路的特性:
       最大跳數:當一個路由條目做爲副本發送出去的時候就會自加1跳,那麼最大加到16跳,到16跳就已經被視爲最大條數不可達了。
       水平分割:路由器不會把從某個接口學習到的路由在從該接口廣播回去或者以組播的方式發送回去。
       帶毒性逆轉的水平分割:路由器從某些接口學習到的路由有可能從該接口反發送出去,只是這些被路由已經具備毒性,即跳數都被加到了16跳。
      抑制定時器:當路由表中的某個條目所指網絡消失時,路由器並不會馬上的刪除該條目並學習新條目,而是嚴格按照咱們前面所介紹的計時器時間現將條目設置爲無效接着是掛起,在240秒時才刪除該條目,這麼作實際上是爲了儘量的給於一個時間等待發生改變的網絡恢復。
       觸發更新:因網絡拓撲發生變化致使路由表發生改變時,路由器馬上產生更新通告直連鄰居,不在須要等待30秒的更新週期,這樣作是爲了儘量的將網絡拓撲的改變通告給其餘人。
 
注意:(1)這些特性是共同做用的,其中水平分割是解決路由環路的核心方法。經過水平分割能夠避免產生計數到無限大現象,阻止路由環路的產生。(2)觸發更新、毒性逆轉可使失敗路由儘快的傳播到整個網絡,也起到了避免路由環路產生,加速網絡收斂的做用。(3)抑制定時器是針對存在冗餘路徑的網絡中,單純的水平分割不可以阻止計數到無限大產生路由環路的問題,還須要抑制計時器來阻止路由環回。
相關文章
相關標籤/搜索