索引
Equal Cost Multi Path(ECMP)とは何ですか?
構成構文
例
目標
トポロジ
構成例
Equal Cost Multi Path(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}
|
ロード共有のために同じコスト マルチパス(ECMP)ルートを形成するために選択できるeBGPルートの最大数を設定します。 |
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} |
ロード共有のために同じコスト マルチパス(ECMP)ルートを形成するために選択できるiBGPルートの最大数を設定します。 |
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ルートに到達するための2つのルートがあることを考えてください。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)
Origin incomplete,metric 0,valid,external,multipath,best(古いパス)
最終アップデート: 2023-12-25 14:34:55+0000 |
|
ECMPをアクティブ化してみましょう。
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash seed 100
|
2つのパスがあるため、最大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
|