fdgdf dfgfg fdggg sdfsdf dfg
RIP協議RIP協議 在Internet網上,運行著很多網關協議,網關協議有內部網關協議(IGP)和外部網關協議(EGP)之分,Internet網上劃分了很多自治系統 (AS),每個自治系統裡面運行著路由協議,在自治系統內部的路由協議,我們稱之為內部網關協議。RIP(Routing Information Protocols,路由信息協議)是一種內部網關協議,是使用最廣泛的距離向量協議,它採用的是距離矢量算法。它是由施樂(Xerox)在70年代開發 的。當時,RIP是XNS(Xerox Network Service,施樂網絡服務)協議簇的一部分。 1. 距離矢量算法 矢量距離算法(簡稱V-D算法)的思想是:網關週期性地向外廣播路徑刷新報文,主要內容是由若干(V,D)序偶組成的序偶表;(V,D)序偶中的V代表 「向量」,標識網關可到達的信宿(網關或主機),D代表距離,指出該網關去往信宿V的距離;距離D按驛站的個數計。其他網關收到某網關的(V,D)報文 後,據此按照最短路徑原則對各自的路由表進行刷新。 當網關剛啟動時,對其V-D路由表進行初始化,該初始化路由表包含所有去往與本網關直接相連的網絡。由於去往直接相連的網絡不經過中間驛站,所以初始V- D路由表中各路徑的距離均為0。然後各網關週期性地向外廣播V-D路由表內容。與某網關直接相連(位於同一物理網絡)的網關收到該路由表報文後,據此對本 地路由表進行刷新。 矢量距離算法的路徑刷新發生在相鄰網關之間,所以矢量距離報文不一定以廣播的方式發送出去,一種比較優化的方法是網關直接向相鄰的網關發送矢量距離報文,不必採取廣播的方式。 2. RIP的工作原理 RIP協議是矢量距離算法在局域網上的直接實現,RIP將協議的參加者分為主動機和被動機兩種。主動機主動地向外廣播路徑刷新報文,被動機被動地接受路徑刷新報文。一般情況下,網關作主動機,主機作被動機。 RIP規定,網關每30秒向外廣播一個報文,報文信息來自本地路由表。RIP的度量是基於跳數(hops count)的,每經過一台路由器,路徑的跳數 加一。如此一來,跳數越多,路徑就越長,RIP算法會優先選擇跳數少的路徑。RIP支持的最大跳數是15,跳數為16的網絡被認為不可達。 對於相同開銷路徑的處理是採用先入為主的原則。在具體的應用中,可能會出現這種情況,去往相同網絡有若干條相同距離的路徑。在這種情況下,無論哪個網關的路徑廣播報文先到,就採用誰的路徑。直到該路徑失敗或被新的更短的路徑來代替。 RIP中路由的更新是通過定時廣播實現的。缺省情況下,路由器每隔30秒向與它相連的網絡廣播自己的路由表,接到廣播的路由器將收到的信息添加至自身的路 由表中。每個路由器都如此廣播,最終網絡上所有的路由器都會得知全部的路由信息。正常情況下,每30秒路由器就可以收到一次路由信息確認,如果經過180 秒,即6個更新週期,一個路由項都沒有得到確認,路由器就認為它已失效了。如果經過240秒,即8個更新週期,路由項仍沒有得到確認,它就被從路由表中刪 除。上面的30秒,180秒和240秒的延時都是由計時器控制的,它們分別是更新計時器(Update Timer)、無效計時器(Invalid Timer)和刷新計時器(Flush Timer)。 距離向量類的算法容易產生路由循環,RIP是距離向量算法的一種,所以它也不例外。如果網絡上有路由循環,信息就會循環傳遞,永遠不能到達目的地。如果出 現環路,直到路徑長度達到16,也就是說要經過210秒(30X7秒)來回,路徑回路才能被解除,這就是所謂的慢收斂問題。是RIP的一個很大的缺陷,為 了避免這個問題,RIP等距離矢量算法實現了4個機制: 水平分割(split horizon) 水平分割保證路由器記住每一條路由信息的來源,並且不在收到這條信息的端口上再次發送它。這是保證不產生路由循環的最基本措施。 毒性逆轉(poison reverse) 當一條路徑信息變為無效之後,路由器並不立即將它從路由表中刪除,而是用16,即不可達的度量值將它廣播出去。這樣雖然增加了路由表的大小,但對消除路由循環很有幫助,它可以立即清除相鄰路由器之間的任何環路。 觸發更新(trigger update) 當路由表發生變化時,更新報文立即廣播給相鄰的所有路由器,而不是等待30秒的更新週期。同樣,當一個路由器剛啟動RIP時,它廣播請求報文。收到此廣播 的相鄰路由器立即應答一個更新報文,而不必等到下一個更新週期。這樣,網絡拓撲的變化會最快地在網絡上傳播開,減少了路由循環產生的可能性。 抑制計時(holddown timer) 一條路由信息無效之後,一段時間內這條路由都處於抑制狀態,即在一定時間內不再接收關於同一目的地址的路由更新。如果,路由器從一個網段上得知一條路徑失 效,然後,立即在另一個網段上得知這個路由有效。這個有效的信息往往是不正確的,抑制計時避免了這個問題,而且,當一條鏈路頻繁起停時,抑制計時減少了路 由的浮動,增加了網絡的穩定性。 即便採用了上面的4種方法,路由循環的問題也不能完全解決,只是得到了最大程度的減少。一旦路由循環真的出現,路由項的度量值就會出現計數到無窮大 (Count to Infinity)的情況。這是因為路由信息被循環傳遞,每傳過一個路由器,度量值就加1,一直加到16,路徑就成為不可達的了。 RIP選擇16作為不可達的度量值是很巧妙的,它既足夠的大,保證了多數網絡能夠正常運行,又足夠小,使得計數到無窮大所花費的時間最短。 有些網絡是NBMA(Non-Broadcast MultiAccess,非廣播多路訪問)的,即網絡上不允許廣播傳送數據。對於這種網絡,RIP就不 能依賴廣播傳遞路由表了。解決方法有很多,最簡單的是指定鄰居(neighbor),即指定將路由表發送給某一台特定的路由器。 3. RIP的缺陷 RIP雖然簡單易行,但是也存在著一些很重要的缺陷,主要有以下幾點: A. 過於簡單,以跳數為依據計算度量值,經常得出非最優路由; B. 度量值以16為限,不適合大的網絡; C. 安全性差,接受來自任何設備的路由更新; D. 不支持無類IP地址和VLSM(Variable Length Subnet Mask,變長子網掩碼); E. 收斂緩慢,時間經常大於5分鐘; F. 消耗帶寬很大。 RIP只適用於小系統中,當系統變大後受到無限計算問題的困擾,且往往收斂的很慢。現已被OSPF所取代。 4. RIP的分組格式 對於RIP報文有兩種版本的格式,Version 1和Version 2。兩種報文稍有不同,如下圖所示: 圖片附件: RIP協議.gif (2006-7-17 11:52, 5.74 K) 命令字段的值的範圍是從1到5,但只有1和2是正式的值。命令碼1標識一個請求報文,命令碼2標識一個相應報文。RIP是一個基於UDP協議的,所以受 UDP報文的限制一個RIP的數據包不能超過512字節。兩個版本都包含一個地址族,對於IP地址該字段的值為2,後面是一個IP地址和它的度量值(站點 計數)。這些通告字段可重複25次。 路由選擇域:與該報文相關的路由選擇守護進程的標識符。在UNIX系統中,該字段是一個進程的標識符。一台機器通過使用路由選擇域,就可以同時運行多個RIP。 路徑標籤:若干RIP支持外部網關協議(EGP),該字段包含一個自治系統號。 子網掩碼:該字段與報文中的IP地址相關。 下一站的IP地址:如果該字段為0,則表明數據報應當發送到正在發送該RIP報文的機器,否則,該字段包含一個IP地址,指明應將數據報發往何處。 從報文中我們可以看出,RIP-1不能運行於包含有子網的自治系統中,因為它沒有包含運行所必須的子網信息-子網掩碼。RIP-2有子網掩碼,因而它可以運行於包含有子網的自治系統中,這也是RIP-2對RIP-1有意義的改進。 .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO! 好站連結:http://tw.myblog.yahoo.com/beck46919363
沒有留言:
張貼留言