目录

简介

先决条件

要求

使用的组件

背景信息

协议修订

基本原理

邻居发现和维护

构建拓扑表

EIGRP 度量

可行距离、报告距离和可行后继路由

发现路径是否无环路

水平分割与毒性逆转

启动模式

拓扑表更改

查询

停滞在活动状态的路由

排除SIA路由故障

重分发

两个 EIGRP 自治系统之间的重分配

到/从其他协议的重分配

指向接口的静态路由的重分配

汇总

自动总结

手动总结

外部路由的自动汇总

查询过程和范围

汇总点如何影响查询范围

自治系统边界如何影响查询范围

分配列表如何影响查询范围

管理传输数据包的速度

默认路由

负载平衡

使用指标

在重分发中使用管理标记

了解EIGRP命令输出

show ip eigrp traffic

配置说明

show ip eigrp topology

show ip eigrp topology

配置说明

配置说明

show ip eigrp topology [active | 挂起 | zero-successors]

show ip eigrp topology all-links

相关信息

简介

本文档介绍如何使用称为“增强型内部网关路由协议 (EIGRP)”的内部网关协议。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

在设计合理的网络中，EIGRP可以很好地扩展，以最少的网络流量提供极快的收敛时间。

EIGRP的一些优势包括：

- 正常运行期间网络资源的使用率非常低；在稳定的网络上仅传输hello数据包。

- 发生更改时，只传播路由表更改，而不传播整个路由表；这样可以减少路由协议本身对网络的负载。

- 网络拓扑更改的快速收敛时间（在某些情况下，收敛几乎是瞬时的）。

EIGRP是一种增强型距离矢量协议，它依靠扩散更新算法(DUAL)来计算到达网络中目的地的最短路径。

协议修订

EIGRP有两个主要版本：版本0和1。早于10.3(11)、11.0(8)和11.1(3)的Cisco IOS®版本运行EIGRP的早期版本；某些信息不适用于早期版本。建议使用EIGRP中的更高版本，因为它包含许多性能和稳定性增强功能。

基本原理

典型的距离矢量协议在计算到达目的地的最佳路径时保存此信息：距离（总度量或距离，如跳数）和矢量（下一跳）。例如，图1中网络中的所有路由器都运行路由信息协议(RIP)。路由器Two通过检查每条可用路径的跳数来选择到达网络A的路径。

图 1

由于通过路由器3的路径是三跳，通过路由器1的路径是两跳，路由器2选择通过路由器1的路径，同时丢弃从路由器3获得的信息。如果路由器1和网络A之间的路径断开，路由器2丢失所有与目的地的连接，直至路由表的路由结束为止(3次更新时间，或90秒)，并且路由器3重新通告路由（RIP中每30秒发生一次)。如果没有包含任何抑制时间，路由器2需要花费90到120秒才能将路径从路由器1切换到路由器3。

EIGRP并不依赖完全的定期更新来重新收敛，而是从它的每个邻居通告中构建一个拓扑表（数据不会被丢弃），并通过在拓扑表中搜索可能的无环路由进行收敛，或者，如果它没有找到另一条路由，则会查询其邻居。路由器 Two 保存它从路由器 One 和 Three 收到的信息。它把通过路由器1的路径选为最佳路径(后继路由)，把通过路由器3的路径选为无环回路径(可行后继路由)。当通过路由器1的路径不可用时，路由器2检查其拓扑表，当找到可行后继路由器时，立即开始使用通过路由器3的路径。

从此简要说明中，显而易见 EIGRP 必须提供以下内容：

- 在指定时间仅发送所需更新的系统；这通过邻居发现和维护来实现

- 确定路由器获知哪些路径是无环路的一种方法

- 一个从网络上所有路由器的拓扑表中清除不良路由的进程

- 搜索邻居以查找通往丢失目的地的路径的过程

这些要求都逐一介绍。

邻居发现和维护

为了在整个网络中分配路由信息，EIGRP 使用非周期性的增量路由更新。也就是说，EIGRP 只在这些路径更改时发送有关已更改路径的路由更新。

如果仅发送路由更新，则无法发现通过相邻路由器的路径何时不再可用。您不能使路由超时，并期望从邻居收到一个新的路由表。EIGRP依靠邻居关系在整个网络中传播路由表更改；当两台路由器在公用网络上看到hello数据包时，它们就会成为邻居。

EIGRP 在高带宽链路上每隔 5 秒发送一次 hello 数据包；而在低带宽多点链路上则每隔 60 秒发送一次。

- 5 秒 hello：

- 广播介质，如以太网、令牌环和 FDDI

- 点对点串行链路，例如PPP或HDLC租用电路、帧中继点对点子接口和ATM点对点子接口

- 高带宽（大于 T1）多点电路，如 ISDN PRI 和帧中继

- 60 秒 hello：

- T1 带宽或更慢的多点电路，如帧中继多点接口、ATM 多点接口、ATM 交换虚拟电路和 ISDN BRI

EIGRP 发送 hello 数据包的速率称为 hello 间隔，您可以使用 ip hello-interval eigrp 命令，根据每个接口对它进行调整。保持时间是路由器不接收hello数据包时将邻居视为活动状态的时间量。保持时间通常是hello间隔的三倍，默认情况下为15秒和180秒。您可以使用 ip hold-time eigrp 命令调整保持时间。

注：如果您更改了hello间隔，暂候时间不会自动调整以适应此更改。您必须手动调整保持时间，以反映配置的hello间隔。

即使 hello 和保持计时器不匹配，两个路由器也可能成为 EIGRP 邻居。保持时间包含在hello数据包中，因此即使呼叫间隔和保持计时器不匹配，每个邻居也可以保持活动状态。 虽然没有直接的方法来确定路由器上的Hello间隔，但您可以从相邻路由器上的show ip eigrp neighbors命令的输出中推断出该间隔。

如果从Cisco设备获得show ip eigrp neighbors命令的输出，则在启用JavaScript的情况下，您可以使用Cisco CLI分析器显示潜在问题和解决方法。

router#show ip eigrp neighbors

IP-EIGRP neighbors for process 1

H   Address       Interface   Hold Uptime   SRTT   RTO  Q  Seq  Type

(sec)         (ms)       Cnt Num

1   10.1.1.2      Et1           13 12:00:53   12   300  0  620

0   10.1.2.2      S0           174 12:00:56   17   200  0  645

rp-2514aa#show ip eigrp neighbor

IP-EIGRP neighbors for process 1

H   Address        Interface   Hold Uptime   SRTT   RTO  Q  Seq  Type

(sec)         (ms)       Cnt Num

1   10.1.1.2       Et1           12 12:00:55   12   300  0  620

0   10.1.2.2       S0           173 12:00:57   17   200  0  645

rp-2514aa#show ip eigrp neighbor

IP-EIGRP neighbors for process 1

H   Address        Interface   Hold Uptime   SRTT   RTO  Q  Seq  Type

(sec)         (ms)       Cnt Num

1   10.1.1.2       Et1           11 12:00:56   12   300  0  620

0   10.1.2.2       S0           172 12:00:58   17   200  0  645

命令输出的Hold列中的值决不能超过保持时间，并且决不能小于保持时间减去hello间隔（当然，除非您丢失了hello数据包）。如果Hold列的范围通常介于10和15秒之间，则hello间隔为5秒，保持时间为15秒。如果Hold列的范围通常较宽（介于120和180秒之间），则hello间隔为60秒，保持时间为180秒。如果数字似乎不符合某个默认计时器设置，请检查相邻路由器上的相关接口。Hello计时器和保持计时器可能是手动配置的。

注意：EIGRP不会通过辅助地址建立对等关系。所有 EIGRP 流量都源自接口的主地址。

- 当您在多路访问帧中继网络（例如，点对多点）上配置EIGRP时，请在frame-relay map语句中配置broadcast关键字。没有 broadcast 关键字，不会在两个 EIGRP 路由器之间建立邻接关系。有关详细信息，请参阅帧中继配置和故障排除综合指南。

- 对于 EIGRP 可以支持的邻居数量，没有任何限制。支持的邻居的实际数量取决于设备功能，例如：

- 内存容量

- 处理能力

- 交换信息的量，如发送的路由数

- 拓扑复杂性

- 网络稳定性

构建拓扑表

现在这些路由器相互通信，它们之间又在谈论什么？当然是它们的拓扑表！EIGRP 不同于 RIP 和 IGRP，它不依靠路由器中的路由（或转发）表来保留其运行所需的所有信息。但是，它会建立第二个表（拓扑表），并从该表将路由安装在路由表中。

注意：从Cisco IOS版本12.0T和12.1开始，RIP维护自己的数据库，并从中将路由安装到路由表中。

要查看运行EIGRP的路由器的拓扑表的基本格式，请发出show ip eigrp topology命令。拓扑表包含构建到达每个可达网络的一组距离和矢量所需的信息，以及：

- 上游邻居报告的到此目标的路径上的最低带宽

- 总延迟

- 路径可靠性

- 路径负载

- 最短路径最大传输单元 (MTU)

- 可行距离

- 报告距离

- 路由源（外部路由将被标记）

如果从Cisco设备获得show ip eigrp topology命令的输出，则可以使用Cisco CLI分析器显示潜在问题和解决方法。要使用Cisco CLI分析器，必须启用JavaScript。

EIGRP 度量

EIGRP 使用到目标网络的路径上的最低带宽和总延迟计算路由度量。建议不要配置其他度量，因为它可能导致网络中的路由环路。带宽和延迟度量是根据到目标网络的路径中的路由器接口上所配置的值决定的。

例如，在图2中，路由器1计算到达网络A的路径。

图 2

它从两个用于此网络的通告开始：一个通过路由器4，最小带宽为56，总延迟为2200；另一个通过路由器3，最小带宽为128，延迟为1200。路由器 One 选择度量最小的路径。

计算指标。EIGRP在扩展带宽和延迟度量时计算总度量。EIGRP使用以下公式扩展带宽：

- 带宽 = (10000000/bandwidth(i)) * 256

其中，bandwidth(i) 是到目标网络的路由上所有传出接口的最低带宽（以千位为单位表示）。

EIGRP使用此公式来扩展延迟：

- 延迟 = delay(i) * 256

其中，delay(i) 是在到目标网络的路由上的接口上配置的延迟的总和，单位为十微秒。show ip eigrp topology 或 show interface 命令中显示的延迟以微秒为单位，因此在此公式中使用该值前必须将其除以 10。使用延迟是因为它显示在接口上。

EIGRP使用这些标度值，来确定到网络的总度量值：

- 度量=([K1 *带宽+（K2 *带宽）/（256 — 负载）+ K3 *延迟] * [K5 /（可靠性+ K4）])* 256

注意：必须在仔细规划后使用K值。不匹配的K值会阻止建立邻居关系，这可能导致网络无法收敛。

注：如果K5 = 0，公式将变为度量=([k1 *带宽+（k2 *带宽）/（256 — 负载）+ k3 *延迟])* 256。

K 的默认值如下：

- K1 = 1

- K2 = 0

- K3 = 1

- K4 = 0

- K5 = 0

对于默认行为，您可以简化公式，如下所示：

metric = bandwidth + delay

Cisco 路由器不执行浮点运算，因此在每个计算阶段，都需要四舍五入到最接近的整数才能正确计算度量。

在本示例中，通过路由器 Four 的总成本为：

inimum bandwidth = 56k

total delay = 100 + 100 + 2000 = 2200

[(10000000/56) + 2200] x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376

通过路由器 Three 的总成本为：

minimum bandwidth = 128k

total delay = 100 + 100 + 1000 = 1200

[(10000000/128) + 1200] x 256 = (78125 + 1200) x 256 = 79325 x 256 = 20307200

要到达网络A，路由器1选择通过路由器3的路由。

注意：使用的带宽和延迟值是在路由器到达目的网络下一跳的接口上配置的。例如，路由器2通告了网络A，在其以太网接口上配置了延迟；路由器4添加了在其以太网上配置的延迟，路由器1添加了在其串行接口上配置的延迟。

可行距离、报告距离和可行后继路由

可行距离是通往目的网络路径的最佳度量，其中包括通往通告该路径的邻居的度量。报告距离是沿到目标网络的路径的总度量，由上游邻居通告。可行后继路由是报告距离小于可行距离（当前最佳路径）的路径。图 3 说明了此过程：

图 3

路由器One发现它有两条通往网络A的路由：一条通过路由器Three，另一条通过路由器Four。

- 通过路由器 Four 的路由成本为 46277376，报告距离为 307200。

- 通过路由器 Three 的路由成本为 20307200，报告距离为 307200。

注意：在每种情况下，EIGRP都会计算从向网络通告路由的路由器发出的报告距离。换句话说，从路由器 4的报告距离是从路由器 4到达网络 A 的度量，而从路由器 3的报告距离则是从路由器 3 到达网络 A 的度量。EIGRP选择通过路由器Three的路由作为最佳路径，使用通过路由器Three的度量作为可行距离。由于通过路由器4到达此网络的报告距离小于可行距离，因此路由器1 会将通过路由器4的路径视为可行后继路由。

当路由器 1和 3之间的链路断开时，路由器1 会对它所知道的通往网络 A 的每条路径进行检查，并发现它有一个通过路由器 4 的可行后继路由。路由器One使用此路由，它使用通过路由器Four的度量作为新的可行距离。网络立即收敛，并且对下游邻居的更新将是路由协议中的唯一流量。

图4所示场景更为复杂。

图 4

从路由器1到网络A有两条路由：一条通过路由器2，度量为46789376，另一条通过路由器3，度量为20307200。路由器One选择这两个度量中最小的作为通向网络A的路由，并且此度量成为可行距离。查看通过路由器2的路径，看它是否符合可行后继路由器的条件。路由器 2 的报告距离为 46277376，该距离大于可行距离，因此该路径不是可行后继路由。如果此时您要查看路由器1的拓扑表(使用show ip eigrp topology)，您只会看到一个条目，表示网络A通过路由器3。(实际上，路由器One的拓扑表中有两个条目，但只有一个条目是可行后继路由，因此另一个条目不会显示在show ip eigrp topology中；通过show ip eigrp topology all-links，您可以看到不是可行后继路由的路由。)

假设路由器1和路由器3之间的链路断开。路由器 One 看到它丢失了到网络 A 的唯一路由，并查询它的每个邻居（在本例中，只有路由器 Two）以查看它们是否具有到网络 A 的路由。由于路由器 Two 确实具有一个到网络 A 的路由，因此它会对查询做出响应。由于路由器One不再具有通过路由器Three的更好路由，因此它接受通过路由器Two到达网络A的此路由。

发现路径是否无环路

EIGRP 如何使用可行距离、报告距离和可行后继路由的概念来确定路径是否有效且不是环路？在图 4a 中，路由器 Three 检查到网络 A 的路由。由于水平分割已禁用（例如，如果这些是多点帧中继接口），因此路由器Three显示通向网络A的三条路由：通过路由器Four、通过路由器Two（路径为2、1、3、4）和通过路由器One（路径为1、2、3、4）。

图4a

如果路由器 Three 接受所有这些路由，将导致路由环路。路由器 Three 认为它能通过路由器 Two 到达网络 A，但是通过路由器 Two 的路径经过路由器 Three 才能到达网络 A。如果路由器4和路由器3之间的连接断开，路由器3认为它可以通过其他路径之一到达网络A，但由于确定可行后继路由的规则，它绝不会使用这些路径作为备用路径。查看指标以了解原因：

- 通过路由器4到达网络A的总度量：20281600

- 通过路由器Two到达网络A的总度量：47019776

- 通过路由器1到达网络A的总度量：47019776

由于通过路由器4的路径具有最佳度量，因此路由器3将此路由安装在转发表中，并使用20281600作为到达网络A的可行距离。路由器3然后计算通过路由器2和路由器1到网络A的报告距离：47019776表示通过路由器2的路径，47019776表示通过路由器1的路径。由于这两个度量都大于可行距离，因此路由器 Three 不会将其中任何一个路由作为网络 A 的可行后继路由进行安装。

假设路由器 Three 和 Four 之间的链路断开。路由器 3向它的每个邻居查询通向网络 A 的替代路由。路由器 2 收到查询，由于该查询来自其后继路由，因此它会在其拓扑表中搜索其他每个条目以查看是否存在可行后继路由。拓扑表中唯一的其他条目来自路由器 1，其报告距离等于最后获知的通过路由器 3 的最佳度量。由于通过路由器1的报告距离不小于最后获知的可行距离，因此路由器2将此路由标记为不可达，并向它的每个邻居（在本例中，只有路由器1）查询通向网络 A 的路径。

路由器 Three 也向路由器 One 发送针对网络 A 的查询。路由器 1检查其拓扑表，并发现到网络 A 的唯一其他路径是通过路由器 2的路径，其报告距离等于最后获知的通过路由器3的可行距离。再一次，由于通过路由器 2 的报告距离不小于最后获知的可行距离，因此此路由不是可行后继路由。路由器 1将此路由标记为不可达，并向其唯一的其他邻居（路由器2）查询通向网络 A 的路径。

这是第一个级别的查询。路由器Three已查询其每个邻居，以尝试找到通向网络A的路由。反过来，路由器One和Two将路由标记为不可达，并询问各自的其它邻居，以尝试找到通向网络A的路径。当路由器 Two 收到路由器 One 的查询时，它会检查其拓扑表，并注意到该目标已被标记为不可达。路由器 Two 向路由器 One 回复网络 A 不可达。当路由器 One 收到路由器 Two 的查询时，它也发送回网络 A 不可达的回复。路由器 One 和 Two 都已得出网络 A 不可达的结论，然后它们回复原始路由器 Three 的查询。网络已收敛，所有路由都返回被动状态。

水平分割与毒性逆转

在上一个示例中，水平分割不显示EIGRP如何使用可行距离和报告距离来确定路由是否可能是环路。但是，在某些情况下，EIGRP 也使用水平分割来防止路由环路。在详细了解EIGRP如何使用水平分割之前，请先了解水平分割的定义及其工作方式。水平分割规则规定：

- 永远不从通过其获知路由的接口通告该路由。

例如，在图4a中，如果路由器1通过单个多点接口（例如帧中继）连接到路由器2和路由器3，而路由器1从路由器2获知了网络A，则它不会将到达网络A的路由从同一接口通告回路由器3。路由器 One 假设路由器 Three 将直接从路由器 Two 获知网络 A。

图4a

毒性反转是避免路由环路的另一种方法。其规则规定：

- 一旦通过某个接口获知路由，便通过该同一接口将其通告回为不可达路由。

例如，图4a中的路由器启用了毒性反转。当路由器 1 从路由器 2 获知网络 A 时，它会通过其到路由器 2 和 3 的链路通告网络 A 为不可达网络。如果路由器3显示通过路由器1到网络 A 的任何路径，它将由于不可达通告删除该路径。EIGRP 结合这两个规则来帮助防止路由环路。

在下列情况下，EIGRP 使用水平分割或将路由通告为不可达路由：

- 两台路由器处于启动模式（它们首次交换拓扑表）

- 通告拓扑表更改

- 查询已发送

查看每个案例。

启动模式

当两个路由器首次成为邻居时，它们在启动模式期间交换拓扑表。对于路由器在启动模式期间收到的每个表条目，它都将以最大度量（毒化路由）向其新邻居通告回同一条目。

拓扑表更改

在图5中，路由器1使用差异来平衡两个串行链路之间流向网络A的流量；即路由器2和路由器4之间的56k链路和路由器3和路由器4之间的128k链路。

图 5

路由器 Two 将通过路由器 Three 的路径视为可行后继路由。如果路由器2和4之间的链路断开，路由器2只需在通过路由器3的路径重新融合即可。由于水平分割规则规定，您绝不能从获知路由的接口向外通告路由，路由器Two通常不会发送更新。但是，这为路由器 One 留下了一个无效的拓扑表条目。

当路由器更改其拓扑表，使路由器到达网络的接口发生更改时，它会关闭水平分割，毒药会使旧路由从所有接口转发出去。在本例中，路由器2 将关闭此路由的水平分割，并将网络 A 通告为不可达网络。路由器 One 听到此通告，并将其通过路由器 Two 到网络 A 的路由从其路由表中清除。

查询

只有当路由器收到来自它用于查询中目标的后继路由的查询或更新时，查询才会导致水平分割。查看图6中的网络。

图 6

路由器Three收到来自路由器Four的有关路由器10.1.2.0/24（它通过路由器One到达）的查询。如果Three由于链路抖动或其他临时网络条件而没有该目标的后继路由器，则会向它的每个邻居发送查询；在本例中为Router 1、Router 2和Router 4。但是，如果路由器Three收到来自路由器One的针对目标10.1.2.0/24的查询或更新（如度量更改），它不会将查询发回路由器One，因为路由器One是通向此网络的后继路由器。它只向路由器 Two 和 Four 发送查询。

停滞在活动状态的路由

回答查询可能需要很长时间。如果是，发出查询的路由器会放弃并清除与未应答路由器的连接，这会重新启动邻居会话。这被称为停滞在活动状态 (SIA) 的路由。如果只是查询到达网络另一端的时间和回复返回的时间过长，将发生最基本的 SIA 路由。例如，在图7中，路由器1记录了大量来自路由器2的SIA路由。

图 7

在经过一些调查后，问题范围缩小到路由器2和3之间的卫星链路上的延迟。对于此类问题，有两种可行的解决方案。第一种是增加路由器在声明路由SIA之前发送查询后等待的时间。可使用timers active-time命令更改此设置。

但是，更好的解决方案是重新设计网络，以减小查询的范围（以便只有极少的查询通过卫星链路）。本文的查询范围部分介绍了查询范围。但是，查询范围本身不是报告的 SIA 路由的常见原因。更常见的是，网络中的某些路由器无法回答查询，原因如下：

- 路由器太忙，无法回答查询（通常是由于CPU使用率较高）。

- 路由器存在内存问题，无法分配内存来处理查询或生成应答数据包。

- 两台路由器之间的电路情况不佳；没有足够的数据包来维持邻居关系，但路由器之间会丢失某些查询或应答。

- 单向链路（由于故障，数据包只能向一个方向流动的链路）

排除SIA路由故障

当您排除SIA路由故障时，请使用以下三步过程：

1. 查找始终报告为SIA的路由。

2. 查找始终无法回答这些路由查询的路由器。

3. 查找路由器不接收或应答查询的原因。

第一步很简单。如果记录控制台消息，快速查看日志将显示通常标记为SIA的路由。第二步稍微困难。用于收集此信息的命令是 show ip eigrp topology active：

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

A 10.2.4.0/24, 0 successors, FD is 512640000, Q

1 replies, active 00:00:01, query-origin: Local origin

via 10.1.2.2 (Infinity/Infinity), Serial1

1 replies, active 00:00:01, query-origin: Local origin

via 10.1.3.2 (Infinity/Infinity), r, Serial3

Remaining replies:

via 10.1.1.2, r, Serial0

显示 R 的所有邻居尚未回复（活动计时器显示路由已处于活动状态的时间长度）。这些邻居不能显示在Remaining replies部分中；它们可以出现在其他RDB中。请特别注意那些具有未处理回复且已处于活动状态一段时间（通常为两到三分钟）的路由。多次运行此命令，您就会开始看到哪些邻居未响应查询（或者哪些接口似乎有许多未响应的查询）。检查此邻居，查看它是否始终等待任何邻居的回复。重复此过程，直至找到始终不回答查询的路由器。您可以查找有关到此邻居的链路、内存或 CPU 使用率的问题，或此邻居的其他问题。

如果问题出在查询范围，请勿增加SIA计时器；相反，请缩小查询范围。

重分发

本节将研究涉及重分发的不同方案。所列示例显示了配置重分发所需的最低要求。重分配可能会潜在地导致问题，如不理想的路由、路由环路或缓慢的收敛。要避免这些问题，请参见避免由于重分发而引起的问题部分。

两个 EIGRP 自治系统之间的重分配

图8显示路由器配置为：

图 8

路由器 One

router eigrp 2000

!--- The "2000" is the autonomous system

network 172.16.1.0 0.0.0.255

路由器 Two

router eigrp 2000

redistribute eigrp 1000 route-map to-eigrp2000

network 172.16.1.0 0.0.0.255

!

router eigrp 1000

redistribute eigrp 2000 route-map to-eigrp1000

network 10.1.0.0 0.0.255.255

route-map to-eigrp1000 deny 10

match tag 1000

!

route-map to-eigrp1000 permit 20

set tag 2000

!

route-map to-eigrp2000 deny 10

match tag 2000

!

route-map to-eigrp2000 permit 20

set tag 1000

路由器 Three

router eigrp 1000

network 10.1.0.0 0.0.255.255

路由器Three通过自治系统1000将网络10.1.2.0/24通告给路由器Two；路由器Two将此路由重新分发到自治系统2000并将其通告给路由器One。

注意：来自EIGRP 1000的路由在重分发到EIGRP 2000之前标记为1000。当来自 EIGRP 2000 的路由重分配回 EIGRP 1000 时，具有 1000 标记的路由将被拒绝以确保拓扑无环路。关于路由协议之间重分配的详细信息，请参阅重分配路由协议。

对于路由器One:

one#show ip eigrp topology 10.1.2.0 255.255.255.0

IP-EIGRP topology entry for 10.1.2.0/24

State is Passive, Query origin flag is 1, 1 Successor(s), FD is 46763776

Routing Descriptor Blocks:

172.16.1.2 (Serial0), from 172.16.1.2, Send flag is 0x0

Composite metric is (46763776/46251776), Route is External

Vector metric:

Minimum bandwidth is 56 Kbit

Total delay is 41000 microseconds

Reliability is 255/255

Load is 1/255

Minimum MTU is 1500

Hop count is 2

External data:

Originating router is 172.16.1.2

AS number of route is 1000

External protocol is EIGRP, external metric is 46251776

Administrator tag is 1000 (0x000003E8)

请注意，虽然路由器1和2之间的链路带宽为 1.544 Mb，但是该拓扑表条目中显示的最低带宽为 56k。这意味着EIGRP会在两个EIGRP自治系统之间重新分配时保留所有度量。

到/从其他协议的重分配

EIGRP和其他协议（例如RIP和OSPF）之间的重分发与所有重分发的工作方式相同。在协议之间重新分发时使用默认度量。在EIGRP和其他协议之间进行重分发时，您需要注意以下两个问题：

- 重分发到EIGRP的路由并非总能总结，有关说明，请参阅总结部分。

- 外部 EIGRP 路由的管理距离为 170。

指向接口的静态路由的重分配

将静态路由安装到接口上并使用router eigrp配置network语句时，其中包括静态路由。EIGRP将此路由重分布为直连接口。

图 9

在图9中，路由器1通过接口Serial 0配置了到网络172.16.1.0/24的静态路由：

ip route 172.16.1.0 255.255.255.0 Serial0

并且路由器 One 还有一条针对此静态路由目标的 network 语句：

router eigrp 2000

network 10.0.0.0

network 172.16.0.0

no auto-summary

路由器One会重分布此路由，即使它不会重分布静态路由，因为EIGRP将此视为直连网络。在路由器Two上，如下所示：

two#show ip route

....

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C       10.1.1.0/24 is directly connected, Serial0

D       10.1.2.0/24 [90/2169856] via 10.1.1.1, 00:00:47, Serial0

172.16.0.0/24 is subnetted, 1 subnets

D       172.16.1.0 [90/2169856] via 10.1.1.1, 00:00:47, Serial0

通向172.16.1.0/24的路由在路由器Two上显示为内部EIGRP路由。

汇总

EIGRP中有两种形式的汇总：自动汇总和手动汇总。

自动总结

EIGRP 每次穿过两个不同的主要网络之间的边界时会执行自动汇总。例如，在图10中，路由器2只将10.0.0.0/8网络通告给路由器1，因为路由器2用于到达路由器1的接口位于不同的主网络中。

图 10

在路由器One上，如下所示：

one#show ip eigrp topology 10.0.0.0

IP-EIGRP topology entry for 10.0.0.0/8

State is Passive, Query origin flag is 1, 1 Successor(s), FD is 11023872

Routing Descriptor Blocks:

172.16.1.2 (Serial0), from 172.16.1.2, Send flag is 0x0

Composite metric is (11023872/10511872), Route is Internal

Vector metric:

Minimum bandwidth is 256 Kbit

Total delay is 40000 microseconds

Reliability is 255/255

Load is 1/255

Minimum MTU is 1500

Hop count is 1

该路由未以任何方式标记为总结路由；它看起来像一个内部路由。度量是汇总路由中的最佳度量。虽然在10.0.0.0网络中有带宽为56k的链路，但此路由的最小带宽为256k。

在具有汇总的路由器上，将汇总地址创建为null0的路由：

two#show ip route 10.0.0.0

Routing entry for 10.0.0.0/8, 4 known subnets

Attached (2 connections)

Variably subnetted with 2 masks

Redistributing via eigrp 2000

C       10.1.3.0/24 is directly connected, Serial2

D       10.1.2.0/24 [90/10537472] via 10.1.1.2, 00:23:24, Serial1

D       10.0.0.0/8 is a summary, 00:23:20, Null0

C       10.1.1.0/24 is directly connected, Serial1

到 10.0.0.0/8 的路由被标记为通过 Null0 的汇总。此总结路由的拓扑表条目如下所示：

two#show ip eigrp topology 10.0.0.0

IP-EIGRP topology entry for 10.0.0.0/8

State is Passive, Query origin flag is 1, 1 Successor(s), FD is 10511872

Routing Descriptor Blocks:

0.0.0.0 (Null0), from 0.0.0.0, Send flag is 0x0

(Note: The 0.0.0.0 here means this route is originated by this router.)

Composite metric is (10511872/0), Route is Internal

Vector metric:

Minimum bandwidth is 256 Kbit

Total delay is 20000 microseconds

Reliability is 255/255

Load is 1/255

Minimum MTU is 1500

Hop count is 0

要让路由器 Two 通告 10.0.0.0 网络的组件，而不是汇总，请在路由器 Two 上的 EIGRP 进程中配置 no auto-summary：

在路由器 Two 上:

router eigrp 2000

network 172.16.0.0

network 10.0.0.0

no auto-summary

关闭自动汇总后，路由器1现在可以看到 10.0.0.0 网络的所有组件：

one#show ip eigrp topology

IP-EIGRP Topology Table for process 2000

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

P 10.1.3.0/24, 1 successors, FD is 46354176

via 172.16.1.2 (46354176/45842176), Serial0

P 10.1.2.0/24, 1 successors, FD is 11049472

via 172.16.1.2 (11049472/10537472), Serial0

P 10.1.1.0/24, 1 successors, FD is 11023872

via 172.16.1.2 (11023872/10511872), Serial0

P 172.16.1.0/24, 1 successors, FD is 2169856

via Connected, Serial0

有关外部路由汇总的一些注意事项，稍后的“外部路由自动汇总”一节将介绍这些注意事项。

手动总结

EIGRP允许您使用手动总结来总结几乎任何位边界上的内部路由和外部路由。例如，在图11中，路由器2将192.168.1.0/24、192.168.2.0/24和192.168.3.0/24总结到CIDR块192.168.0.0/22中。

图 11

路由器Two的配置如下所示：

two#show run

....

!

interface Serial0

ip address 10.1.50.1 255.255.255.0

ip summary-address eigrp 2000 192.168.0.0 255.255.252.0

no ip mroute-cache

!

....

two#show ip eigrp topology

IP-EIGRP Topology Table for process 2000

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

P 10.1.10.0/24, 1 successors, FD is 45842176

via Connected, Loopback0

P 10.1.50.0/24, 1 successors, FD is 2169856

via Connected, Serial0

P 192.168.1.0/24, 1 successors, FD is 10511872

via Connected, Serial1

P 192.168.0.0/22, 1 successors, FD is 10511872

via Summary (10511872/0), Null0

P 192.168.3.0/24, 1 successors, FD is 10639872

via 192.168.1.1 (10639872/128256), Serial1

P 192.168.2.0/24, 1 successors, FD is 10537472

via 192.168.1.1 (10537472/281600), Serial1

查看接口Serial0下的ip summary-address eigrp命令和通过Null0的汇总路由。在路由器One上，这被视为内部路由：

one#show ip eigrp topology

IP-EIGRP Topology Table for process 2000

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

P 10.1.10.0/24, 1 successors, FD is 46354176

via 10.1.50.1 (46354176/45842176), Serial0

P 10.1.50.0/24, 1 successors, FD is 2169856

via Connected, Serial0

P 192.168.0.0/22, 1 successors, FD is 11023872

via 10.1.50.1 (11023872/10511872), Serial0

外部路由的自动汇总

EIGRP不会自动汇总外部路由，除非同一个主网络的某个组件是内部路由。图12显示了以下内容：

图 12

路由器Three使用redistribute connected命令将通往192.168.2.0/26和192.168.2.64/26的外部路由注入到EIGRP，如列出的配置所示。

路由器 Three

interface Ethernet0

ip address 192.168.2.1 255.255.255.192

!

interface Ethernet1

ip address 192.168.2.65 255.255.255.192

!

interface Ethernet2

ip address 10.1.2.1 255.255.255.0

!router eigrp 2000

redistribute connected

network 10.0.0.0

default-metric 10000 1 255 1 1500

对应于路由器 Three 上的此配置，路由器 One 上的路由表显示：

one#show ip route

....

10.0.0.0/8 is subnetted, 2 subnets

D       10.1.2.0 [90/11023872] via 10.1.50.2, 00:02:03, Serial0

C       10.1.50.0 is directly connected, Serial0

192.168.2.0/26 is subnetted, 1 subnets

D EX    192.168.2.0 [170/11049472] via 10.1.50.2, 00:00:53, Serial0

D EX    192.168.2.64 [170/11049472] via 10.1.50.2, 00:00:53, Serial0

虽然自动汇总一般会导致路由器 Three 将 192.168.2.0/26 和 192.168.2.64/26 路由汇总到一个主要网络目标 (192.168.2.0/24)，但它不会执行该操作，因为两个路由都是外部路由。但是，如果您将路由器2和路由器3之间的链路重新配置为192.168.2.128/26，并在路由器2和路由器3上为此网络添加network语句，则路由器2上会生成192.168.2.0/24 auto-summary。

路由器 Three

interface Ethernet0

ip address 192.168.2.1 255.255.255.192

!

interface Ethernet1

ip address 192.168.2.65 255.255.255.192

!

interface Serial0

ip address 192.168.2.130 255.255.255.192

!

router eigrp 2000

network 192.168.2.0

现在路由器 Two 生成 192.168.2.0/24 的汇总：

two#show ip route

....

D       192.168.2.0/24 is a summary, 00:06:48, Null0

....

并且路由器 One 仅显示汇总路由：

one#show ip route

....

10.0.0.0/8 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, Serial0

D    192.168.2.0/24 [90/11023872] via 10.1.50.2, 00:00:36, Serial0

查询过程和范围

当路由器处理来自邻居的查询时，这些规则将如表中所示适用。

查询来源

路由状态

操作

邻居（非当前后继路由）

被动

回复当前后继路由信息.

后继路由器

被动

尝试查找新的后继路由器；如果成功，则使用新信息回复；如果不成功，则标记目标不可达并查询除上一个后继路由器外的所有邻居。

任何邻居

查询前没有通过此邻居的路径

回复当前已知的最佳路径.

任何邻居

查询前不知道

回复目标不可达.

邻居（非当前后继路由）

主用

如果没有这些目标的当前后继路由（通常如此），则以不可达方式应答。

如果有好的后继路由，则回复当前路径信息.

后继路由器

主用

尝试查找新的后继路由器；如果成功，则使用新信息回复；如果不成功，则标记目标不可达并查询除上一个后继路由器外的所有邻居。

当上表中的操作发现网络在新拓扑上收敛之前接收和回复查询的路由器数量时，它会影响网络中的查询范围。要了解这些规则如何影响查询的管理方式，请查看图13中的网络，该网络在正常条件下运行。

图 13

对于网络192.168.3.0/24（最右侧），这是预期结果：

- 路由器 One 有两条到 192.168.3.0/24 的路径：

- 通过路由器 Two，距离为 46533485，报告距离为 20307200

- 通过路由器 Three，距离为 20563200，报告距离为 20307200

- 路由器1选择通过路由器 3的路径，并将通过路由器2 的路径保留为可行后继路由

- 路由器 Two 和 Three 显示一条通过路由器 Four 到 192.168.3.0/24 的路径

假设 192.168.3.0/24 发生故障。此网络上预期的活动是图13a到图13h说明了此过程。

路由器 Five 将 192.168.3.0/24 标记为不可达，并查询路由器 Four：

图13a

当路由器4收到来自后继路由器的查询时，它会尝试查找通向此网络的新可行后继路由器。它找不到路由器，因此将192.168.3.0/24标记为不可达，并查询路由器Two和Three:

图13b

路由器Two和Three则发现它们丢失了通向192.168.3.0/24的唯一可行路由，并将其标记为不可达；它们都向路由器One发送查询：

图13c

假设路由器One首先收到来自路由器Three的查询，并将路由标记为不可达。然后，路由器 One 收到来自路由器 Two 的查询。虽然有另一种可能，但最终结果都是一样的。

图13d

路由器1使用不可达信息回复这两个查询；路由器1现在对192.168.3.0/24处于被动状态：

图13e

路由器Two和Three回复来自路由器Four的查询；路由器Two和Three现在对192.168.3.0/24处于被动状态：

图13f

当路由器5收到来自路由器4的应答时，它会将网络192.168.3.0/24从其路由表中删除；现在路由器5对网络192.168.3.0/24处于被动状态。路由器5将更新发送回路由器4，以便从其它路由器的拓扑和路由表中删除该路由。

图13g

虽然可以有其他查询路径或命令进行处理，但是当该链路断开时，网络中的所有路由器都会处理对网络192.168.3.0/24的查询。有些路由器可以处理多个查询（本例中为Router One）。实际上，如果查询以不同的顺序到达路由器，则某些路由器会处理三四个查询。这是 EIGRP 网络中无限查询的很好示例。

汇总点如何影响查询范围

查看同一网络中通往10.1.1.0/24的路径：

- 路由器2有10.1.1.0/24网络的拓扑表条目，通过路由器1的成本为46251885。

- 路由器3有10.1.1.0/24网络的拓扑表条目，通过路由器1的成本为20281600。

- 路由器4有一个用于10.0.0.0/8网络的拓扑表条目（因为路由器2和路由器3通过路由器3自动汇总到主网络边界），度量为20307200（通过路由器2的报告距离高于通过路由器3的总度量，因此通过路由器2的路径不是可行后继路由）。

图 14

如果 10.1.1.0/24 断开，路由器1会将其标记为不可达，然后向它的每个邻居（路由器 2 和3）查询通向该网络的新路径：

图14a

路由器Two收到来自路由器One的查询后，将该路由标记为不可达（因为该查询来自其后继路由器），然后查询路由器Four和Three:

图14b

路由器3在收到来自路由器1的查询时，会将目标标记为不可达，并查询路由器2和4：

图14c

路由器4收到路由器2和路由器3的查询后回答说10.1.1.0/24不可达(路由器4不知道有问题的子网，因为它只有10.0.0.0/8路由):

图14d

路由器 Two 和 Three 相互回复 10.1.1.0/24 不可达：

图14e

由于路由器2和 3现在没有未处理的查询，因此它们都向路由器1回复 10.1.1.0/24 不可达：

图14f

在本例中，查询由路由器Two和Three上的自动总结界定。路由器5不参与查询过程，也不参与网络的重新收敛。查询还可能受到手动汇总、自治系统边界和分配列表的限制。

自治系统边界如何影响查询范围

如果路由器在两个EIGRP自治系统之间重分布路由，它将在进程的常规规则内回复查询，并向另一个自治系统启动新查询。例如，如果到与路由器3连接的网络的链路断开，路由器 3会将路由标记为不可达，并向路由器 2查询新的路径：

图15a

路由器 2回复此网络不可达，并且在自治系统 200 中向路由器1发送查询。一旦路由器3收到其原始查询的回复，它将从其表中删除该路由。路由器 Three 现在对于此网络处于被动状态：

图15b

路由器 One 回复路由器 Two，路由进入被动状态：

图15c

当原始查询未在整个网络中传播时（受到自治系统边界的限制），原始查询将以新查询的形式渗进第二个自治系统。这可以防止网络中卡在活动(SIA)问题，因为它限制了查询在得到应答之前必须通过的路由器数量。但是，这并不能解决必须处理查询的每个路由器的整体问题。此方法可能使问题更严重，并阻止自动汇总本来要汇总的路由（除非主网络中有一个外部组件，否则不会汇总外部路由）。

分配列表如何影响查询范围

EIGRP 中的分配列表不会阻塞查询的传播，而是将所有查询回复都标记为不可达。以图16为例。

图 16

图16:

- 路由器3有一个在其串行接口上应用的分配列表，只允许该路由器通告网络 B。

- 路由器 One 和 Two 不知道网络 A 通过路由器 Three 可达（路由器 Three 不用作路由器 One 和 Two 之间的中转点）。

- 路由器3使用路由器1作为通向网络A的首选路径，而不使用路由器2作为可行后继路由器。

当路由器1丢失了与网络 A 的连接时，它会将该路由标记为不可达，并向路由器 3发送查询。由于其串行端口上的分配列表，路由器 Three 不会通告到网络 A 的路径。

图16a

路由器 Three 将此路由标记为不可达，然后查询路由器 Two：

图16b

路由器 Two 检查其拓扑表并发现它有一个到网络 A 的有效连接。查询不受路由器Three中的分发列表的影响：

图16c

路由器Two回复网络A可达；路由器Three现在拥有有效路由：

图16d

路由器3对路由器1的查询进行回复，但分配表会让路由器3发送网络A不可达的回复，即使路由器3具有到达网络A的有效路由：

图16e

管理传输数据包的速度

有些路由协议收敛时会占用低带宽链路上的所有可用带宽（适应网络中的变化）。EIGRP可避免这种拥塞，并管理网络上传输数据包的速度，因此它仅使用一部分可用带宽。EIGRP的默认配置是最多使用可用带宽的50%，但可以通过以下命令进行更改：

router(config-if)#

ip bandwidth-percent eigrp 2?

<1-999999>  Maximum bandwidth percentage that EIGRP can use

实质上，每次EIGRP将要在接口上传输的数据包排入队列时，它都会使用此公式来确定发送数据包前等待的时间：

ip bandwidth-percent eigrp 2

- (8 * 100 * 以字节为单位的数据包大小) / (以 kbps 为单位的带宽 * 带宽百分比)

例如，如果 EIGRP 在 56k 带宽的串行接口上对数据包排队，并且数据包大小为 512 字节，则 EIGRP 将等待：

- (8 * 100 * 512 字节) / (56000 比特/秒 * 50% 带宽) (8 *100 * 512) / (56000 * 50) 409600 / 2800000 0.1463 秒

这样，在EIGRP发送数据包之前，该链路上至少可以传输512字节的数据包（或数据包组）。定步计时器确定发送数据包的时间，并以毫秒为单位。上例中数据包的步调时间为0.1463秒。show ip eigrp interface中有一个显示步调计时器的字段：

outer#show ip eigrp interface

IP-EIGRP interfaces for process 2

Xmit Queue   Mean   Pacing Time   Multicast    Pending

Interface    Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes

Se0            1        0/0        28       0/15         127           0

Se1            1        0/0        44       0/15         211           0

router#

显示的时间是最大传输单元 (MTU)（可在接口上发送的最大数据包）的步调间隔。

默认路由

将默认路由注入到EIGRP有两种方法：重分布静态路由或汇总到0.0.0.0/0。如果您希望将流向未知目标的所有流量引向网络核心处的默认路由，请使用第一种方法。此方法通告与Internet的连接。例如：

ip route 0.0.0.0 0.0.0.0 x.x.x.x (next hop to the internet)

!

router eigrp 100

redistribute static

default-metric 10000 1 255 1 1500

重新分配到EIGRP的静态路由不必一定是网络0.0.0.0。如果使用另一个网络，则必须使用 ip default-network 命令将该网络标记为默认网络。

如果总结，则只有当您想要为远程站点提供默认路由时，默认路由才起作用。由于汇总是按接口配置的，因此您可以使用分发列表或其他机制来防止默认路由传播到网络的核心。请注意，到 0.0.0.0/0 的汇总会覆盖从任何其他路由协议获知的默认路由。使用此方法在路由器上配置默认路由的唯一方法是配置到0.0.0.0/0的静态路由。(从Cisco IOS软件12.0(4)T开始，您还可以在ip summary-address eigrp命令末尾配置管理距离，以便本地总结不会覆盖0.0.0.0/0路由)。

router eigrp 100

network 10.0.0.0

!

interface serial 0

encapsulation frame-relay

no ip address

!

interface serial 0.1 point-to-point

ip address 10.1.1.1

frame-relay interface-dlci 10

ip summary-address eigrp 100 0.0.0.0 0.0.0.0

负载平衡

EIGRP在路由表中最多添加四条等价路由，然后路由器对其进行负载均衡。负载均衡类型（每个数据包或每个目标）取决于路由器中执行的交换类型。但是，EIGRP也可以在不等价链路上实现负载均衡。

注意：使用max-paths，可以将EIGRP配置为使用最多六个等价路由。

如果有四条路径通往给定目标，这些路径的度量为：

- 路径1:1100

- 路径2:1100

- 路径3:2000

- 路径4:4000

默认情况下，路由器将流量同时放在路径 1 和 2 上。使用EIGRP，您可以使用 variance命令指示路由器也在路径3和4上放置流量。差异为乘数：流量被置于度量小于最佳路径乘以差异的任何链路上。要均衡路径 1、2 和 3 上的负载，请使用差异值 2，因为 1100 x 2 = 2200，该值大于通过路径 3 的度量。同样地，要同时添加路径 4，请在 router eigrp 命令下发出 variance 4。有关详细信息，请参阅非等价路径负载均衡（差异）在IGRP和EIGRP中如何工作？。

路由器如何在这些路径之间分配流量？它用通过每条路径的度量来除最大度量，四舍五入到最接近的整数，然后使用此数字作为流量份数。

router#show ip route 10.1.4.0

Routing entry for 10.1.4.0/24

Known via "igrp 100", distance 100, metric 12001

Redistributing via igrp 100, eigrp 100

Advertised by igrp 100 (self originated)

eigrp 100

Last update from 10.1.2.2 on Serial1, 00:00:42 ago

Routing Descriptor Blocks:

* 10.1.2.2, from 10.1.2.2, 00:00:42 ago, via Serial1

Route metric is 12001, traffic share count is 1

Total delay is 20010 microseconds, minimum bandwidth is 1000 Kbit

Reliability 1/255, minimum MTU 1 bytes

Loading 1/255, Hops 0

对于本示例，流量份数如下：

- 对于路径1和2:4000/1100 = 3

- 对于路径3:4000/2000 = 2

- 对于路径4:4000/4000 = 1

路由器在路径 1 上发送前三个数据包，在路径 2 上发送接下来的三个数据包，在路径 3 上发送再接下来的两个数据包，然后在路径 4 上发送下一个数据包。当路由器通过路径1发送接下来的三个数据包并继续此模式时，路由器将重新启动。

注意：即使配置了差异，如果报告距离大于该特定路由的可行距离，EIGRP也不会通过非等价路径发送流量。有关详细信息，请参阅可行距离、报告距离和可行后继路由部分。

使用指标

当您最初配置EIGRP时，如果您尝试影响EIGRP度量，请记住以下两个基本规则：

- 带宽必须始终设置为接口的实际带宽；多点串行链路和其他不匹配的介质速度情况是此规则的例外情况。

- 延迟必须始终用于影响EIGRP路由决策。

由于 EIGRP 使用接口带宽确定发送数据包的速率，因此正确设置这些值非常重要。如果有必要影响 EIGRP 选择的路径，则始终使用延迟来实现此目的。

带宽较低时，带宽对总度量影响较大；带宽较高时，延迟对总度量影响较大。

在重分发中使用管理标记

外部管理标记可以中断EIGRP和其他协议之间路由环路的重新分配。如果在路由重分发到EIGRP时标记该路由，则可以阻止从EIGRP重分发到外部协议。不能修改从外部路由获知的默认网关的管理距离，因为在 EIGRP 中，管理距离的修改只适用于内部路由。为了提高度量，请使用带前缀列表的路由映射；请勿更改管理距离。接下来是配置这些标记的基本示例，但此示例不显示用于中断重分发循环的整个配置。

图 17

路由器Three将路由重分布到EIGRP中，它显示：

three#show run

....

interface Loopback0

ip address 172.19.1.1 255.255.255.0

!

interface Ethernet0

ip address 172.16.1.1 255.255.255.0

loopback

no keepalive

!

interface Serial0

ip address 172.17.1.1 255.255.255.0

....

router eigrp 444

redistribute connected route-map foo

network 172.17.0.0

default-metric 10000 1 255 1 1500

....

access-list 10 permit 172.19.0.0 0.0.255.255

route-map foo permit 10

match ip address 10

set tag 1

....

three#show ip eigrp topo

IP-EIGRP Topology Table for process 444

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

P 172.17.1.0/24, 1 successors, FD is 2169856

via Connected, Serial0

via Redistributed (2169856/0)

P 172.16.1.0/24, 1 successors, FD is 281600

via Redistributed (281600/0)

P 172.19.1.0/24, 1 successors, FD is 128256, tag is 1

via Redistributed (128256/0)

路由器Two将路由从EIGRP重分发到RIP，它显示：

two#show run

....

interface Serial0

ip address 172.17.1.2 255.255.255.0

!

interface Serial1

ip address 172.18.1.3 255.255.255.0

....

router eigrp 444

network 172.17.0.0

!

router rip

redistribute eigrp 444 route-map foo

network 10.0.0.0

network 172.18.0.0

default-metric 1

!

no ip classless

ip route 10.10.10.10 255.255.255.255 Serial0

route-map foo deny 10

match tag 1

!

route-map foo permit 20

....

two#show ip eigrp topo

IP-EIGRP Topology Table for process 444

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

P 172.17.1.0/24, 1 successors, FD is 2169856

via Connected, Serial0

P 172.16.1.0/24, 1 successors, FD is 2195456

via 172.17.1.1 (2195456/281600), Serial0

P 172.19.1.0/24, 1 successors, FD is 2297856, tag is 1

via 172.17.1.1 (2297856/128256), Serial0

请注意172.19.1.0/24上的标记1。

路由器One接收由路由器2重分发的RIP路由，它显示：

one#show run

....

interface Serial0

ip address 172.18.1.2 255.255.255.0

no fair-queue

clockrate 1000000

router rip

network 172.18.0.0

....

one#show ip route

Gateway of last resort is not set

R    172.16.0.0/16 [120/1] via 172.18.1.3, 00:00:15, Serial0

R    172.17.0.0/16 [120/1] via 172.18.1.3, 00:00:15, Serial0

172.18.0.0/24 is subnetted, 1 subnets

C       172.18.1.0 is directly connected, Serial0

请注意，172.19.1.0/24已不存在。

了解EIGRP命令输出

show ip eigrp traffic

此命令用于显示有关EIGRP命名配置和EIGRP自治系统(AS)配置的信息。此命令的输出显示了相邻EIGRP路由器之间交换的信息。表后面是每个输出字段的说明。

show ip eigrp traffic

配置说明

- Hello sent/received显示发送和接收的hello数据包(发送的–1927/接收的–1930)数量。

- 发送/接收的更新显示发送和接收的更新数据包数（发送–20/接收–39）。

- 发送/接收的查询表示发送和接收的查询数据包（发送–10/接收–18）。

- Replies sent/received显示发送和接收的应答数据包数（发送–18/接收–16）。

- Acks sent/received表示发送和接收的确认数据包数（发送–66/接收–41）。

- SIA-Queries sent/received表示发送和接收的活动查询数据包中停滞的数量(sent-0/received-0)。

- SIA-Replies sent/received显示发送和接收(sent-0/received-0)的活动应答数据包中停滞的数量。

- Hello进程ID是Hello进程标识符(270)。

- PDM Process ID代表协议相关模块Cisco IOS进程标识符(251)。

- Socket Queue显示IP to EIGRP Hello Process socket queue counters(current-0/max-2000/highest-1/drops-0)。

- Input Queue显示到EIGRP PDM套接字队列计数器的EIGRP Hello进程(current-0/max-2000/highest-1/drops-0)。

show ip eigrp topology

此命令只显示可行后继路由。要显示拓扑表中的所有条目，请使用 show ip eigrp topology all-links 命令。每个输出字段的说明位于表之后。3+

show ip eigrp topology

配置说明

- A 表示活动。这也可以显示P，表示被动。

- 10.2.4.0/24 是目标或掩码。

- 0 successors显示此目标可用的后继路由器（或路径）数量；如果后继路由器被大写，则路由处于过渡状态。

- FD is 512640000 显示可行距离，这是到达此目标的最佳度量或当路由进入活动状态时已知的最佳度量。

- 可以使用set tag和match tag命令使用路由映射设置和/或过滤标记。

- Q 表示查询挂起。此字段也可以是：U，表示更新挂起；或R，表示回复挂起。

- 1 replies 显示未处理的回复数。

- active 00:00:01 显示此路由已处于活动状态的时间长度。

- 查询来源：本地来源显示此路由查询来源。此字段也可以是Multiple originations（多个来源），这意味着多个邻居已发送有关此目的地的查询，但并未发送后继路由；或者Su继路由来源，表示后继路由器发起查询。

- via 10.1.2.2显示此路由是从其IP地址为10.1.2.2的邻居获知的。此字段也可为：已连接，如果网络直接连接到此路由器；已重分布，如果此路由重分布到此路由器上的EIGRP；或汇总，如果此路由是在此路由器上生成的汇总路由。

- (Infinity/Infinity)显示到达通过第一个字段相邻设备的路径度量和通过第二字段相邻设备的报告距离。

- r显示已查询此邻居并等待应答。

- Q是此路由的发送标志，表示有查询挂起。此字段也可以是U（表示更新挂起），或R（表示回复挂起）。

- Serial1 是通过其可到达此邻居的接口。

- Via 10.1.1.2显示已查询邻居并期望收到应答。

- r显示已查询此邻居有关路由且尚未收到回复。

- Serial0 是通过其可到达此邻居的接口。

- 通过10.1.2.2(512640000/128256),Serial1显示该路由已使用（表示当存在多条等价路由时，下一路径/目标采用哪条路径）。

show ip eigrp topology <network>

此命令显示拓扑表中针对此目标的所有条目，而不只是显示可行后继路由。表后面是每个输出字段的说明。

show ip eigrp topology network

配置说明

- State is Passive表示网络处于被动状态，换句话说，它不查找通向此网络的路径。在稳定网络中，路由几乎总是处于被动状态。

- Query origin flag is 1 如果此路由处于活动状态，该字段将提供关于查询发起方的信息。

- 0：此路由处于活动状态，但是未对其发起查询（它在本地查找可行后继路由）。

- 1：此路由器发起了对此路由的查询（或路由是被动路由）。

- 2：此查询的多个扩散计算。此路由器已经收到来自多个源的针对此路由的多个查询。

- 3：获知该网络的路径并查询另一条路由的路由器。

- 4：此路由的多个查询源，包括此路由器。这类似于2，但也意味着存在描述此路径未处理的查询的查询源字符串。

- 2后继路由器意味着有两个通向此网络的可行路径。

- FD is 307200 显示到此网络的最佳当前度量。如果路由处于活动状态，则显示之前用于将数据包路由到此网络的路径的度量。

- 路由描述符块每个条目都描述一条到达网络的路径。

- 10.1.1.2 (Ethernet1)流到网络和接口（下一跳通过该接口到达）的下一跳。

- from 10.1.2.2 是此路径信息的源。

- Send flag is：

- 0x0:如果存在需要与此条目相关发送的数据包，则表示数据包的类型。

- 0x1:此路由器已收到对此网络的查询，需要发送单播应答。

- 0x2:此路由处于活动状态，必须发送组播查询。

- 0x3:此路由已更改，必须发送组播更新。

- Composite metric is (307200/281600) 显示到网络的总计算成本。括号中的第一个数字是通过此路径到达网络的总开销，以及到达下一跳的开销。括号中的第二个数字是报告距离，或者换句话说，是下一跳路由器使用的成本。

- Route is Internal 表示此路由在此 EIGRP 自治系统 (AS) 内发起。如果路由被重分配到此 EIGRP AS 中，此字段将指示该路由是外部路由。

- 向量权值显示EIGRP用于计算网络成本的个别权值。EIGRP不会在整个网络中传播总开销信息；传播矢量度量，每台路由器分别计算开销和报告距离。

- Minimum bandwidth is 10000 Kbit 显示到此网络的路径上的最低带宽。

- Total delay is 2000 microseconds 显示到此网络的路径上的延迟总和。

- Reliability is 0/255 显示可靠性因子。此数字是动态计算的，但默认情况下不会用于度量计算。

- Load is 1/255 指示链路正在传输的负载量。此数字是动态计算的，当EIGRP计算使用此路径的成本时，默认情况下不会使用此数字。

- Minimum MTU is 1500 此字段不在度量计算中使用。

- 跳数为2，这不在度量计算中使用，但确实可以限制 EIGRP AS 的最大大小。默认情况下，EIGRP接受的最大跳数为100，不过最大跳数可以配置为220（带有度量最大跳数）。

如果路由是外部路由，则包含此信息。表后面是每个输出字段的说明。

外部路由

配置说明

- 始发路由器显示，这台路由器将该路由注入到EIGRP AS。

- External AS 显示此路由来自的自治系统（如果有一个）。

- External Protocol 显示此路由来自的协议（如果有一个）。

- external metric 显示外部协议中的内部度量。

- 可使用set tag和match tag命令使用路由映射设置和/或过滤管理员标记。

show ip eigrp topology [active | 挂起 | zero-successors]

输出格式与 show ip eigrp topology 一样，但它还显示拓扑表的某个部分。

show ip eigrp topology all-links

输出格式与 show ip eigrp topology 一样，但它还显示拓扑表中的所有链路，而不仅是可行后继路由。

相关信息

- IP 路由 支持页

- 思科技术支持和下载