在說RIP之前,先來想想什麼是動態路由協議,動態路由協議是對多個路由協議的統稱。根據自制系統(AS)可以分爲內部網關協議和外部網關協議。這裏的自治域指一個具有統一管理機構、統一路由策略的網絡。而動態說明這些協議不需要過多的人工操作,是協議之間自動運行的。
IGP(內部網關協議)和EIG(外部網關協議)中又有不同類型的協議:鏈路狀態型和距離矢量型 以及比較特殊的EIGRP
簡單的介紹一下這些協議
IGRP:Interior Gateway Routing Protocol 動態距離向量協議 Cisco私有
EIGRP:Enhanced Interior Gateway Routing Protocol 增強型的內部網關協議 Cisco私有
RIP :Routing Information Protocol 路由選擇信息協議 公有協議
OSPF:Open Shortest Path First 開放式最短路徑優先 公有協議
IS-IS :Intermediate system to intermediate system 中間系統協議 公有協議
BGP:Border Gateway Protocol 邊界網關協議 公有協議
這些路由協議不用多說,都是生成路由表的,那麼不同協議之間有沒有高低之分那,有。就是Administrative Distance 簡稱AD值。
AD值的作用就是判斷 不同協議 生成的 去往同一目標 的路由條目,運行那一條路由條目。
如下圖
客戶端去往Internet 的路徑有兩條
很顯然 數據會通過運行OSPF 鏈路出去,因爲他的AD值小,優先級就越高。
每種路由條目的AD值 (可信度)
路由協議
AD值
直連
0
靜態
1
EBGP
20
內部GIGRP
90
OSPF
110
Is-is
115
RIP
120
外部EIGRP
170
BGP
200
未知
255.255.255.255
不管是哪一種的動態路由協議(我們可以把協議理解成爲語言,每一種協議都是一門獨特的語言)讓路由器運行一種協議就是賦予了它一門語言,路由器通過相同的語言/協議來溝通網絡狀況或各自的“地圖”。從而獲得最好的路線(路由)。
在他們交流的時候總會經過以下幾個步驟:
① 想起他路由器傳遞路由信息
② 接受其他路由發來的信息
③ 根據收到的信息得出最好的路由,並生成路由表
④ 能夠根據網絡的變化做出反應,調整路由
簡單的總結一下就是 說話 收聽 生成地圖 維護地圖 (有點形象化了)
關鍵是第三個 怎麼生成最好的路由
每種路由協議都有自己的判斷依據,依據就是 度量值 (Metric)
他就是來判斷 同一種路由協議 收到 多條 去往 同一個目標的時候 來決策出“多條當中”
哪一條是最好的。
度量值的計算可以只考慮路徑的一個特性,但路徑更復雜的時候,度量值是綜合了徑的多個特性產生的。這些特性都包括:
- 跳數 :經過一個路由器就是一條,跳數越小越好。
- 帶寬 : 不用多說, 帶寬當然越高越好,也越有限。
- 負載 : 負載反應了一條帶寬的使用情況,帶寬佔用越小優先級越高。但是負載這一特性 是動態變化的,所以對網絡的穩定和路由器的運行都會有影響。
- 時延 : 值數據包經過一跳鏈路所花費的時間,時延越小說明網絡鏈路越好,成爲最佳路 徑的可能性就越高。
- 可靠性 :用來判斷一跳鏈路發生故障的可能性或機率,可靠性這一特性也是動態變化的。
- 成本: cost 成本值是邏輯上來表示一跳鏈路的大小,從原地址到目標地址cost值越小 就越有可能成爲最優路徑。
- 最大傳輸單元(MTU):指一條路徑上所能鏈接的最大數據單位 (字節)。
如圖 不同的路由協議可能有不同的路徑選擇 比如EIGRP會選擇1M的鏈路,而RIP 就會選擇上面那條鏈路
爲什麼,因爲這就是路由協議的算法,不同的算法產生的結果就不同。比如漢語成就了中國的長城,英語成就了勝利的女神什麼的。。。
下面就說說RIP 他爲什麼選擇56K的鏈路
RIP
RIP屬於距離矢量協議 公有協議
他的特點
① 定期更新,想其他路由器通告路由信息。通告的頻率不能過於頻繁(造成網絡堵塞),也不能間隔太長時間,這樣網絡收斂就慢。收斂:網絡的一個狀態,收斂完成了,就表示整個網絡穩定了。
② 鄰居,在RIP中,鄰居之間各自的路由表示共享的。比較統一的。
③ RIP I 宣告網絡是通過廣播的方式, RIP II 組播地址 224.0.0.9
④ 全路由表的更新方式。表示路由器之間交流的是整張路由表。
⑤ RIP 採用的是跳數作爲自己的metirc 跳數越小,優先級就越大。並且RIP 規定了最大跳數是15跳 16跳就不可達 (RIP 的缺陷造成)
⑥ RIP 採用UDP 的520端口通信
⑦ RIP的更新時間
觸發更新 1~5 s 避免廣播風暴(同一時間都廣播自己的路由表)
更新時間 30s 每隔30s通信一次
失效時間 180s 如路由器收到更新的路由後 過了180s後還沒有收到路由跟新,就將這條路由設爲失效 並通告這條消息
抑制時間 180s 上面那個180s過後,那條失效的路由還沒有徹底的失效,他還會用期望的心情在等待180s 到這條路由恢復
刷新時間 240s 在失效時間後的240s 將把失效的路由徹底刪除
RIP路由的生成:
初識狀態 每個路由只有自己的直連路由條目
第一次互相學習 30s
再一次互相交換路由表
最後 能夠互相通信
但是 RIP 的最大缺點是他能產生環路,我們來看一下
當R3的直連down的時候 R3能夠很快的發現(自己的接口) 就把這一條路由標記爲不可達 ,準備將這條壞消息通告出去
但是,在R3通告之前 R2通告了
於是 R3學到了錯誤的路由 因爲R2也不能到達40.0.0.0網段
於是 一錯再錯 R2和R3之間一值通告這條錯誤的路由,知道這條路由的跳數到16跳不可達
他的糾正機制有很多方法,其中一條就是定義了最大跳數15跳 16跳不可達
還有就是 水平分割
水平分割: 從一個藉口收到的路由信息,將不再從這個接口發送出去,另外也減少了通告信息所佔用的帶寬。在一定程度上減少了路由的環路。(默認開啓的)
RIP 的配置
Router(config)# router rip 啓用RIP 進程
Router(config-router)# network network-number 宣告網絡號 如 network 12.12.12.0
Router(config-router)# version 2 使用rip版本2
Router(config-router)# split horizon 啓用水平分割 (默認開啓)
Router(config-router)# no split horizon 關閉水平分割
Router# show ip route 查看路由表
Router# show ip protocols 查看路由協議的配置
RIP1和RIP 2 的區別
RIP1可以接收到RIP 1 RIP2發來的宣告
RIP2 可接收RIP2的宣告