IGRP (Interior Gateway Routing PRotocol)是一种动态距离向量路由协议,它由Cisco公司八十年代中期设计。使用组合用户配置尺度,包括延迟、带宽、可靠性和负载。
IGRP 是Cisco 开发的私有协议,是为了弥补Rip 不足的地方而开发的.它的治理距离AD 为100,它有着和RIP 类似的特性,比如都是距离矢量(distance vector)路由协议,都通过广播的方式周期性的广播完整的路由表(除了被水平分割法则抑制的路由以外.并且它也会在网络的边界上进行路由汇总。不像RIP 是使用UDP 520 端口,IGRP 是直接通过IP 层进行IGRP 信息交换,协议号为9.IGRP 还使用AS 的概念.如下图:
AS 10 中有2 个进程域(process domain),分别是IGRP 20 和IGRP 30,(分别定义的是AS 20 和AS 30).这样就起到一个隔离通信量的作用,AS 20 和AS 30 之间可以通过路由的再发布(redistribute)来进行通信
在IGRP 的update 包里,把路由条目分为了3 个类别,如下:
1.内部路由(interior route):被宣告的路由条目是本地化的
2.系统路由(system route):到达被边界路由器汇总的网络地址的路由
3.外部路由(exterior route):来自外部,比如其他的AS 的路由
IGRP Timers and Stability Features
IGRP 的update 包发送周期为90 秒,是RIP 的3 倍,但是为防止timer 的同步,一般这个期为72 到90 秒之间的随机数
当一条路由初次被学习到以后,这条路由的invalid timer 就设置为270 秒(RIP 的3倍).flush timer 被设置为630 秒(update 发送周期的7 倍).每次接收到该路由的update包以后,这些timer 都会重新的初始化.假如在invalid timer 超出,仍然没接收到该路由的update,那么该路由就标记为不可达,但是该路由仍然会保存在路由表中,并且以目标不可达的方式宣告出去,直到flush timer 超出,该路由就被彻底从路由表中删除.
IGRP 使用了3 倍于RIP 的timer, 优点是节约了链路的带宽, 但是缺点是收敛(convergence)慢于RIP.比如当一台路由器出问题down 掉了IGRP 要用3 倍于RIP 的时间才能检测到该路由器状态的变化
当一条路由标记为不可达的时候,或者下一跳的路由器增大了到达目标地址的metric 并引起触发更新(triggered update),那么该路由将进入holddown 状态,并且holddowntimer 的长度为3 倍update 发送时间再加10 秒(280 秒).这个时候,关于目标地址的任何新的信息都不会被接受直到holddown timer 超出.可以使用命令no metric holddown来关闭这个holddown 特性,一般在一个无环路的网络拓扑里,holddown 特性是没什么用的,关闭这一特性有助于加快收敛时间
各种timer 的修改命令如下:
timers basic {update} {invalid} {holddown} {flush} [sleeptime]
参数sleeptime 的单位是毫秒(ms),用来在接收到一个triggered update 以后,延迟普通的路由update
当你要调整这些timer 的时候,应该注重的是整个AS 内要统一的调整。
缺省情况下,IGRP每90秒发送一次路由更新广播,在3个更新周期内(即270秒),没有从路由中的第一个路由器接收到更新,则公布路由不可访问。在7个更新周期即630秒后,Cisco IOS 软件从路由表中清除路由。
1.有关命令
注:1、autonomous-system可以随意建立,并非实际意义上的autonomous-system,但运行IGRP的路由器要想交换路由更新信息其autonomous-system需相同。
2.举例
Router1:
router igrp 200
network 192.200.10.0
network 192.20.10.0
!