集合型イーサネットインターフェイスのロードバランシング
ロードバランシングはメンバーリンク間のレイヤー2で行われ、輻輳のない設定を改善し、冗長性を維持します。以下のトピックでは、ロードバランシングの概要、MACアドレスとLAGリンクに基づくロードバランシングの設定、耐障害性に優れたハッシュによる一貫性の理解について説明します。
ロードバランシングとイーサネットリンクアグリゲーションの概要
イーサネット ポートのグループに対して LAG(リンク アグリゲーション グループ)を作成できます。レイヤー2のブリッジングトラフィックは、このグループのメンバーリンク間でロードバランシングされるため、冗長性だけでなく、輻輳の問題にも魅力的な構成となっています。各LAGバンドルには、最大16個のリンクが含まれています。(プラットフォームのサポートは、インストールされたJunos OSリリースによって異なります)。
LAGバンドルの場合、ハッシュアルゴリズムは、LAGバンドルに入るトラフィックがバンドルのメンバーリンクにどのように配置されるかを決定します。ハッシュアルゴリズムは、バンドル内のメンバーリンクにまたがるすべての着信トラフィックを均等にロードバランシングすることで、帯域幅を管理しようとします。ハッシュアルゴリズムのハッシュモードは、デフォルトでレイヤー2ペイロードに設定されています。hash-mode がレイヤー 2 ペイロードに設定されている場合、ハッシュ アルゴリズムはハッシュに IPv4 および IPv6 ペイロード フィールドを使用します。また、 payload
ステートメントを使用して、レイヤー2トラフィックのロードバランシングハッシュキーがレイヤー3およびレイヤー4ヘッダーのフィールドを使用するように設定することもできます。ただし、負荷分散の動作はプラットフォーム固有であり、適切なハッシュキー構成に基づいていることに注意してください。
詳細については、「 LAG リンクでの負荷分散の設定」を参照してください。レイヤー 2 スイッチでは、1 つのリンクが過剰利用され、他のリンクは十分に活用されていません。
MACアドレスに基づくロード バランシングの設定
負荷分散のためのハッシュ キー メカニズムは、フレームの送信元アドレスや宛先アドレスなどのレイヤー 2 MAC(メディア アクセス制御)情報を使用します。レイヤー 2 MAC 情報に基づいてトラフィックのロード バランシングを行うには、[edit forwarding-options hash-key]
階層レベルまたは [edit chassis fpc slot number pic PIC number hash-key]
階層レベルに multiservice
ステートメントを含めます。
multiservice { source-mac; destination-mac; payload { ip { layer3-only; layer-3 (source-ip-only | destination-ip-only); layer-4; inner-vlan-id; outer-vlan-id; } } }
ハッシュキーに宛先アドレスのMAC情報を含めるには、 destination-mac
オプションを含めます。ハッシュキーに送信元アドレスのMAC情報を含めるには、 source-mac
オプションを含めます。
送信元アドレスと宛先アドレスが同じパケットは、同じパスを介して送信されます。
パケットごとのロード バランシングを設定して、複数のパスにまたがる EVPN トラフィック フローを最適化できます。
集約されたイーサネットメンバーリンクは、802.3ah OAMパケットの送信元MACアドレスとして物理MACアドレスを使用するようになりました。
関連項目
LAGリンクでのロード バランシングの設定
payload
ステートメントを使用して、レイヤー 2 トラフィックのロード バランシング ハッシュ キーを設定し、フレーム ペイロード内のレイヤー 3 およびレイヤー 4 ヘッダーのフィールドを負荷分散の目的で使用することができます。ステートメントを設定して、レイヤー3(および送信元IPのみまたは宛先IPのみのパケットヘッダーフィールド)またはレイヤー4フィールドを参照できます。このステートメントは、[edit forwarding-options hash-key family multiservice]
階層レベルで設定します。
レイヤー 3 またはレイヤー 4 のオプション、あるいはその両方を設定できます。 source-ip-only または destination-ip-only のオプションは相互に排他的です。 layer-3-only
ステートメントは、MXシリーズルーターでは使用できません。
デフォルトでは、Junosに実装された802.3adは、パケットで伝送されるレイヤー3情報に基づいて、集約されたイーサネットバンドル内のメンバーリンク間でトラフィックのバランスを取ります。
リンクアグリゲーショングループ(LAG)の設定の詳細については、 ルーティングデバイス用Junos OSネットワークインターフェイスライブラリを参照してください。
例:LAG リンクでのロード バランシングの設定
次に、送信元レイヤー 3 IP アドレス オプションとレイヤー 4 ヘッダー フィールド、およびリンク アグリゲーション グループ(LAG)リンクでの負荷分散に送信元と宛先の MAC アドレスを使用するように、負荷分散ハッシュキーを設定します。
[edit] forwarding-options { hash-key { family multiservice { source-mac; destination-mac; payload { ip { layer-3 { source-ip-only; } layer-4; } } } } }
ハッシュ キーの設定を変更する場合は、変更を有効にするために FPC を再起動する必要があります。
EX8200スイッチ上のルーティングされたマルチキャストトラフィックの集約10ギガビットリンクでのマルチキャストロードバランシングの理解
ストリーミングビデオ技術は1997年に導入されました。その後、マルチキャストプロトコルが開発され、データレプリケーションとネットワークの過負荷が軽減されました。マルチキャストを使用すると、サーバーは複数のユニキャスト ストリームを送信する代わりに、単一のストリームを受信者のグループに送信できます。ストリーミングビデオテクノロジーの使用は、以前は時折の企業プレゼンテーションに限定されていましたが、マルチキャストはテクノロジーを後押しし、映画、リアルタイムデータ、ニュースクリップ、アマチュアビデオの絶え間ないストリームがコンピューター、テレビ、タブレット、電話にノンストップで流れています。しかし、これらのストリームはすべて、ネットワークハードウェアの容量を急速に圧倒し、帯域幅の需要が増加し、許容できないブリップや伝送のスタッターが発生しました。
増大する帯域幅の需要を満たすために、複数のリンクが仮想的に集約され、データフロー用のより大きな論理的なポイントツーポイントリンクチャネルが形成されました。これらの仮想リンクの組み合わせは、マルチキャストインターフェイスと呼ばれ、LAG(リンクアグリゲーショングループ)とも呼ばれます。
マルチキャストのロードバランシングでは、各LAG内の個々のリンクを管理して、各リンクが効率的に使用されるようにします。ハッシュアルゴリズムが継続的にデータストリームを評価し、LAG内のリンク上のストリーム分布を調整して、リンクが過小利用または過大利用されないようにします。マルチキャストロードバランシングは、ジュニパーネットワークスEX8200イーサネットスイッチでデフォルトで有効になっています。
このトピックには以下のものが含まれます。
- 10ギガビット単位でマルチキャスト用のLAGを作成
- マルチキャストロードバランシングを使用すべき状況
- マルチキャストロードバランシングの仕組み
- EX8200スイッチにマルチキャストロードバランシングを実装する方法とは?
10ギガビット単位でマルチキャスト用のLAGを作成
EX8200スイッチの最大リンクサイズは10ギガビットです。EX8200スイッチでより大きなリンクが必要な場合は、最大12個の10ギガビットリンクを組み合わせることができます。 図 1 に示すサンプル トポロジーでは、4 つの 10 ギガビット リンクが集約され、各 40 ギガビット リンクを形成しています。
マルチキャストロードバランシングを使用すべき状況
10ギガビットを超えるダウンストリームリンクが必要な場合は、マルチキャストロードバランシングでLAGを使用します。この必要性は、サービス プロバイダーとして行動する場合や、大勢のユーザーにビデオをマルチキャストする場合に頻繁に発生します。
マルチキャスト負荷分散を使用するには、次のものが必要です。
EX8200スイッチ:スタンドアロンスイッチはマルチキャストロードバランシングをサポートしますが、 バーチャルシャーシ はサポートしません。
レイヤー3ルーティングマルチキャスト設定—マルチキャストの設定については、 Junos OSルーティングプロトコル設定ガイドを参照してください。
LAG内の集約型10ギガビットリンク—マルチキャストロードバランシングを使用したLAGの設定については、 EX8200スイッチ上の集約型10ギガビットイーサネットリンクで使用するためのマルチキャストロードバランシングの設定(CLI手順)を参照してください。
マルチキャストロードバランシングの仕組み
トラフィックが複数のメンバーリンクを使用できる場合、同じストリームの一部であるトラフィックは常に同じリンク上にある必要があります。
マルチキャストの負荷分散では、利用可能な 7 つのハッシュ アルゴリズムのいずれかと、キュー シャッフル (2 つのキューを交互に繰り返す) と呼ばれる手法を使用してデータを分散および分散し、使用可能なすべての集約リンクにストリームを誘導します。マルチキャスト ロード バランシングの設定時に、7 つのアルゴリズムのいずれかを選択するか、マルチキャスト パケットのグループ IP アドレスに巡回冗長検査(CRC)アルゴリズムを使用するデフォルト アルゴリズム crc-sgip を使用できます。crc-sgip のデフォルトから始めて、このアルゴリズムがレイヤ 3 ルーティング マルチキャスト トラフィックを均等に分散できない場合は、他のオプションを試すことをお勧めします。6 つのアルゴリズムは、IP アドレス (IPv4 または IPv6) のハッシュ値に基づいており、使用するたびに同じ結果を生成します。バランス モード オプションのみが、ストリームが追加される順序によって異なる結果を生成します。詳しくは 、表 1 を参照してください。
ハッシュ アルゴリズム |
に基づいて |
最適な使用方法 |
---|---|---|
CRC-SGIP |
マルチキャストパケットの送信元とグループIPアドレスの巡回冗長検査 |
デフォルト - 10ギガビットイーサネットネットワーク上のIPトラフィックのハイパフォーマンス管理。毎回同じリンクへの予測可能な割り当て。このモードは複雑ですが、適切な分散ハッシュを生成します。 |
crc-gip |
マルチキャストパケットのグループIPアドレスの巡回冗長検査 |
毎回同じリンクへの予測可能な割り当て。crc-sgip がレイヤ 3 ルーティング マルチキャスト トラフィックを均等に分散せず、グループ IP アドレスが異なる場合は、このモードを試してください。 |
CRC-SIP |
マルチキャストパケットの送信元IPアドレスの巡回冗長検査 |
毎回同じリンクへの予測可能な割り当て。crc-sgip がレイヤ 3 ルーティング マルチキャスト トラフィックを均等に分散せず、ストリーム ソースが異なる場合は、このモードを試してください。 |
simple-sgip |
マルチキャストパケットの送信元とグループIPアドレスのXOR計算 |
毎回同じリンクへの予測可能な割り当て。これは単純なハッシュ手法であり、crc-sgip が生成するほどの分布さえも生成しない可能性があります。crc-sgip がレイヤ 3 ルーティング マルチキャスト トラフィックを均等に分散しない場合に、このモードを試してください。 |
シンプルギップ |
マルチキャストパケットのグループIPアドレスのXOR計算 |
毎回同じリンクへの予測可能な割り当て。これは単純なハッシュ手法であり、crc-gip の収量ほどの分布さえも得られない可能性があります。crc-gip がレイヤー 3 のルーティングされたマルチキャストトラフィックを均等に分散せず、グループ IP アドレスが異なる場合に、これを試してください。 |
シンプルSIP |
マルチキャストパケットの送信元IPアドレスのXOR計算 |
毎回同じリンクへの予測可能な割り当て。これは単純なハッシュ方式であり、crc-sip がもたらすほどの分布が得られない可能性があります。crc-sip がレイヤー 3 のルーティングされたマルチキャスト トラフィックを均等に分散せず、ストリーム ソースが異なる場合は、このモードを試してください。 |
バランス |
トラフィック量が最小のマルチキャストリンクを特定するために使用されるラウンドロビン計算方法 |
最適なバランスが達成されますが、ストリームがオンラインになる順序に依存するため、どのリンクが一貫して使用されるかを予測することはできません。再起動のたびに一貫した割り当てが必要ない場合に使用します。 |
EX8200スイッチにマルチキャストロードバランシングを実装する方法とは?
EX8200スイッチ上で、最適化されたスループットレベルのマルチキャストロードバランシングを実装するには、以下の推奨事項に従ってください:
マルチキャスト インターフェイスの共有によるリンク変更による動的な不均衡に対応するため、集約型リンクの 25% の未使用帯域幅を許可します。
ダウンストリーム リンクでは、可能な限り同じサイズのマルチキャスト インターフェイスを使用します。また、ダウンストリームの集約リンクでは、集約されたリンクのメンバーが同じデバイスに属している場合にスループットが最適化されます。
アップストリーム集約型リンクの場合は、可能な限りレイヤー3リンクを使用します。また、アップストリームの集約型リンクでは、集約型リンクのメンバーが異なるデバイスに属している場合にスループットが最適化されます。
関連項目
例:EX8200スイッチ上の集約型10ギガビットイーサネットインターフェイスで使用するためのマルチキャストロードバランシングの設定
EX8200スイッチは、リンクアグリゲーショングループ(LAG)でのマルチキャストロードバランシングをサポートしています。マルチキャストロードバランシングは、レイヤー3のルーティングマルチキャストトラフィックをLAG上に均等に分散します。最大12個の10ギガビットイーサネットリンクを集約して、120ギガビット仮想リンクまたはLAGを形成することができます。MACクライアントは、この仮想リンクを単一リンクのように扱うことで、帯域幅を拡大し、リンク障害発生時に緩やかな劣化を提供し、可用性を高めることができます。EX8200 スイッチでは、マルチキャストのロード バランシングがデフォルトで有効になっています。ただし、明示的に無効になっている場合は、再度有効にすることができます。.
IPアドレスがすでに設定されているインターフェイスは、LAGの一部になることはできません。
10ギガビットリンクを搭載したEX8200スタンドアロンスイッチのみが、マルチキャストロードバランシングをサポートしています。バーチャルシャーシは、マルチキャストロードバランシングをサポートしていません。
次に、LAG を設定し、マルチキャスト ロード バランシングを再度有効にする例を示します。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
2台のEX8200スイッチ(1台はアクセススイッチ、もう1台は分散型スイッチとして使用)
EX シリーズスイッチの Junos OS リリース 12.2 以降
始める前に:
EX8200 分散型スイッチに、xe-0/1/0、xe-1/1/0、xe-2/1/0、xe-3/1/0 の 4 つの 10 ギガビットインターフェイスを設定します。 ギガビットイーサネットインターフェイスの設定(CLI手順)を参照してください。
概要とトポロジー
マルチキャストロードバランシングは、7つのハッシュアルゴリズムのいずれかを使用して、LAG内の個々の10ギガビットリンク間のトラフィックのバランスを取ります。ハッシュ アルゴリズムの説明については、「 マルチキャスト負荷分散」を参照してください。デフォルトのハッシュアルゴリズムはcrc-sgipです。レイヤー 3 のルーティングされたマルチキャスト トラフィックのバランスが最適になるアルゴリズムが決定されるまで、さまざまなハッシュ アルゴリズムを試すことができます。
EX8200スイッチで10ギガビットを超えるリンクが必要な場合、最大12個の10ギガビットリンクを組み合わせて帯域幅を増やすことができます。この例では、リンク アグリゲーション機能を使用して、分散型スイッチ上で 4 つの 10 ギガビット リンクを 40 ギガビット リンクに結合します。さらに、マルチキャストのロードバランシングが有効になっており、レイヤー3のルーティングされたマルチキャストトラフィックを40ギガビットリンク上で均等に分散することができます。 図2に示すサンプルトポロジーでは、ディストリビューションレイヤーのEX8200スイッチがアクセスレイヤーのEX8200スイッチに接続されています。
リンク速度は、設定されたLAGのサイズに基づいて自動的に決定されます。たとえば、LAGが4つの10ギガビットリンクで構成されている場合、リンク速度は40ギガビット/秒です)。
デフォルトのハッシュアルゴリズムであるcrc-sgipには、マルチキャストパケットの送信元とグループIPアドレスの両方の巡回冗長検査が含まれます。
各スイッチにLAGを設定し、マルチキャストロードバランシングを再度有効にします。再度有効にすると、マルチキャスト ロード バランシングが LAG で自動的に有効になり、LAG 内の各リンクの速度は 10 ギガビット/秒に設定されます。40ギガビットLAGのリンク速度は、自動的に40ギガビット/秒に設定されます。
構成
プロシージャ
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit]
階層レベルのCLIにコマンドをコピーして貼り付けます。
set chassis aggregated-devices ethernet device-count 1 set interfaces ae0 aggregated-ether-options minimum-links 1 set interfaces xe-0/1/0 ether-options 802.3ad ae0 set interfaces xe-1/1/0 ether-options 802.3ad ae0 set interfaces xe-2/1/0 ether-options 802.3ad ae0 set interfaces xe-3/1/0 ether-options 802.3ad ae0 set chassis multicast-loadbalance hash-mode crc-gip
手順
LAGを設定し、マルチキャストロードバランシングを再度有効にするには:
作成するアグリゲートイーサネットインターフェイスの数を指定します。
[edit chassis] user@switch#
set aggregated-devices ethernet device-count 1
集合型イーサネットインターフェイス(aex)、つまりLAGのラベル付けを
up
するための最小リンク数を指定します。手記:デフォルトでは、LAGに
up
のラベルを付けるには、1つのリンクのみが稼働している必要があります。[edit interfaces] user@switch#
set ae0 aggregated-ether-options minimum-links 1
LAG に含める 4 つのメンバーを指定します。
[edit interfaces] user@switch#
set xe-0/1/0 ether-options 802.3ad ae0
user@switch#set xe-1/1/0 ether-options 802.3ad ae0
user@switch#set xe-2/1/0 ether-options 802.3ad ae0
user@switch#set xe-3/1/0 ether-options 802.3ad ae0
マルチキャスト ロード バランシングを再度有効にします。
[edit chassis] user@switch# set multicast-loadbalance
手記:マルチキャストロードバランシングを使用しないLAGの場合のようにリンク速度を設定する必要はありません。40ギガビットLAGでは、リンク速度は自動的に毎秒40ギガビットに設定されます。
オプションで、multicast-loadbalance ステートメントの
hash-mode
オプションの値を変更して、レイヤー 3 ルーティング マルチキャスト トラフィックを最適に分散するアルゴリズムが見つかるまで、別のアルゴリズムを試すことができます。マルチキャスト ロード バランシングが無効になっているときにハッシュ アルゴリズムを変更した場合、マルチキャスト ロード バランシングを再度有効にした後に新しいアルゴリズムが有効になります。
業績
構成の結果を確認します。
user@switch> show configuration chassis aggregated-devices { ethernet { device-count 1; } } multicast-loadbalance { hash-mode crc-gip; } interfaces xe-0/1/0 { ether-options { 802.3ad ae0; } } xe-1/1/0 { ether-options { 802.3ad ae0; } } xe-2/1/0 { ether-options { 802.3ad ae0; } } xe-3/1/0 { ether-options { 802.3ad ae0; } } ae0 { aggregated-ether-options { minimum-links 1; } } }
検証
設定が正常に機能していることを確認するには、次のタスクを実行します。
LAGインターフェイスのステータス検証
目的
スイッチでリンクアグリゲーショングループ(LAG)(ae0)が作成されていることを確認します。
アクション
ae0 LAGが作成されていることを確認します。
user@switch> show interfaces ae0 terse
Interface Admin Link Proto Local Remote ae0 up up ae0.0 up up inet 10.10.10.2/24
意味
インターフェイス名aex は、これがLAGであることを示しています。 A は集約を表し、 E はイーサネットを表します。この数字は、さまざまなLAGを区別します。
マルチキャストロードバランシングの検証
目的
トラフィックがパス間で均等にロード バランシングされていることを確認します。
アクション
4 つのインターフェイスのロード バランシングを検証します。
user@switch> monitor interface traffic
Bytes=b, Clear=c, Delta=d, Packets=p, Quit=q or ESC, Rate=r, Up=^U, Down=^D ibmoem02-re1 Seconds: 3 Time: 16:06:14 Interface Link Input packets (pps) Output packets (pps) xe-0/1/0 Up 2058834 (10) 7345862 (19) xe-1/1/0 Up 2509289 (9) 6740592 (21) xe-2/1/0 Up 8625688 (90) 10558315 (20) xe-3/1/0 Up 2374154 (23) 71494375 (9)
意味
インターフェイスは、ほぼ同じ量のトラフィックを伝送する必要があります。
動的ロードバランシング
ロードバランシングは、ネットワークトラフィックが特定のECMP(等価コストマルチパスルーティング)またはLAG(リンクアグリゲーショングループ)のメンバー全体にできるだけ均等に分散されるようにするために使用されます。一般に、ロード バランシングは静的または動的に分類されます。静的ロード バランシング(SLB)は、パケットの内容(送信元 IP、宛先 IP など)のみに基づいてハッシュを計算します。SLB の最大の利点は、特定のフローのすべてのパケットが同じパスを通るため、パケットの順序が保証されることです。しかし、SLB メカニズムではパスやリンクの負荷が考慮されないため、ネットワークで次のような問題が発生することがよくあります。
リンク帯域幅の使用率が低い
単一のリンク上の象の流れは完全にその上にマウスの流れを落とします。
動的ロードバランシング(DLB)は、SLBに加えて改善されたものです。
ECMPではDLBをグローバルに設定できますが、LAGの場合は集合型イーサネットインターフェイスごとに設定できます。設定に基づいて、選択した イーサタイプ(動的ロードバランシング) (IPv4、IPv6、およびMPLS)にDLBを適用できます。 イーサタイプ(動的ロードバランシング)を設定しない場合、DLBはすべてのイーサタイプに適用されます。デフォルト モードがないため、DLB モードを明示的に設定する必要があることに注意してください。
-
Junos OSリリース22.3R1-EVO以降、QFX5130-32CDスイッチは、ECMPとLAGの両方で動的ロードバランシングをサポートしています。
-
Junos OSリリース19.4R1以降、QFX5120-32CおよびQFX5120-48Yスイッチは、ECMPとLAGの両方で動的ロードバランシングをサポートしています。LAGの場合、DLBは集合型イーサネットインターフェイスごとに設定する必要があります。
-
Junos OS Evolved Release 19.4R2以降、QFX5220スイッチがECMPの動的ロードバランシング(DLB)をサポートしています。ECMP の場合、DLB をグローバルに設定する必要があります。
-
DLB と復元力のあるハッシュの両方を同時に設定することはできません。そうしないと、コミットエラーがスローされます。
-
DLB は、ユニキャスト トラフィックにのみ適用されます。
-
LAGがエグレスECMPメンバーの1つである場合、DLBはサポートされません。
-
DLBは、リモートLAGメンバーには対応していません。
-
DLBは、バーチャル シャーシおよびVCF(バーチャル シャーシ ファブリック)ではサポートされていません。
-
LAGとHiGigトランク上のDLBは同時にサポートされません。
-
QFX5220、QFX5230-64CD、およびQFX5240スイッチは、LAGでのDLBをサポートしていません。
プラットホーム |
ECMP の DLB サポート |
LAG に対する DLB のサポート |
---|---|---|
QFX5120-32C |
はい |
はい |
QFX5120-48 |
はい |
はい |
QFX5220 |
はい |
いいえ |
QFX5230-64CD |
はい |
いいえ |
QFX5240 |
はい |
いいえ |
次の DLB モードを使用して、トラフィックのロード バランシングを行うことができます。
パケット単位モード
このモードでは、フロー内のパケットごとに DLB が開始されます。このモードでは、パケットが常に最高品質のメンバーポートに割り当てられます。ただし、このモードでは、遅延スキューが原因で DLB でパケットの並べ替えの問題が発生する可能性があります。
フローレットモード
このモードは、フローではなく フローレット に基づいてリンクを割り当てることに依存します。実際のアプリケーショントラフィックは、伝送速度を調整するTCPなどの上位層トランスポートプロトコルのフロー制御メカニズムに依存しています。その結果、フローレットが作成されます。フローレットは、同じフローの複数のバーストを、これらのバースト間の非アクティブ期間で区切ったものと考えることができます。この非アクティブ期間は、非アクティブ間隔と呼ばれます。非アクティブ間隔は、新しいフローレットを識別するための境界基準として機能し、DLB 設定の下でユーザー設定可能なステートメントとして提供されます。このモードでは、DLB はフローレットごとに、つまり、新しいフローと、十分に長い時間非アクティブになっている既存のフロー(設定済み
inactivity-interval
)に対して開始されます。パケット単位モードの並べ替え問題は、フローレット内のすべてのパケットが同じリンクを取るため、このモードで対処されます。inactivity-interval
値がすべての ECMP パスの最大レイテンシ スキューよりも大きくなるように設定されている場合、利用可能なすべての ECMP リンクのリンク使用率を高めながら、フローレット間のパケットの並べ替えを回避できます。割り当てられたフロー モード
割り当てられたフロー モードを使用して、一定期間リバランスを選択的に無効にし、問題の原因を切り分けることができます。割り当てられたフロー モードではポートの負荷とキュー サイズが考慮されないため、このモードをリアルタイム DLB に使用したり、このモードを使用して選択されるエグレス ポートを予測したりすることはできません。
DLB の重要な動作の一部を次に示します。
DLB は、受信する EtherType にのみ適用されます。
DLB の観点からは、レイヤー 2 とレイヤー 3 の両方の LAG(リンク アグリゲーション グループ)バンドルは同じと見なされます。
非対称バンドル、つまりメンバー容量の異なる ECMP リンクで動的ロード バランシングを使用する場合、リンクの利用は最適ではありません。
DLB では、新しいリンクがパケット単位で追加され、フロー モードが割り当てられても、フローの再割り当ては発生しません。このため、リンク フラップのシナリオでは、フラップ後に新しいフローやフローレットが見られない場合、フラップが発生した後に使用されたリンクが使用されないという、最適ではない使用が発生する可能性があります。
利点
DLB では、メンバーを選択するにあたり、パケットの内容とともにメンバーの帯域幅使用率が考慮されます。その結果、リアルタイムのリンク負荷に基づいて、より良いリンク使用率を達成できます。
DLBは、エレファントの流れによって占有されたリンクがマウスの流れによって使用されないようにします。したがって、DLBを使用することで、SLBで発生するハッシュコリジョンドロップを回避できます。つまり、DLB を使用すると、リンクが分散されるため、衝突とその結果として生じるパケットのドロップが回避されます。
動的ロードバランシングの設定
このトピックでは、フローレットモードで動的負荷分散(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 の設定(フローレットモード)
フローレットモード(QFX5120-32C、QFX5120-48Y、およびQFX5220スイッチ)でECMPの動的ロードバランシングを設定するには、次の手順に従います。
同様に、 パケット単位 または 割り当て済みフロー モードで ECMP の DLB を設定できます。
LAG 用 DLB の設定(フローレットモード)
開始する前に、ルーター インターフェイスのセットを集合型イーサネットとして設定し、特定の集約型イーサネット(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
(オプション)LAGで動的ロードバランシング用に設定されたオプションを表示するには
show forwarding-options enhanced-hash-key
コマンドを使用します。
同様に、 パケット単位 または 割り当て済みフロー モードで LAG の DLB を設定できます。
例: 動的ロード バランシングの設定
この例では、動的ロード バランシングを設定する方法を示します。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
2 つのQFX5120-32CまたはQFX5120-48Yスイッチ
すべてのデバイスでJunos OS Release 19.4R1以降が作動していること
概要
動的ロードバランシング(DLB)は、SLBに加えて改善されたものです。
ECMPではDLBをグローバルに設定できますが、LAGの場合は集合型イーサネットインターフェイスごとに設定できます。設定に基づいて、IPv4、IPv6、MPLSなどの選択した イーサタイプ(動的ロードバランシング) にDLBを適用できます。 イーサタイプ(動的ロードバランシング)を設定しない場合、DLBはすべてのイーサタイプに適用されます。デフォルト モードがないため、DLB モードを明示的に設定する必要があることに注意してください。
Junos OS Release 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
意味
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に動的ロードバランシング機能を適用すると、負荷はネットワーク内で均等に共有されます。
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。
payload
ステートメントを使用して、レイヤー 3 およびレイヤー 4 ヘッダーのフィールドを使用するように、レイヤー 2 トラフィックのロード バランシング ハッシュ キーを構成することもできます。