1. 程式人生 > >HCNA——距離矢量路由協議RIP的環路問題

HCNA——距離矢量路由協議RIP的環路問題

自然 現在 enter 找到 矢量路由協議 註意 des 周期 重新

HCNA——距離矢量路由協議RIP的環路問題

為何稱為距離矢量

技術分享圖片

  • RTB收到路由,Metric就是距離,下一跳就是方面

RIP-環路:最大跳數

技術分享圖片

  • 當網絡發生故障時,RIP網絡有可能產生路由環路。

此時RTA 路由表應該存在一條 10.0.0.0/8 下一跳是192.168.1.1 路由條目 此時斷開10.0.0.0/8網絡的接口 隨之RTB就會刪除本身它有的10.0.0.0/8 的路由條目

那麽此時RTB沒有了10.0.0.0/8網絡的路由表 那麽它還會有嗎?

PS:還會有的 因為RTA RTB都開啟了RIP 而且剛剛就已經RTB傳送10.0.0.0/8路由條目給了RTA 此時 RTA下次工作時就會傳送RTB剛剛刪除掉的路由條目添加到RTB的路由表裏 所以RTB會接收到 10.0.0.0/8 下一跳為 192.168.1.2 的路由條目

那麽為什麽下一跳是192.168.1.2 呢?

PS:因為此時RTB沒有10.0.0/8的路由條目 當10.0.0/8的路由條目是RTA傳輸過來 所以RTA會是 192.168.1.2

那麽問題來了 RTB更新後的10.0.0.0/8 的跳數是 2跳 (RTA到RTB就變成了2跳)當下一次RIP更新時 RTB就會把新的路由表傳輸給RTA 這樣RTA就會更新路由表 同時跳數也會跟著遞增 同理 多次更新路由表後 雙方的跳數都會遞增到16跳 當16跳數時 網絡視為不可達

官方解釋:

如圖所示,RIP網絡正常運行時,RTA會通過RTB學習到10.0.0.0/8網絡的路由,度量值為1。一旦路由器RTB的直連網絡10.0.0.0/8產生故障,RTB會立即檢測到該故障,並認為該路由不可達。此時,RTA還沒有收到該路由不可達的信息,於是會繼續向RTB發送度量值為2的通往10.0.0.0/8的路由信息。RTB會學習此路由信息,認為可以通過RTA到達10.0.0.0/8網絡。此後,RTB發送的更新路由表,又會導致RTA路由表的更新,RTA會新增一條度量值為3的10.0.0.0/8網絡路由表項,從而形成路由環路。這個過程會持續下去,直到度量值為16。

下面我自己畫一個圖來理解路由環路

技術分享圖片
如果有PC1 現在要發送數據包到10.0.0.0/8的網絡 那麽此時數據包發送到RTA RTA找到路由表進行轉發到RTB 此時RTB與10.0.0.0/8網絡是不通的 而且RTB更新到的是RTA傳輸過來的路由表 自然下一跳會指向 192.168.1.2 那RTA又會根據路由表的下一跳把數據包傳送給RTB 這樣就形成了路由環路 當然數據包在兩個路由器之間的轉發次數不會是無限的 因為每經過一個路由器 TTL值就會減1 最終數據包就會被丟掉了

PS:這兩個例子一個是路由協議的環路 下面這個是數據包的環路哦

RIP-環路:水平分割

技術分享圖片

  • 路由器從某個接口學到的路由,不會從該接口再發回給鄰居路由器。

也就是說剛才RTA是從RTB學習到10.0.0.0/8的路由條目 當我們做了水平分割 RTA就不會再給RTB發原來的路由條目

官方解釋:

RIP路由協議引入了很多機制來解決環路問題,除了之前介紹的最大跳數,還有水平分割機制。水平分割的原理是,路由器從某個接口學習到的路由,不會再從該接口發出去。也就是說,RTA從RTB學習到的10.0.0.0/8網絡的路由不會再從RTA的接收接口重新通告給RTB,由此避免了路由環路的產生。

環路避免-毒性反轉

技術分享圖片

  • 毒性反轉是指路由器從某個接口學到路由後,將該路由的跳數設置為16,並從原接收接口發回給鄰居路由器。

首先10.0.0.0/8網絡還是可以通信的時候 RTA RTB的路由表都會更新10.0.0.0/8的路由條目 當10.0.0.0/8的網絡故障了呢 RTA RTB會有怎樣的操作呢?

PS:首先10.0.0.0/8網絡故障 RTB會刪除10.0.0.0/8路由表 RTA會經過180s=6x30s 的6個工作周期 才發現RTB沒有更新10.0.0.0/8網絡的路由條目給RTA RTA此時才會把10.0.0.0/8的路由條目標為不可達 也就是自動設置了跳數等於16跳 再過120s RTA才會刪除10.0.0.0/8的路由條目

RTA總共要耗時300s才發現網絡不可達 那要怎樣才能加快它的收斂呢?

PS:配置毒性反轉 也就是當10.0.0.0/8網絡故障時 RTB還是會向RTA發送更新路由表 而這路由表的跳數會被設置成16跳 那麽RTA接收更新路由表就會視為該網絡不可達

官方解釋:

RIP的防環機制中還包括毒性反轉,毒性反轉機制的實現可以使錯誤路由立即超時。配置了毒性反轉之後,RIP從某個接口學習到路由之後,發回給鄰居路由器時會將該路由的跳數設置為16。利用這種方式,可以清除對方路由表中的無用路由。本示例中,RTB向RTA通告了度量值為1的10.0.0.0/8路由,RTA在通告給RTB時將該路由度量值設為16。如果10.0.0.0/8網絡發生故障,RTB便不會認為可以通過RTA到達10.0.0.0/8網絡,因此就可以避免路由環路的產生。

環路避免-觸發更新

技術分享圖片

  • 觸發更新是指當路由信息發生變化時,立即向鄰居設備發送觸發更新報文。

RTA RTB每三十秒會更新路由 當更新後第10秒 10.0.0.0/8網絡故障了 那麽還得等20秒後再次更新 那怎麽去做當網絡故障時立刻傳送最新路由表呢?

PS:進行配置觸發更新 網絡故障時會立刻傳送新的路由表 還有註意的時 原本的30秒更新還是不變的 這裏只是多了網絡故障立刻傳送新的路由表而已 還有就是每臺路由器有它自己的計時器 每臺路由器的30秒更新都是不同的

官方解釋:

缺省情況下,一臺RIP路由器每30秒會發送一次路由表更新給鄰居路由器。
當本地路由信息發生變化時,觸發更新功能允許路由器立即發送觸發更新報文給鄰居路由器,來通知路由信息更新,而不需要等待更新定時器超時,從而加速了網絡收斂。

水平分割&毒性反轉

技術分享圖片

技術分享圖片

PS:水平分割和毒性反轉雖然都是開啟的 但只有毒性反轉是生效的

總結

  • 掌握RIP避免環路的基本工作原理
  • 掌握RIP配置避免環路

HCNA——距離矢量路由協議RIP的環路問題