V1安全 |
V2網絡 |
有類(傳遞路由沒有掩碼)ide |
無類spa |
廣播更新設計 |
組播更新3d |
FLSM(定長子網掩碼)orm |
VLSM(變長)blog |
v1收到路由的路由器以ip報文裏的源IP做爲下一跳接口 |
攜帶tag,subnet,next-hop進程 |
|
支持路由聚合,CIDR,認證 |
UDP 520 |
UDP 520 |
l 基於UDP,端口號爲520(UDP,不可靠傳輸。ipv6使用521,RIPNG)
l RIP每條消息包含兩個部分,分別爲Header和Route Entries。其中Header包含Command和Version。Route Entries最多包含25個路由條目,每一個路由條目包含Address Family Identity、路由可達的IP地址和跳數(metirc)。
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。
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來衡量了。
l 支持外部路由Tag; 支持路由聚合和CIDR;支持指定下一跳;支持認證
l lRIPv2的報文格式的基本結構和RIPv1相同。RIPv2使用了RIPv1中部分未用字段以提供擴展功能。
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會變爲口令字段。
l 支持外部路由標記(Route Tag),能夠在路由策略中根據Tag對路由進行靈活的控制。
l 支持以組播方式發送更新報文,只有運行RIPv2的設備才能收到協議報文,減小資源消耗。
在多於兩臺設備組建的廣播網絡環境中,Next Hop字段會發生變化,從而使路徑最優。
MD5認證明際上是把路由表項和共享密鑰進行與運算,而後路由器將運行運算結果和路由條目發送給對端鄰居。
l 更新定時器:它定時觸發更新報文的發送,更新週期默認爲30秒。(實際25.5-30之間)
l 老化定時器:RIP設備若是在老化時間內沒有收到鄰居發來的路由更新報文,則認爲該路由不可達。老化定時器超時後,該路由條目設置爲16。180秒
l 垃圾收集定時器:若是在垃圾收集時間內(默認爲更新定時器的4倍,即120秒),不可達路由沒有收到來自同一鄰居的更新,則該路由將被從路由表中完全刪除。
l RIP 的更新信息發佈是由更新定時器控制的,默認爲每30 秒發送一次。
l 每一條路由表項對應兩個定時器:老化定時器和垃圾收集定時器。當學到一條路由並添加到路由表中時,老化定時器啓動。若是老化定時器超時,設備仍沒有收鄰居發來的更新報文,則把該路由的度量值置爲16(表示路由不可達),並啓動垃圾收集定時器。若是垃圾收集定時器超時,設備仍然沒有收到更新報文,則在路由表中刪除該條目。
l 若是在沒有觸發更新的前提下,一個路由表項最多須要300秒才能被刪除(老化時間180+垃圾收集時間120)。
l 若是存在觸發更新,那麼一個路由條目最多須要120秒才能被刪除(即爲老化時間)。
水平分割指的是RIP從某個接口學到的路由,不會從該接口再發回給鄰居設備。
特殊狀況:在幀中繼和X.25等NBMA網絡中,水平分割功能缺省爲禁止狀態。
做用:RIP採用水平分割不但減小了帶寬消耗,還能夠防止路由環路。
毒性逆轉指的是RIP從某個接口學到路由後,將該路由的開銷設置爲16(即指明該路由不可達),並從原接口發回鄰居設備。
現實狀況:缺省狀況下不使能毒性逆轉。通常狀況下,在華爲設備中均使能水平分割(除NBMA網絡外)而禁用毒性逆轉。
水平分割和毒性逆轉的差異:水平分割和毒性逆轉都是爲了防止RIP中的路由環路而設計的,可是水平分割是不將收到路由條目再按「原路返回」來避免環路,而毒性逆轉遵循「壞消息比沒消息好」的原則,即將路由條目按「原路返回」,可是該路由條目被標記爲不可達(度量值爲16)。
觸發更新是指路由信息發生變化時,當即向鄰居設備發送觸發更新報文,通知變化的路由信息。
l觸發更新縮短了收斂時間,觸發更新能夠縮短網絡收斂時間,在路由表項變化時當即向其餘設備廣播該信息,而沒必要等待定時更新。若是沒有觸發更新,缺省狀況下,失效的路由條目會在路由錶停留最多300秒(老化定時器+垃圾收集定時器)
l RIPv2支持路由聚合(僅RIPv2支持路由聚合),由於RIPv2報文攜帶掩碼位,因此支持子網劃分。在RIPv2中進行路由聚合可提升大型網絡的可擴展性和效率,縮減路由表。
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秒以後,路由器仍然沒有收到相應路由表象的更新,則路由器將該表相刪除。
1. 若是不在同一主網,此爲主網邊界,將前綴自動彙總爲有類網絡號,發送前綴到出接口;
3. 若是發現是主網絡號,直接放入路由表,掩碼是8/16/24;
a) 若是不在,生成有類路由,掩碼按有類路由計算,放入路由表;
b) 若是在同一主網,用接口掩碼去掩,而後檢查該前綴是不是網段地址仍是主機地址:
i. 若是是網段地址,生成路由,掩碼等於本身的接口掩碼,放入路由表;
ii. 若是掩出來發現不是網段地址,就默認是主機,生產32位主機路由,放入路由表。
7. 10.0.0.0:同一主網,不一樣掩碼,彙總爲主網絡號
8. 192.168.1.0:不一樣主網,自動彙總爲有類網絡號
10. 10.2.2.2/32:前綴不是主網絡號---是同一主網---掩出後不是網段地址---默認主機路由
11. 10.3.3.0/24:前綴不是主網絡號---是同一主網---等於接口掩碼
silent-interface :RIP開啓後只接受不發送,OSPF是收發都禁止。
silent-interface+指定peer實現單播更新,
若是隻配置指定peer,那麼v1既發單播又發廣播,v2既發單播又發組播
17. 檢查在RIP中是否配置了策略,過濾掉收到的RIP路由:
19. 檢查接口是否配置了undo rip input/output或者rip metricin設置度量值多大