EIGRP 不发送定期更新,而是触发更新(就是说当有变化的时候)。当出现新路由或现有路由需要删除时,EIGRP 只会发送有关该网络的信息,而不是整个路由表。该信息只会发往确实需要此信息的那些路由器。
EIGRP 使用的更新具有以下特点:
l 不定期,因为此类信息不是按固定时间间隔发送。
l 仅当拓扑结构中发生影响路由信息的改变时才发送相关部分的更新。
l 限定范围,这表示部分更新的传播受到自动限制,只有需要该更新信息的路由器才会收到更新。
触发更新:
当拓扑结构发生改变时,为了加速收敛,RIP 将使用触发更新。检测到拓扑结构变化的路由器会立即向相邻路由器发送更新消息。接收到这一消息的路由器将依次生成触发更新,以通知邻居拓扑结构发生了改变。
当发生以下情况之一时,就会发出触发更新:
l 接口状态改变(开启或关闭)
l 某条路由进入(或退出)“不可达”状态
l 路由表中增加了一条路由
如果能够保证更新能立即到达每台路由器,那么仅使用触发更新就已足够。然而,触发更新存在两个问题:
l 包含更新信息的数据包可能在网络的某些链路上丢失或损坏。
l 触发更新并不能在瞬间完成。尚未收到触发更新的路由器有可能在错误的时间发送常规定期更新,从而导致错误的路由重新插入已经收到触发更新的邻居的路由表中。
同步更新存在的问题:
同时发送更新也被称为同步更新,因为距离矢量路由协议使用定期更新机制,因此对于此类协议,同步可能会造成问题。随着同步的路由器计时器越来越多,网络中出现的更新冲突和延迟也会越来越多。
解决方案:
Cisco IOS 引入了称为 RIP_JITTER 的随机变量,此变量会为网络中每台路由器的更新时间间隔减去一段可变时间量。此随机抖动(即可变时间量)的范围是指定更新时间间隔的 0% 到 15%。在这种方式下,默认 30 秒的更新间隔实际会在 25 到 30 秒之间随机变化。
什么是路由环路:
路由环路是指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。
造成环路的可能原因有:
l 静态路由配置错误
l 路由重分发配置错误(就是说把2个不同的路由协议进行互通)
l 发生了改变的网络中收敛速度缓慢,不一致的路由表未能得到更新
l 错误配置或添加了丢弃的路由
路由环路会造成什么影响:路由环路会对网络造成严重影响,导致网络性能降低,甚至使网络瘫痪。
路由环路可能造成以下后果:
l 环路内的路由器占用链路带宽来反复收发流量。
l 路由器的 CPU 因不断循环数据包而不堪重负。
l 路由器的 CPU 承担了无用的数据包转发工作,从而影响到网络收敛。
l 路由更新可能会丢失或无法得到及时处理。这些状况可能会导致更多的路由环路,使情况进一步恶化。
l 数据包可能丢失在“黑洞”中。
路由环路一般是由距离矢量路由协议引发的,目前有多种机制可以消除路由环路。这些机制包括:
l 定义最大度量以防止计数至无穷大(就是定一个最大条数等到达这个条数是自动加到不可达)
l 抑制计时器(就是说当有一条路由信息出现变化时将触发更新,到邻居路由器邻居当收到这条信息后将此路由信息加上抑制计时器,当抑制计时器为0的时候就认为此路由信息失效。)
l 水平分割规则规定,路由器不能使用接收更新的同一接口来通告同一网络。
l 路由毒化或毒性反转
l 触发更新
抑制计时器通过以下方式工作:
1. 路由器从邻居处接收到更新,该更新表明以前可以访问的网络现在已不可访问。
2. 路由器将该网络标记为 possibly down 并启动抑制计时器。
3. 如果在抑制期间从任何相邻路由器接收到含有更小度量的有关该网络的更新,则恢复该网络并删除抑制计时器。
4. 如果在抑制期间从相邻路由器收到的更新包含的度量与之前相同或更大,则该更新将被忽略。如此一来,更改信息便可以继续在网络中传播一段时间。
5. 路由器仍然会转发目的网络被标记为 possibly down 的数据包。通过这种方式,路由器便能克服连接断续所带来的问题。如果目的网络确实不可达,但路由器又转发了数据包,黑洞路由就会建立起来并持续到抑制计时器超时。
水平分割规则:
水平分割规则规定,路由器不能使用接收更新的同一接口来通告同一网络。
路由毒化:路由毒化用于在发往其它路由器的路由更新中将路由标记为不可达。(就是说使用标记“不可达”的方法是将度量设置为最大值。对于 RIP,毒化路由的度量为 16。)
带毒性反转的水平分割:“带毒性反转的水平分割”规则规定,从特定接口向外发送更新时,将通过该接口获知的所有网络标示为不可达。
IP和TTL:TTL(生存时间)是 IP 报头中的 8 位字段,它限制了数据包在被丢弃之前能够在网络中传输的跳数。(TTL经过每个路由都会减1,当减到0时则丢弃,并向该 IP 数据包的源地址发送 ICMP错误消息。)
RIP和EIGRP:
RIP:RIP 已经从有类路由协议 (RIPv1) 发展到无类路由协议 (RIPv2)。RIPv1 和 RIPv2 在计算路由度量时都只考虑跳数,有效路由的跳数不能超过 15 跳。
RIP 的功能:
l 支持用于防止路由环路的水平分割和带毒性反转的水平分割。
l 能够在多达六条的等价路径上进行负载均衡。默认为四条等价路径。
RIPv2 对 RIPv1 进行了如下改进:
l 在路由更新中包含子网掩码,从而使协议变为无类路由协议。
l 增加验证机制以确保路由表更新的安全性。
l 支持可变长子网掩码 (VLSM)。
l 使用组播地址代替广播地址。
l 支持手动总结路由。
EIGRP:是另一种距离矢量协议。EIGRP 具备某些链路状态路由协议功能,是一种无类距离矢量路由协议。(Cisco 私有)
EIGRP 的功能包括:
l 触发更新(EIGRP 没有定期更新)。
l 使用拓扑表维护从邻居处收到的所有路由(不仅是最佳路径)。
l 使用 EIGRP hello 协议与相邻路由器建立邻接关系。
l 支持 VLSM 和手动路由总结。这些功能使得 EIGRP 有能力创建具有层次结构的大型网络。
EIGRP 的优点:
l 尽管路由以距离矢量方式传播,但度量是根据最小带宽和路径的累积延迟进行计算,而不是根据跳数得出。
l 采用扩散更新算法 (DUAL) 进行路由计算,收敛速度更快。DUAL 允许向 EIGRP 拓扑表插入备用路由,当主路由失败时备用路由便可派上用场。由于这一过程在本地实现,所以可以立即切换到备用路由,不需要其它路由器进行任何操作。
l 使用限定更新,因此 EIGRP 使用的带宽更少,特别是在包含许多路由的大型网络中这一点更为明显。
l EIGRP 具有协议相关模块,可支持多种网络层协议,包括 IP、IPX 和 AppleTalk。