一、RIP簡(jiǎn)介
RIP是Routing Information Protocol(路由信息協(xié)議)的簡(jiǎn)稱,它是一種較為簡(jiǎn)單的內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol)
RIP是一種基于距離矢量(Distance-Vector)算法的協(xié)議,它使用跳數(shù)(Hop Count)作為度量來(lái)衡量到達(dá)目的網(wǎng)絡(luò)的距離。設(shè)備到與他直連網(wǎng)絡(luò)的設(shè)備跳數(shù)為0,然后每經(jīng)過(guò)一個(gè)三層設(shè)備跳數(shù)增加1,也就是度量值等于從本網(wǎng)絡(luò)到達(dá)目網(wǎng)絡(luò)間的三層設(shè)備數(shù)量,但并不等于所經(jīng)過(guò)的網(wǎng)段數(shù)
RIP通過(guò)UDP報(bào)文進(jìn)行路由信息的交換,使用的端口號(hào)為520。所以它又是一個(gè)不可靠的路由協(xié)議
由于RIP的實(shí)現(xiàn)較為簡(jiǎn)單,在配置和維護(hù)管理方面也遠(yuǎn)比OSPF和IS-IS容易,因此RIP主要應(yīng)用于規(guī)模較小的網(wǎng)絡(luò)中,例如校園網(wǎng)以及結(jié)構(gòu)較簡(jiǎn)單的地區(qū)性網(wǎng)絡(luò)。對(duì)于更為復(fù)雜的環(huán)境和大型網(wǎng)絡(luò),一般不使用RIP協(xié)議
RIP包括RIP-1和RIP-2兩個(gè)版本,RIP-2對(duì)RIP-1進(jìn)行了擴(kuò)充,使其更具有優(yōu)勢(shì)
二、RIP原理
RIP是一種基于距離矢量(Distance-Vector)算法的協(xié)議,它使用跳數(shù)(Hop Count)作為度量值來(lái)衡量到達(dá)目的地址的距離
在RIP網(wǎng)絡(luò)中,缺省情況下,設(shè)備到與它直接相連網(wǎng)絡(luò)的跳數(shù)為0,通過(guò)一個(gè)設(shè)備可達(dá)的網(wǎng)絡(luò)的跳數(shù)為1,其余依此類推。也就是說(shuō),度量值等于從本網(wǎng)絡(luò)到達(dá)目的網(wǎng)絡(luò)間的設(shè)備數(shù)量。為限制收斂時(shí)間,RIP規(guī)定度量值取0~15之間的整數(shù),大于或等于16的跳數(shù)被定義為無(wú)窮大,即目的網(wǎng)絡(luò)或主機(jī)不可達(dá)。由于這個(gè)限制,使得RIP不可能在大型網(wǎng)絡(luò)中得到應(yīng)用
RIP協(xié)議有兩種更新機(jī)制:
一是定期更新,二是觸發(fā)更新。定期更新是根據(jù)設(shè)置的更新計(jì)時(shí)器定期發(fā)送RIP路由通告。而觸發(fā)更新是RIP路由器一旦察覺(jué)到網(wǎng)絡(luò)變化,就盡快甚至是立即發(fā)送更新報(bào)文,而不等待更新周期結(jié)束。只要觸發(fā)更新的速度足夠快,就可以大大地防止“計(jì)數(shù)到無(wú)窮大”的發(fā)生,但是這一現(xiàn)象還是有可能發(fā)生的
無(wú)論是定期更新,還是觸發(fā)更新,RIP路由的更新規(guī)則如下:
- 如果更新的某路由表項(xiàng)在路由表中沒(méi)有,則直接在路由表中添加該路由表項(xiàng)
- 如果路由表中已有相同目的網(wǎng)絡(luò)的路由表項(xiàng),且來(lái)源端口相同,那么無(wú)條件根據(jù)最新的路由信息更新其路由表
- 如果路由表中已有相同目的網(wǎng)絡(luò)的路由表項(xiàng),但來(lái)源端口不同,則要比較它們的度量值,將度量值較小的一個(gè)作為自己的路由表項(xiàng)
- 如果路由表中已有相同目的網(wǎng)絡(luò)的路由表項(xiàng),且度量值相等,保留原來(lái)的路由表項(xiàng)
三、RIP運(yùn)行例子

- 在一開(kāi)始,所有路由器中的路由表只有自己所直接連接的網(wǎng)絡(luò)的路由表項(xiàng)信息。但不是RIP路由表項(xiàng),是直連路由表項(xiàng),無(wú)需下一跳(用“--”表示),度量“距離”也均為0 ,各路由器的初始路由表如圖所示,均只有兩條直連網(wǎng)絡(luò)的路由表項(xiàng)

- 接下來(lái),各路由器就會(huì)按設(shè)置的周期(默認(rèn)為30秒)向鄰居路由器發(fā)送路由更新了。具體哪個(gè)路由器會(huì)先發(fā)送路由更新,取決于哪個(gè)路由器先開(kāi)了?,F(xiàn)假設(shè)路由器R2先收到來(lái)自路由器R1和R3的路由更新,然后就更新自己的路由表,如圖所示。從中可以看出,它新添加了分別通過(guò)R1和R3到達(dá)10.0.0.0網(wǎng)絡(luò)和30.0.0.0網(wǎng)絡(luò)的路由表項(xiàng),度量值均為1,因?yàn)樗唤?jīng)過(guò)了一跳

- R2更新自己的路由表后,會(huì)把完整的路由表發(fā)給鄰居路由器R1和R3。路由器R1和R3分別再進(jìn)行更新。根據(jù)前面介紹的RIP路由表更新的規(guī)則可以知道,R1對(duì)每項(xiàng)度量進(jìn)行加1,得到的路由表如圖所示

- 然后R1再把圖8-9所示的路由表與自己原來(lái)的路由表進(jìn)行比較,凡是新添加的,和度量值小于等于原來(lái)的路由表項(xiàng)均將更新,度量值更大的路由表項(xiàng)將忽略更新。經(jīng)過(guò)行比較發(fā)現(xiàn)有兩條新的路由表項(xiàng),其目的網(wǎng)絡(luò)分別為30.0.0.0和40.0.0.0,直接在路由表中添加。而原來(lái)已有的兩條10.0.0.0和20.0.0.0表項(xiàng),發(fā)現(xiàn)路由度量(“距離”)值1比原來(lái)的0還大,忽略更新,結(jié)果就得到R1更新后的路由表,如圖所示

四、其他
RIP封裝在UDP之上,端口為520

組播,為了降低那些沒(méi)有監(jiān)聽(tīng)RIP Version 2 報(bào)文的主機(jī)的不必要的開(kāi)銷,IP多目傳送地址被用于定時(shí)廣播。IP 多目地址是224.0.0.9
