摘要:通信工程師交換技術考試距離向董算法:在RIP中,采用特定格式的報文來傳送路由信息。毎個路由器一旦收到相鄰路由器(其地址為^發送的一個RIP報文,便執行以下距離向量算法。
1.距離向董算法
在RIP中,采用特定格式的報文來傳送路由信息。毎個路由器一旦收到相鄰路由器(其地址為^發送的一個RIP報文,便執行以下距離向量算法。
1)先修改此RIP報文中的所有項目:將“下一跳”字段中的地址都改為1,并將所有的“距離”字段的值加1(見后面的解釋1)。
2)對修改后的RIP報文中的每一個項目,重復以下步驟。
若項目中的目的網絡不在路由表中,則將該項目添加到路由表中(見后面的解釋2)。
否則
若下一跳字段給出的路由器地址是同樣的,則將收到的項目替換原路由表中的項目(見解釋3)。
否則
若收到的項目中的距離小于路由表中的距離,則進行更新(見后面的解釋4)。
否則,什么也不做。
3)若3分鐘還沒有收到相鄰路由器的更新路由表,則將此相鄰路由器記為不可達的路由器,即將距離置為16(距離為16表示不可達)。
4)返回。
上面給出的距離向量算法的基礎是:設X是節點A到B的最短路徑上的一個節點。若將路徑A-B拆成兩段路徑和X-B,則每一段路徑A-A和PB也都分別是節點A到X和節點X到B的最短路徑。
下面是對上述距離向量算法的4點解釋。
解釋1:這樣做是為f便于進行本路由表的更新。設從位于地址X的相鄰路由器發來的RIP報文的某一個項目是:“Net2,3,r,意思是“我到網絡Net2的距離是3,要經過的下一跳路由器的地址是r,那么本路由器就可推斷出:“若我將下一跳路由器選為地址是X的路由器,則我到網絡Net2的距離應為3+1=4”。于是,本路由器就將收到的RIP報文的這一個項目修改為"Net2,4,X",作為下一步進行比較時使用(只有和路由表中原有的項目比較后才能知道是否需要更新)。讀者可注意到,收到的項目中V對本路由器是沒有用的,因為y不是本路由器的路由表的下一跳路由器地址。
解釋2:表明這是新的目的網絡,應當加人到路由表中。例如,本路由表中沒有到目的網絡Net2的路由,那么在路由表中就要加人新的項目“Net2,4,X”。
解釋3:為什么要替換呢?因為這是最新的消息,要以最新的消息為準。到目的網絡距離有可能增大或減小,但也可能沒有改變。例如,不管原來路由表中的項目是“Net2,3,Xn還是“Net2,5,X”。都要更新為現在的“Net2,4,X”。
解釋4:例如,若路由表中已有項目“Net2,5,P\就要更新為“Net2,4,X'\因為更新后到網絡Net2的距離更短了(從5減到4)。
RIP讓互聯網中的所有路由器都和自己的相鄰路由器不斷交換路由信息,并不斷更新其路由表,使得從每一個路由器到每一個目的網絡的路由都是最短的(即跳數最少)。這里還注意:雖然所有的路由器最終都擁有了整個自治系統的全局路由信息,但由于每一個路由器的位置不同,它們的路由表當然也應當是不同的。
圖7-16所示說明了使用RIP各路由器,其路由表的初始數據和最終數據。

圖7-16(a)所示為一個簡單的網絡拓撲,共有6個網絡(網1~網6),通過6個路由器(A~F)互連起來。當RIP剛剛開始工作時,各路由器的路由表中的內容如圖7-16(a)所示。路由表中的每一行都包括3個字符,它們從左到右分別代表:目的網絡,從本路由器到該目的網絡的跳數(即最短距離),以及下一跳路由器(如果是直接交付就不經過路由器而是用一條短橫線表示)。在初始狀態下,路由表的行數取決于該路由器與多少個網絡直接相連。圖7-16(b)所示為各路由器收到了相鄰路由器的路由表,進行路由表更新后的情況(假定所有的路由器都同時向其相鄰的路由器發送自己的路由表)。圖7-16(c)所示為各路由器再更新一次路由表后得出最終的路由表中的內容。這些路由表中的每一行都指出:到某個網絡的距離是多少,以及下一跳是哪一個路由器。對于更復雜的網絡,路由表要經過更多次的更新才能達到最終的數值。有時,到達同一個目的網絡可以經過不同的下一跳路由器(但跳數是同樣的)。這時可任選一個下一跳路由器。
RIP的PDU使用運輸層的用戶數據報UDP進行傳送。因此RIP的位置應當在應用層。但轉發承載UDP的IP數據報的過程是在網絡層完成的。
返回目錄:
編輯推薦
通信工程師備考資料免費領取
去領取
專注在線職業教育25年