rip 定義
rip是一種基于距離矢量(Distance-Vector)算法的協(xié)議,它使用跳數(shù)(Hop Count)作為度量來衡量到達(dá)目的網(wǎng)絡(luò)的距離,簡言之,從源網(wǎng)絡(luò)到目的網(wǎng)絡(luò)過程中,每經(jīng)過一個(gè)網(wǎng)絡(luò)設(shè)備,度量值+1,默認(rèn)的設(shè)備與直連網(wǎng)絡(luò)度量為0;rip通過udp報(bào)文進(jìn)行路由信息的交換,源端口和目的端口都是520,為限制路由收斂時(shí)間,rip最大跳數(shù)限制為15,使得rip 協(xié)議只能應(yīng)用在小型網(wǎng)絡(luò)中;它有兩個(gè)版本,ripV1 和ripV2, ripV2在ripV1 基礎(chǔ)上進(jìn)行了擴(kuò)展,增加了一些特性;
rip 工作過程
rip 實(shí)驗(yàn)拓?fù)?/h1>
55.jpg
實(shí)驗(yàn)配置(默認(rèn)使用ripV1)

AR1:
[Huawei]rip
[Huawei-rip-1] network 1.0.0.0 (發(fā)布主網(wǎng)地址)
AR2:
[Huawei]rip
[Huawei-rip-1] network 1.0.0.0
[Huawei-rip-1] network 3.0.0.0
AR3:
[Huawei]rip
[Huawei-rip-1] network 3.0.0.0
network 發(fā)布主網(wǎng)地址說明
- AR1 配置的ip 地址屬于A類地址,默認(rèn)子網(wǎng)掩碼為255.0.0.0,所以最大發(fā)布的網(wǎng)絡(luò)號(hào)為8 位,為1.0.0.0(1.1.1.1 && 255.0.0.0計(jì)算得到主網(wǎng)號(hào));
- 除此之外,我們也可以發(fā)布對(duì)應(yīng)的子網(wǎng)號(hào),例如: 配置 ip:192.168.100.1/24, 主網(wǎng)號(hào)為192.168.100.0(192.168.100.1 && 255.255.255.0),network 192.168.100.0, network 192.168.0.0都可以通過,只要不超過24位網(wǎng)絡(luò)號(hào)就行(網(wǎng)絡(luò)號(hào)地址最大值:223.255.255.0),超過24位網(wǎng)絡(luò)號(hào)會(huì)報(bào)錯(cuò)(Error: The network address is invalid, and the specified address must be major-net address without any subnets.)
流程
-.以AR1 為例, 啟動(dòng)rip 進(jìn)程后,分別向相鄰路由器廣播(ripV1 版本為廣播形式)發(fā)送request 報(bào)文;

-. AR2接口0收到報(bào)文后,會(huì)將自己的rip路由表封裝在Response 報(bào)文中進(jìn)行廣播;

-.AR1 收到報(bào)文后,更新自己的路由表;
-.各個(gè)路由器經(jīng)過該流程后,最終AR1 會(huì)有去往AR3 的路由,同時(shí),AR3 會(huì)有去往AR1的路由;

- ripV1 版本下,response報(bào)文沒有攜帶子網(wǎng)掩碼信息,所以AR1 更新路由表時(shí)會(huì)按照A,B,C 類對(duì)應(yīng)的自然掩碼來更新;
rip 特性
路由信息更新和維護(hù)
- 更新定時(shí)器(Update timer)
每間隔30s,鄰居路由器定時(shí)發(fā)送response更新報(bào)文; - 老化定時(shí)器(Age timer)
運(yùn)行rip 協(xié)議設(shè)備如果在老化時(shí)間(默認(rèn)180s)內(nèi)沒有收到鄰居發(fā)來的路由更新報(bào)文,則認(rèn)為該路由不可達(dá),但此時(shí)還并未刪除該路由,然后啟動(dòng)垃圾收集器; - 垃圾收集定時(shí)器(Garbage-collect timer)
如果在垃圾收集時(shí)間內(nèi)(默認(rèn)120s)不可達(dá)路由沒有收到來自同一鄰居的更新,則該路由將被從rip路由表中徹底刪除; - 抑制定時(shí)器(Suppress timer)
為了降低接收錯(cuò)誤路由選擇信息的可能性,抑制計(jì)時(shí)器 引入某種程度的懷疑量,如果到一個(gè)目標(biāo)網(wǎng)絡(luò)的距離增加,設(shè)置該路由的cost 為16,對(duì)應(yīng)路由進(jìn)入抑制狀態(tài),并啟動(dòng)抑制定時(shí)器,在定時(shí)器超時(shí)后,路由器才接收有關(guān)此路由的更新消息;
路由聚合
什么是路由聚合?
路由聚合是指路由器把同一自然網(wǎng)段內(nèi)的連續(xù)子網(wǎng)的路由聚合成一條路由向外發(fā)送,從而減少了路由表的規(guī)模,以及網(wǎng)絡(luò)上的傳輸流量;通過配置路由聚合,可以提高網(wǎng)絡(luò)的可擴(kuò)展性以及路由器的處理速度;
ripV2 路由聚合
- 自動(dòng)路由聚合(默認(rèn)情況)
自動(dòng)路由聚合是指ripV2將同一自然網(wǎng)段內(nèi)的不同子網(wǎng)的路由聚合成一條自然掩碼的路由向外發(fā)送,假設(shè)路由表里有11.1.1.0/24、11.1.2.0/24、11.1.3.0/24三條路由,使能ripV2自動(dòng)路由聚合功能后,這三條路由聚合成一條自然掩碼的路由11.0.0.0/8向外發(fā)送; - 手動(dòng)路由聚合
在指定接口配置ripV2發(fā)布一條聚合路由, 上述場景下,可以在接口配置 11.1.0.0/16 的聚合路由向外發(fā)送;
路由環(huán)路
路由環(huán)路形成
-
假設(shè) AR5左手邊的10.10.0.1 網(wǎng)段故障了,AR5 等待當(dāng)前更新周期超時(shí)后再通知AR6,結(jié)果AR6 的更新周期早開始了,AR6 給AR5 發(fā)送了一條到達(dá)目的網(wǎng)絡(luò)10.10.0.1的路由,AR5在路由表中增加一條到達(dá)10.10.0.1 網(wǎng)絡(luò)路由,下一跳是7.7.0.2,同時(shí),AR5 把自己的路由又廣播給AR6,AR6在自己的路由表中增加到10.10.0.1 網(wǎng)絡(luò)路由,下一跳是7.7.0.1,當(dāng)有一個(gè)數(shù)據(jù)包到達(dá)AR5 時(shí),數(shù)據(jù)包不斷在AR5和AR6 之間相互移動(dòng),形成環(huán)路;
4.jpg
路由環(huán)路消除
- 觸發(fā)更新
當(dāng)路由信息發(fā)生變化時(shí),立刻向鄰居設(shè)備發(fā)送觸發(fā)更新報(bào)文,而不用等待更新定時(shí)器超時(shí),從而避免產(chǎn)生路由環(huán)路; - 水平分割
如上圖,AR5 將自己的直連路由10.10.0.1 廣播到AR6,AR6 從接口0學(xué)到了到達(dá)10.10.0.1 的路由,下一跳為7.7.0.1,配置水平分割后,AR6從接口0 學(xué)到的路由不會(huì)再從接口0發(fā)給相鄰路由器; - 毒性逆轉(zhuǎn)
rip從某個(gè)接口學(xué)到路由后,從原接口發(fā)回鄰居路由器,并將該路由的開銷設(shè)置為16(即指明該路由不可達(dá)),利用這種方式,可以清除對(duì)方路由表中的無用路由;
rip 協(xié)議報(bào)文結(jié)構(gòu)
ripV1

- Command: 1:為請(qǐng)求消息;2:表示消息為響應(yīng)消息;
- Version:1:ripV1 ;2:ripV2;
- Address Family Identifier:地址簇標(biāo)識(shí),對(duì)于ip,設(shè)置為2;
- IP Address: 主機(jī)網(wǎng)絡(luò)地址;
- Metric: 跳數(shù) ,1-16 之間;
ripV2

在ripV1 基礎(chǔ)上增加的字段:
- Route Tag:用來標(biāo)記外部路由或重新分配到ripV2 協(xié)議中路由;
- Subnet Mask:子網(wǎng)掩碼,標(biāo)識(shí)ipv4 網(wǎng)絡(luò)或子網(wǎng)部分;
- Next Hop:標(biāo)識(shí)到達(dá)目的網(wǎng)絡(luò)的下一跳;
ripV1 和ripV2 不同
request 消息形式
- ripV1 采用廣播形式進(jìn)行消息發(fā)送,ripV2 采用組播形式進(jìn)行消息發(fā)送;
response 消息格式
- ripV2 在ripV1 基礎(chǔ)上擴(kuò)展而來, ripV2 在路由更新報(bào)文中,返回指定下一跳,在廣播網(wǎng)上可以選擇到目的網(wǎng)段最優(yōu)下一跳地址;
- ripV2 支持外部路由標(biāo)記(Route Tag),可以在路由策略中根據(jù)Tag對(duì)路由進(jìn)行靈活的控制;
有無類別
- ripV1 屬于有類別路由協(xié)議,報(bào)文中沒有攜帶掩碼信息,只能識(shí)別A、B、C類這樣的自然網(wǎng)段的路由,因此ripV1無法支持路由聚合;
- ripV2 屬于無類別路由協(xié)議,支持CIDR格式,報(bào)文支持?jǐn)y帶掩碼信息,可以識(shí)別任何網(wǎng)段路由,所以,ripV2 支持路由聚合;
安全
- ripV2 支持使用md5 進(jìn)行路由消息的認(rèn)證,避免網(wǎng)絡(luò)非法攻擊者,保證網(wǎng)絡(luò)安全;
