EIGRP(增强型内部网关路由协议)是一种距离矢量无类路由协议,它于 1992 年与 IOS 9.21 一起发布。顾名思义,EIGRP 是 Cisco IGRP(内部网关路由协议)的增强版。它们都是 Cisco 的专有协议,只能在 Cisco 路由器上运行。
Cisco 开发 EIGRP 的主要目的在于开发 IGRP 的无类版本。EIGRP 中有几项功能在其它距离矢量路由协议(例如 RIP [RIPv1 和 RIPv2] 和 IGRP)中并不常见。这些功能包括:
.可靠传输协议 (RTP)限定更新
.扩散更新算法 (DUAL)
.建立邻接关系
.邻居表和拓扑表
尽管 EIGRP 的工作方式 类似于链路状态路由协议,但它仍然是一种距离矢量路由协议。
注:术语混合 路由协议有时被用来指称 EIGRP,但此术语容易引起误解,因为 EIGRP 不是距离矢量路由协议和链路状态路由协议的混合体,而是纯粹的距离矢量路由协议。因此,Cisco 不再使用这个词来称呼 EIGRP。
RTP(可靠传输协议)是 EIGRP 独有的协议,它可用于以可靠或不可靠两种方式传输 EIGRP 数据包。此外,EIGRP 与直连且启用了 EIGRP 的路由器建立邻接关系。邻接关系用于跟踪这些邻居的状态。RTP 以及对邻接关系的跟踪为 EIGRP 的核心 ― 扩散更新算法 (DUAL) 打下了基础。
作为驱动 EIGRP 的计算引擎, DUAL 位于协议的中央,确保在整个路由域内消除路径环路并提供备用路径。
与 RIPv2 相似,EIGRP 也可以执行有类或无类路由。
EIGRP 的前身:IGRP
Cisco 于 1985 年开发出专有的 IGRP,IGRP 的问世解决了 RIPv1 的某些局限性,如使用跳数度量以及网络的最大跳数为 15 跳等。
IGRP 和 EIGRP 不使用跳数作为度量,而是使用由带宽、延迟、可靠性和负载组成的综合度量。默认情况下,这两种协议仅使用带宽和延迟。然而,因为 IGRP 是使用贝尔曼-福特 (Bellman-Ford) 算法和定期更新的一种有类路由算法,所以其应用在当今的许多网络中都受到了限制。
因此,Cisco 使用新算法 DUAL 以及其它功能使 IGRP 得到增强。IGRP 和 EIGRP 的命令相似,甚至在很多情况下相同。这便于从 IGRP 过渡到 EIGRP。 Cisco 从 IOS 12.2(13)T 和 12.2(R1s4)S 开始不再支持 IGRP。
简单介绍一下传统距离矢量路由协议(例如 RIP 和 IGRP)与增强型距离矢量路由协议 EIGRP 的一些差异
算法
传统距离矢量路由协议都使用 Bellman-Ford 或 Ford-Fulkerson 算法的某些变体。这些协议(例如 RIP 和 IGRP)的每个路由条目会过期,因此需要定期发送路由表更新。
EIGRP 使用扩散更新算法 (DUAL)。尽管 EIGRP 仍是一种距离矢量路由协议,但因为使用 DUAL,所以具有传统距离矢量路由协议所不具备的新功能。EIGRP 不会发送定期更新,路由条目也不会过期。而且,EIGRP 使用一种轻巧的 Hello 协议来监控它与邻居的连接状态。仅当路由信息变化时(例如新增了链路或链路变得不可用时),才会产生路由更新。EIGRP 路由更新仍然是传输给直连邻居的距离矢量。
路径确定
诸如 RIP 和 IGRP 等传统距离矢量路由协议仅记录通向目的网络的首选路径(即最佳路径)。如果首选路径变得不可用,路由器将等待其它路由更新,以获知通向该远程网络的其它路径。
EIGRP 的 DUAL 则在路由表之外另行维护一个拓扑表,该拓扑表不仅包含通向目的网络的最佳路径,还包含被 DUAL 确定为无环路径的所有备用路径。“无环”表示邻居没有通过本路由器到达目的网络的路由。
路径确定
诸如 RIP 和 IGRP 等传统距离矢量路由协议仅记录通向目的网络的首选路径(即最佳路径)。如果首选路径变得不可用,路由器将等待其它路由更新,以获知通向该远程网络的其它路径。
EIGRP 的 DUAL 则在路由表之外另行维护一个拓扑表,该拓扑表不仅包含通向目的网络的最佳路径,还包含被 DUAL 确定为无环路径的所有备用路径。“无环”表示邻居没有通过本路由器到达目的网络的路由。
由于 EIGRP 是一种距离矢量路由协议,因此可能存在不符合可行性条件的无环备用路径,并且这些路径不会被 DUAL 作为有效无环备用路径存入拓扑表。
如果一条路径变得不可用,DUAL 会在其拓扑表中搜索有效的备用路径。如果存在有效的备用路径,该路径会立即被输入到路由表中。如果不存在,则 DUAL 会执行网络发现过程,看是否存在不符合可行性条件要求的备用路径。
收敛
诸如 RIP 和 IGRP 等传统距离矢量路由协议使用定期更新。由于定期更新的不可靠性,传统距离矢量路由协议容易出现路由环路和计数至无穷大的问题。RIP 和 IGRP 使用几种机制来避免这些问题(包括抑制计时器),但这些机制会导致收敛时间变长。
EIGRP 不使用抑制计时器,而是使用一种在路由器间协调的路由计算系统(扩散计算)来实现无环路径。