學習殿堂:RIP路由協(xié)議全解
目前對于RIP路由協(xié)議的應用還是很多的,于是我研究了一下RIP路由協(xié)議的綜合介紹和實際應用,在這里拿出來和大家分享一下,希望對大家有用。路由器的工作不外乎兩個,一是路徑選擇,二是數(shù)據(jù)轉發(fā)。進行數(shù)據(jù)轉發(fā)相對容易一些,難的是如何判斷到達目的網(wǎng)絡的最佳路徑。所以,路徑選擇就成了路由器最重要的工作。
許多RIP路由協(xié)議可以完成路徑選擇的工作,常見的有RIP,OSPF,IGRP和 EIGRP協(xié)議等等。這些算法中,我們不能簡單的說誰好誰壞,因為算法的優(yōu)劣要依據(jù)使用的環(huán)境來判斷。比如RIP路由協(xié)議,它有時不能準確地選擇最優(yōu)路徑,收斂的時間也略顯長了一些,但對于小規(guī)模的,沒有專業(yè)人員維護的網(wǎng)絡來說,它是首選的RIP路由協(xié)議,我們看中的是它的簡單性。
如果你手頭正有一個小的網(wǎng)絡項目,那么,就讓我們來安排一個計劃,30分鐘讀完本文(一讀),20分鐘再細看一遍本文提及的命令和操作方法(二讀),用30分鐘配置網(wǎng)絡上的所有路由器(小網(wǎng)絡,沒有幾臺路由器可以配的),最后20分鐘,檢查一下網(wǎng)絡工作是否正常。好了,一百分鐘,你的RIP網(wǎng)絡運轉起來了。就這么簡單,不信,請繼續(xù)往下看。RIP(Routing Information Protocols,路由信息協(xié)議)是使用最廣泛的距離向量協(xié)議,它是由施樂(Xerox)在70年代開發(fā)的。當時,RIP路由協(xié)議是XNS(Xerox Network Service,施樂網(wǎng)絡服務)協(xié)議簇的一部分。TCP/IP版本的RIP路由協(xié)議是施樂協(xié)議的改進版。RIP最大的特點是,無論實現(xiàn)原理還是配置方法,都非常簡單。
度量方法
RIP的度量是基于跳數(shù)(hops count)的,每經(jīng)過一臺路由器,路徑的跳數(shù)加一。如此一來,跳數(shù)越多,路徑就越長,RIP算法會優(yōu)先選擇跳數(shù)少的路徑。RIP路由協(xié)議支持的最大跳數(shù)是15,跳數(shù)為16的網(wǎng)絡被認為不可達。
路由更新
RIP中路由的更新是通過定時廣播實現(xiàn)的。缺省情況下,路由器每隔30秒向與它相連的網(wǎng)絡廣播自己的路由表,接到廣播的路由器將收到的信息添加至自身的路由表中。每個路由器都如此廣播,最終網(wǎng)絡上所有的路由器都會得知全部的路由信息。正常情況下,每30秒路由器就可以收到一次路由信息確認,如果經(jīng)過180秒,即6個更新周期,一個路由項都沒有得到確認,路由器就認為它已失效了。如果經(jīng)過240秒,即8個更新周期,路由項仍沒有得到確認,它就被從路由表中刪除。上面的30秒,180秒和240秒的延時都是由計時器控制的,它們分別是更新計時器(Update Timer)、無效計時器(Invalid Timer)和刷新計時器(Flush Timer)。
路由循環(huán)
距離向量類的算法容易產(chǎn)生路由循環(huán),RIP是距離向量算法的一種,所以它也不例外。如果網(wǎng)絡上有路由循環(huán),信息就會循環(huán)傳遞,永遠不能到達目的地。為了避免這個問題,RIP路由協(xié)議等距離向量算法實現(xiàn)了下面4個機制。
水平分割(split horizon)。水平分割保證路由器記住每一條路由信息的來源,并且不在收到這條信息的端口上再次發(fā)送它。這是保證不產(chǎn)生路由循環(huán)的最基本措施。毒性逆轉(poison reverse)。當一條路徑信息變?yōu)闊o效之后,路由器并不立即將它從路由表中刪除,而是用16,即不可達的度量值將它廣播出去。這樣雖然增加了路由表的大小,但對消除路由循環(huán)很有幫助,它可以立即清除相鄰路由器之間的任何環(huán)路。
觸發(fā)更新(trigger update)。當路由表發(fā)生變化時,更新報文立即廣播給相鄰的所有路由器,而不是等待30秒的更新周期。同樣,當一個路由器剛啟動RIP路由協(xié)議時,它廣播請求報文。收到此廣播的相鄰路由器立即應答一個更新報文,而不必等到下一個更新周期。這樣,網(wǎng)絡拓撲的變化會最快地在網(wǎng)絡上傳播開,減少了路由循環(huán)產(chǎn)生的可能性。抑制計時(holddown timer)。一條路由信息無效之后,一段時間內這條路由都處于抑制狀態(tài),即在一定時間內不再接收關于同一目的地址的路由更新。如果,路由器從一個網(wǎng)段上得知一條路徑失效,然后,立即在另一個網(wǎng)段上得知這個路由有效。這個有效的信息往往是不正確的,抑制計時避免了這個問題,而且,當一條鏈路頻繁起停時,抑制計時減少了路由的浮動,增加了網(wǎng)絡的穩(wěn)定性。
即便采用了上面的4種方法,路由循環(huán)的問題也不能完全解決,只是得到了最大程度的減少。一旦路由循環(huán)真的出現(xiàn),路由項的度量值就會出現(xiàn)計數(shù)到無窮大(Count to Infinity)的情況。這是因為路由信息被循環(huán)傳遞,每傳過一個路由器,度量值就加1,一直加到16,路徑就成為不可達的了。RIP路由協(xié)議選擇16作為不可達的度量值是很巧妙的,它既足夠的大,保證了多數(shù)網(wǎng)絡能夠正常運行,又足夠小,使得計數(shù)到無窮大所花費的時間最短。
鄰居
有些網(wǎng)絡是NBMA(Non-Broadcast MultiAccess,非廣播多路訪問)的,即網(wǎng)絡上不允許廣播傳送數(shù)據(jù)。對于這種網(wǎng)絡,RIP路由協(xié)議就不能依賴廣播傳遞路由表了。解決方法有很多,最簡單的是指定鄰居(neighbor),即指定將路由表發(fā)送給某一臺特定的路由器。