糯米文學吧

位置:首頁 > 計算機 > 網絡技術

路由器出現環路現象怎麼辦

路由環路,就是數據包不斷在這個網絡傳輸,始終到達不了目的地,導致掉線或者網絡癱瘓。造成路由器環路的原因有很多,下面就有小編分享路由器出現環路現象解決方案,歡迎大家學習!

路由器出現環路現象怎麼辦

  主要分為六大類:

  1、定義最大值

距離矢量路由算法可以通過IP頭中的生存時間(TTL)自糾錯,但路由環路問題可能首先要求無窮計數。為了避免這個延時問題,距離矢量協議定義了一個最大值,這個數字是指最大的度量值(最大值為16),比如跳數。也就是説,路由更新信息可以向不可到達的網絡的路由中的路由器發送15次,一旦達到最大值16,就視為網絡不可到達,存在故障,將不再接受來自訪問該網絡的任何路由更新信息。

  2、路由環路水平分割

一種消除路由環路並加快網絡收斂的方法是通過叫做“水平分割”的技術實現的。其規則就是不向原始路由更新來的方向再次發送路由更新信息(個人理解為單向更新,單向反饋)。比如有三台路由器ABC,B向C學習到訪問網絡的路徑以後,不再向C聲明自己可以通過C訪問網絡的路徑信息,A向B學習到訪問網絡路徑信息後,也不再向B聲明,而一旦網絡發生故障無法訪問,C會向A和B發送該網絡不可達到的路由更新信息,但不會再學習A和B發送的.能夠到達的錯誤信息。

  3、路由環路路由中毒(也稱為路由毒化)

定義最大值在一定程度上解決了路由環路問題,但並不徹底,可以看到,在達到最大值之前,路由環路還是存在的。為此,路由中毒就可以徹底解決這個問題。其原理是這樣的:假設有三台路由器ABC,當網絡出現故障無法訪問的時候,路由器C便向鄰居路由發送相關路由更新信息,並將其度量值標為無窮大,告訴它們網絡不可到達,路由器B收到毒化消息後將該鏈路路由表項標記為無窮大,表示該路徑已經失效,並向鄰居A路由器通告,依次毒化各個路由器,告訴鄰居這個網絡已經失效,不再接收更新信息,從而避免了路由環路。

  4、路由環路反向中毒(也稱為毒化逆轉)

結合上面的例子,當路由器B看到到達網絡的度量值為無窮大的時候,就發送一個叫做毒化逆轉的更新信息給C路由器,説明這個網絡不可達到,這是超越水平分割的一個特列,這樣保證所有的路由器都接受到了毒化的路由信息。

  5、路由環路控制更新時間(即抑制計時器)

抑制計時器用於阻止定期更新的消息在不恰當的時間內重置一個已經壞掉的路由。抑制計時器告訴路由器把可能影響路由的任何改變暫時保持一段時間,抑制時間通常比更新信息發送到整個網絡的時間要長。當路由器從鄰居接收到以前能夠訪問的網絡現在不能訪問的更新後,就將該路由標記為不可訪問,並啟動一個抑制計時器,如果再次收到從鄰居發送來的更新信息,包含一個比原來路徑具有更好度量值的路由,就標記為可以訪問,並取消抑制計時器。如果在抑制計時器超時之前從不同鄰居收到的更新信息包含的度量值比以前的更差,更新將被忽略,這樣可以有更多的時間讓更新信息傳遍整個網絡。

  6、路由環路觸發更新

正常情況下,路由器會定期將路由表發送給鄰居路由器。而觸發更新就是立刻發送路由更新信息,以響應某些變化。檢測到網絡故障的路由器會立即發送一個更新信息給鄰居路由器,並依次產生觸發更新通知它們的鄰居路由器,使整個網絡上的路由器在最短的時間內收到更新信息,從而快速瞭解整個網絡的變化。但這樣也是有問題存在,有可能包含更新信息的數據包被某些網絡中的鏈路丟失或損壞,其他路由器沒能及時收到觸發更新,因此就產生了結合抑制的觸發更新,抑制規則要求一旦路由無效,在抑制時間內,到達同一目的地有同樣或更差度量值的路由將會被忽略,這樣觸發更新將有時間傳遍整個網絡,從而避免了已經損壞的路由重新插入到已經收到觸發更新的鄰居中,也就解決了路由環路的問題。

標籤:路由器 環路