一、背景
IGRP(Interior Gateway Routing PRotocol)是八十年代中期由Cisco公司开发的路由协议, Cisco创建IGRP的主要目的是为AS内的路由提供一种健壮的协议。
八十年代中期,最流行的AS内的路由协议是m" target="_blank"Rip。虽然RIP对于在小到中型的同类网中非常有用,但随着网络的发展, 其限制越来越显著,非凡是RIP很小的跳数限制(16)制约了网络的规模,且其单一的metric(跳数)在复杂的环境中很不灵活。 Cisco路由器的普及和IGRP的健壮性使许多拥有大型网络的组织用IGRP代替RIP。
Cisco最初的IGRP实现工作在IP网络上,但是IGRP是设计以运行于任何网络环境中的, Cisco很快就把它移植以运行于OSI的CLNP(Connectionless Network Protocol)网络。 在九十年代初Cisco开发了增强型IGRP(EIGRP)以提高IGRP的工作效率,本文讨论IGRP的基本设计和实现。
二、IGRP协议特性
IGRP是一种距离向量型的内部网关协议(IGP)。 距离向量路由协议要求每个路由器以规则的时间间隔向其相邻的路由器发送其路由表的全部或部分。随着路由信息在网络上扩散, 路由器就可以计算到所有节点的距离。
IGRP使用一组metric的组合(向量),网络延迟、带宽、可靠性和负载都被用于路由选择,网管可以为每种metric设置权值, IGRP可以用治理员设置的或缺省的权值来自动计算最佳路由。 IGRP为其metric提供了较宽的值域。例如, 可靠性和负载可在1和255之间取值; 带宽值域为1200bps到10吉(千兆)bps;延迟可取值1到24。宽的值域可以提供满足的metric设置,更重要的是, metric各组件以用户定义的算法结合,因此,网管可以以直观的方式影响路由选择。
为了提供更多的灵活性,IGRP答应多路径路由。两条等带宽线路可以以循环(round-robin)方式支持一条通信流, 当一条线路断掉时自动切换到第二条线路。此外,即使各条路的metric不同也可以使用多路径路由。 例如,假如一条路径比另一条好三倍, 它将以三倍使用率运行。只有具有一定范围内的最佳路径metric值的路由才用作多路径路由。
1、稳定性
IGRP提供许多特性以增强其稳定性,包括hold-down、split horizon和poison-reverse。
Hold-down用于阻止定期更新信息不适当地发布一条可能失效的路由信息。当一个路由器失效时, 相邻的路由器通过未收到定期的更新消息检测到该情况, 这些路由器就计算新的路由并发送路由更新信息把路由改变通知给它们相邻的路由器。 这一举动激发一系列触发的更新,这些触发的更新并不能马上到达每一个网络设备,所以可能发生这样的情况: 一个还未收到网络失效信息的设备给一个刚被通知网络失效的设备发送定期更新信息,说那条已断掉的路由还是好的,这样, 后者就会含有(还可能发布)错误的路由信息。Hold-down告诉路由器把可能影响路由的改变保持一段时间。 Hold-down时期通常只比整个网络更新某一路由改变所需时间多一点。
Split horizon来源于下列承诺:把路由信息发回到其来源是无意义的。下图示意为split-horizon规则。 路由器1(R1)首先发布到网络A的路由,路由器2(R2)没有必要在给R1的更新信息中含有该路由,因为R1离网络A更近。 split-horizon规则要求R2在给R1的更新信息中去掉该路由。 split-horizon规则可以帮助避免路由环。例如,假设R1到网络A的接口失效了,R2继续通知R1说它可以到达网络A(通过R1), 假如R1不够聪明,就可能用R2的路由取代已失效的直接连接,于是就产生了路由环。虽然Hold-down应该防止这类情况, IGRP也实现了split-horizon,因为它可提供更好的算法稳定性。
Split-horizon应该防止相邻路由器间的路由环,而poison-reverse对于防止较大的路由环是必要的。 路由metric的持续增长通常意味着存在路由环,poison-reverse更新就被发送以删除该路由并置于hold-down状态。 在Cisco的IGRP实现中,假如路由metric以1.1或更大的比例增长就发送poison-reverse更新信息。
2、计时器
IGRP维护一组计时器和含有时间间隔的变量。包括更新计时器、失效计时器、保持计时器和清空计时器。 更新计时器规定路由更新消息应该以什么频度发送,IGRP中此值缺省为90秒。失效计时器规定在没有特定路由的路由更新消息时, 在声明该路由失效前路由器应等待多久,IGRP中此值缺省为更新周期的三倍。保持时间变量规定hold-down周期, IGRP中此值缺省为更新周期加10秒。最后,清空计时器规定路由器清空路由表之前等待的时间,IGRP的缺省值为路由更新周期的七倍。