1. 程式人生 > 實用技巧 >RIP協議

RIP協議

1.概念:
RIP協議是一種內部閘道器協議(IGP),是一種動態路由選擇協議,用於自治系統(AS)內的路由資訊的傳遞。
RIP協議基於距離向量演算法(DistanceVectorAlgorithms),使用"跳數"(即metric)來衡量到達目標地址的路由距離。
這種協議的路由器只關心自己周圍的世界,只與自己相鄰的路由器交換資訊,範圍限制在15跳(15度)之內,再遠,它就不關心了。

收斂:使所有路由表都達到一致狀態的過程。

2.工作原理:
RIP通過廣播UDP報文來交換路由資訊,每30秒傳送一次路由資訊更新(UDP520埠)。
RIP提供跳躍計數(hopcount)作為尺度來衡量路由距離,跳躍計數是一個包到達目標所必須經過的路由器的數目。
如果到相同目標有二個不等速或不同頻寬的路由器,但跳躍計數相同,則RIP認為兩個路由是等距離的。
RIP最多支援的跳數為15,即在源和目的網間所要經過的最多路由器的數目為15,跳數16表示不可達。

3.演算法(距離向量演算法)
對每一個相鄰路由器傳送過來的RIP報文,進行以下步驟:

  1. 對地址為X的相鄰路由器發來的RIP報文,先修改此報文中的所有專案:把"下一跳"欄位中的地址都改為X,並把所有的"距離"欄位的值加1
    每個專案都有三個關鍵資料,即: 目的網路N,距離是d,下一跳路由器是X。
  2. 對修改後的RIP報文中的每一個專案,進行如下步驟:
    若原來的路由表中沒有目的網路N,則把該專案新增到路由表中;
    若原目的網路為N且距離大於d,則把收到的專案替換原路由表中的專案。
  3. 若3分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可到達的路由器,即把距離設定為16;
  4. 返回;
NET Next hop Metric
C 10.0.0.0 20.0.0.1 1
C 30.0.0.0 40.0.0.2 2



R3到右邊的的路徑被剪斷了,R3可以感受到,於是在自己的路由表中更新為16,表示"無窮大",不可達。
R3準備在下一個30秒內告訴R2這個壞訊息,但是在這之間R2先把自己的所有資訊都告訴了R3,R3一看咦?R2到C的跳數是1,我到R2就一跳,現在雖然我不能直接到,那麼繞道R2不就可以了嗎?說幹就幹,於是把自己到C的跳數改為2.好了,真相被謊言掩蓋了。
R3向R2這個好基友坦白所有的資訊,R2看到R3到C的距離變為3了,R2知道自己是經過R3才到達的C,於是毫不猶豫的改為4.下一次再把全部資訊告訴R3,R3收到一看,咋回事啊,怎麼又加一跳了呢!R2那邊發生了什麼?但是還是得根據規則,毫不猶豫的修改距離跳數。就這樣不斷增加,直到都為16,才恍然大悟,原來大家都到不了了啊。

解決這個問題可以用水平分割

  • 從一個介面學習到的路由資訊,不再從這個介面傳送出去;
  • 同時也能減少路由更新資訊佔用的鏈路頻寬資源。

實驗:

# rip v1
router rip #啟用rip協議
version 1 #設定版本
network 10.0.0.0 #啟用網段
network 20.0.0.0 #啟用網段

# rip v2
router rip
version 2
no auto-summry
network 10.0.0.0
network 20.0.0.0

作業: