RIP路由協議的局限性和特點
在網絡協議中,路由協議一直是我們學習的重點。在路由協議中,又以RIP路由協議為基礎。那么針對RIP協議,我們就需要重點掌握了。接下來我們就來詳細看看RIP的具體內容吧。
一、概述
RIP路由協議的全稱是路由信息協議(Routing Information Protocol),它是一種內部網關協議(IGP),用于一個自治系統(AS)內的路由信息的傳遞.RIP協議是基于距離矢量算法(Distance Vector Algorithms)的,它使用"跳數",即metric來衡量到達目標地址的路由距離.
二、該協議的局限性
1、協議中規定,一條有效的路由信息的度量(metric)不能超過15,這就使得該協議不能應用于很大型的網絡,應該說正是由于設計者考慮到該協議只適合于小型網絡所以才進行了這一限制.對于metric為16的目標網絡來說,即認為其不可到達.
2、該路由協議應用到實際中時,很容易出現"計數到無窮大"的現象,這使得路由收斂很慢,在網絡拓撲結構變化以后需要很長時間路由信息才能穩定下來.
3、該協議以跳數,即報文經過的路由器個數為衡量標準,并以此來選擇路由,這一措施欠合理性,因為沒有考慮網絡延時、可靠性、線路負荷等因素對傳輸質量和速度的影響.
三、RIP路由協議(版本1)報文的格式和特性
1、RIP(版本1)報文的格式
0 7 15 31
命令字(1字節) 版本(1字節) 必須為0(2字節)
地址類型標識符(2字節) 必須為0(2字節)
IP地址
必須為0
必須為0
Metric值(1—16)
(最多可以有24個另外的路由,與前20字節具有相同的格式)
"命令字"字段為1時表示RIP請求,為2時表示RIP應答.地址類型標志符在實際應用中總是為2,即地址類型為IP地址."IP地址"字段表明目的網絡地址,"Metric"字段表明了到達目的網絡所需要的"跳數".
2. RIP路由協議的特性
(1)路由信息更新特性:
路由器最初啟動時只包含了其直連網絡的路由信息,并且其直連網絡的metric值為1,然后它向周圍的其他路由器發出完整路由表的RIP請求(該請求報文的"IP地址"字段為0.0.0.0).路由器根據接收到的RIP應答來更新其路由表,具體方法是添加新的路由表項,并將其metric值加1.如果接收到與已有表項的目的地址相同的路由信息,則分下面三種情況分別對待:***種情況,已有表項的來源端口與新表項的來源端口相同,那么無條件根據***的路由信息更新其路由表;第二種情況,已有表項與新表項來源于不同的端口,那么比較它們的metric值,將metric值較小的一個最為自己的路由表項;第三種情況,新舊表項的metric值相等,普遍的處理方法是保留舊的表項.
路由器每30秒發送一次自己的路由表(以RIP應答的方式廣播出去).針對某一條路由信息,如果180秒以后都沒有接收到新的關于它的路由信息,那么將其標記為失效,即metric值標記為16.在另外的120秒以后,如果仍然沒有更新信息,該條失效信息被刪除.
2)RIP版本1對RIP報文中"版本"字段的處理:
0:忽略該報文.
1:版本1報文,檢查報文中"必須為0"的字段,若不符合規定,忽略該報文.
1:不檢查報文中"必須為0"的字段,僅處理RFC 1058中規定的有意義的字段.因此,運行RIP版本1的機器能夠接收處理RIP版本2的報文,但會丟失其中的RIP版本2新規定的那些信息.
(3)RIP路由協議版本1對地址的處理
RIP版本1不能識別子網網絡地址,因為在其傳送的路由更新報文中不包含子網掩碼,因此RIP路由信息要么是主機地址,用于點對點鏈路的路由;要么是A、B、C類網絡地址,用于以太網等的路由;另外,還可以是0.0.0.0,即缺省路由信息.
(4)計數到無窮大(Counting to Infinity)
前面在RIP的局限性一部分提到了可能出現的計數到無窮大的現象,下面就來分析一下該現象的產生原因與過程.考察下面的簡單網絡:
c(目的網絡)----router A------router B
在正常情況下,對于目標網絡,A路由器的metric值為1,B路由器的metric值為2.當目標網絡與A路由器之間的鏈路發生故障而斷掉以后:
c(目的網絡)--||--router A------router B
A路由器會將針對目標網絡C的路由表項的metric值置為16,即標記為目標網絡不可達,并準備在每30秒進行一次的路由表更新中發送出去,如果在這條信息還未發出的時候,A路由器收到了來自B的路由更新報文,而B中包含著關于C的metric為2的路由信息,根據前面提到的路由更新方法,路由器A會錯誤的認為有一條通過B路由器的路徑可以到達目標網絡C,從而更新其路由表,將對于目標網絡C的路由表項的metric值由16改為3,而對于的端口變為與B路由器相連接的端口.很明顯,A會將該條信息發給B,B將無條件更新其路由表,將metric改為4;該條信息又從B發向A,A將metric改為5……***雙發的路由表關于目標網絡C的metric值都變為16,此時,才真正得到了正確的路由信息.這種現象稱為"計數到無窮大"現象,雖然最終完成了收斂,但是收斂速度很慢,而且浪費了網絡資源來發送這些循環的分組.
另外,從這里我們也可以看出,metric值的***值的選擇實際上存在著矛盾,如果選得太小,那么適用的網絡規模太小;如果選得過大,那么在出現計數到無窮大現象的時候收斂時間會變得很長.