Linux 中路由度量值是如何计算的?

Linux 中路由度量值是如何计算的?

我想知道 Linux 如何计算路由的度量。例如,我的 Ubuntu 16.04 中的主机路由表有两条路由,每条路由分配的度量为 100。

是否有任何动态公式可以根据接口速度,特性等来计算指标,或者使用固定表格?

在此处输入图片描述

另外,有人可以告诉我负责度量计算的 Linux 源代码吗?

答案1

我无法向您指出源代码,但路由表的解释如下:

更具体的路由 - 即具有更具体的网络掩码(Genmask)的路由 - 比具有更高网络掩码的路由优先。

如果有 2 个具有相同网络掩码的相同路由条目,则较低的数字被视为较短的距离,并且流量将从该处发送。

在标准路由表中,没有基于接口速度计算度量的动态公式,它只是一个表 - 但您可以修改此度量。(在 ubuntu 中,/etc/interfaces 将允许您使用给定度量指定选项度量,同样,OpenVPN 等将允许您为给定路由指定路由度量)。度量 100 似乎是默认值。

请注意,您可以设置多个不同的路由表并执行源路由。类似的逻辑也适用,我不认为深入研究这一点属于问题的范围。

相关内容