動的ロードバランシング(DLB)
動的ロードバランシング(DLB)は、静的ロードバランシング(SLB)を改良したものです。
動的ロードバランシングの概要
ロードバランシングは、特定の等価コストマルチパス(ECMP)ルーティンググループまたはリンクアグリゲーショングループ(LAG)のメンバー間でネットワークトラフィックができるだけ均等に分散されるようにするために使用されます。一般に、ロードバランシングは静的または動的に分類されます。静的ロードバランシング(SLB)は、パケットの内容(送信元 IP や宛先 IP など)のみに基づいてハッシュを計算します。SLB の最大の利点は、特定のフローのすべてのパケットが同じパスを通るため、パケットの順序が保証されることです。しかし、SLBメカニズムではパスやリンクの負荷が考慮されないため、ネットワークで次の問題が頻繁に発生します。
-
リンク帯域幅の使用率が低い
-
1つのリンク上のエレファントフローは、その上にマウスフローを完全にドロップします。
動的ロードバランシング(DLB)は、SLBを改良したものです。
ECMPの場合、DLBをグローバルに設定できますが、LAGの場合、集合型イーサネットインターフェイスごとにDLBを設定します。設定に基づいて、選択した イーサタイプ(動的ロードバランシング)( IPv4、IPv6、MPLS)にDLBを適用できます。 ether-type(動的ロードバランシング)を設定しない場合、DLBはすべてのEtherTypeに適用されます。デフォルト モードがないため、DLB モードを明示的に設定する必要があることに注意してください。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
-
DLB と復元力のあるハッシュの両方を同時に設定することはできません。そうでない場合は、コミットエラーがスローされます。
-
DLB は、ユニキャスト トラフィックにのみ適用されます。
-
LAGがエグレスECMPメンバーの1つである場合、DLBはサポートされません。
-
DLBは、リモートLAGメンバーにはサポートされません。
-
DLB は、バーチャルシャーシおよび VCF(バーチャルシャーシファブリック)ではサポートされていません。
-
LAG上のDLBとHiGigトランクは同時にサポートされていません。
DLB の重要な動作の一部を次に示します。
-
DLB は、受信 EtherType にのみ適用されます。
-
DLBの観点からは、レイヤー2とレイヤー3の両方のリンクアグリゲーショングループ(LAG)バンドルは同じと見なされます。
-
非対称バンドル、つまりメンバー容量の異なるECMPリンクで動的ロードバランシングを使用する場合、リンクの利用率は最適ではありません。
-
DLB では、パケットごとに新しいリンクが追加され、フロー モードが割り当てられている場合、フローの再割り当ては行われません。これにより、リンク フラップのシナリオでは、フラップ後に新しいフローやフローレットが見られない場合、使用されているリンクがフラップ後に使用されない可能性があるなど、最適ではない使用が発生する可能性があります。
利点
-
DLBでは、メンバーを選択する際、パケットの内容とともにメンバーの帯域幅使用率を考慮します。その結果、リアルタイムのリンク負荷に基づいて、より良いリンク使用率を実現します。
-
DLB は、エレファントフローによって占有されたリンクがマウスフローによって使用されないようにします。したがって、DLBを使用することで、SLBで発生するハッシュコリジョンドロップを回避します。つまり、DLBではリンクが拡散されるため、コリジョンとそれに伴うパケットのドロップが回避されます。
DLBモード
以下のDLBモードを使用して、トラフィックのロードバランシングを行うことができます。
-
パケット単位モード
このモードでは、フロー内の各パケットに対して DLB が開始されます。このモードでは、パケットが常に最高品質のメンバーポートに割り当てられます。ただし、このモードでは、DLB でパケット並べ替えの問題が起こり、遅延スキューが原因で発生する可能性があります。
-
フローレットモード
このモードでは、フローではなく フローレット に基づいてリンクを割り当てる必要があります。実際のアプリケーション トラフィックは、TCP などの上位層トランスポート プロトコルのフロー制御メカニズムに依存しており、伝送速度が調整されます。その結果、フローレットが作成されます。フローレットは、同じフローの複数のバーストを、これらのバースト間の非アクティブ期間で区切られたものと考えることができます。この非アクティブ期間を「非アクティブ間隔」と呼びます。非アクティブ間隔は、新しいフローレットを識別するための境界基準として機能し、DLB 設定でユーザー設定可能なステートメントとして提供されます。このモードでは、DLB はフローレットごとに、つまり、新しいフローと、十分に長い期間非アクティブになっている(設定された
inactivity-interval
)既存のフローに対して開始されます。パケット単位 モードの並べ替えの問題は、フローレット内のすべてのパケットが同じリンクを使用するため、このモードで対処されます。inactivity-interval
値がすべての ECMP パスの最大遅延スキューよりも大きくなるように設定されている場合、使用可能なすべての ECMP リンクのリンク使用率を高めながら、フローレット間でのパケットの並べ替えを回避できます。 -
割り当てられたフローモード
割り当てられたフローモードを使用して、一定期間リバランスを選択的に無効にし、問題の原因を切り分けることができます。割り当てられたフロー モードではポートの負荷とキューのサイズが考慮されないため、このモードをリアルタイム DLB に使用したり、このモードを使用して選択されるエグレス ポートを予測したりすることはできません。
プラットフォーム固有の DLB の動作
QFX5220、QFX5230-64CD、およびQFX5240スイッチは、LAG 上のDLBをサポートしていません。
プラットホーム |
ECMP の DLB サポート |
LAG の DLB サポート |
---|---|---|
QFX5120-32C |
はい |
はい |
QFX5120-48Y |
はい |
はい |
QFX5220 |
はい |
いいえ |
QFX5230-64CD |
はい |
いいえ |
QFX5240 |
はい |
いいえ |
動的ロードバランシングの設定
このトピックでは、フローレット モードで動的ロードバランシング(DLB)を設定する方法について説明します。
Junos OS リリース 19.4R1以降、QFX5120-32CスイッチとQFX5120-48Yスイッチは、ECMPとLAGの両方でダイナミックロードバランシングをサポートしています。LAGの場合、DLBは集合型イーサネットインターフェイスごとに設定する必要があります。
Junos OS Evolved Release 19.4R2以降、QFX5220スイッチはECMPのダイナミックロードバランシング(DLB)をサポートします。ECMP の場合、DLB はグローバルに設定する必要があります。
ECMP の DLB の設定(Flowlet モード)
フローレットモード(QFX5120-32C、QFX5120-48Y、QFX5220スイッチ)を使用してECMPのダイナミックロードバランシングを設定するには:
同様に、パケット 単位 または 割り当て済みフロー モードで ECMP の DLB を設定できます。
LAG の DLB の設定(Flowlet モード)
開始する前に、ルーターインターフェイスのセットを集合型イーサネットとして設定し、特定の集合型イーサネット(AE)グループ識別子を使用して、集合型イーサネット(AE)バンドルを作成します。
フローレットモード(QFX5120-32CおよびQFX5120-48Y)を使用してLAGの動的ロードバランシングを設定するには、次の手順に従います。
フローレットモードで動的ロードバランシングを有効にします。
[edit interfaces ae-x aggregated-ether-options] user@router# set dlb flowlet
(オプション) inactivity-interval 値を設定します。リンク再割り当ての最小非アクティブ間隔(マイクロ秒単位)。
[edit interfaces ae-x aggregated-ether-options] user@router# set dlb flowlet inactivity-interval (micro seconds)
(オプション)
ether-type
で動的ロードバランシングを設定します。[edit forwarding-options enhanced-hash-key] user@router# set lag-dlb ether-type mpls
(オプション)
show forwarding-options enhanced-hash-key
コマンドを使用して、LAGのダイナミックロードバランシングに設定されたオプションを表示できます。
同様に、 パケット単位 または 割り当て済みフロー モードで LAG の DLB を設定できます。
参照
例:動的ロード バランシングの設定
この例では、動的ロードバランシングを設定する方法を示しています。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
2 台の QFX5120-32C または QFX5120-48Y スイッチ
すべてのデバイスでJunos OS リリース 19.4R1 以降が実行されている
概要
動的ロードバランシング(DLB)は、SLBを改良したものです。
ECMPの場合、DLBをグローバルに設定できますが、LAGの場合、集合型イーサネットインターフェイスごとにDLBを設定します。設定に基づいて、IPv4、IPv6、MPLSなどの選択した イーサタイプ(動的ロードバランシング) にDLBを適用できます。 ether-type(動的ロードバランシング)を設定しない場合、DLBはすべてのEtherTypeに適用されます。デフォルト モードがないため、DLB モードを明示的に設定する必要があることに注意してください。
Junos OS リリース 19.4R1以降、QFX5120-32CおよびQFX5120-48Yスイッチは、ECMPとLAGの両方で動的ロードバランシングをサポートしています。
DLB と復元力のあるハッシュの両方を同時に設定することはできません。そうでない場合は、コミットエラーがスローされます。
位相幾何学
このトポロジーでは、R0とR1の両方が接続されています。

この例では、静的設定を示しています。また、動的プロトコルを使用して設定を追加することもできます。
構成
- CLIクイック構成
- LAG(QFX5120-32CおよびQFX5120-48Y)の動的ロードバランシングの設定
- ECMPの動的ロードバランシングの設定(QFX5120-32C、QFX5120-48Y、およびQFX5220スイッチ)
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
R0
set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.2/24 set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.2/24 set interfaces xe-0/0/54:0 unit 0 family inet address 10.10.10.2/24 set forwarding-options enhanced-hash-key ecmp-dlb per-packet set policy-options policy-statement loadbal then load-balance per-packet set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3 set routing-options static route 20.0.1.0/24 next-hop 10.1.1.3 set routing-options forwarding-table export loadbal
R1
set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.3/24 set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.3/24 set interfaces xe-0/0/52:0 unit 0 family inet address 20.0.0.2/16
LAG(QFX5120-32CおよびQFX5120-48Y)の動的ロードバランシングの設定
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、「 1 コンフィグレーション・モードでのCLIエディタの使用」を参照してください。
R0 ルーターを設定するには:
各ルーターの適切なインターフェイス名、アドレス、およびその他のパラメーターを変更した後、他のルーターに対してこの手順を繰り返します。
リンクアグリゲーショングループ(LAG)を設定します。
[edit interfaces]
user@R0# set interfaces xe-0/0/0 ether-options 802.3ad ae0 user@R0# set interfaces xe-0/0/10 ether-options 802.3ad ae0 user@R0# set interfaces ae0 aggregated-ether-options lacp active user@R0# set interfaces ae0 unit 0 family inet address 10.1.0.2/24 user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3LAG を設定した後、検証セクションで、「 LAG で動的ロード バランシング機能を設定する前にトラフィック負荷 を確認する」セクションの手順を実行して、DLB を設定する前に設定またはトラフィック負荷を確認します。
LAGのパケット単位モードで動的ロードバランシングを設定します。
[edit]
user@R0# set interfaces ae0 aggregated-ether-options dlb per-packetDLB を設定した後、検証セクションで、「 LAG の動的ロード バランシング機能を設定した後のトラフィック負荷の検証 」セクションの手順を実行して、DLB を設定する前に設定またはトラフィック負荷を確認します。
ECMPの動的ロードバランシングの設定(QFX5120-32C、QFX5120-48Y、およびQFX5220スイッチ)
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、「 1 コンフィグレーション・モードでのCLIエディタの使用」を参照してください。
R0 ルーターを設定するには:
各ルーターの適切なインターフェイス名、アドレス、およびその他のパラメーターを変更した後、他のルーターに対してこの手順を繰り返します。
R0からR1への接続するギガビットイーサネットインターフェイスリンクを設定します。
[edit interfaces]
user@R0# set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.2/24 user@R0# set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.2/24 user@R0# set interfaces xe-0/0/54:0 unit 0 family inet address 10.10.10.2/24静的ルートを作成します。
[edit interfaces]
user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3 user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.1.3ロードバランシングポリシーを適用します。動的ロードバランシング機能を使用するには、転送テーブルに複数の ECMP ネクスト ホップが存在する必要があります。
[edit interfaces]
user@R0# set policy-options policy-statement loadbal then load-balance per-packet user@R0# set routing-options forwarding-table export loadbalECMP のパケット単位モードで動的ロードバランシングを設定します。
[edit interfaces]
user@R0# set forwarding-options enhanced-hash-key ecmp-dlb per-packetR1で、ギガビットイーサネットインターフェイスリンクを設定します。
[edit interfaces]
user@R2# set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.3/24 user@R2# set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.3/24 user@R2# set interfaces xe-0/0/52:0 unit 0 family inet address 20.0.0.2/16
検証
設定が正常に機能していることを確認します。
LAGで動的ロードバランシング機能を設定する前にトラフィック負荷を確認する
目的
リンク アグリゲーション グループで DLB 機能が設定される前に確認します。
アクション
動作モードから、 show interfaces interface-name | match pps
コマンドを実行します。
user@R0>show interfaces xe-0/0/0 | match pps Input rate : 1240 bps (1 pps) Output rate : 1024616 bps (1000 pps) ## all traffic in one link. user@R0>show interfaces xe-0/0/10 | match pps Input rate : 616 bps (0 pps) Output rate : 1240 bps (1 pps)<< Output rate : 1240 bps (1 pps) ## no traffic
LAGで動的ロードバランシング機能を設定した後のトラフィック負荷の検証
目的
R0で受信したパケットがロードバランシングされていることを確認します。
アクション
動作モードから、 show interfaces interface-name
コマンドを実行します。
user@R0>show interfaces xe-0/0/0 | match pps Input rate : 616 bps (0 pps) Output rate : 519096 bps (506 pps)<< Output rate : 519096 bps (506 pps) ## load equally shared user@R0>show interfaces xe-0/0/10 | match pps Input rate : 1232 bps (1 pps) Output rate : 512616 bps (500 pps)<< Output rate : 512616 bps (500 pps) ## load equally shared
意味
パケット単位のモードでの動的ロードバランシングが正常に機能しています。LAGにダイナミックロードバランシング機能を適用すると、ネットワーク内で負荷が均等に共有されます。
検証
R0で設定が正常に機能していることを確認します。
R0 での動的ロードバランシングの検証
目的
R0で受信したパケットがロードバランシングされていることを確認します。
アクション
運用モードから、 run show route forwarding-table destination destination-address
コマンドを実行します。
user@R0>show route forwarding-table destination 20.0.1.0/24 inet.0: 178 destinations, 178 routes (178 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 20.0.1.0/24 *[Static/5] 1d 03:35:12 > to 10.1.0.3 via xe-0/0/0.0 to 10.1.1.3 via xe-0/0/10.0 user@R0>show route 20.0.1.0/24 inet.0: 178 destinations, 178 routes (178 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 20.0.1.0/24 *[Static/5] 1d 03:35:12 > to 10.1.0.3 via xe-0/0/0.0 to 10.1.1.3 via xe-0/0/10.0
意味
R0で受信したパケットはロードバランシングされます。
R1のロードバランシングの確認
目的
R1で設定が正しく機能していることを確認します。
アクション
動作モードから、 show route
コマンドを実行します。
user@R1>show route 20.0.1.25 inet.0: 146 destinations, 146 routes (146 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 20.0.0.0/16 *[Direct/0] 1d 03:37:11 > via xe-0/0/52:0.0
意味
パケット単位のモードでの動的ロードバランシングが正常に機能しています。ECMPに動的ロードバランシング機能を適用すると、ネットワーク内で負荷が均等に共有されます。
選択的動的ロードバランシング(DLB)
選択的 DLB の概要
選択的 DLB を使用すると、デバイスを通過するすべてのトラフィックに対して DLB と SLB のどちらかを選択する必要がなくなります。グローバル レベルで優先する DLB モードを設定し、デフォルトのタイプのロードバランシングを設定してから、特定の種類のトラフィックに対して DLB を選択的に有効または無効にすることができます。
選択的DLBは、エレファントフローとも呼ばれる非常に大きなデータフローが、データフロー全体に対して小さすぎるリンクに遭遇した場合にも役立ちます。このシナリオでは、選択的DLBによって、データセンターファブリックにおけるリンクの利用可能な帯域幅の最適な使用量を計算できます。エレファントフローの選択的パケット単位DLBを有効にすると、アルゴリズムはパケットを最初に最高品質のリンクに誘導します。リンク品質が変化すると、アルゴリズムは後続のパケットを次に品質の高いリンクに転送します。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
利点
-
大規模なデータフローのネットワーク処理を改善します。
-
パフォーマンスを向上させるため、同じトラフィックストリーム内でパケット単位およびフロー単位のロードバランシングを使用します。
-
ファイアウォールフィルターの一致条件に基づいてロードバランシングをカスタマイズします。
AI-MLデータセンターにおける選択的DLB
AI-MLワークロードでは、アプリケーショントラフィックの大部分が、転送にRemote Direct Memory Access(RDMA)over Converged Ethernet version 2(RoCEv2)を使用します。動的ロードバランシング(DLB)は、RoCEv2ネットワークで効率的なロードバランシングを実現し、輻輳を防ぐのに理想的です。ただし、静的ロードバランシング(SLB)は、トラフィックの種類によってはより効果的な場合があります。選択的 DLB は、この問題を解決します。
ロードバランシングを有効にするには、フロー単位またはパケット単位の 2 つの方法があります。フロー単位のロードバランシングは、一度に処理するパケット数が最も多いため、最も広く使用されています。デバイスは、同じ 5 タプルのパケットヘッダーを持つパケットを 1 つのフローとして分類します。デバイスは、フロー内のすべてのパケットに同じロードバランシング処理を与えます。フローベースのロードバランシングは、すべてのリンクをほぼ均等に使用するため、一般的なTCPおよびUDPトラフィックに適しています。ただし、パケット単位のロードバランシングによって一部のパケットが並べ替えられる可能性があり、パフォーマンスに影響を与える可能性があります。
多くのAIクラスターは、誤順序パケットを処理できるスマートネットワークインターフェイスカード(SmartNIC)を介してアプリケーションをネットワークに接続します。パフォーマンスを向上させるには、ネットワーク上でパケットごとのDLBを有効にします。次に、順不同のパケットを処理できるエンドポイントサーバーのみに対して DLB を有効にします。デバイスは、これらのパケットのBTH+ヘッダーにあるRDMAオペレーションコード(オペコード)をリアルタイムで確認します。任意のファイアウォールフィルターの一致条件を使用して、これらのオペコードに基づいてDLBを選択的に有効または無効にできます。他のフローは、SLB とも呼ばれるデフォルトのハッシュベースロードバランシングを引き続き使用します。
構成
構成の概要
DLB を選択的に有効にするには、デフォルトで DLB を無効にし、特定のフローで DLB を選択的に有効にする方法と、DLB をグローバルに有効にして DLB を選択的に無効にする方法の 2 つがあります。いずれの場合も、最初に パケット単位モードで DLB を構成する必要があります。パケット単位は、DLB が有効になっている場所で使用される DLB モードです。同じデバイス上で同時にフロー単位およびパケット単位のモードで DLB を設定することはできません。
この機能は Flowlet モードと互換性があります。DLB がフローレット モードで設定されている場合は、オプションでこの機能を有効にすることができます。
位相幾何学
図 2 に示すトポロジーでは、DLB はデフォルトで無効になっています。パケット単位のモードで、Flow2 で DLB を選択的に有効にしました。表 2 は、示されている 2 つのフローのロードバランシング設定と、フローに適用されたロードバランシングの結果をまとめたものです。
流れる |
DLB の有効性 |
結果 |
---|---|---|
フロー1 |
いいえ |
デバイスは、フロー単位のモードであるデフォルトのロードバランシング設定を使用します。フローは 1 つのデバイスに向けられます。 |
フロー2 |
はい |
デバイスは、パケット単位の DLB 設定を使用します。デバイスは、このフローをパケットに分割します。DLB は、パケット ヘッダーの RDMA オペコードと対応するフィルターに基づいて、各パケットをパスに割り当てます。 |

DLB をグローバルに無効にし、DLB を選択的に有効にする
DLB を必要とするパケットが非常に少ない場合は、グローバル レベルで DLB を無効にし、フローごとに選択的に有効にすることができます。
DLB をグローバルに有効にし、DLB を選択的に無効にする
ほとんどのパケットが DLB の恩恵を受ける場合は、すべてのパケットに対してグローバル レベルで DLB を有効にし、パケットごとに選択的に無効にします。
例:ファイアウォールフィルター一致条件でDLBを選択的に有効にする
選択的 DLB の利点の 1 つは、ファイアウォール フィルターの一致条件に基づいてロードバランシングをカスタマイズできることです。この例では、RDMA キューペアに一致するファイアウォールフィルターに基づいて DLB を有効にする方法を示しています。この例では、パケット並べ替えをサポートするネットワーク インターフェイス カード(NIC)で終端するフローに対してのみ、パケット単位の DLB を有効にする場合に使用します。
アプリケーション トラフィックのトランスポートに RoCEv2 を使用するネットワークでは、RDMA 接続は送信キューでトラフィックを送信し、受信キューでトラフィックを受信します。これらのキューは、RDMA 接続を形成します。送信キューと受信キューを合わせて、キュー ペアと呼びます。各キュー ペアには、識別可能なプレフィックスがあります。この例では、キュー ペア プレフィックスを使用して、DLB が有効になるタイミングを制御します。
この例は、QFX5240-64QDスイッチで設定されています。
DLBのエグレスポートリンク品質メトリックのカスタマイズ
概要
動的ロードバランシング(DLB)がリンクの品質に基づいて最適なリンクを選択するため、トラフィックフローがネットワーク全体に均等に分散されます。お客様(ネットワーク管理者)は、DLBが最適なリンクを選択するように、DLBがエグレスポートの品質メトリックを割り当てる方法をカスタマイズできます。
DLBは、ECMP(等価コストマルチパス)の一部である各エグレスポートを品質帯域に割り当てます。品質バンドには 0 から 7 までの番号が付けられており、0 が最低品質、7 が最高品質です。DLBは、各ポートの2つのメトリックを追跡し、これらのメトリックを使用してリンク品質を計算します。
-
ポート負荷メトリック: 各 ECMP リンクを介して最近送信されたトラフィック量 (バイト単位)。
-
ポートキューメトリック:送信のために各ECMPリンクでエンキューされたトラフィックの量(セル数で測定)。
メンバー ポートの負荷とキュー サイズに基づいて、DLB は品質バンドの 1 つをメンバー ポートに割り当てます。ポートから品質へのバンドマッピングは、瞬間的なポート負荷とキューサイズのメトリックに基づいて変化します。
デフォルトでは、DLBはリンク品質を評価する際に、ポート負荷メトリックとポートキューメトリックを均等に重み付けします。DLBを設定して、ポートキューよりもポート負荷に重きを置いてリンク品質を決定することも、その逆も同様です。[edit forwarding-options enhanced-hash-key ecmp-dlb egress-quantization]
階層レベルでrate-weightage
ステートメントを使用して、DLBがポート負荷に課す重みの量を設定します。DLB は、残りの重みの割合をポート キューに割り当てます。たとえば、rate-weightage
値を 80 に設定した場合、DLB はリンクの品質を評価するときに、ポート負荷に 80% の重みを、ポート キューに 20% の重みを置きます。
また、高品質帯域の上限と下限を決定するポート負荷のしきい値を設定することもできます。しきい値は、 min
および max
オプションを使用して設定するポート負荷の合計に対する割合です。DLBは、ポート負荷がこの最小値を下回る出力ポートを最高品質帯域(7)に割り当てます。最大閾値を超えるポート負荷は、最低品質帯域(0)に分類されます。DLB は、残りのポート負荷数量を品質バンド 1 から 6 に分割します。
たとえば、最小値を 10、最大値を 70 に設定した場合、DLB は、ポート負荷の合計の 10%(%)未満のポート負荷を持つエグレス ポートを品質帯域 7 に割り当てます。DLBは、ポート負荷が全ポート負荷の70%以上を占めるエグレスポートを品質帯域0に割り当てます。次に、DLBは、ポート負荷がポート負荷全体の10%から70%を占めるエグレスポートを、品質バンド1から6に割り当てます。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
利点
-
ポートの負荷サイズとキューの両方によって決定されるポートアクティビティに基づいて、ロードバランシングを最適化します。
-
ネットワークニーズに最も適したリンク品質パラメータを設定します。
-
DLBがリアルタイムの指標に基づいて、ポートを品質帯域に柔軟に割り当てることを可能にします。
構成
エグレスポート品質メトリックを設定します。
DLB フローレット モードでのフローセット テーブル サイズの設定
概要
動的ロードバランシング(DLB)とは、トラフィックフローが均等に分散されるように、リンクの品質に基づいて最適なエグレスリンクを選択するロードバランシング技術です。ネットワーク管理者は、 DLB を Flowlet モードで設定できます。
フローレットモードでは、DLBは最後に確認されたタイムスタンプと、DLBが最適なリンク品質に基づいて選択したエグレスインターフェイスを記録することでフローを追跡します。DLB は、この情報を各 ECMP グループに割り当てられたフローセット テーブルに記録します。DLB アルゴリズムは、最後に確認されたタイムスタンプが非アクティブ タイマーを超えるまで、特定のリンクで特定のフローを維持します。特定のフローの非アクティブ タイマーが期限切れになると、DLB は、そのリンクがそのフローに対して引き続き最適であるかどうかを再確認します。リンクが最適でなくなった場合、DLB は新しいエグレス リンクを選択し、新しいリンクとフローの最後の既知のタイムスタンプでフローセット テーブルを更新します。リンクが引き続き最適である場合、フローセット テーブルは引き続き同じエグレス リンクを使用します。
ネットワーク管理者は、フローセット テーブルのサイズを大きくして、ECMP グループ間でのフローセット テーブル エントリーの配分を変更することができます。ECMP グループがフローセット テーブルに持つエントリーが多いほど、ECMP グループが対応できるフローも多くなります。AI-MLデータセンターなど、多数のフローを処理する必要がある環境では、DLBがより大きなフローセットテーブルサイズを使用することが特に有用です。各 ECMP グループが多数のフローに対応できる場合、DLB は ECMP メンバー リンク全体でより良いフロー分散を実現します。
フローセット テーブルには合計 32,768 個のエントリーが保存され、これらのエントリーは DLB ECMP グループ間で均等に分割されます。各 ECMP グループのフローセット テーブルのサイズは、256〜32,768 の範囲です。ECMP グループの数を計算するには、次の式を使用します。
32,768/(flowset size) = Number of ECMP groups
デフォルトでは、フローセット サイズは 256 エントリであるため、デフォルトで 128 個の ECMP グループがあります。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
利点
-
エグレスリンク上の負荷分散を改善します。
-
フローをグループ化して、各フローに対して DLB が行う必要のある計算の数を最小限に抑えます。
-
フローセットテーブルエントリの割り当てをカスタマイズして、効率を最大化します。
-
フローレットモードの効率を上げます。
構成
フローセット テーブル サイズを設定する際は、次の点に注意してください。
-
フローセット サイズを変更すると、ECMP DLB グループの規模も変更されます。256 を超えるフローセット テーブル サイズを割り当てると、DLB 対応 ECMP グループの数が減少します。
-
この設定をコミットすると、設定変更中にトラフィックがドロップする可能性があります。
-
リンク アグリゲーション グループ(LAG)が ECMP のエグレス メンバーの 1 つである場合、DLB はサポートされません。
-
アンダーレイ ファブリックのみが DLB をサポートしています。
-
50 Gbps未満の速度のQFX5240スイッチポートはDLBをサポートしていません。
事後対応型パスリバランシング
概要
動的ロードバランシング(DLB)は、AI-MLデータセンターファブリックに内在する大規模なデータフロー(エレファントフローとも呼ばれる)を処理するための重要なツールです。 リアクティブ パス リバランシング は、既存の DLB 機能の拡張機能です。
DLB のフローレットモードでは、ネットワーク管理者が非アクティブ間隔を設定します。トラフィックは、フローが休止タイマーよりも長く一時停止するまで、割り当てられた発信(エグレス)インターフェイスを使用します。発信リンクの品質が徐々に低下する場合、フロー内の一時停止は、設定された非アクティブタイマーを超えない可能性があります。この場合、従来のフローレット モードではトラフィックが別のリンクに再割り当てされないため、トラフィックはより高品質のリンクを利用できません。リアクティブパスリバランシングは、フローレットモードが有効になっている場合でも、ユーザーがトラフィックをより高品質のリンクに移動できるようにすることで、この制限に対処します。
デバイスは、各 ECMP(Equal Cost Multipath)のエグレス メンバー リンクに、リンクを通過するトラフィックに基づいて、品質バンドを割り当てます。品質帯域は、ポート負荷とキューバッファに依存します。ポート負荷は、送信されたエグレスバイト数です。キューバッファは、エグレスポートからの送信を待機しているバイト数です。ECMP を通過するトラフィック パターンに基づいて、これらの属性をカスタマイズできます。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
利点
-
リンク劣化に対するスケーラブルなソリューション
-
大規模なデータフローにおける帯域幅の最適な利用
-
長時間のフローによるロードバランシングの非効率性の回避
構成
構成の概要
品質バンドには 0 から 7 までの番号が付けられており、0 が最低品質、7 が最高品質です。DLB は、メンバー ポートの負荷とキュー サイズに基づいて、メンバー ポートに品質帯域値を割り当てます。ポートから品質へのバンド マッピングは、瞬間的なポート負荷とキュー サイズに基づいて変化します。
以下の両方の条件が満たされた場合、リアクティブ パス リバランスにより、フローをより品質の高いメンバー リンクに再割り当てできます。
-
現在のメンバーの品質バンドに設定された再割り当て 品質デルタ 値を加えた値以上の品質バンドを持つ、より高品質のメンバーリンクが利用可能です。品質差分は、2 つの品質バンドの差です。
quality-delta
ステートメントを使用して品質デルタ値を設定します。 -
システムが生成するパケットのランダム値が、再割り当て 確率のしきい値 よりも低い値です。
prob-threshold
ステートメントを使用して確率しきい値を設定します。
この機能を使用する際は、以下の点に注意してください。
-
リアクティブ パス リバランスはグローバル設定であり、システム内のすべての ECMP DLB 設定に適用されます。
-
フローの再割り当てを制御するために、リアクティブパスリバランスに加えて、出力量子化を設定することができます。
-
パケットの並べ替えは、フローが 1 つのポートから別のポートに移動するときに発生する可能性があります。リアクティブ パス リバランスを設定すると、フローが新しいリンクに再割り当てされたときに、一時的に順序不同の問題が発生する可能性があります。
位相幾何学
このトポロジーでは、デバイスには3つの入力ポートと2つの出力ポートがあります。イングレス ストリームのうち 2 つはレイヤー 2(L2)トラフィックで、1 つはレイヤー 3(L3)トラフィックです。この図は、各エグレスポートにトラフィックを転送するテーブルエントリーを示しています。すべてのイングレスポートとエグレスポートは同じ速度です。

このトポロジーでは、リアクティブパスリバランスは次のように機能します。
品質差分 2 が設定されています。
L2 ストリーム 1(
mac 0x123
)は、10 % のレートでイングレス ポート et-0/0/0 に入ります。et-0/0/10から出ます。et-0/0/10のエグレスリンク利用率は10%で、品質帯域値は6です。L3 ストリームは、50 % のレートでポート et-0/0/1 に入ります。et-0/0/11から出て、ECMPメンバーリストから最適なリンクを選択します。et-0/0/11のエグレスリンク利用率は50%で、品質帯域値は5です。
L2 ストリーム 2(
mac 0x223
)は、40 % のレートでポート et-0/0/2 に入ります。また、et-0/0/11から出ます。これにより、et-0/0/11 リンク品質帯域値がさらに 4 に低下します。これで、両方の ECMP メンバー リンクの品質帯域値の差は 2 になります。ポート et-0/0/10 と et-0/0/11 の品質帯域値の差が設定された品質デルタ 2 以上であるため、リアクティブ パス バランシング アルゴリズムが動作可能になります。このアルゴリズムは、L3 ストリームを et-0/0/11 からより品質の高いメンバー リンク(この場合は et-0/0/10)に移動します。
L3 蒸気が et-0/0/10 に移動すると、et-0/0/10 リンク使用率は 60 % に増加し、品質帯域値は 5 に減少します。L2 ストリーム 2 は、引き続き et-0/0/11 を経由して送信されます。et-0/0/11 リンク使用率は 40% のままで、品質帯域値が 5 に増加しています。
リアクティブ パス リバランシングの設定
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。