RIP路由防止環路的方法

2021-07-31 03:37:26 字數 2886 閱讀 3832

距離向量路由協議中路由環路問題的解決方法:

概括來講,主要分為六種:

1.定義最大值;

2.水平分割技術;

3.路由中毒;

4.反向路由中毒;

5.控制更新時間;

6.觸發更新。

下面我們就來一一講解各種解決方法的實現原理:

1.定義最大值:

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

2.水平分割:

一種消除路由環路並加快網路收斂的方法是通過叫做「水平分割」的技術實現的。其規則就是不向原始路由更新的方向再次傳送路由更新資訊(個人理解為單向更新,單向反饋)。比如有三颱路由器abc,b向c學習到訪問網路10.4.0.0的路徑以後,不再向c宣告自己可以通過c訪問10.4.0.0網路的路徑資訊,a向b學習到訪問10.4.0.0網路路徑資訊後,也不再向b宣告,而一旦網路10.4.0.0發生故障無法訪問,c會向a和b傳送該網路不可達到的路由更新資訊,但不會再學習a和b傳送的能夠到達10.4.0.0的錯誤資訊。

3.路由中毒(也稱為路由毒化):

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

4.反向中毒(也稱為毒化逆轉):

結合上面的例子,當路由器b看到到達網路10.4.0.0的度量值為無窮大的時候,就傳送乙個叫做毒化逆轉的更新資訊給c路由器,說明10.4.0.0這個網路不可達到,這是超越水平分割的乙個特列,這樣保證所有的路由器都接受到了毒化的路由資訊。

5.控制更新時間(即抑制計時器):

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

6.觸發更新:

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

其中的路由中毒和反向中毒在提示一下:

路由中毒:是指在路由資訊在路由表中失效時,先將度量值變為無窮大,而不是馬上從路由表中刪掉這條路由資訊。(這句話要理解,如rip協議中,其度量值變為16,意味著路由不可達)再將其資訊發布出去,這樣相鄰的路由器就得知這條路由己無效了.....

毒性反轉與路由中毒概念是不一樣的,它是指收到路由中毒訊息的路由器,不遵守水平分割原則將中毒訊息**給所有的相鄰路由器,也包括傳送中毒資訊的源路由器,也就是通告相鄰路由器這條路由資訊己失效了,主要目的是達到快速收斂的目的。

新資訊,包含乙個比原來路徑具有更好度量值的路由,就標記為可以訪問,並取消抑制計時器。如果在抑制計時器超時之前從不同鄰居收到的更新資訊包含的度量值比以前的更差,更新將被忽略,這樣可以有更多的時間讓更新資訊傳遍整個網路。

6.觸發更新:

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

其中的路由中毒和反向中毒在提示一下:

路由中毒:是指在路由資訊在路由表中失效時,先將度量值變為無窮大,而不是馬上從路由表中刪掉這條路由資訊。(這句話要理解,如rip協議中,其度量值變為16,意味著路由不可達)再將其資訊發布出去,這樣相鄰的路由器就得知這條路由己無效了.....

毒性反轉與路由中毒概念是不一樣的,它是指收到路由中毒訊息的路由器,不遵守水平分割原則將中毒訊息**給所有的相鄰路由器,也包括傳送中毒資訊的源路由器,也就是通告相鄰路由器這條路由資訊己失效了,主要目的是達到快速收斂的目的。

頂0

RIP的路由環路

需要注意的是,距離向量路由協議只是簡單地將自己的路由表周期性地通告出去,同時也將收到的有效路由載入到路由表中,並通過累加的度量值來體現到達目標網路的距離,但是執行距離向量路由協議的路由器其實並不了解整個網路的拓撲結構,這些特點使得網路中非常容易出現路由環路。如下圖所示的網路拓撲中 r1準備在下乙個更...

消除路由環路的技術

鏈路狀態演算法不會產生路由環路,因此,消除路由環路的技術,都是針對距離向量協議進行的。主要包括如下技術 水平分割 split horizon 無限計數 count to infinity 中毒反轉 posion reverse 路由保持 hold down 觸發更新 triggered update...

RIP路由協議的理解

計算機網路 距離向量演算法,實際中較少使用。上面的是基礎儲備。路由收斂很慢如何理解?收斂過程的詳細理解,是非常必要的。直連跳數是1.初始時r1到c網路的跳數是1,路由表中就記錄著1,r2經過r1再到c共兩跳,因此記錄跳數是2.現在 r1到c的路徑被剪斷了,r1可以感受到,於是在自己的路由表中更新為1...