當(dāng)代互聯(lián)網(wǎng)的使用離不開(kāi)路由的應(yīng)用。那么在路由器中,一個(gè)規(guī)范的標(biāo)準(zhǔn)是整個(gè)路由器正常運(yùn)轉(zhuǎn)的前提。那么現(xiàn)在我們就來(lái)了解一下RIP路由協(xié)議的相關(guān)內(nèi)容。RIP路由協(xié)議是使用最廣泛的距離向量協(xié)議,它是由施樂(lè)(Xerox)在70年代開(kāi)發(fā)的。當(dāng)時(shí),RIP是XNS(Xerox Network Service,施樂(lè)網(wǎng)絡(luò)服務(wù))協(xié)議簇的一部分。RIP最大的特點(diǎn)是,無(wú)論實(shí)現(xiàn)原理還是配置方法,都非常簡(jiǎn)單。下面就有鄭州北大青鳥(niǎo)的網(wǎng)絡(luò)專(zhuān)家給大家深入的講解一下!
1.度量方法
RIP的度量是基于跳數(shù)(hops count)的,每經(jīng)過(guò)一臺(tái)路由器,路徑的跳數(shù)加一。如此一來(lái),跳數(shù)越多,路徑就越長(zhǎng),RIP算法會(huì)優(yōu)先選擇跳數(shù)少的路徑。RIP支持的最大跳數(shù)是15,跳數(shù)為16的網(wǎng)絡(luò)被認(rèn)為不可達(dá)!
2.路由更新
RIP路由協(xié)議中路由的更新是通過(guò)定時(shí)廣播實(shí)現(xiàn)的。缺省情況下,路由器每隔30秒向與它相連的網(wǎng)絡(luò)廣播自己的路由表,接到廣播的路由器將收到的信息添加至自身的路由表中。每個(gè)路由器都如此廣播,最終網(wǎng)絡(luò)上所有的路由器都會(huì)得知全部的路由信息。正常情況下,每30秒路由器就可以收到一次路由信息確認(rèn),如果經(jīng)過(guò)180秒,即6個(gè)更新周期,一個(gè)路由項(xiàng)都沒(méi)有得到確認(rèn),路由器就認(rèn)為它已失效了。如果經(jīng)過(guò)240秒,即8個(gè)更新周期,路由項(xiàng)仍沒(méi)有得到確認(rèn),它就被從路由表中刪除。上面的30秒,180秒和240秒的延時(shí)都是由計(jì)時(shí)器控制的,它們分別是更新計(jì)時(shí)器(_updateTimer)、無(wú)效計(jì)時(shí)器(Invalid Timer)和刷新計(jì)時(shí)器(Flush Timer)!
3.路由循環(huán)
距離向量類(lèi)的算法容易產(chǎn)生路由循環(huán),RIP路由協(xié)議是距離向量算法的一種,所以它也不例外。如果網(wǎng)絡(luò)上有路由循環(huán),信息就會(huì)循環(huán)傳遞,永遠(yuǎn)不能到達(dá)目的地。為了避免這個(gè)問(wèn)題,RIP等距離向量算法實(shí)現(xiàn)了下面4個(gè)機(jī)制。
水平分割(split horizon)。水平分割保證路由器記住每一條路由信息的來(lái)源,并且不在收到這條信息的端口上再次發(fā)送它。這是保證不產(chǎn)生路由循環(huán)的最基本措施!
毒性逆轉(zhuǎn)(poison reverse)。當(dāng)一條路徑信息變?yōu)闊o(wú)效之后,路由器并不立即將它從路由表中刪除,而是用16,即不可達(dá)的度量值將它廣播出去。這樣雖然增加了路由表的大小,但對(duì)消除路由循環(huán)很有幫助,它可以立即清除相鄰路由器之間的任何環(huán)路。
觸發(fā)更新(trigger update)。當(dāng)路由表發(fā)生變化時(shí),更新報(bào)文立即廣播給相鄰的所有路由器,而不是等待30秒的更新周期。同樣,當(dāng)一個(gè)路由器剛啟動(dòng)RIP路由協(xié)議時(shí),它廣播請(qǐng)求報(bào)文。收到此廣播的相鄰路由器立即應(yīng)答一個(gè)更新報(bào)文,而不必等到下一個(gè)更新周期。這樣,網(wǎng)絡(luò)拓?fù)涞淖兓瘯?huì)最快地在網(wǎng)絡(luò)上傳播開(kāi),減少了路由循環(huán)產(chǎn)生的可能性。
抑制計(jì)時(shí)(holddown timer)。一條路由信息無(wú)效之后,一段時(shí)間內(nèi)這條路由都處于抑制狀態(tài),即在一定時(shí)間內(nèi)不再接收關(guān)于同一目的地址的路由更新。如果,路由器從一個(gè)網(wǎng)段上得知一條路徑失效,然后,立即在另一個(gè)網(wǎng)段上得知這個(gè)路由有效。這個(gè)有效的信息往往是不正確的,抑制計(jì)時(shí)避免了這個(gè)問(wèn)題,而且,當(dāng)一條鏈路頻繁起停時(shí),抑制計(jì)時(shí)減少了路由的浮動(dòng),增加了網(wǎng)絡(luò)的穩(wěn)定性。
即便采用了上面的4種方法,路由循環(huán)的問(wèn)題也不能完全解決,只是得到了最大程度的減少。一旦路由循環(huán)真的出現(xiàn),路由項(xiàng)的度量值就會(huì)出現(xiàn)計(jì)數(shù)到無(wú)窮大(_countto Infinity)的情況。這是因?yàn)槁酚尚畔⒈谎h(huán)傳遞,每傳過(guò)一個(gè)路由器,度量值就加1,一直加到16,路徑就成為不可達(dá)的了。RIP路由協(xié)議選擇16作為不可達(dá)的度量值是很巧妙的,它既足夠的大,保證了多數(shù)網(wǎng)絡(luò)能夠正常運(yùn)行,又足夠小,使得計(jì)數(shù)到無(wú)窮大所花費(fèi)的時(shí)間最短。
4.鄰居
有些網(wǎng)絡(luò)是NBMA(Non-Broad_cast MultiAccess,非廣播多路訪問(wèn))的,即網(wǎng)絡(luò)上不允許廣播傳送數(shù)據(jù)。對(duì)于這種網(wǎng)絡(luò),RIP就不能依賴(lài)廣播傳遞路由表了。解決方法有很多,最簡(jiǎn)單的是指定鄰居(neighbor),即指定將路由表發(fā)送給某一臺(tái)特定的路由器。
5.RIP路由協(xié)議的缺陷
RIP雖然簡(jiǎn)單易行,并且久經(jīng)考驗(yàn),但是也存在著一些很重要的缺陷,主要有以下幾點(diǎn):(1)過(guò)于簡(jiǎn)單,以跳數(shù)為依據(jù)計(jì)算度量值,經(jīng)常得出非最優(yōu)路由;(2) 度量值以16為限,不適合大的網(wǎng)絡(luò);(3)安全性差,接受來(lái)自任何設(shè)備的路由更新;(4)不支持無(wú)類(lèi)IP地址和VLSM(Variable Length Subnet Mask,變長(zhǎng)子網(wǎng)掩碼);(5)收斂緩慢,時(shí)間經(jīng)常大于5分鐘;(6) 消耗帶寬很大。