我想了解EIGRP中的度量是如何构造的,这包括路由表和拓扑表。我相信我并不是唯一一个觉得EIGRP的概念有点难以理解的人。
我的小网络已经创建,我已经为EIGRP的相邻关系在这两个连接上启用了一个1。这是路由表和拓扑表的输出:
Router#sh ip ro ei
192.168.1.0/30 is subnetted, 1 subnets
D 192.168.2.0/24 [90/30720] via 192.168.1.2, 00:09:13, FastEthernet0/0我知道90是管理距离,但30720的度量似乎很高,从快速以太网到只有一跳。举个例子,我们能说明为什么这个数字比OSPF高吗?我知道这可能是一个简单的例子,苹果和橘子是两个独立的路由协议,但我想知道这是如何计算的。
Router#sh ip ei top
IP-EIGRP Topology Table for AS 1/ID(192.168.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status
P 192.168.0.0/24, 1 successors, FD is 28160
via Connected, FastEthernet0/1
P 192.168.1.0/30, 1 successors, FD is 28160
via Connected, FastEthernet0/0
P 192.168.2.0/24, 1 successors, FD is 30720
via 192.168.1.2 (30720/28160), FastEthernet0/0从上面可以看出,计算为30720/28160。这个计算的第二部分似乎也是28160的可行距离,第一部分是路由表中30720的度量。
有谁能给我解释一下这个计算的目的吗?这个数字会随着时间的推移而改变吗?或者这是刻骨铭心的?
提前谢谢。
发布于 2016-05-08 17:59:08
举个例子,我们能说明为什么这个数字比OSPF高吗?
您根本无法比较不同路由协议之间的指标。这就是行政距离产生的原因。
有谁能给我解释一下这个计算的目的吗?
EIGRP使用一个复杂的计算来得出它的度量。它涉及到链路的带宽、延迟、可靠性、负载和MTU,但默认情况下,它只使用带宽和延迟。计算可以包括许多其他路由协议根本不包括的内容,因此您可以得到一个非常细粒度的度量,而哪条是最佳路径。
这个数字会随着时间的推移而改变吗?或者这是刻骨铭心的?
自IGRP以来,EIGRP的度量没有改变(它是IGRP值的256倍),因此它不太可能改变。
思科在EIGRP上有很多可用的文档。例如,增强内部网关路由协议:
EIGRP使用目标网络路径上的最小带宽和总延迟计算路由度量。尽管您可以配置其他度量标准,但我们不推荐它,因为它会导致网络中的路由循环。带宽和延迟度量是根据目标网络路径中路由器接口上配置的值来确定的。例如,在下面的图2中,路由器一正在计算网络A的最佳路径。

它从这个网络的两个广告开始:一个通过路由器4,最小带宽为56,总延迟为2200;另一个通过路由器3,最小带宽为128,延迟为1200。路由器一号以最低的度量选择路径。让我们来计算度量。EIGRP通过缩放带宽和延迟度量来计算总度量。EIGRP使用以下公式来扩展带宽:
bandwidth = (10000000/bandwidth(i)) * 256,其中带宽(I)是到达以千比特表示的目标网络的所有输出接口中最小的带宽。EIGRP使用以下公式来扩展延迟:
delay = delay(i) * 256,其中,延迟(I)是在接口上配置的延迟之和,在到达目标网络的路由上,以几十微秒为单位。显示ip eigrp拓扑或显示接口命令中显示的延迟以微秒为单位,因此在此公式中使用它之前,必须除以10。在本文中,我们使用延迟,因为它是配置和显示在接口上的。EIGRP使用这些缩放值来确定网络的总度量:
metric = ([K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]) * 256注:这些K值应在仔细规划后使用。不匹配的K值阻止建立邻居关系,这可能导致网络无法收敛。注意:如果是K5 = 0,则公式简化为Metric = ([k1 * bandwidth + (k2 * bandwidth)/(256 - load) + k3 * delay]) * 256。K的默认值是:
K1 = 1K2 = 0K3 = 1K4 = 0K5 = 0对于默认行为,您可以简化公式如下:度量=带宽+延迟Cisco路由器不执行浮点运算,因此在计算的每个阶段,您都需要舍入到最近的整数,以正确地计算指标。在这个例子中,路由器4的总成本是:在本例中,路由器4的总成本是:最小带宽= 56k总延迟= 100 + 100 + 2000 = 2200 (10000000/56) + 2200 x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376,而路由器3的总成本是:最小带宽=128 k总延迟= 100 + 100 + 1000 = 1200 (10000000/128) + 1200 x 256 = (78125 + 1200) x 256 = 79325 x 256 = 20307200,因此路由器选择通过路由器3的路由。注意,我们使用的带宽和延迟值是在路由器到达目的地网络的下一跳的接口上配置的。例如,路由器二广告网络A在其以太网接口上配置了延迟;路由器四添加了在其以太网上配置的延迟,路由器一添加了在其串行上配置的延迟。
您的带宽是100000K,所以计算使用的带宽是10000000 / 100000 = 100。延迟是200微秒,所以计算使用的延迟是20。这给我们带来了120 * 256 = 30720,这就是您报告的值。
将您的数字插入Cisco上面给出的示例:
[(10000000/100000) + 20] x 256 = (100 + 20) x 256 = 120 x 256 = 30720发布于 2016-05-10 06:41:40
我知道90是管理距离,但30720的度量似乎很高,从快速以太网到只有一跳。举个例子,我们能说明为什么这个数字比OSPF高吗?我知道这可能是一个简单的例子,苹果和橘子是两个独立的路由协议,但我想知道这是如何计算的。
你说得对--这就像比较苹果和橘子:)对于exmaple,RIP的最大度量是15,但与EIGRP的度量30720相比,它并不意味着任何东西。
对于EIGRP度量如此之高,部分原因在于EIGRP将其度量乘以256,以便与IGRP (EIGRP的前身)向后兼容。根据这个维基百科条目:
IGRP使用相同的基本公式计算整体度量,唯一的区别是在IGRP中,公式不包含256的标度因子。事实上,这个标度因子是作为促进EIGRP和IGRP之间向后兼容性的一种简单方法而引入的:在IGRP中,整体度量是24位值,而EIGRP使用32位值来表示这个度量。通过将24位值乘以256 (有效地将其左移8位),将该值扩展为32位,反之亦然。这样,在EIGRP和IGRP之间重新分配信息,只需将度量值除以或乘以256倍,就可以自动调用。
关于度量是如何计算的,我不久前写了一个关于它的详细博客帖子。其缺点是,该度量是使用此公式计算的:
256*(10000000/)+(/10)
当我们运行您提供的数字(向量度量:最小带宽为100000 Kbit,总延迟为200微秒)时,我们得到正确的度量:
10000000 / 100000 = 100
200 / 10 = 20
100 + 20 = 120
256 * 120 = 30720
https://networkengineering.stackexchange.com/questions/30240
复制相似问题