目錄
一、路由信息協(xié)議RIP
1.距離向量:
2.跳數(shù):
3.基本工作原理:
三個(gè)要點(diǎn):
4.基本工作過(guò)程:
(1)初始狀態(tài):
(2)交換并更新信息?
(3)收斂
5.更新規(guī)則
6.RIP協(xié)議的問(wèn)題
一、路由信息協(xié)議RIP
路由信息協(xié)議RIP是互聯(lián)網(wǎng)中最早使用的協(xié)議,他是基于距離向量的。
注意:RIP協(xié)議使用UDP進(jìn)行封裝,所以RIP協(xié)議屬于應(yīng)用層協(xié)議。
1.距離向量:
RIP要求自治系統(tǒng)AS內(nèi)的每一個(gè)路由器都要維護(hù)從它自己到AS內(nèi)其他每一個(gè)網(wǎng)絡(luò)距離的記錄,這是一組距離,稱(chēng)為“距離向量D-V”。
2.跳數(shù):
RIP使用跳數(shù)作為度量來(lái)衡量到目的網(wǎng)絡(luò)的距離。
如果是直連網(wǎng)絡(luò),那么距離就等于1。
如果是非直連網(wǎng)絡(luò),那么每經(jīng)過(guò)一個(gè)路由器距離就加1。
RIP協(xié)議中一條路徑最多只能包含15個(gè)路由器,距離等于16時(shí)就相當(dāng)于不可達(dá)。所以,RIP協(xié)議只適合用于小型網(wǎng)絡(luò)。
也就是說(shuō)距離最小為1,最大為15。
比如:
圖中對(duì)于R1路由器,要到達(dá)目的網(wǎng)絡(luò)192.168.1.0/24和目的網(wǎng)絡(luò)10.0.0.0/30,因?yàn)槎际侵边B網(wǎng)絡(luò),所以距離都等于1;要到達(dá)目的網(wǎng)絡(luò)10.0.1.0/30,因?yàn)槭欠侵边B網(wǎng)絡(luò),中間經(jīng)過(guò)路由器R2,所以在1的基礎(chǔ)上加1,所以距離為2,同樣地,到達(dá)目的地網(wǎng)絡(luò)192.168.2.0/24的距離為3。
注意:有些路由器的RIP將路由器到直連網(wǎng)絡(luò)的距離定為0。?
3.基本工作原理:
RIP認(rèn)為到達(dá)目的網(wǎng)絡(luò)的路徑中通過(guò)的路由器數(shù)量最少的路徑最好,即距離最小。
如果到達(dá)同一目的網(wǎng)絡(luò)有多條距離相等的路由時(shí),就會(huì)進(jìn)行等價(jià)負(fù)載均衡,即將通信量均衡地分布到多條等價(jià)的路由上。
三個(gè)要點(diǎn):
RIP協(xié)議的三個(gè)要點(diǎn)是和誰(shuí)交換信息,交換什么信息以及何時(shí)交換信息。
和誰(shuí)交換信息:RIP協(xié)議中,僅和相鄰的路由器交換信息。
例如上圖中,路由器R1和R2會(huì)交換信息,同時(shí)R2還會(huì)和R3交換信息,但是R1和R3不是相鄰路由器,所以不會(huì)交換信息。
交換什么信息:交換自己的路由表。
何時(shí)交換信息:周期性交換信息(如:每隔30秒發(fā)送一次RIP更新報(bào)文)。
綜上所述,RIP協(xié)議中僅相鄰的路由器周期性交換并更新自己的路由表。
4.基本工作過(guò)程:
(1)初始狀態(tài):
我們之前有提到過(guò),在路由器剛開(kāi)始工作時(shí)只知道與自己直連的網(wǎng)絡(luò),所以路由器只知道自己到直連網(wǎng)絡(luò)的距離為1。
(2)交換并更新信息?
圖中,對(duì)于路由器R1,路由器R2和路由器R3都為它的相鄰路由器;
對(duì)于路由器R2,路由器R1和路由器R3和路由器R4都為它的相鄰路由器;
對(duì)于路由器R3,路由器R1和路由器R2和路由器R4都為它的相鄰路由器;
對(duì)于路由器R4,路由器R2和路由器R3都為它的相鄰路由器。
根據(jù)RIP協(xié)議的要點(diǎn)可以得出,每個(gè)路由器會(huì)若干次交換并更新自己的路由信息。
(3)收斂
在若干次交換和更新后,每個(gè)路由器都可以知道在本AS內(nèi)到達(dá)各網(wǎng)絡(luò)的最短距離和下一跳地址。這就是收斂。
5.更新規(guī)則
前面提到路由器會(huì)交換并更新自己的路由信息,那么具體是怎么交換和更新的?
A、B各自的路由表如圖,假設(shè)現(xiàn)在路由器A的RIP更新報(bào)文的發(fā)送周期到了,則路由器A將自己路由表的信息封裝到更新報(bào)文中發(fā)送給路由器B。
圖中我們故意將A的路由表的下一跳全部寫(xiě)為問(wèn)號(hào),這是因?yàn)锳將自己的路由表信息給B時(shí)會(huì)將表中的下一跳都改為A,也就是說(shuō)B無(wú)需關(guān)心A路由表里的這些內(nèi)容。?
B接收到的A的路由表如圖:其中距離在原有基礎(chǔ)上都加1,因?yàn)檫@個(gè)過(guò)程相當(dāng)于通過(guò)了路由器A,下一跳統(tǒng)一變?yōu)锳。
隨后B根據(jù)收到的改造后的A的路由表(后面簡(jiǎn)稱(chēng)為A路由表,但要注意這是改造后的A路由表)更新自己的信息。如圖:
首先我們可以看到在B的路由表里面沒(méi)有關(guān)于到達(dá)N1網(wǎng)絡(luò)的條目,現(xiàn)在發(fā)現(xiàn)可以通過(guò)路由器A到達(dá)N1網(wǎng)絡(luò),于是將該條目加進(jìn)去。這條規(guī)則叫“發(fā)現(xiàn)新的網(wǎng)絡(luò)直接添加”?。
其次,我們?cè)贐的路由表的下一跳里面發(fā)現(xiàn)了有關(guān)于A的下一跳,即到達(dá)N7網(wǎng)絡(luò)的條目,距離為6。在傳來(lái)的A的路由表里面也有關(guān)于N7的條目,但是距離變?yōu)榱?,于是將R2的路由表中的該條目的距離改為7。這條規(guī)則叫“到達(dá)目的網(wǎng)絡(luò),相同的下一跳,更新為最新信息”?。
現(xiàn)在A的路由條目還剩N3、N5、N9三條,很明顯可以看到在B的路由表里里面,它們的下一跳都不是A。首先關(guān)于N3的條目,可以看到N3條目在B的路由表里面的距離為9,但是在A的路由表里面距離為6;在工作原理部分,我們有說(shuō)RIP協(xié)議認(rèn)為好的路由就是到達(dá)同一個(gè)目的網(wǎng)絡(luò)通過(guò)的路由器數(shù)量最少的路徑,所以應(yīng)該把B路由表里的N3條目距離更新為6,且下一跳更新為A。這條規(guī)則叫“到達(dá)目的網(wǎng)絡(luò),不同的下一跳,新路由有優(yōu)勢(shì),更新”?。
N5條目在兩個(gè)路由表里雖然下一跳不同,但是距離都為5,在基本原理部分有提到過(guò),有到達(dá)同一目的網(wǎng)絡(luò)多條距離相等的路由時(shí)進(jìn)行等價(jià)負(fù)載均衡。于是將A中關(guān)于N5網(wǎng)絡(luò)的條目直接添加到B中。這條規(guī)則叫“到達(dá)目的網(wǎng)絡(luò),不同的下一跳,等價(jià)負(fù)載均衡”?。
最后,N9條目在A路由表里面的距離為6,但是在B路由表里面為5,秉持著好的路由原則,B路由表關(guān)于該條目的信息不發(fā)生變化。這條規(guī)則叫“到達(dá)目的網(wǎng)絡(luò),不同的下一跳,新路由有劣勢(shì),不更新”?。于是,最終的B更新后的路由表就如圖所示:
總結(jié):RIP協(xié)議中,一個(gè)路由器A給相鄰的路由器B發(fā)送裝有自己路由表信息的RIP更新報(bào)文,路由器B會(huì)接受到改造后的路由表A,即距離全部加1,并且下一跳全部變?yōu)锳。
更新可以先從到達(dá)的目的網(wǎng)絡(luò)入手,如果發(fā)現(xiàn)新網(wǎng)絡(luò)直接進(jìn)行添加;如果是B表中已有的網(wǎng)絡(luò),則從下一跳入手,下一跳相同就進(jìn)行更新;下一跳不同就從距離入手,誰(shuí)距離短就用誰(shuí),距離一樣就進(jìn)行添加。
6.RIP協(xié)議的問(wèn)題
RIP協(xié)議存在一個(gè)壞消息傳的慢的問(wèn)題。該問(wèn)題又叫做路由環(huán)路或者距離無(wú)窮計(jì)數(shù)問(wèn)題。這是基于距離向量算法的一個(gè)固有問(wèn)題
首先需要注意的是,RIP協(xié)議中的交換并不是意思時(shí)間到了相鄰的路由器同時(shí)交換,它們有可能是有先后順序的。實(shí)際上,每個(gè)路由器都有一個(gè)RIP更新報(bào)文發(fā)送周期,它們的時(shí)間不一定相等。
我們從示例中進(jìn)行詳細(xì)說(shuō)明,如圖:
假設(shè)R1和R2已經(jīng)交換過(guò)路由信息,那么R1表中現(xiàn)在就有到達(dá)N3網(wǎng)絡(luò)的條目。
但是現(xiàn)在R2與直連網(wǎng)絡(luò)N3的鏈路出現(xiàn)了故障。R2檢測(cè)到該故障后,就會(huì)將自己表中N3網(wǎng)絡(luò)條目的距離改為16,表示該網(wǎng)絡(luò)不可達(dá)。然后R2就等待自己的RIP更新報(bào)文發(fā)送周期到時(shí)后,將自己的路由信息發(fā)送給R1。
但是R1在未收到R2的更新后的路由表的信息時(shí),關(guān)于N3的條目的距離仍然為2。
那么根據(jù)前面所說(shuō)的,現(xiàn)在假設(shè)R1的更新周期先到時(shí),它就會(huì)將自己的路由信息傳給R2。R2收到后會(huì)誤認(rèn)為可以通過(guò)R1到達(dá)N3網(wǎng)絡(luò),于是將自己表中的N3條目改為3。
?后面就會(huì)出現(xiàn)兩個(gè)路由器不停地傳遞這個(gè)錯(cuò)誤的條目,并且每次到達(dá)N3網(wǎng)絡(luò)條目距離都會(huì)增加1,一直增加到16,才會(huì)發(fā)現(xiàn)網(wǎng)絡(luò)不可達(dá)。而在中間這個(gè)過(guò)程R1和R2就會(huì)產(chǎn)生路由環(huán)路。
對(duì)于這種問(wèn)題,有多種措施可以減少該問(wèn)題出現(xiàn)的概率及帶來(lái)的危害。(注意:是減少該問(wèn)題而不是解決該問(wèn)題。說(shuō)明這種問(wèn)題無(wú)法徹底避免。)
一個(gè)就是在跳數(shù)部分提到的,路由距離達(dá)到16即不可達(dá)。上面這個(gè)示例也體現(xiàn)了這個(gè)措施的好處,雖然中間出現(xiàn)了路由環(huán)路,但是距離到達(dá)16后,雙方就都知道該網(wǎng)絡(luò)不可達(dá)了。
第二個(gè),就是當(dāng)路由表發(fā)生變化時(shí),立即發(fā)送更新報(bào)文(也叫“觸發(fā)更新”),不用等待更新周期。(這一塊不知道大家是否想起了之前說(shuō)的超時(shí)重傳與立即重傳)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-691558.html
還有就是讓路由器記錄收到某特定路由信息的接口,而不讓同一路由信息再通過(guò)此接口反方向傳送。(比如上圖中的路由器,我們將兩個(gè)路由器的左邊接口都叫接口0,右邊都叫接口1,那么R1就只能從接口1接收關(guān)于N3網(wǎng)絡(luò)的路由信息,但是不能再?gòu)脑摻涌诎l(fā)送該信息)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-691558.html
到了這里,關(guān)于計(jì)網(wǎng)第四章(網(wǎng)絡(luò)層)(七)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!