RIP學習筆記

RIP V1&RIP V2比較

V1

V2

有類(傳遞路由沒有掩碼)

無類

廣播更新

組播更新

FLSM(定長子網掩碼)

VLSM(變長)

v1收到路由的路由器以ip報文裏的源IP作爲下一跳

攜帶tag,subnet,next-hop

 

支持路由聚合,CIDR,認證

UDP 520

UDP 520

RIPv1報文結構

clip_image002[4]

l  有類別路由協議(不攜帶子網掩碼)

l  廣播更新

l  基於UDP,端口號爲520(UDP,不可靠傳輸。ipv6使用521,RIPNG)

l  FLSM

RIPv1報文結構

l  RIP每條消息包含兩個部分,分別爲Header和Route Entries。其中Header包含Command和Version。Route Entries最多包含25個路由條目,每個路由條目包含Address Family Identity、路由可達的IP地址和跳數(metirc)。

l  報文格式各個字段解釋如下: 

n   Command:取值1或2,當取值爲1時表示該消息爲請求消息;當取值爲2時表示該消息爲響應消息。

n  Version:當取值爲1時表示該消息爲RIPv1消息;當取值爲2時表示該消息爲RIPv2消息。

n  Address Family Identity:對於IPv4協議,該字段取值爲2。當該消息是對整張路由表的請求消息時,該字段取值爲0。

n  IP Address:該字段表示路由的目的地址。這一項可以是網絡地址、主機地址

n  Metric:該字段是指RIP中的跳數。雖然該字段取值範圍爲0-2^32,但是在RIP中,該字的取值範圍爲1-16。

v1request報文

clip_image004[4]

v1response報文

clip_image006[4]

RIPv1特點

RIP是一個基於UDP的路由協議,並且RIPv1的數據包不能超過512字節(RIP報文頭部佔用4個字節,而每個路由條目佔用20八位組字節。因此,RIP消息最大爲4+(25*20)=504個字節(即最大25條路由,如果啓用認證爲24條路由),再加上8個字節的UDP頭部,所以RIP數據報的大小(不含IP包的頭部)最大可達512個字節。)。RIPv1的協議報文中沒有攜帶掩碼信息,所以RIPv1在處理數據包時會根據主類網段掩碼或者接口地址掩碼處理數據包。因此RIPv1無法支持路由聚合,也不支持不連續子網。RIPv1的協議報文中沒有驗證字段,所以RIPv1也不支持驗證。

爲什麼最大可達512個字節:RIPv1開發出來主要的目的是作爲ARPA net的路由協議,而在那個時候SLIP、串行鏈路、撥號鏈路、T1鏈路等低速鏈路是最爲普遍的,這些鏈路的MTU也就是500 - 600 Byte不等,所以不能用以太網的MTU來衡量了。

RIPv2報文結構

clip_image008[4]

l  無類別路由協議(攜帶子網掩碼)

l  組播更新,組播地址224.0.0.9

l  基於UDP,端口號爲520

l  支持外部路由Tag; 支持路由聚合和CIDR;支持指定下一跳;支持認證

l  VLSM

RIPv2報文結構

l  lRIPv2的報文格式的基本結構和RIPv1相同。RIPv2使用了RIPv1中部分未用字段以提供擴展功能。

l  報文格式部分字段解釋如下:

n  Route Tag:用於標記外部路由或者路由引入到RIPv2協議中的路由。

n  Subnet Mask:用來標識使用IPv4地址的網絡和子網部分。

n  Next Hop:表示比通告路由器地址更好的下一跳地址。如果該字段爲0.0.0.0,則說明通告路由器地址爲最優下一跳地址。

n  當RIPv2配置認證時,RIPv2會對報文第一條Route Entries進行修改。具體修改如下

u  Address Family Identity字段改爲0XFFFF。

u  Route Tag字段改爲Authentication Type字段。

u  IP Address、Subnet Mask、Next Hop和Metric會變爲口令字段。

RIPv2相較RIPv1的改進包括如下幾點

l  支持外部路由標記(Route Tag),可以在路由策略中根據Tag對路由進行靈活的控制。

l  實際上不同RIP進程間相互引入路由也可以使用Tag。 

l  報文中攜帶掩碼信息,支持路由聚合和CIDR。

l  支持指定下一跳,在廣播網上可以選擇到最優下一跳地址。

l  支持以組播方式發送更新報文,只有運行RIPv2的設備才能收到協議報文,減少資源消耗。

l  支持對協議報文進行驗證,增強安全性。

在多於兩臺設備組建的廣播網絡環境中,Next Hop字段會發生變化,從而使路徑最優。

MD5認證實際上是把路由表項和共享密鑰進行與運算,然後路由器將運行運算結果和路由條目發送給對端鄰居。

v2request報文

clip_image010[4]

v2response報文

clip_image012[4]

RIP主要使用三個定時器

l  更新定時器:它定時觸發更新報文的發送,更新週期默認爲30。(實際25.5-30之間)

l  老化定時器:RIP設備如果在老化時間內沒有收到鄰居發來的路由更新報文,則認爲該路由不可達。老化定時器超時後,該路由條目設置爲16。180

l  垃圾收集定時器:如果在垃圾收集時間內(默認爲更新定時器的4倍,即120),不可達路由沒有收到來自同一鄰居的更新,則該路由將被從路由表中徹底刪除。

三個定時器之間的關係

l  RIP 的更新信息發佈是由更新定時器控制的,默認爲每30 秒發送一次。 

l  每一條路由表項對應兩個定時器:老化定時器和垃圾收集定時器。當學到一條路由並添加到路由表中時,老化定時器啓動。如果老化定時器超時,設備仍沒有收鄰居發來的更新報文,則把該路由的度量值置爲16(表示路由不可達),並啓動垃圾收集定時器。如果垃圾收集定時器超時,設備仍然沒有收到更新報文,則在路由表中刪除該條目。

注意事項

l  如果在沒有觸發更新的前提下,一個路由表項最多需要300秒才能被刪除(老化時間180+垃圾收集時間120)。

l  如果存在觸發更新,那麼一個路由條目最多需要120秒才能被刪除(即爲老化時間)。

clip_image014[4]

水平分割

水平分割指的是RIP從某個接口學到的路由,不會從該接口再發回給鄰居設備。

特殊情況:在幀中繼和X.25等NBMA網絡中,水平分割功能缺省爲禁止狀態

作用:RIP採用水平分割不但減少了帶寬消耗,還可以防止路由環路。

clip_image016[4]

毒性逆轉

毒性逆轉指的是RIP從某個接口學到路由後,將該路由的開銷設置爲16(即指明該路由不可達),並從原接口發回鄰居設備。

如果同時配置了毒性逆轉和水平分割,則只使用毒性逆轉功能

作用:利用毒性逆轉,可以清除對方路由表中的無用路由。

現實情況:缺省情況下不使能毒性逆轉。一般情況下,在華爲設備中均使能水平分割(除NBMA網絡外)而禁用毒性逆轉。

水平分割和毒性逆轉的差別:水平分割和毒性逆轉都是爲了防止RIP中的路由環路而設計的,但是水平分割是不將收到路由條目再按“原路返回”來避免環路,而毒性逆轉遵循“壞消息比沒消息好”的原則,即將路由條目按“原路返回”,但是該路由條目被標記爲不可達(度量值爲16)。

clip_image018[4]

觸發更新

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

觸發更新不會觸發接收路由器重置自己的更新定時器

l觸發更新縮短了收斂時間,觸發更新可以縮短網絡收斂時間,在路由表項變化時立即向其他設備廣播該信息,而不必等待定時更新。如果沒有觸發更新,缺省情況下,失效的路由條目會在路由錶停留最多300秒(老化定時器+垃圾收集定時器)

下一跳地址不可達,不會觸發觸發更新

clip_image020[4]

路由聚合

l  RIPv2支持路由聚合(僅RIPv2支持路由聚合),因爲RIPv2報文攜帶掩碼位,所以支持子網劃分。在RIPv2中進行路由聚合可提高大型網絡的可擴展性和效率,縮減路由表。

l  基於RIPv2進程的有類聚合即實現自動聚合。

l  基於接口的聚合即實現手動聚合。

l  如果被聚合路由攜帶了Tag,那麼路由聚合發生之後,Tag信息將被清除。

l  rip summary-address ip-address mask [ avoid-feedback ] 增加avoid-feedback是爲了聚合後從接口發送給對端後,接口不在收相同的聚合路由(防止路由環路),其他友商可能會在聚合後生產一條null0的黑洞路由有相同效果。

工作過程分析

l  初始狀態:路由器開啓RIP進程,宣告相應接口,則設備就會從相關接口發送和接收RIP報文。進程初始啓動發送request(可以單播、組播、廣播,v1默認單播,v2默認組播),後面都是response報文(可以單播,組播,廣播,v1默認廣播,v2默認組播,可以手動設置爲單播)

l  構建路由表:路由器依據收到的RIP報文構建自己的路由表項。

l  維護路由表:路由器每個30發送更新報文以維護自己的路由表項。

l  老化路由表項:路由器爲將自己構建的路由表項啓動180的定時器。180秒內,如果路由器收到更新報文,則重置自己的更新定時器和老化定時器。

l  垃圾收集表項:如果180秒過後,路由器沒有收到相應路由表項的更新,則啓動時長爲120的垃圾收集定時器,同時將該路由表象的度量置位16

l  刪除路由表項:如果120之後,路由器仍然沒有收到相應路由表象的更新,則路由器將該表相刪除。

clip_image022[4]

 

RIP v1發送規則

注意發送時沒有子網掩碼。

將要發送前綴路由和出接口網段匹配:

1.      如果不在同一主網,此爲主網邊界,將前綴自動彙總爲有類網絡號,發送前綴到出接口;

2.      如果在同一主網,檢查要發送的前綴是否爲32位掩碼:

a)     如果是,發送32爲前綴到出接口;

b)     如果不是,檢查前綴和出口掩碼是否相同:

                 i.          如果不同,抑制發送或者彙總爲主網絡號;

               ii.          如果相同,沒有邊界,發送正確前綴到出口。

RIP v1接受規則

收到一個前綴後

3.      如果發現是主網絡號,直接放入路由表,掩碼是8/16/24;

4.      如果不是主網絡號,檢查是否與接口在同一主網:

a)     如果不在,生成有類路由,掩碼按有類路由計算,放入路由表;

b)     如果在同一主網,用接口掩碼去掩,然後檢查該前綴是否是網段地址還是主機地址:

                 i.          如果是網段地址,生成路由,掩碼等於自己的接口掩碼,放入路由表;

               ii.          如果掩出來發現不是網段地址,就默認是主機,生產32位主機路由,放入路由表。

 

clip_image024[4]

R1發送路由解析:

5.      10.2.2.2:同一主網且掩碼爲32位

6.      10.3.3.0:同一主網,相同掩碼,發送24位前綴

7.      10.0.0.0:同一主網,不同掩碼,彙總爲主網絡號

8.      192.168.1.0:不同主網,自動彙總爲有類網絡號

9.      172.16.0.0:不通主網,自動彙總爲有類網絡

R2接受路由解析:

10.   10.2.2.2/32:前綴不是主網絡號---是同一主網---掩出後不是網段地址---默認主機路由

11.   10.3.3.0/24:前綴不是主網絡號---是同一主網---等於接口掩碼

12.   10.0.0.0/8:主網絡號匹配

13.   192.168.1.0/24:主網絡號匹配

14.   172.16.0.0/16:主網絡號匹配

silent-interface :RIP開啓後只接受不發送,OSPF是收發都禁止。

silent-interface+指定peer實現單播更新,

如果只配置指定peer,那麼v1既發單播又發廣播,v2既發單播又發組播

排錯:

15.   檢查接口是否在RIP中使能

16.   檢查對方發送版本號和本地接口接收的版本號是否匹配

17.   檢查在RIP中是否配置了策略,過濾掉收到的RIP路由:

18.   RIP使用的端口520是否被禁用

19.   檢查接口是否配置了undo rip input/output或者rip metricin設置度量值多大

20.   檢查接口是否配置了抑制接口

21.   檢查路由度量值是否大於16

22.   檢查鏈路兩端的接口認證方式是否匹配:如果報文認證失敗,則需正確配置

clip_image026[4]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章