EIGRP采用了扩散更新算法(Diffusing Update Algorithm,DUAL),DUAL算法收敛速度快,且可保证网络100%无环路。EIGRP采用触发更新,支持VLSM和不连续的子网,可实现非等开销路径的负载平衡。EIGRP和IGRP可在同自治系统内交换路由信息。EIGRP适用于中大型网络使用。
EIGRP工作原理的步骤:
初始运行EIGRP的路由器都要经历发现邻居、了解网络、选择路由的过程,在这个过程中同时建立三张独立的表:列有相邻路由器的邻居表、描述网络结构的拓扑表、路由表,并在运行中网络发生变化时更新这三张表。
(1)建立相邻关系
运行EIGRP的路由器自开始运行起,就不断用组播地址从参与EIGRP的各个接口向外发送HELLO包。当路由器收到某个邻居路由器的好个HELLO包时,以单点传送方式回送个更新包,在得到对方路由器对更新包的确认后,双方建立起邻居关系。
(2)发现网络拓扑,选择短路由
当路由器动态地发现了个新邻居时,也获得了来自这个新邻居所通告的路由信息,路由器将获得的路由更新信息首先与拓扑表中所记录的信息进行比较,符合可行条件的路由被放入拓扑表,再将拓扑表中通过后继路由器的路由加入路由表,通过可行后继路由器的路由如果在所配置的非等成本路由负载均衡的范围内,则也加入路由表;否则,保存在拓扑表中作为备择路由。如果路由器通过不同的路由协议学到了到同目的地的多条路由,则比较路由的管理距离,管理距离小的路由为优路由。
(3)路由查询和更新
当路由信息没有变化时,EIGRP邻居间只是通过发送HELLO包,来维持邻居关系,以减少对网络带宽的占用。在发现个邻居丢失、条链路不可用时,EIGRP立即会从拓扑表中寻找可行后继路由器,启用备份路由。如果拓扑表中没有后继路由器,由于EIGRP依靠它的邻居来提供路由信息,在将该路由置为活跃状态后,向所有邻居发送查询数据包。
如果某个邻居有条到达目的地的路由,那么它将对这个查询进行答复,并且不再扩散这个查询,否则,它将进步地向自己的每个邻居查询,只有所有查询都得到答复后,EIGRP才重新计算路由,选择新的后继路由器。