加强型闸道间选径协定

加强型-{}-闸道间选径协定（，缩写为EIGRP），又译增强型-{}-内部网关路由协议，一种内部网关协议（IGP）。在内部网关路由协议（IGRP）的基础上，由思科公司发展而成，于2013年Cisco将此标准公开，不再是私有的路由协议，在同样。EIGRP是一种高级距离矢量路由协议（也称混合型路由协议）。
EIGRP的基本操作.
EIGRP所收集的信息存放在以下三个表中:
EIGRP有以下四个基本组件：
混合度量值.
EIGRP同时考虑了链路的带宽、延迟、可靠性、负载4个因素来计算路由的度量值：
 Router&gt;show ip eigrp topology 10.0.0.1 255.255.255.255
 IP-EIGRP topology entry for 10.0.0.1/32
 State is Passive, Query origin flag is 1, 1 Successor(s) , FD is 40640000
 Routing Descriptor Blocks:
 10.0.0.1 (Serial0/0/0) , from 10.0.0.1, Send flag is 0x0
 Composite metric is (40640000/128256) , Route is Internal
 Vector metric:
 Minimum bandwidth is 64 Kbit
 Total delay is 25000 microseconds
 Reliability is 255/255
 Load is 197/255
 Minimum MTU is 576
 Hop count is 1
EIGRP在计算混合度量值的时候还引入了5个K值：K1到K5。注意K值在计算的时候仅仅作为一个乘数，而不等于所对应的真实值，如K1的数值不等于带宽的数值。
默认情况下，EIGRP在计算混合度量值的时候只考虑了带宽和延迟（即K1和K3）两个因素，但是可以人工的修改K值来控制所考虑的因素。
EIGRP的混合度量值根据以下公式来计算：
公式中K1到K5的值可以手工的设为0～255之间任意整数。
默认情况下K1和K3设为1，其他K值设为0，公式可以简化为(Bandwidth + Delay) * 256。
EIGRP域内所有路由器的K值都必须设为相同的值，否则可能会产生路由环路。Cisco规定如果两台EIGRP路由器的K值不同，那么它们不会建立邻居关系。
EIGRP使用以下公式来计算带宽：
其中：Interface Bandwidth为使用链路（由目的到源）所有区间上的最小带宽，使用千比特每秒（kilobits per second/kbps）为计量单位； Interface Delay为各链路总延迟，单位为10μs（tens of microseconds)。
在Cisco路由器上，带宽和延时都是可以手工设置的。
IGRP也使用相同的基本公式来计算混合度量值，唯一不同的是该公式没有乘数256。
EIGRP同样也使用了跳数（Hop），不过在计算混合度量值的时候跳数并没有包括在其中。在Cisco路由器上，默认的跳数最大值为100，任何跳数超过100的路由都将被视为不可达。当然亦可调整每台Cisco路由器上头的EIGR跳数来增加网路路由的范围，最大跳数为244。
后继.
后继（Successor），是指从当前路由器到目的路由器路径最优的路由。后继必须同时满足以下两个条件：
第一个条件可以通过比较所有从邻居路由器接收到的到相同目的地的路由的度量值，来选出具有最低度量值的路由器。
第二个条件可以通过可行条件（Feasibility Condition，FC）来保证。对于去往同一个目的地的路由，若有多个相同的目的地路由度量质，则会有多个后继，以达到负载平衡(Load Balance)。
后继会被加载到路由表以供路由器转发数据，并且EIGRP路由器会将加载到路由表中的路由通告给其他EIGRP邻居。
可行后继.
除了度量值最低的路径外，拓扑表还会存储前往每个目的地的后备路径。要成为可行后继，下一跳路由器的通告距离(Advertisement Distance)必须小于当前路由的可行距离(Feasible Distance)，即AD&lt;FD。可行后继比当前路由器离目的地更近，但不是度量值最小的路径，所以不会加载到路由表中，只会存储在拓扑表中。和后继一样，对于同一个目的地，可以有多个可行后继。
通告距离和可行距离.
通告距离（Advertised Distance，AD）是到目的地的下一跳路由器到该目的地的度量值。通告距离的英文也可写作Reported Distance（RD）。
可行距离（Feasible Distance，FD）是路由器到某目的地的最低度量值。FD等于AD加上从当前路由器到下一跳路由器的度量值。
可行条件.
eigrp的可行条件为: 路由的AD&lt; successor的FD
路由的状态.
被动(Passive)状态:EIGRP网路收敛完成后，并能提供无路由环路(Loop-Free Route)路由状态。当前网络为可用。
活动(Active)状态:当前的网路正处于发送查询状态，当前网络不可用。若拓朴表一直出现此状态，则EIGRP这条路由已经进入到 Stuck-in-Active (SIA)的状态，提示EIGRP网路的收敛发生了问题。
更新(Update)等待状态:当前网络正处于等待更新包的回应状态。(较少看见)
查询(Query)等待状态:当前网络正处于等待查询包的回应的状态。(较少看见)
EIGRP其他特性.
⒈支援 Classful 与 Classless 路由特性:
EIGRP一改以往IGRP不支援Classless的缺点。在于发送路由更新的时候，亦携带该路径的子网遮罩(submask)。而支援自动路由汇总(auto-summary)的功能，而这项功能是预设启用。不过通常在于专业的网管人员使用EIGRP的时候，会强烈建议关闭该项自动路由汇总的功能。
⒉支援不对等路径度量负载平衡(Unequal Cost Path Load Balancing):
虽然EIGRP支援不对等路径度量负载平衡；但于Cisco路由器上仍需手动启用此项功能。而要使用此项功能的要求在于拓朴表(topology table)当中必须拥有可行后继(Feasible Sucessor)才可启用此功能。而可行后继路由路径度量必须小于或等于所设定的变数(variance)的倍数值(1－128)才能启用负载平衡的功能，符合该倍数值的可行后继路由则会出现在路由表当中。目前此特性是所有路由协议(除IGRP外)望尘莫及。
⒊路由更新占用较少的介面频宽(interface bandwidth):
EIGRP预设情况下，最多占用介面或子介面配置频宽的50%。由于在早期的网路频宽较少的状况下，EIGRP协议能够减少路由协议之间的沟通所占用的频宽。至今频宽较大的今日，这个功能也就显得没有那么重要。目前此特性是独一无二。当然亦可在Cisco路由器上的介面上配置频宽或者调整占用的百分比等等。
⒋Stuck-in-Active:
EIGRP的路由环境在于中小型的路由环境中(小于20台)的路由收敛速度是首屈一指(由于使用DUAL算法，并且拥有自身的拓朴表。)；但是在于大型的的路由环境中(大于50台)的路由收敛速度反而会因为DUAL算法而导致路由收敛产生SIA(Stuck-in-Active)的问题发生。而这个问题的解决方案就是限制EIGRP查询范围，并且在路由器的介面(interface)上设置路由汇总(route summary)，如此才能够阻止EIGRP的SIA状况。
参考文献.
TCP/IP路由技术（第一卷）（第二版）（美）多伊尔，（美）卡罗尔 著，葛建立，吴剑章 译
/ 人民邮电出版社