Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Dell Networking SONiC:如何使用基本示例在 BGP 中配置或使用等价多路径

Summary: 本文介绍如何使用基本示例在边界网关协议 (BGP) 中配置或使用等价多路径。

This article applies to   This article does not apply to 

Instructions

前提条件
我们使用标准接口命名来演示概念。请参阅文章 Dell Networking S 系列:基本接口配置 - SONiC 4.0, 了解有关接口命名的更多信息


指数

什么是等价多路径 (ECMP)?
配置语法
例子
   目标
   拓扑
   配置示例
 

什么是 ECMP?

同等成本多路径 (ECMP) 是一种第 3 层路由策略,用于使用多个可用路径将流量转发到目标。ECMP 会增加到目标的路径数量,并增加到达目标的可用带宽。ECMP 机制通过使用未使用的链路和带宽实现负载平衡和增加带宽。

ECMP 哈希
不同的层需要不同的哈希种子,以防止树大小的数据中心网络拓扑中的流量极化。在 SONiC 中,默认情况下,我们对 ECMP 和 LAG 使用不同的哈希算法,因此需要配置哈希种子。

虽然 ECMP 可以增加可用链路的数量,但所有可用路径都应紧密共享,以便没有路径过度或未充分利用。您可以修改 IP ECMP 负载共享哈希参数,以影响跨多个可用路径的流量负载共享。要获得最佳 ECMP 负载共享,请在位于源和目标之间的所有设备中配置 ECMP。

最佳做法是在每个层上根据网络中的独特流量模式(如果需要)配置不同的负载平衡参数。例如,在路由器 A 上,用于负载平衡的哈希字段可能包括 source-ip、dest-ip、protocol、source-port 和 L4-dest-port,而在路由器 B 上,哈希字段只能使用 source-ip、dest-ip 和 protocol。
 

配置语法

配置 ECMP 哈希种子。
为每个设备配置唯一的哈希种子以避免哈希极化,这可能会导致网络拥塞。当多个数据流尝试使用相同的交换机端口访问交换机时,可能会发生网络极化。
 
配置语法 说明
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash { seed-value }
配置哈希种子。种子值的值为 0 到 16777215。

在 BGP 配置中激活多路径
配置语法 说明
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths {number}
配置可选择的最大 eBGP 路由数,以形成用于负载共享的同等成本多路径 (ECMP) 路由。
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths ibgp {number}
配置可选择的最大 iBGP 路由数,以形成用于负载共享的同等成本多路径 (ECMP) 路由。

为 IPv4 配置 ECMP 负载共享哈希(可选)。
配置语法
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv4 {ipv4-src-ip | ipv4-dst-ip | ipv4-ip-proto | ipv4-l4-src-port| ipv4-l4-dst-port | symmetric}

为 IPv6 配置 ECMP 负载共享哈希(可选)。
配置语法
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv6 {ipv6-src-ip | ipv6-dst-ip | ipv6-next-hdr | ipv6-l4-src-port| ipv6-l4-dst-port | symmetric}
 

示例

目标:

请考虑 Dell SONiC 交换机有两个从 BGP 到 4.4.4.4/32 路由的路由。我们必须使用 ECMP 达到 4.4.4.4/32,并同时使用两个路由。 
 

拓扑

拓扑
 
我们可以查看 BGP 邻居通告到交换机的路径,以访问主机或子网,使用 命令 show bgp ipv4 单播 <主机/子网>。示例输出如下所示
 
DELLSONiC# show bgp ipv4 单播 4.4.4.4
适用于 4.4.4.4/32 的 BGP 路由表条目
路径:(2 个可用,最佳 2 个,表默认值)
  200
    10.0.0.2 从 10.0.0.2 (20.0.0.1)
      来源不完整, 指标 0, 有效, 外部, 多路径
      上次更新:2023-12-25 14:34:55+0000
  200
    30.0.0.2 中的 30.0.0.2 (30.0.0.2)
      来源不完整, 指标 0, 有效, 外部, 多路径, 最佳 (较旧的路径)
      上次更新:2023-12-25 14:34:55+0000
 

示例配置

让我们激活 ECMP。
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash seed 100

让我们将最大 BGP 路径配置为 2,因为我们有两个路径。
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp 100
DELLSONiC(config-router-bgp)# address-family ipv4 unicast
DELLSONiC(config-router-bgp-af)# maximum-paths 2

要验证路由表中是否安装了两个路由,请使用以下命令:
show ip route <hopst/subnet>

DELLSONiC# show ip route 4.4.4.4
Codes:  K - kernel route, C - connected, S - static, B - BGP, O - OSPF
        > - selected route, * - FIB route, q - queued route, r - rejected route
       Destination        Gateway                                                                    Dist/Metric   Last Update
--------------------------------------------------------------------------------------------------------------------------------
 B>*   4.4.4.4/32         via 10.0.0.2                    Eth1/1                                     20/0          03:02:41 ago
   *                      via 30.0.0.2                    Eth1/2

Affected Products

PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9264F-ON

Products

PowerSwitch Z9332F-ON, PowerSwitch Z9432F-ON, PowerSwitch Z9664F-ON