rpd 随机路径选择在瞻博网络 vMX 中不起作用

网络工程 路由 杜松
2021-07-12 04:34:44

我阅读了一份 Junos 文档,其中说:

In case of equal-cost paths for the same destination, the routing protocol daemon(rpd) randomly selects one of the available paths to balance load, while maintain packet ordering in case of equal paths

此外,还有以下屏幕截图说明了该声明:

等价路径

当我尝试在 MX 系列路由器上复制此行为时,看起来随机选择不起作用:

root@vmx> show route 10.1/16    

inet.0: 26 destinations, 26 routes (26 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.1.1.0/24        *[Static/5] 00:00:01
                      to 172.20.66.2 via ge-0/0/4.0
                    > to 172.20.77.2 via ge-0/0/5.0
10.1.2.0/24        *[Static/5] 00:00:01
                      to 172.20.66.2 via ge-0/0/4.0
                    > to 172.20.77.2 via ge-0/0/5.0
10.1.3.0/24        *[Static/5] 00:00:01
                      to 172.20.66.2 via ge-0/0/4.0
                    > to 172.20.77.2 via ge-0/0/5.0
10.1.4.0/24        *[Static/5] 00:00:01
                      to 172.20.66.2 via ge-0/0/4.0
                    > to 172.20.77.2 via ge-0/0/5.0

root@vmx> 

什么可能导致这种情况?

2个回答

简短的回答是,您所看到的是外观问题。>位置并不重要。

路由表

如您所见,我实验室中的 3 条路线与您提供的示例类似。但是,实际的转发是通过查看转发表来确定的。

root@vmx1# run show route protocol static

inet.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.10.0.0/24       *[Static/5] 00:00:45
                    > to 1.1.1.2 via ge-0/0/0.0
                      to 3.3.3.0 via ge-0/0/2.0
10.20.0.0/24       *[Static/5] 00:00:09
                      to 1.1.1.2 via ge-0/0/0.0
                    > to 3.3.3.0 via ge-0/0/2.0
10.30.0.0/24       *[Static/5] 00:00:09
                    > to 1.1.1.2 via ge-0/0/0.0
                      to 3.3.3.0 via ge-0/0/2.0
10.40.0.0/24       *[Static/5] 00:00:09
                    > to 1.1.1.2 via ge-0/0/0.0
                      to 3.3.3.0 via ge-0/0/2.0

转发表

我只是以一条路线为例,但它们都以相同的方式出现。正如 Jeff Wheeler 提到的,您确实需要load-balance per-packet配置策略,请注意,这per-packet在 Juniper 中用词不当,它实际上意味着每个流。

ulst条目代表单播列表(ucst下一跳),您可以看到两个接口都存在。随机选择发生在 a 中存在的任何内容之间ulst这是验证转发行为的权威场所。

root@vmx1# run show route forwarding-table destination 10.10.0.0/24
Routing table: default.inet
Internet:
Enabled protocols: Bridging,
Destination        Type RtRef Next hop           Type Index    NhRef Netif
10.10.0.0/24       user     0                    ulst   262142     5
                              1.1.1.2            ucst      556     3 ge-0/0/0.0
                              3.3.3.0            ucst      559     3 ge-0/0/2.0

转发表(无load-balance per-packet

相反,如果我们删除策略,您会看到相同的输出show route,但转发行为只会选择一个下一跳。这里的主要区别ulst存在,这意味着不会发生负载平衡。

root@vmx1# run show route forwarding-table destination 10.10.0.0/24
Routing table: default.inet
Internet:
Enabled protocols: Bridging,
Destination        Type RtRef Next hop           Type Index    NhRef Netif
10.10.0.0/24       user     0 1.1.1.2            ucst      556     5 ge-0/0/0.0

您是否可能正在阅读不支持的平台的文档load-balance per-packet也许你可以链接你正在阅读的地方。

vMX 将允许您同时安装两个路由。如下配置,详情请看文档

routing-options {
    forwarding-table {
        export FWDTBL;
    }
}
policy-options {
    policy-statement FWDTBL {
        term all {
            then {
                accept;
                load-balance per-packet;
            }
        }
    }
}