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?

Equal Cost Multi Path (ECMP) 是第 3 層路由策略,可使用多個可用路徑將流量轉送至目的地。ECMP 會增加通往目的地的路徑數目,並增加到達目的地的可用頻寬。ECMP 機制可使用未使用的連結和頻寬,實現負載平衡和增加頻寬。

ECMP 哈希
不同階層需要不同的哈希種子,以防止樹狀數據中心網路拓撲中的流量分化。在SONiC中,依預設,我們針對ECMP和LAG使用獨特的哈希演算法,因此必須設定哈希種子。

雖然 ECMP 可以增加可用連結的數量,但所有可用的路徑都應緊密地載入共用,這樣沒有路徑會被覆或未充分利用。您可以修改 IP ECMP 負載共用哈希參數,以影響跨多個可用路徑的流量負載共用。若要取得最佳的 ECMP 負載共用,請在來源和目的地之間的所有裝置中設定 ECMP。

必要時,根據網路中獨特的流量模式,在每個層級設定不同的負載平衡參數是最佳做法。例如,在路由器 A 上,負載平衡的哈希字段可能包括來源 ip、dest-ip、通訊協定、來源埠和 L4-dest-port;而在路由器 B 上,哈希字段只能使用來源 ip、dest-ip 和通訊協定。
 

組態語法

設定 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 unicast <主機/子網>。範例輸出如下所示
 
DELLSONiC# show bgp ipv4 unicast 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