EIGRP 指标公式
EIGRP 度量标准是整个路径累积延迟的测量值和整个路径上的最小带宽的组合。延迟值是根据该接口的速度分配给每个“跳跃”的值。
该指标还可以包括考虑接口的负载和可靠性,但这通常被禁用。
这一切都由所谓的“K 值”控制,每个“k 值”控制天气,在 EIGRP 度量计算中考虑以下各项。
K1 = Bandwidth
K2 = Load
K3 = Delay
K4 & K5 = Reliability
默认情况下,K1 和 K3 值设置为 1,K2/K4/K5 值设置为 0。然后可以将这些值插入到完整的(相当复杂的)EIGRP 复合度量计算中:
256 * { K1*BW + [(K2*BW)/(256-load)] + (K3*delay) } * { K5/(reliability+K4) }
如果你用不同的间距重写它并添加漂亮的颜色并应用默认的 K 值,你可以看到它是如何简化为延迟和带宽的:

这意味着简化的公式,只应用默认的 K 值最终是这样的:
**256 * (Bandwidth + Delay)**
带宽和延迟的值
带宽
带宽值基于整个路径上的最小带宽链接。但是因为任何路由协议中的度量值都认为较低的值更好,所以必须使用一个公式将较高的带宽转换为较低的结果度量。该公式如下:
Bandwidth = 10^7 / BW in Kbps
因此,最小带宽为 100 Mbps 链路的路径相当于 100,000 Kbps,其计算如下:
Bandwidth value = 10,000,000 / 100,000 = 100 Delay
延迟
延迟应该是计算将比特传输到相邻邻居所需的时间。但实际上它只是一个基于接口带宽的常数值。但是,由于该因素是可加的,因此它本质上用作跳数。或者也许我们应该说智能跳数,因为它也会影响每个跳的带宽。
每个接口速度和延迟值的完整列表可以在这里找到:https :
//datatracker.ietf.org/doc/html/draft-savage-eigrp-00#section-5.5.1.2
请注意,此表以皮秒(万亿分之一秒)show interface为单位显示值,而延迟值以 usec 或微秒(百万分之一秒)显示。
公式中使用的延迟值是微秒值除以 10。例如,由两条链路组成的路径每条 100mbps 将等于 usec 中的总延迟为 200:
Delay Value = 200 / 10 = 20
最终计算
我们可以采用上面确定的带宽值 (100) 和上面确定的延迟值 (20) 并将它们代入简化公式,以获得最小路径带宽为 100mbps 的链路的最终 EIGRP 指标,以及谁的完整路径交叉两个 100mbps 链接:
EIGRP Metric = 256 * (Bandwidth + Delay)
EIGRP Metric = 256 * (100 + 20)
EIGRP Metric = 256 * 120
EIGRP Metric = 30720
有趣的是,这与您在问题中列出的值完全相同:
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
可行距离与报告距离
这让我们回到了另一个您可能会感到困惑的概念。也就是说,它与此命令的输出有关:
Router#sh ip ei top
...
P 192.168.2.0/24, 1 successors, FD is 30720
via 192.168.1.2 (30720/28160), FastEthernet0/0
为192.168.2.0/24通过的路由提供了两个值192.168.1.2:30720和28160。理解这两个值需要理解EIGRP 用来描述成本的两个术语。
第一个值是所谓的可行距离。这是到达最终目的地的 EIGRP 总成本。我们上面计算的 30720 的值是到 192.168.2.0/24 网络的可行距离。
第二个值 (28160) 是所谓的报告距离(有时也称为广告距离)。该值表示我的邻居到达目标网络的总 EIGRP 成本。这是邻居在向本地路由器通告路由时共享的值。
可以反向解构 28160 的报告距离(也称为邻居的成本)值。
我们知道 EIGRP 指标的值为 256 * (BW+Delay)。如果我们取 28160 并除以256,我们得到 110。这意味着 BW+Delay 等于 110。
我们也知道完整路径是两个 100mbps 的链接,所以很明显,到目标网络的邻居路径是一个 100mbps 的链接,或者总延迟值为 10。这意味着带宽值必须加起来为 100,我们知道它确实如此在分解 100mbps 链接时。
这证实了邻居是一个,距离目标网络 100mbps 跳——这意味着邻居通过 100mbps 链接直接连接到目标网络。
最后让我们谈谈您的具体问题。至少上面还没有回答的那些:
例如,与 OSPF 相比,为什么它如此之高?
Metric 值是一个 32 位的值,这意味着它可以是 0 到 42 亿之间的任何数字。只有当网络大小相同,并且路由是从相同的路由协议中获知时,才考虑 Metric。这意味着 EIGRP 视为度量的内容永远不会与 OSPF 视为网络的内容进行比较。
所以它们的相对差异是无关紧要的。因为如果从 OSPF 和 EIGRP 获知路由,则 EIGRP 路由将始终是首选,因为它的管理距离较低(90 对 110)。
我知道这可能是苹果和橙子是两个独立的路由协议的一个简单案例,但我很想知道这是如何计算的
正确,EIGRP 和 OSPF 指标计算是苹果和橘子——不可比较。EIGRP 计算在上面有详尽的描述,或者在本文中有更详细的描述。
如果您想简化 OSPF 指标计算,我建议您提出一个新问题。
从上面可以看出,计算结果是30720/28160。这个计算的第二部分似乎也是可行距离 28160,第一部分是路由表中的度量 30720。
几乎。所述第一部分是可行距离(30720)。所述第二部分是报告距离(28160)。EIGRP 拓扑表将跟踪这两个值。并且路由表将只考虑可行距离。
有人可以向我解释这个计算的目的吗?
跟踪可行距离以及报告的距离与 EIGRP 的环路预防机制(称为可行性条件)一起发挥作用。如果多个 EIGRP 路由器共享有关同一网络的信息,则可以将每条传入路由的报告距离与路由器已知的最佳可行距离进行比较,以确定新获知的路径是否包含路由环路。
这个数字会随着时间的推移而改变吗?或者这是现在一成不变?
除非接口上升或下降、接口速度改变或跳数改变,否则度量不会改变。由于这些是计算中的内容,因此这些值将影响重新计算。在稳定的网络中,这些通常不会改变,因此数字通常不会改变。