1.先簡單說下RIP,距離矢量路由協議,週期性泛洪本身的路由表,RIP的路由算法自己不具有防環能力,所以在該協議設計了一些防環方法(觸發更新、水平分割、毒性逆轉等等),運行RIP的路由器並不知道整個網絡的拓撲結構,只是簡單的知道去往目的網絡從哪一個方向走,距離有多遠。
2.1.RIPv1和RIPv2報文中的地址族標識符AFI:佔16bit,當該值爲2表示IP協議,可是若該報文是Request報文而且是向鄰居請求其整張路由表時,該值設置爲0,同時此報文僅且包含一個路由條目,目的地址爲0.0.0.0,度量值爲16.
3.RIPv2報文中的路由標記(Route Tag):佔16bit,用於爲路由設置標記信息,缺省爲0。當一條外部路由被引入RIP域內變成一條RIP路由時,RIP能夠爲該路由作標記,而且在RIP域內傳輸,路由標記不消失。能夠基於該標記作路由策略等操做。
配置一條靜態路由帶上tag
在RIPv2 中路由引入該靜態路由
查看RIP數據庫中該路由
4.RIPv2中引入的下一跳字段(Next Hop)(解決廣播網絡中次優路徑問題)
當RIPv2路由器某個接口要通告的路由項下一跳和接口網段相同,那麼在通告時把該下一跳地址寫上,而不是寫0.0.0.0(把本身做爲下一跳)
5.關於RIP的計時器(三種)
關於RIP的計時器:
更新計時器30s,有15%的擺動大約+-5s,爲了防止RIP域內全部RIP路由器同時更新報文。
老化計時器180s,此計時器放在RIP維護的路由表中dis rip 1 ro可查看,從小到大開始計時。每收到此條路由更新,重置計時器,計時器到180s後,第一:將該條路由從RIP路由表清除,若是全局路由表有此條路由也將清除。第二:在RIP的數據庫中(dis rip 1 database)該路由項cost=16,同時爲該項啓動老化計時器。
垃圾收集計時器120s,對於在rip數據庫中cost=16的項,都啓動此計時器,除非再次獲得有效(cost小於16)的路由更新,計時器到120s後,該項從RIP數據庫中清除。
同時,觀察RIP數據庫,它的分類是以主類網絡劃分,當你執行network 172.16.0.0時,第一:全部在此主網的路由器接口加入RIP進程,第二:把172.16.0.0這個主類網絡放入RIP數據庫中
6.當RIP將明細路由自動彙總後,會將明細路由cost置爲16,彙總路由和明細路由都會更新發送(只不過明細路由cost=16,以此來清除其餘RIP路由器的明細路由),直到老化計時器超時,明細路由被清除
7.RIP發佈默認路由(而且匹配路由表中的默認路由)
[R4-rip-1]default-route originate cost 2 match default
當全局路由表的不存在默認路由,RIP將數據庫中默認路由置爲16,並出發更新。
當把全局路由表中默認路由出接口shutdown,RIP發佈的默認路由也發生了變化
再次查看其餘路由器RIP數據庫,默認路由置爲16跳,已經啓動垃圾收集計時器
8.RIP的版本兼容
華爲設備RIP默認的版本是兼容版本,能夠在rip進程或者接口進行版本控制,接口下調整比進程下調整優先級要高。
(1)默認的兼容版本,以廣播發送RIPv1報文,可接收廣播RIPv1報文和廣播組播RIPv2報文。RIPv1報文只能廣播發送。
(2)配置爲RIPv1版本,以廣播發送RIPv1報文,接收廣播RIPv1報文。
(3)配置爲RIPv2版本,以組播發送RIPv2報文,接收廣播或組播RIPv2報文
(4)配置爲RIPv2版本,且以廣播發送RIPv2報文,能接收廣播RIPv1報文和廣播或組播的RIPv2報文。
9.RIPv1和RIPv2的比較
共同點:
• 採用UDP報文封裝,源目端口都是520
• 以跳數做爲度量值,最大15跳,16爲不可達
• 報文類型Request和Response
• 計時器相同
不一樣點:
• RIPv1報文廣播發送,v2用組播(224.0.0.9)發送
• RIPv1是有類路由協議,路由傳遞不攜帶子網掩碼,RIPv1路由器收到路由更新,子網掩碼是以猜想方式(參考RIPv1路由收發規則)獲取,路由表可能存在錯誤。RIPv2是無類路由協議,路由傳遞攜帶子網掩碼。
• RIPv1不支持VLSM、CIDR,v2支持
• RIPv1沒法關閉自動彙總且不支持手工彙總(不連續子網問題),RIPv2可關閉自動彙總,可手工彙總。(默認自動彙總開啓,可是因爲開啓了水平分割或毒性逆轉,自動彙總不生效,能夠rip進程下summary always生效,或者關閉水平分割、毒性逆轉,但不建議這樣作,可能致使環路)
• RIPv2支持路由標記
• RIPv2支持下一跳(Next Hop)在廣播多路訪問網絡中可以選擇最優下一跳更新出去,而不是把發送方做爲下一跳。
RIPv2支持認證算法