動(dòng)態(tài)路由的鼻祖協(xié)議RIP,雖然目前用的不多了,有時(shí)間可以了解下
一、RIP簡介
RIP(Routing Information Protocol,路由信息協(xié)議)是一種較為簡單的內(nèi)部網(wǎng)關(guān)協(xié)議(InteriorGateway Protocol,IGP),主要用于規(guī)模較小的網(wǎng)絡(luò)中,比如校園網(wǎng)以及結(jié)構(gòu)較簡單的地區(qū)性網(wǎng)絡(luò)。
對于更為復(fù)雜的環(huán)境和大型網(wǎng)絡(luò),一般不使用 RIP。由于 RIP 的實(shí)現(xiàn)較為簡單,在配置和維護(hù)管理方面也遠(yuǎn)比 OSPF 和 IS-IS 容易。
二、RIP的工作機(jī)制
1. RIP的基本概念
RIP 是一種基于距離矢量(Distance-Vector)算法的協(xié)議,它通過 UDP 報(bào)文進(jìn)行路由信息的交換,使用的端口號為 520。
RIP 使用跳數(shù)來衡量到達(dá)目的地址的距離,跳數(shù)稱為度量值。在 RIP 中,路由器到與它直接相連網(wǎng)絡(luò)的跳數(shù)為 0,通過一個(gè)路由器可達(dá)的網(wǎng)絡(luò)的跳數(shù)為 1,其余依此類推。為限制收斂時(shí)間,RIP 規(guī)定度量值取 0~15 之間的整數(shù),大于或等于 16 的跳數(shù)被定義為無窮大,即目的網(wǎng)絡(luò)或主機(jī)不可達(dá)。
由于這個(gè)限制,使得 RIP 不適合應(yīng)用于大型網(wǎng)絡(luò)。為提高性能,防止產(chǎn)生路由環(huán)路,RIP 支持水平分割(Split Horizon)和毒性逆轉(zhuǎn)(PoisonReverse)功能。
2. RIP的路由數(shù)據(jù)庫
每個(gè)運(yùn)行 RIP 的路由器管理一個(gè)路由數(shù)據(jù)庫,該路由數(shù)據(jù)庫包含了到所有可達(dá)目的地的路由項(xiàng),這些路由項(xiàng)包含下列信息:
- 目的地址:主機(jī)或網(wǎng)絡(luò)的地址。
- 下一跳地址:為到達(dá)目的地,需要經(jīng)過的相鄰路由器的接口 IP 地址。
- 出接口:本路由器轉(zhuǎn)發(fā)報(bào)文的出接口。
- 度量值:本路由器到達(dá)目的地的開銷。
- 路由時(shí)間:從路由項(xiàng)最后一次被更新到現(xiàn)在所經(jīng)過的時(shí)間,路由項(xiàng)每次被更新時(shí),路由時(shí)間重置為 0。
- 路由標(biāo)記(Route Tag):用于標(biāo)識外部路由,在路由策略中可根據(jù)路由標(biāo)記對路由信息進(jìn)行靈活的控制。關(guān)于路由策略的詳細(xì)信息,請參見“三層技術(shù)-IP 路由配置指導(dǎo)”中的“路由策略”。
3. RIP防止路由環(huán)路的機(jī)制
RIP 協(xié)議向鄰居通告的是自己的路由表,有可能會(huì)發(fā)生路由環(huán)路,可以通過以下機(jī)制來避免:
- 計(jì)數(shù)到無窮(Counting to infinity):將度量值等于 16 的路由定義為不可達(dá)(infinity)。在路由環(huán)路發(fā)生時(shí),某條路由的度量值將會(huì)增加到 16,該路由被認(rèn)為不可達(dá)。
- 觸發(fā)更新(Triggered Updates):RIP 通過觸發(fā)更新來避免在多個(gè)路由器之間形成路由環(huán)路的可能,而且可以加速網(wǎng)絡(luò)的收斂速度。一旦某條路由的度量值發(fā)生了變化,就立刻向鄰居路由器發(fā)布更新報(bào)文,而不是等到更新周期的到來。
- 水平分割(Split Horizon):RIP 從某個(gè)接口學(xué)到的路由,不會(huì)從該接口再發(fā)回給鄰居路由器。這樣不但減少了帶寬消耗,還可以防止路由環(huán)路。
- 毒性逆轉(zhuǎn)(Poison Reverse):RIP 從某個(gè)接口學(xué)到路由后,將該路由的度量值設(shè)置為 16(不可達(dá)),并從原接口發(fā)回鄰居路由器。利用這種方式,可以清除對方路由表中的無用信息。
三、RIP的版本
RIP 有兩個(gè)版本:RIP-1 和 RIP-2。
1. RIP-1 是有類別路由協(xié)議(Classful Routing Protocol),它只支持以廣播方式發(fā)布協(xié)議報(bào)文。
協(xié)議報(bào)文無法攜帶掩碼信息,它只能識別 A、B、C 類這樣的自然網(wǎng)段的路由,因此 RIP-1 不支持不連續(xù)子網(wǎng)(Discontiguous Subnet)。
2. RIP-2 是一種無類別路由協(xié)議(Classless Routing Protocol),與 RIP-1 相比,它有以下優(yōu)勢:
- 支持路由標(biāo)記,在路由策略中可根據(jù)路由標(biāo)記對路由進(jìn)行靈活的控制。
- 報(bào)文中攜帶掩碼信息,支持路由聚合和 CIDR(Classless Inter-Domain Routing,無類域間路由)。
- 支持指定下一跳,在廣播網(wǎng)上可以選擇到最優(yōu)下一跳地址。
- 支持組播路由發(fā)送更新報(bào)文,只有 RIP-2 路由器才能收到更新報(bào)文,減少資源消耗。
- 支持對協(xié)議報(bào)文進(jìn)行驗(yàn)證,并提供明文驗(yàn)證和 MD5 驗(yàn)證兩種方式,增強(qiáng)安全性。RIP-2 有兩種報(bào)文傳送方式:廣播方式和組播方式,缺省將采用組播方式發(fā)送報(bào)文,使用的組播地址為 224.0.0.9。當(dāng)接口運(yùn)行 RIP-2 廣播方式時(shí),也可接收 RIP-1 的報(bào)文。