當前位置:才華齋>計算機>網路技術>

盤點路由協議之RIP協議及IGRP協議

網路技術 閱讀(2.06W)

  RIP協議簡介

盤點路由協議之RIP協議及IGRP協議

RIP 是Routing Information Protocol(路由資訊協議)的簡稱,是一種基於D-V演算法的簡單動態路由協議,主要用於小型網路。它通過UDP交換路由資訊,每隔30秒向外傳送一 次更新報文(將自己所有的路由表都發送給鄰居)。如果路由器經過180秒沒有收到來自對方端的路由更新報文,則將所有來自此路由器的路由資訊標誌為不可 達,如果在其後120 秒內仍未收到更新報文,就將該條路由從路由表中刪除。

RIP使用跳數來衡量到達目的網路的距離,路由器到與它直接相連網路的跳數為0,通過一個路由器可達網路的跳數為1,其餘依此類推。為限制收斂時間,RIP規定metric最大跳數為15,高於此的都不可達,這是限制RIP不能用於大型網路的主要因素。

RIP協議處於UDP協議的上層,RIP所接收的路由資訊都封裝在UDP的資料報中,RIP在520號埠上接收來自遠端路由器的路由修改資訊,並對本地的路由表做相應地修改,同時通知其他路由器。通過這種方式,達到全域性路由的同步

  RIP協議的實現

系統初始化

啟動時的初始路由表僅包含本路由器的一些直連線口路由。

協議啟動後向各介面廣播一個Request報文。

3.鄰居路由器的RIP協議從某介面收到Request報文後,根據自己的路由表,形成Response報文向該介面對應的網路廣播。

接收鄰居路由器回覆的包含鄰居路由器路由表的Response報文,形成自己的路由表。

  路由更新

RIP協議以30秒為週期用Response報文廣播自己的路由表。

收到鄰居傳送而來的Response報文後,RIP協議計算報文中路由項的度量值,比較其與本地路由表路由項度量值的差別,更新自己的路由表。

報文中路由項度量值的計算公式為:metric=MIN(metric + cost, 16)。其中metric為報文中攜帶的度量值資訊,cost為接收報文的網路的度量值開銷,預設為 1(1 跳),16代表不可達。

RIP配置(以Cisco的路由器為例)

Router(config)#router rip—啟動RIP路由協議

AH_CZ_TC_2500(config-router)# network [network range | all]—指定工作網段,RIP只在指定網段上的介面工作;對於不在指定網段上的介面,RIP既不在它上面接收和傳送路由,也不將它的介面路由轉發出去。

AH_CZ_TC_2500(config-router)# version [1|2—指定RIP的版本

AH_CZ_TC_2500(config-router)# maximum-paths [1-6]—指定等價路由的最多使用條數

AH_CZ_TC_2500(config-router)# passive-interface e0—可以使eth0口只接收RIP分組,但不傳送rip分組,這個命令只有在需要的時候才配置。

AH_CZ_TC_2500(config-router)#int s0—進入單獨的介面進行配置

AH_CZ_TC_2500(config-if)#ip rip [send|receive] version [1|2]—可以指定某個介面做傳送或介面功能,並且執行哪一個版本的RIP

AH_CZ_TC_2500(config-if)#ip split-horizon—可以設定是否啟用水平分割

由於此處命令太多,不一一例舉,具體命令格式可以參考Cisco網站或其他命令參考手冊。

注意:RIP-1採用廣播形式傳送報文;RIP-2有兩種傳送方式,廣播方式和多播方式,預設將採用多播發送報文。多播發送報文的好處是在同一網 絡中那些未執行RIP的主機可以避免接收RIP的廣播報文。當介面執行RIP-1時,只接收和傳送RIP-1與RIP-2廣播報文,不接收RIP-2多播 報文;當介面執行在RIP-2多播方式時,只接收和傳送RIP-2多播報文,不接收RIP-1與RIP-2廣播報文。在預設情況下,一個介面既可接收 RIP更新報文,也可傳送RIP更新報文。

  IGRP協議

由 於RIP協議Metric最大隻能是15,嚴重製約了RIP協議不能在中、大型的網路上使用,於是Cisco推出了IGRP(Interior Gateway Routing Protocol)協議。這是一種Cisco的私有協議,目前只能在Cisco的路由器上使用。該協議的路由演算法也是D-V演算法,但是該協議影響路由選擇 的不再是單純RIP中的跳數,頻寬、網路時延、負載、可靠性都被用於路由選擇,可以為每一種Metric設定權值。IGRP不僅支援等值路由的.頻寬均衡或 主備用,而且支援不等值頻寬的負載均衡(負載百分比均衡),例如如果一條線路是另外一條線路是四倍,則它所承載的通訊資料量也是另外一條線路的四倍。該協 議允許跳數最大可達255,這樣就能在中等或者大型網路上使用。

  IGRP的Metrics計算方法

在IGRP中Metrics是由時延(Delay)、頻寬(BandWidth,簡稱BW)、負載(Load)和可靠性(Reliability)四個要素組成。

在 IGRP中,前兩個要素都是單獨用一個24bit的欄位來儲存,後兩個要素是用8bit的欄位來儲存。頻寬單位是Kbps(IGRP中的 BW=10000000/實際頻寬),如果實際頻寬為10M,則IGRP中的BW=10000000/10240;時延的單位是微秒,IGRP中的時延 DLY=實際時延/10,0xFFFFFF為不可達,這個值大約為167.8秒,因此IGRP支援的最大時延約為167秒;負載和可靠性因為用8bit字 段來儲存,所以最大值都是0xFF,實際值=該值/255這點也不難理解了。

IGRP的Metric完整公式為:

Metric=[k1*BW( IGRP)+k2*BW(IGRP)/(256-load)+k3*DLY(IGRP)]*[k5/(RELY+k4)]

其 中BW是取到目標地址所經出口的最小,DLY(IGRP)是沿途的DLY(IGRP)的總和。k1,k2,k3,k4和k5 是可配置的加權(weight)值,預設這些值是k1=k3=1,k2=k4=k5=0,這就是為什麼預設也只有頻寬(BW)和延時(DLY)兩個要素起 作用的原因,可以通過下面的命令進行修改:

metric weights {tos k1 k2 k3 k4 k5}

tos 引數目前沒有使用,設定為0。

如果k1到k5使用預設值,那麼公式簡化為:

metric=k1*BW(IGRP)+k3*DLY(IGRP)

IGRP也支援水平分割、路由中毒、觸發更新等預防路由環路的機制。

  路由更新機制

由於RIP更新太快(預設30秒),而且是將路由表所有內容都全部廣播或組播發出去,嚴 重影響網路效能,IGRP增大了更新週期,在預設情況下,IGRP每90秒傳送一次路由資訊廣播,如果在3個週期內沒有收到該路由的路由更新,則設定該路 由為不可達,在7個週期內沒收到,則從路由表中刪除該路由。

  負載均衡

和RIP一樣,IGRP也支援最多六條用於負載均衡的等價路由,而且IGRP還擴充套件了負載均衡的概念。比RIP等價路由更先進的是,它還支援多條不等價路由,能夠對那些在多條路徑上流動、而對各自目的地又有不同度量的資料流做負載均衡,這樣給負載均衡提供了更多的靈活性。

IGRP 設定方法稍微有點複雜。首先根據上面的公式計算各自路由的Metric,再將求出的各Metric比較倍數,然後通過variance命令來配置。例如如 果A網路到B網路最優路由的Metric值為1000,系統中分別還有2000、3000、4000、5000的四條路由,這時想使得Metric為 2000和3000的也能同時被負載均衡所使用,則用命令variance 3來設定,表示在最優路由Metric的3倍之內的其他路由都能同時被使用,通過設定這個引數來避免質量極差的路由參與負載均衡,不僅不能達到效果,而且 還會佔用CPU資源。

  簡單配置

router igrp [Autonomous system number]—Autonomous system number為自治號,只有在相同Autonomous system number內的路由器才相互交換路由資訊。

Variance 5—在最優路由Metric值5倍之內的其他路由都能被同時使用,以做負載均衡。

Network—[network range]指定工作網段,IGRP只在指定網段的介面工作;對於不在指定網段上的介面,RIP既不在它上面接收和傳送路由,也不將它的介面路由轉發出去。

AH_CZ_TC_2500(config-router)# passive-interface eth0—將介面eth 0設定為被動介面。在IGRP協議中,如果將介面設定為被動的,則該介面會接收更新分組,但是不會發布任何更新分組。這個命令只有在需要的時候才這樣設 置。

AH_CZ_TC_2500(config-router)# default-metric 100 2000 255 1 1500—設定IGRP預設的Metric值

AH_CZ_TC_2500(config-router)# metric weights 0 1 1 1 1 1—設定k1到k2的權值。

簡單配置這樣就可以了,更復雜的參考Cisco網站內容。

以 上兩個協議是距離向量路由協議的典範,也是路由協議中最簡單的兩個。RIP協議出現最早,最大跳數只支援15跳,只適合小型網路;IGRP是Cisco公 司為了彌補RIP的缺陷而開發設計,適合更大的網路,最大支援255跳,為了減輕網路的負擔,將預設的更新週期從RIP的30秒改為90秒,但是這也造成 了網路拓撲變化時收斂速度變遲緩了。RIP和IGRP都支援最多達6條等價路由,IGRP還支援非等價路由,增加了負載均衡的靈活性。IGRP為 Cisco公司所私有,目前只能在Cisco的路由器上使用。