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

  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的路由器上使用。