在說RIP以前,先來想一想什麼是動態路由協議,動態路由協議是對多個路由協議的統稱。根據自制系統(AS)能夠分爲內部網關協議和外部網關協議。這裏的自治域指一個具備統一管理機構、統一路由策略的網絡。而動態說明這些協議不須要過多的人工操做,是協議之間自動運行的。算法
IGP(內部網關協議)和EIG(外部網關協議)中又有不一樣類型的協議:鏈路狀態型和距離矢量型 以及比較特殊的EIGRP網絡
簡單的介紹一下這些協議ide
IGRP:Interior Gateway Routing Protocol 動態距離向量協議 Cisco私有學習
EIGRP:Enhanced Interior Gateway Routing Protocol 加強型的內部網關協議 Cisco私有大數據
RIP :Routing Information Protocol 路由選擇信息協議 公有協議ui
OSPF:Open Shortest Path First 開放式最短路徑優先 公有協議orm
IS-IS :Intermediate system to intermediate system 中間系統協議 公有協議router
BGP:Border Gateway Protocol 邊界網關協議 公有協議blog
這些路由協議不用多說,都是生成路由表的,那麼不一樣協議之間有沒有高低之分那,有。就是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 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的宣告