根据定义,输入路线的顺序并不重要.这是由于应该如何应用路由:更具体的路由优先于更通用的路由.
假设您有两条路线:
>第一个用于172.16.0.0/16网络,通过网关192.168.1.1
>第二个用于172.16.32.0/24网络,通过网关192.168.1.2
当使用例如172.16.32.1 IP地址向机器发送数据包时,所选网关将始终为192.168.1.2,与在系统中输入的路由的顺序无关.
然而,有一个问题:同一网络的两条路由怎么样,但网关不同?例如,请考虑以下设置:
> 172.16.32.0/24网络的第一条路由,通过网关192.168.1.1
>通过网关192.168.1.2为172.16.32.0/24网络建立第二条路由
系统将如何运作?如果您希望路由优先于另一条相同的路由,则必须为它们分配度量值.该指标被视为“成本”值,优先选择较低的指标.因此,如果您的系统具有两个相同路由但具有不同度量的路由,则它会选择具有较低度量值的路由.
但是,如果两条路线在度量值中相同,会发生什么?在此(角落)情况下,默认行为是未定义的,因系统而异.例如,系统可能更喜欢第一个输入的路线,而另一个系统可以优先选择最后输入的路线.其他系统可以同时使用这两种路由,以近乎循环的方式分配数据包,称为ECMP(等价多路径路由).最后,其他系统可以禁止存在两条完全相同的路线,否则甚至可能进入这样的路线.