LAGとECMPのハッシュアルゴリズム
LAG と ECMP に使用されるハッシュアルゴリズムと、ハッシュアルゴリズムの設定方法について説明します。
LAGバンドルとエグレスネクストホップECMPトラフィックのハッシュに使用されるアルゴリズムを理解する
ジュニパーネットワークスのEXシリーズとQFXシリーズは、ハッシュアルゴリズムを使用して、等価コストマルチパス(ECMP)が有効な場合に、リンクアグリゲーショングループ(LAG)バンドルまたはネクストホップデバイスにトラフィックを転送する方法を決定します。
ハッシュアルゴリズムは、さまざまなパケットフィールドの値と、送信元ポートIDや送信元デバイスIDなどの内部値に基づいてハッシュを決定します。ハッシュアルゴリズムで使用されるフィールドの一部を設定できます。
このトピックでは、次のセクションについて説明します。
ハッシュアルゴリズムを理解する
ハッシュアルゴリズムは、ECMPが有効になっている場合にLAGバンドルに入るトラフィック、またはスイッチから出るトラフィックのトラフィック転送を決定するために使用されます。
LAGバンドルの場合、ハッシュアルゴリズムは、LAGバンドルに入るトラフィックがバンドルのメンバーリンクにどのように配置されるかを決定します。ハッシュアルゴリズムは、バンドル内のメンバーリンク全体ですべての着信トラフィックを均等にロードバランシングすることで、帯域幅を管理しようとします。
ECMPの場合、ハッシュアルゴリズムにより、受信トラフィックがネクストホップデバイスに転送される方法が決まります。
ハッシュアルゴリズムは、さまざまなパケットフィールドの値と、送信元ポートIDや送信元デバイスIDなどの内部値に基づいてハッシュを決定します。ハッシュアルゴリズムで使用されるパケットフィールドは、パケットのEtherTypeや、場合によってはスイッチの設定によって異なります。ハッシュ アルゴリズムは、以下の EtherType を認識します。
IP(IPv4およびIPv6)
MPLS
MACインMAC
これらのEtherTypeのいずれにも属しないと認識されないトラフィックは、レイヤー2ヘッダーに基づいてハッシュされます。ユーザーがハッシュモードをレイヤー2ヘッダーとして設定すると、IPおよびMPLSトラフィックもレイヤー2ヘッダーに基づいてハッシュされます。
トラフィック転送を決定するためにハッシュアルゴリズムが使用するいくつかのフィールドを設定できます。ただし、ヘッダー内の特定の値がハッシュアルゴリズムによってどのように使用されるかを設定することはできません。
ハッシュアルゴリズムに関しては、以下の点に注意してください。
ハッシュ用に選択したフィールドは、パケットタイプのみに基づいています。フィールドは、転送決定(ブリッジまたはルーティング)やエグレスLAGバンドル設定(レイヤー2またはレイヤー3)などの他のパラメーターに基づいてはいません。
同じフィールドが、ユニキャストパケットとマルチキャストパケットのハッシュ化に使用されます。ただし、ユニキャストパケットとマルチキャストパケットのハッシュ方式は異なります。
同じフィールドがハッシュアルゴリズムによって使用され、ECMPトラフィックとLAGトラフィックをハッシュ化しますが、ハッシュアルゴリズムではECMPトラフィックとLAGトラフィックのハッシュ方法が異なります。LAGトラフィックはトランクハッシュを使用し、ECMPはECMPハッシュを使用します。LAGとECMPはどちらも同じRTAG7シードを使用しますが、偏光を避けるためにその128Bシードの異なるオフセットを使用します。トランクとECMPオフセットを使用するためのHASH関数の初期設定は、PFE初期設定時に設定されます。異なるハッシュにより、LAGバンドルがECMPネクストホップパスの一部である場合にトラフィックが偏極化されないようにします。
スイッチが混合または非混合のバーチャルシャーシまたはバーチャルシャーシファブリック(VCF)に参加しているかどうかに関係なく、同じフィールドがハッシュに使用されます。
各EtherTypeがハッシュに使用するフィールドと、レイヤー2ヘッダーが使用するフィールドについては、以下のセクションで説明します。
IP(IPv4およびIPv6)
IPv4およびIPv6パケットのペイロードフィールドは、IPv4またはIPv6パケットをLAGバンドル内のメンバーリンクに配置する必要がある場合、またはECMPが有効になっているときにネクストホップデバイスに送信する必要がある場合に、ハッシュアルゴリズムによって使用されます。
ハッシュモードは、デフォルトでレイヤー2ペイロードフィールドに設定されています。IPv4およびIPv6ペイロードフィールドは、ハッシュモードがレイヤー2ペイロードに設定されている場合、ハッシュに使用されます。
ハッシュモードがレイヤー2ヘッダーに設定されている場合、IPv4、IPv6、およびMPLSパケットはレイヤー2ヘッダーフィールドを使用してハッシュされます。送信元MACアドレス、宛先MACアドレス、またはEtherTypeフィールドで受信IPv4、IPv6、およびMPLSパケットをハッシュ化する場合は、ハッシュモードをレイヤー2ヘッダーに設定する必要があります。
表1 は、デフォルトでハッシュアルゴリズムで使用されるIPv4およびIPv6ペイロードフィールドを示しています。
✓—フィールドは、デフォルトでハッシュアルゴリズムによって使用されます。
Χ—フィールドは、デフォルトでハッシュアルゴリズムによって使用されません。
(設定可能)—フィールドは、ハッシュアルゴリズムによって使用または使用されないように設定できます。
EX2300スイッチでは、ECMPが有効になっている場合に、IPv4またはIPv6パケットをLAGバンドル内のメンバーリンクに配置する必要があるか、ネクストホップデバイスに送信する必要がある場合、ハッシュアルゴリズムによりIPv4およびIPv6パケットの以下のペイロードフィールドが使用されます。
LAGのユニキャストトラフィックの場合 - SIP、DIP、L4SP、L4DP
LAG上の既知のマルチキャストトラフィックの場合 - 送信元IP、宛先IP、イングレスMOD ID、イングレスポートID
LAGのブロードキャスト、不明なユニキャスト、不明なマルチキャストトラフィックの場合 - 送信元MAC、宛先MAC、イングレスモードID、イングレスポートID
ECMP ロードバランシング:宛先 IP、レイヤー 4 送信元ポート、レイヤー 4 宛先ポート
Fields |
EX3400 |
EX4300 |
QFX5100 |
QFX5110 and QFX5120 |
QFX5200 |
|||||
|---|---|---|---|---|---|---|---|---|---|---|
LAG |
ECMP |
LAG |
ECMP |
LAG |
ECMP |
LAG |
ECMP |
LAG |
ECMP |
|
ソースMAC |
X |
Χ |
X |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
X |
宛先MAC |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
イーサタイプ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
VLAN ID |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
送信元IPまたはIPv6 |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
宛先IPまたはIPv6 |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
プロトコル(IPv4のみ) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
次のヘッダー(IPv6のみ) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
レイヤー4送信元ポート |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
レイヤー4宛先ポート |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
IPv6フローラベル(IPv6のみ) |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
イングレスMOD ID |
✓ (設定可能) |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
イングレスポートID |
✓ (設定可能) |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
Χ |
MPLS
ハッシュアルゴリズムは、送信元IP、宛先IP、MPLSラベル0、MPLSラベル1、MPLSラベル2、およびMPLS3フィールドを使用してMPLSパケットをハッシュします。ECMP は、LSR ルーターのハッシュにこれらのフィールドを使用します。
レイヤー3VPN:MPLSラベル(上位3つのラベル)、送信元IP、宛先IP、イングレスポートID
レイヤー 2 回線:MPLS ラベル(上位 3 つのラベル)とイングレス ポート ID
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
表2は 、デフォルトでハッシュアルゴリズムで使用されるMPLSペイロードフィールドを示しています。
✓—フィールドは、デフォルトでハッシュアルゴリズムによって使用されます。
Χ—フィールドは、デフォルトでハッシュアルゴリズムによって使用されません。
MPLSパケットハッシュのハッシュアルゴリズムで使用されるフィールドは、ユーザーが設定することはできません。
送信元 IP フィールドと宛先 IP フィールドは、ハッシュに常に使用されるわけではありません。終端されていないMPLSパケットの場合、パケットにボトムオブスタック(BoS)フラグが表示されている場合、ペイロードがチェックされます。ペイロードがIPv4またはIPv6の場合、IP送信元アドレスとIP宛先アドレスフィールドがMPLSラベルとともにハッシュに使用されます。パケットにBoSフラグが表示されない場合、MPLSラベルのみがハッシュに使用されます。
Field |
EX3400 |
EX4300 |
QFX5100 |
QFX5110 and QFX5120 |
QFX5200 |
|
|---|---|---|---|---|---|---|
ソースMAC |
Χ |
Χ |
Χ |
Χ |
Χ |
|
宛先MAC |
Χ |
Χ |
Χ |
Χ |
Χ |
|
イーサタイプ |
Χ |
Χ |
Χ |
Χ |
Χ |
|
VLAN ID |
Χ |
Χ |
Χ |
Χ |
Χ |
|
送信元IP |
✓ |
✓ |
✓ |
✓ |
✓ |
|
宛先IP |
✓ |
✓ |
✓ |
✓ |
✓ |
|
プロトコル(IPv4パケット用) |
Χ |
Χ |
Χ |
Χ |
Χ |
|
ネクストヘッダー(IPv6パケット用) |
Χ |
Χ |
Χ |
Χ |
Χ |
|
レイヤー4送信元ポート |
Χ |
Χ |
Χ |
Χ |
Χ |
|
レイヤー4宛先ポート |
Χ |
Χ |
Χ |
Χ |
Χ |
|
IPv6フローラボ |
Χ |
Χ |
Χ |
Χ |
Χ |
|
MPLSラベル0 |
Χ |
✓ |
✓ |
✓ |
✓ |
|
MPLSラベル1 |
✓ |
✓ |
✓ |
✓ |
✓ |
|
MPLSラベル2 |
✓ |
✓ |
✓ |
✓ |
✓ |
|
MPLSラベル3 |
✓ |
X |
X |
X |
X |
|
イングレスポートID |
✓ (LSRおよびL2Circuit) |
X |
X |
X |
✓ (LSRおよびL2Circuit) |
✓ (LSRおよびL2Circuit) |
MAC-in-MACパケットハッシュ
MAC-in-MAC EtherTypeを使用するパケットは、レイヤー2ペイロードソースMAC、レイヤー2ペイロード宛先MAC、およびレイヤー2ペイロードEtherTypeフィールドを使用して、ハッシュアルゴリズムによってハッシュされます。 表3をご覧ください。
MAC-in-MAC EtherType パケットのフィールドを使用したハッシュは、リリース 13.2X51-D20 の EX4300 スイッチで初めてサポートされました。MAC-in-MAC EtherType のフィールドを使用したハッシュは、以前のリリースではサポートされていません。
MAC-in-MACハッシュのハッシュアルゴリズムで使用されるフィールドは、ユーザーが設定することはできません。
✓—フィールドは、デフォルトでハッシュアルゴリズムによって使用されます。
Χ—フィールドは、デフォルトでハッシュアルゴリズムによって使用されません。
Field |
EX3400 |
EX4300 |
QFX5100 |
QFX5110 and QFX5120 |
QFX5200 |
||
|---|---|---|---|---|---|---|---|
レイヤー2ペイロードソースMAC |
✓ |
✓ |
✓ |
✓ |
✓ |
||
レイヤー 2 ペイロード宛先 MAC |
✓ |
✓ |
✓ |
✓ |
✓ |
||
レイヤー 2 ペイロード EtherType |
✓ |
✓ |
✓ |
✓ |
✓ |
||
レイヤー 2 ペイロード外部 VLAN |
✓ |
Χ |
Χ |
Χ |
Χ |
||
レイヤー 2 ヘッダー ハッシュ
レイヤー2ヘッダーフィールドは、パケットのEtherTypeがIP(IPv4またはIPv6)、MPLS、またはMAC-in-MACとして認識されない場合に、ハッシュアルゴリズムによって使用されます。ハッシュモードがレイヤー2ヘッダーに設定されている場合、レイヤー2ヘッダーフィールドは、ペイロードフィールドの代わりに、IPv4、IPv6、MPLSトラフィックのハッシュ化にも使用されます。
✓—フィールドは、デフォルトでハッシュアルゴリズムによって使用されます。
Χ—フィールドは、デフォルトでハッシュアルゴリズムによって使用されません。
(設定可能)—フィールドは、ハッシュアルゴリズムによって使用または使用されないように設定できます。
Field |
EX3400 |
EX4300 |
QFX5100 |
QFX5110 and QFX5120 |
QFX5200 |
||
|---|---|---|---|---|---|---|---|
ソースMAC |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
||
宛先MAC |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
||
イーサタイプ |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
||
VLAN ID |
Χ (設定可能) |
Χ (設定可能) |
Χ (設定可能) |
✓ (設定可能) |
✓ (設定可能) |
||
ハッシュパラメータ
Junos OS リリース 19.1R1 以降、スイッチのQFX5000シリーズでは、実装されている既存のアルゴリズムのハッシュ パラメーターを変更できるようになりました。イングレスバッファパーティションとエグレスバッファパーティションの両方の共有バッファプールのしきい値を変更したり、ハッシュ関数の選択、ハッシュアルゴリズム、その他の追加パラメータを変更したりできます。このドキュメントで後述する「その他のハッシュパラメータの設定」を参照してください。
LAGバンドルとECMPトラフィックのハッシュに使用されるアルゴリズムのフィールドを設定する
ジュニパーネットワークスのEXシリーズおよびQFXシリーズスイッチは、ハッシュアルゴリズムを使用して、等価コストマルチパス(ECMP)が有効な場合に、LAG(リンクアグリゲーショングループ)バンドルまたはネクストホップデバイスにトラフィックを転送する方法を決定します。
リンクアグリゲーショングループ(LAG)バンドルハッシュ設定を使用して、特定の機能のプラットフォームおよびリリースサポートを確認します。
ハッシュアルゴリズムは、さまざまなパケットフィールドの値に基づいてハッシュの決定を行います。ハッシュアルゴリズムで使用されるフィールドの一部を設定できます。
ハッシュアルゴリズムで使用されるフィールドの設定は、バンドルに入るトラフィックのほとんどが類似しており、トラフィックをLAGバンドルで管理する必要があるシナリオで便利です。例えば、すべての着信トラフィックのIPパケットの違いが送信元と宛先のIPアドレスだけである場合、これらのフィールドのみを使用してハッシュ決定を行うようにアルゴリズムを設定することで、ハッシュアルゴリズムを調整して、より効率的にハッシュ決定を行うことができます。
- レイヤー2ヘッダーのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定する
- ハッシュにIPペイロードのフィールドを使用するようにハッシュアルゴリズムを設定する
- IPv6 ペイロードのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定する
- その他のハッシュパラメータを設定する
レイヤー2ヘッダーのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定する
レイヤー2ヘッダーのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定するには:
ハッシュにIPペイロードのフィールドを使用するようにハッシュアルゴリズムを設定する
ハッシュにIPペイロードのフィールドを使用するようにハッシュアルゴリズムを設定するには:
IPv6 ペイロードのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定する
IPv6ペイロードのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定するには:
その他のハッシュパラメータを設定する
ECMP または LAG トラフィックのハッシュパラメーターを設定するには:
例:QFXシリーズスイッチとアグリゲーションスイッチ間のリンクアグリゲーションの設定
QFXシリーズ製品では、複数のイーサネットリンクを1つの論理インターフェイスに組み合わせて、帯域幅と冗長性を向上させることができます。このように組み合わせられたポートは、リンクアグリゲーショングループ(LAG)またはバンドルと呼ばれます。LAGに結合できるイーサネットリンクの数は、QFXシリーズの製品モデルによって異なります。LAGを設定して、QFXシリーズ製品またはEX4600スイッチを、アグリゲーションスイッチ、サーバー、ルーターなどの他のスイッチに接続できます。この例では、QFX3500、QFX3600、EX4600、QFX5100、QFX10002スイッチをアグリゲーションスイッチに接続するためのLAGを設定する方法を説明します。
必要条件
この例では、以下のソフトウェアおよびハードウェアコンポーネントを使用しています。
QFX3500およびQFX3600スイッチの場合はJunos OSリリース11.1以降、QFX5100およびEX4600スイッチの場合はJunos OS 13.2以降、QFX10002スイッチの場合はJunos OSリリース15.1X53-D10以降。
QFX3500、QFX3600、EX4600、QFX5100、または QFX10002 スイッチ 1 台。
概要とトポロジー
この例では、スイッチには1つのLAGがあり、2つの10ギガビットイーサネットインターフェイスで構成されています。このLAGは、スイッチと割り当てられたVLANがトラフィックを送受信できるように、ポートモードトランク(またはインターフェイスモードトランク)に設定されます。
イーサネットインターフェイスをLAGとして設定することには、以下のような利点があります。
何らかの理由(ケーブルが抜かれたり、スイッチポートに障害が発生したり)1つの物理ポートが失われた場合、論理ポートは透過的に残りの物理ポート上で機能し続けます。
オプションでリンク監視や個々のリンクの自動追加や削除を行うように、ユーザーの介入なしにLACP(リンク集約制御プロトコル)を設定することができます。
LAGリンクのリモートエンドがセキュリティデバイスの場合、セキュリティデバイスには決定論的な設定が必要なため、LACPがサポートされていない可能性があります。この場合、LACPは設定しないでください。LAG内のすべてのリンクは、スイッチがイーサネット物理層またはデータリンク層内でリンク障害を検出しない限り、永続的に動作します。
この例で使用されたトポロジーは、2つの10ギガビットイーサネットインターフェイス間にLAGが設定された1台のスイッチで構成されています。スイッチはアグリゲーション スイッチに接続されています。
表5は 、この設定例で使用されたトポロジーの詳細です。
| ホスト名 | ベースハードウェア | トランクポート |
|---|---|---|
スイッチ |
QFX3500、QFX3600、EX4600、QFX5100、または QFX10002 スイッチ |
|
構成
2つの10ギガビットイーサネットインターフェイス間のLAGを設定します。
プロシージャ
CLIクイックコンフィグレーション
スイッチ上の 2 つの 10 ギガビット イーサネット インターフェイス間の LAG をすばやく設定するには、以下のコマンドをコピーしてスイッチの端末ウィンドウに貼り付けます。
拡張レイヤー 2 ソフトウェア(EX4600、QFX5100、QFX10002 スイッチなど)を使用して LAG を設定するには、port-mode ステートメントではなく interface-mode ステートメントを使用します。ELSの詳細については、拡張レイヤー2ソフトウェアCLIの使用を参照してください。
[edit] set chassis aggregated-devices ethernet device-count 1 set interfaces ae0 aggregated-ether-options minimum-links 1 set interfaces ae0 aggregated-ether-options link-speed 10g set interfaces ae0 unit 0 family ethernet-switching vlan members green set interfaces xe-0/0/2 ether-options 802.3ad ae0 set interfaces xe-0/0/3 ether-options 802.3ad ae0 set interfaces ae0 unit 0 family ethernet-switching port-mode trunk set interfaces ae0 aggregated-ether-options lacp active set interfaces ae0 aggregated-ether-options lacp periodic fast
手順
QFXシリーズスイッチとアグリゲーションスイッチ間でLAGを設定するには:
スイッチ上に作成するLAGの数を指定します。
[edit chassis] user@switch# set aggregated-devices ethernet device-count 1
ae0LAGインターフェイスをupするために必要なリンク数を指定します。[edit interfaces] user@switch# set ae0 aggregated-ether-options minimum-links 1
ae0リンクのメディア速度を指定します。[edit interfaces] user@switch# set ae0 aggregated-ether-options link-speed 10g
集合型イーサネットバンドルに含めるメンバーを指定します。
[edit interfaces] user@switch# set interfaces xe-0/0/2 ether-options 802.3ad ae0 [edit interfaces] user@switch# set interfaces xe-0/0/3 ether-options 802.3ad ae0
トランクのポートモードを
ae0リンクに割り当てます。手記:拡張レイヤー 2 ソフトウェア(EX4600、QFX5100、QFX10002 スイッチなど)を使用して LAG を設定するには、
port-modeステートメントではなくinterface-modeステートメントを使用します。ELSの詳細については、拡張レイヤー2ソフトウェアCLIの使用を参照してください。[edit interfaces] user@switch# set ae0 unit 0 family ethernet-switching port-mode trunk
又は
[edit interfaces] user@switch# set ae0 unit 0 family ethernet-switching interface-mode trunk
LAGをVLANに割り当てます。
[edit interfaces] user@switch# set ae0 unit 0 family ethernet-switching vlan members green vlan-id 200
(オプション):LAGの片側をLACPのアクティブとして指定します。
[edit interfaces] user@switch# set ae0 aggregated-ether-options lacp active
(オプション):インターフェイスがLACPパケットを送信する間隔と速度を指定します。
[edit interfaces] user@switch# set ae0 aggregated-ether-options lacp periodic fast
業績
QFX3500 または QFX3600 スイッチの設定結果を表示します。
[edit]
chassis {
aggregated-devices {
ethernet {
device-count 1;
}
}
}
green {
vlan-id 200;
}
}
interfaces {
ae0 {
aggregated-ether-options {
link-speed 10g;
minimum-links 1;
}
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members green;
}
}
}
xe-0/0/2 {
ether-options {
802.3ad ae0;
}
}
xe-0/0/3 {
ether-options {
802.3ad ae0;
}
}
}
検証
スイッチングが動作しており、1つのLAGが作成されていることを確認するには、以下のタスクを実行します。
LAG ae0.0が作成済みであることを確認します
目的
LAG ae0.0 がスイッチ上で作成されていることを確認します。
アクション
show interfaces ae0 terse
Interface Admin Link Proto Local Remote ae0 up up ae0.0 up up eth-switch
意味
出力では、 ae0.0 リンクがアップしていることを確認し、このリンクに割り当てられている family とIPアドレスが表示されます。
LAG および ECMP グループでの耐障害性に優れたハッシュ
耐障害性に優れたハッシュにより、負荷分散システムにおける等コストマルチパス(ECMP)グループとLAG間のフローの再マッピングを最小限に抑えることができます。以下のトピックでは、リンクアグリゲーショングループ(LAG)とECMPグループでの耐障害性ハッシュの動作、使用法、設定について説明します。
LAG/ECMPグループ内のフロー再マッピングを最小限に抑えるための耐障害性に優れたハッシュの使用を理解する
耐障害性に優れたハッシュを使用して、負荷分散システム内のLAG/ECMPグループのメンバー間のフロー再マッピングを最小限に抑えます。LAGおよびECMPグループで耐障害性に優れたハッシュを設定できます。
耐障害性に優れたハッシュを使用する理由と、静的ハッシュとの連携
耐障害性ハッシュは、デフォルトの静的ハッシュアルゴリズムで動作します。LAG/ECMP グループにメンバーを追加または削除すると、静的ハッシュ アルゴリズムが宛先パスを再マッピングする場合があります。耐障害性に優れたハッシュを使用すると、パスがLAG/ECMPグループのメンバー変更の影響を受けない場合、フローが再マッピングされる可能性は最小限に抑えられます。メンバーの変更によってフローが影響を受けると、パケット転送エンジンは FlowSet テーブルを再プログラミングしてフローのバランスを再調整します。
ロードバランシングに耐障害性のあるハッシュを使用して、特定の機能のプラットフォームおよびリリースサポートを確認します。
したがって、耐障害性に優れたハッシュには以下のようなメリットがあります。
LAG/ECMP グループのメンバーがグループに追加されたり削除されたりする際、LAG/ECMP グループのメンバー間のトラフィック分散の不均衡を最小限に抑えます。
新しいメンバーが追加されたり、既存のメンバーがグループから削除されたりした場合に、影響を受けていないメンバーにバインドされたフローへの影響を最小限に抑えます。
通常のハッシュベースのロードバランシングでは、静的ハッシュアルゴリズムのみを使用し、数学的なmod(%)演算を通じてフローがメンバーに割り当てられます。グループメンバー数の増減により、以下の例に示すように、フローがメンバーIDに完全に再マッピングされます。
メンバーID = ハッシュ(キー)mod(グループ内のメンバー数)
例:
ハッシュ(キー)= 10
10 mod 5 = 0(ID 0 のメンバーがフローに選択されます)
10 mod 4 = 2(メンバー数を1減らした場合、同じフローに対してID2のメンバーが選択されます)
耐障害性に優れたハッシュにより、LAG/ECMPグループのメンバーが追加または削除された場合の宛先パスの再マッピングを最小限に抑えます。
グループ内のメンバー変更によってフローが影響を受ける場合、耐障害性ハッシュは、FlowSet テーブルを再プログラミングすることによってフローのバランスを再調整します。
LAG/ECMPグループサイズ |
通常の(静的)ハッシュ結果 |
耐障害性に優れたハッシュ結果 |
筆記 |
|---|---|---|---|
4 |
ハッシュ(10)% 4 = 2 フローはメンバーID 2に割り当てられます。 |
フローは、FlowSetテーブルエントリに基づいて、4つのグループメンバーのいずれかに割り当てられます。 |
元のLAG/ECMPグループサイズは4です。 |
3 |
ハッシュ(10)% 3 = 1 フローはメンバーID 1に割り当てられます。 |
フローは、前のケースと同じメンバーに割り当てられます。 |
元のLAG/ECMPグループからメンバーを1つ削除します。LAG/ECMP グループのサイズは 3 です。 |
5 |
ハッシュ(10) % 5 = 0 フローはメンバーID 0に割り当てられます。 |
他のメンバーからこの新しく追加されたメンバーへのフローの再分配は最小限です。 |
元のLAGグループにメンバーを1人追加します。LAG/ECMPグループサイズは5です。 |
耐障害性ハッシュの制限と注意事項
耐障害性に優れたハッシュ機能には、以下の制限と注意点があります。
-
耐障害性に優れたハッシュは、ユニキャストトラフィックにのみ適用されます。
-
耐障害性に富んだハッシュは、最大1024のLAGをサポートし、各グループには最大256のメンバーが含まれます。
-
耐障害性に優れたハッシュは、すべてのグループ メンバー間でトラフィックの分散が均等であることを保証するものではありません。トラフィック パターンとハードウェアの耐障害性に優れたハッシュ FlowSet テーブルの構成に依存します。耐障害性に優れたハッシュ により、 グループへのメンバーの追加や削除があった場合に、フローからデスティネーション リンクへの再マッピングを最小限に抑えることができます。
-
LAGまたはECMPグループで耐障害性ハッシュが有効で、以下のオプションのいずれかで
set forwarding-options enhanced-hash-keyを使用すると、一部のフローで宛先リンクが変更されることがあります。その理由は、新しいハッシュパラメーターによってフローの新しいハッシュインデックスが生成される可能性があるためです。hash-modeinetinet6layer2
-
VCPリンクでは、耐障害性に優れたハッシュはサポートされていません。
LAGでの耐障害性に優れたハッシュ
LAGは、イーサネットインターフェイス(メンバー)を組み合わせて論理的なポイントツーポイントリンクを形成し、帯域幅を拡大し、信頼性を提供し、ロードバランシングを可能にします。耐障害性に優れたハッシュにより、新しいメンバーがLAGに追加または削除された場合の宛先再マッピング動作を最小限に抑えます。
LAGの耐障害性に優れたハッシュ設定は、アグリゲートイーサネットインターフェイスベースです。
ECMPでの耐障害性に優れたハッシュ
ルートの ECMP グループには、ルーティングテーブル内の同じ宛先に対する複数のネクストホップイコールコストアドレスが含まれています。等コストのルートは、同じプリファレンス値とメトリック値を持ちます。
Junos OS は、静的ハッシュ アルゴリズムを使用して、ECMP グループ内のネクストホップ アドレスの 1 つを選択して、転送テーブルにインストールします。耐障害性に優れたハッシュは、ECMP グループに新しいメンバーが追加または削除された場合の宛先再マッピング動作を最小限に抑えることで、ECMP を強化します。
ECMP の耐障害性に優れたハッシュ設定はグローバルであり、すべての ECMP グループに適用されます。
LAG/ECMPグループの耐障害性のあるハッシュを設定する
耐障害性に優れたハッシュを使用して、負荷分散システム内のLAG/ECMPグループのメンバー間のフロー再マッピングを最小限に抑えます。LAGおよびECMPセットで耐障害性に優れたハッシュを設定できます。
.
このトピックには以下のものが含まれます。
LAGに耐障害性のあるハッシュを設定する
LAGの耐障害性に優れたハッシュを有効にするには:
ECMP グループでレジリエント ハッシュを設定する
ECMP グループの耐障害性に優れたハッシュを有効にするには:
[edit forwarding-options] user@switch# set enhanced-hash-key ecmp-resilient-hash
耐障害性に優れたハッシュが追加または削除されると、特定のフローの ECMP グループのすべてのメンバーにわたるトラフィック分散が再プログラムされ、その結果、一部のフローが新しい ECMP グループ メンバーに再マッピングされる可能性があります。
フローの再マッピングを最小限に抑えるための耐障害性に優れたハッシュの使用
ネットワークエンドポイント間の導入では、確立された接続と、関連するレイヤー2およびレイヤー3パスを維持する必要があります。ネットワークデバイスやサーバーの障害など、ネットワークに変更が発生した場合、パケットは新しいパスをたどります。
耐障害性に優れたハッシュにより、ネットワーク変更による影響を軽減します。耐障害性のあるハッシュを持つ各 ECMP には、負荷分散テーブル(マクロフローテーブルとも呼ばれる)に 256 エントリの領域が割り当てられます。テーブルの各エントリには、そのマクロフローに割り当てられたメンバーリンクIDが格納されます。
耐障害性のあるハッシュは、次のように機能します。
-
受信パケットをこれらのマクロフローエントリまたはバケットのいずれかにハッシュします。
-
次に、パケットを ECMP グループ内のパスにリンクします。
各メンバーのリンク/パスを表すために「バスケット」を使用すると、耐障害性のあるハッシュ操作は、バスケットの1つにバケット(マクロフロー)を入れることとしてモデル化できます。
ECMP グループの N 個のバケットと P のパスがある場合は、以下のシーケンスを使用します。
-
初期バケットマッピングは、ラウンドロビン方式を使用して生成されます。したがって、すべてのバケットは、ECMP グループ メンバー間でほぼ均等に (N/P) 分散されます。その後、バケットはパスの追加または削除イベントに基づいて移動します。
N=64 個のバケットと P=4 のパスの場合、64 個のバケットすべてをラウンドロビン方式で分散します。パスが4つあるので、スタックが4つあります。各スタックは1つのパスに対応します。各スタックには同じ数のバケットがあり、N/P=16 です。

Last_processed_path= 0(アルゴリズムのステップ5を参照)。
-
パスに障害または削除が発生した場合、障害が発生したパス/スタックからすべてのバケットを突然削除し、循環ラウンドロビン方式で残りのパス/スタックにプッシュします。
パス3(上の画像のスタック3)を削除する場合は、すべてのバケットをスタック3(下図のオレンジ色)から残りのスタックに移動する必要があります。

-
パスが追加された場合は、循環ラウンドロビン方式で既存のパスからN/(P+1)個のバケットを突然削除し、新しく追加されたパス/スタックにプッシュします。
新しいパスを追加する場合は、既存のスタック(スタック0、1、2)からN/P+1=64/4=16バケットを移動する必要があります。オレンジ色のバケツはすべてスタック 3 に戻り、青色のスタックは移動されず、そのまま残っています。
Last_processed_path= 0
-
ステップ2とステップ3の円ラウンドロビン方向は逆です。循環ラウンドロビンが開始される最初のスタックを決定することが重要です。ステップ 2 の開始スタック インデックスと
last_processed_pathステップ 3 の開始スタックの前のインデックス ポインターを保持します。 -
5.
last_processed_pathを設定するには、次の操作を行います。-
ステップ 2 のようにバケットをプッシュすると、
last_processed_pathは最後のバケットをプッシュした最後のスタックの次のスタックです。 -
ステップ3のようにバケットを削除すると、バケットが削除された最後のスタックが
last_processed_pathになります。
-
耐障害性ハッシュの制限と注意事項
-
耐障害性に優れたハッシュは、等コスト BGP ルートベースの ECMP グループでのみサポートされています。BGPルートよりも優先度の高い他のプロトコルやスタティックルートを設定する場合、耐障害性に優れたハッシュはサポートされません。
-
耐障害性に優れたハッシュは、混合速度LAGではサポートされていません。
-
128 ウェイ ECMP の耐障害性に優れたハッシュは、現在の設計ではサポートされていません。64 ウェイ ECMP レジリエント ハッシュのみサポートされています。
-
混合レート集約型イーサネット(AE)と適応型ロードバランシング(ALB)AEは、現在の耐障害性に優れたハッシュ設計ではサポートされていません。
ECMPのレジリエントハッシュの設定
集約型イーサネットインターフェイスの耐障害性に優れたハッシュの設定
user@router# set interface ae1 aggregated-ehter-options resilient-hash
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。