本文档介绍在Catalyst 8500双链路故障场景下对EIGRP收敛时间的分析和处理。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
EIGRP(增强型内部网关路由协议)是Cisco的一种增强型距离矢量路由协议。它通过DUAL(扩散更新算法)确保无环路由计算,并在有备用路径时实现快速收敛。
在排除EIGRP故障时,需要区分以下信息:
| 表/概念 |
功能 |
| 邻居表 |
记录已建立EIGRP邻接关系的邻居。 |
| 拓扑表 |
保存从邻居获知的候选路径和DUAL状态。 |
| 路由表 |
存储最终用于实际流量转发的路径。 |
| 后继路由器 |
当前最佳路径,已安装到路由表中。 |
| 可行后继路由器 (FS) |
满足可行性条件的非圆形备份路径;可在主路径出现故障时直接切换。 |
问题行为:在同时管理性关闭两个EIGRP接口后,仍可在路由表中短期观察到与这些接口关联的一条路由。预计在两个接口都关闭后,通过两个故障接口获知的所有路由都将立即消失。

IXIA流量生成器向EIGRP域通告15,000条路由,以模拟生产规模的路由环境。
此行为是预期行为,由EIGRP DUAL(扩散更新算法)引起。这不是软件缺陷。
当多个接口几乎同时发生故障时,DUAL会在启动整个网络范围的完全重新计算之前尝试安装备用可行路径。因此,路由表可以临时显示通过另一个可用后继路由器或可行后继路由器的路由,直到拓扑收敛。
在同时关闭两个接口之前,已在C8500-1上启用调试。
debug eigrp fsm
debug eigrp neighbor
debug eigrp packets
debug ip routing
debug ip eigrp
然后,这些接口同时关闭。
C8500-1(config)#interface range Te0/0/2, Te0/0/3
C8500-1(config-if-range)#shutdown
下面显示了收敛过程中观察到的事件序列。
一旦接口被管理性关闭:
调试示例:
RT: interface Te0/0/2 removed from routing table
RT: interface Te0/0/3 removed from routing table
%DUAL-5-NBRCHANGE: EIGRP-IPv4 500: Neighbor 192.168.11.2 (TenGigabitEthernet0/0/2) is down: interface down
%DUAL-5-NBRCHANGE: EIGRP-IPv4 500: Neighbor 192.168.22.2 (TenGigabitEthernet0/0/3) is down: interface down %LINK-5-CHANGED: Interface TenGigabitEthernet0/0/2, changed state to administratively down %LINK-5-CHANGED: Interface TenGigabitEthernet0/0/3, changed state to administratively down
此时,原始后继路由将变为无效。
C8500-1#show ip route eigrp
10.0.0.0/24 is subnetted, 15000 subnets D 10.0.0.0 [90/256768] via 198.168.23.2, 00:00:00, TenGigabitEthernet0/0/1 D 10.0.1.0 [90/256768] via 198.168.23.2, 00:00:01, TenGigabitEthernet0/0/1 D 10.0.2.0 [90/256512] via 192.168.22.2, 00:00:02, TenGigabitEthernet0/0/3 <<<<<< not disappear directly D 10.0.3.0 [90/256768] via 198.168.23.2, 00:00:01, TenGigabitEthernet0/0/1 D 10.0.4.0 [90/256512] via 192.168.22.2, 00:00:02, TenGigabitEthernet0/0/3 <<<<<< not disappear directly D 10.0.5.0 [90/256512] via 192.168.22.2, 00:00:02, TenGigabitEthernet0/0/3 <<<<<< not disappear directly D 10.0.6.0 [90/256768] via 198.168.23.2, 00:00:00, TenGigabitEthernet0/0/1 D 10.0.7.0 [90/256768] via 198.168.23.2, 00:00:00, TenGigabitEthernet0/0/1 D 10.0.8.0 [90/256768] via 198.168.23.2, 00:00:01, TenGigabitEthernet0/0/1 D 10.0.9.0 [90/256768] via 198.168.23.2, 00:00:00, TenGigabitEthernet0/0/1 D 10.0.10.0 [90/256512] via 192.168.22.2, 00:00:03, TenGigabitEthernet0/0/3 <<<<<< not disappear directly D 10.0.11.0 [90/256512] via 192.168.22.2, 00:00:03, TenGigabitEthernet0/0/3 <<<<<< not disappear directly D 10.0.12.0 [90/256512] via 192.168.22.2, 00:00:03, TenGigabitEthernet0/0/3
DUAL会在整个网络中泛洪查询之前,检查其拓扑表以查找另一个有效的后继路由器。
拓扑信息示例:
| 下一跳 |
状态 |
|---|---|
| 192.168.11.2 |
原始后继路由器(失败) |
| 192.168.22.2 |
最佳备用路径 |
| 198.168.23.2 |
可行后继 |
调试显示:
Find FS for destination
EIGRP-IPv4(500): 192.168.11.2 metric INF/INF (invalid) EIGRP-IPv4(500): 192.168.22.2 metric 256512/256256
EIGRP-IPv4(500): 198.168.23.2 metric 256768/256512
因此,DUAL选择192.168.22.2(metric = 256512)作为新的后继路由器。
路由表会立即更新。
RT: delete route to 10.0.0.0 via 192.168.11.2
RT: updating eigrp 10.0.0.0/8 via 192.168.22.2
... RT: rib update return code: 19 EIGRP-IPv4: routing table not updated thru 192.168.23.2
虽然已经存在另一个通向192.168.23.2的路径,但是没有安装该路径,因为仍有更好的度量可用。
因此,即使某个发生故障的接口已关闭,用户仍可观察到该路由仍然存在。
此行为引起了网络管理员的担忧。
第二个接口随后关闭。
%DUAL-5-NBRCHANGE: Neighbor 192.168.22.2 is down
此时此刻:
RT: delete route to 10.0.0.0 via 192.168.22.2
RT: no routes to 10.0.0.0, delayed flush
DUAL发送查询并等待来自其余邻居的回复。
剩余邻居使用备用路径进行回复。
EIGRP: Received REPLY on Te0/0/1 from 192.168.23.2 ... RT: add 10.0.0.0/8 via 192.168.23.2, eigrp metric [90/256768]
然后安装新的后继路由器。
一旦收敛完成,EIGRP就会通告更新后的拓扑。
Send UPDATE
Advertise out Te0/0/1
所有邻居都会收到新的拓扑信息。
网络恢复稳定状态。

主要原因是,如果另一个有效的后继路由器或可行后继路由器可用,则DUAL不会立即删除目标。
相反,DIGRP尝试通过在启动完整的拓扑重新计算之前将流量切换到另一个可用路径来保持转发连续性。
因此,在第一个接口出现故障后:
只有当第二个备用路径也不可用后,DUAL才会开始再次重新计算并安装最终的可用路径。
此行为与快速收敛的EIGRP设计目标完全一致。
| 期限 |
描述 |
|---|---|
| 后继路由器 |
路由表中当前安装的最佳无环路由。 |
| 可行后继 |
存储在拓扑表中的备用无环路由。 |
| 可行距离 (FD) |
到目标的最小计算度量。 |
| 通告距离 (RD) |
邻居通告的度量。 |
| 活动状态 |
DUAL正在搜索新路径。 |
| 被动状态 |
路由是稳定的。 |
| 回复计数 |
收敛完成前未完成的回复数。 |
| 度量=无限 |
表示该路由不再可达。 |
| RIB返回代码19 |
未安装候选路由,因为RIB中已存在更好的路由 |
观察到的行为是预期的EIGRP DUAL行为,而不是路由异常。
当两个接口快速相继关闭时:
因此,观察到,一条路由在同时关闭两个接口后仍保留在路由表中,是DUAL收敛过程的正常结果,并不表示存在软件缺陷。
| 版本 | 发布日期 | 备注 |
|---|---|---|
1.0 |
31-Aug-2026
|
初始版本 |