Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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 宛先ポート

表1:IPv4およびIPv6のハッシュフィールド

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ラベルのみがハッシュに使用されます。

表2: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ハッシュのハッシュアルゴリズムで使用されるフィールドは、ユーザーが設定することはできません。

  • ✓—フィールドは、デフォルトでハッシュアルゴリズムによって使用されます。

  • Χ—フィールドは、デフォルトでハッシュアルゴリズムによって使用されません。

表3: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トラフィックのハッシュ化にも使用されます。

  • ✓—フィールドは、デフォルトでハッシュアルゴリズムによって使用されます。

  • Χ—フィールドは、デフォルトでハッシュアルゴリズムによって使用されません。

  • (設定可能)—フィールドは、ハッシュアルゴリズムによって使用または使用されないように設定できます。

表4:レイヤー2ヘッダーハッシュフィールド

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ヘッダーのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定する

レイヤー2ヘッダーのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定するには:

  1. レイヤー2ヘッダーへのハッシュモードを設定します。

    デフォルトのハッシュモードはレイヤー2ペイロードです。したがって、このステップは、ハッシュモードを設定していない場合に実行する必要があります。

  2. ハッシュアルゴリズムがハッシュに使用するレイヤー2ヘッダーのフィールドを設定します。

    デフォルトでは、ハッシュアルゴリズムは、ヘッダーの宛先MACアドレス、イーサタイプ、送信元MACアドレスフィールドの値を使用して、LAG上のトラフィックをハッシュします。 no-destination-mac-addressno-ether-type、または no-source-mac-addressを設定することで、これらのフィールドの値を使用しないようにハッシュアルゴリズムを設定できます。

    また、 vlan-id オプションを設定することで、ヘッダーにVLAN IDフィールドを含めるようにハッシュアルゴリズムを設定することもできます。

    ハッシュアルゴリズムがハッシュにEthertypeフィールドを使用しないようにする場合:

ハッシュにIPペイロードのフィールドを使用するようにハッシュアルゴリズムを設定する

ハッシュにIPペイロードのフィールドを使用するようにハッシュアルゴリズムを設定するには:

  1. レイヤー2ペイロードへのハッシュモードを設定します。

    ハッシュモードがレイヤー2ペイロードに設定されていない限り、IPペイロードはハッシュアルゴリズムによってチェックされません。デフォルトのハッシュモードはレイヤー2ペイロードです。

  2. ハッシュアルゴリズムがハッシュに使用するIPペイロードのフィールドを設定します。

    例えば、ハッシュアルゴリズムでレイヤー4宛先ポート、レイヤー4送信元ポート、プロトコルフィールドを無視し、代わりにIPv4送信元アドレスと宛先アドレスのみに基づいてトラフィックをハッシュ化させる場合:

IPv6 ペイロードのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定する

IPv6ペイロードのフィールドをハッシュに使用するようにハッシュアルゴリズムを設定するには:

  1. レイヤー2ペイロードへのハッシュモードを設定します。

    ハッシュモードがレイヤー2ペイロードに設定されていない限り、IPv6ペイロードはハッシュアルゴリズムによってチェックされません。デフォルトのハッシュモードはレイヤー2ペイロードです。

  2. ハッシュアルゴリズムがハッシュに使用するIPv6ペイロードのフィールドを設定します。

    例えば、ハッシュアルゴリズムでレイヤー4宛先ポート、レイヤー4送信元ポート、およびネクストヘッダーフィールドを無視し、代わりにIPv6送信元とIPv6宛先アドレスフィールドのみに基づいてトラフィックをハッシュ化する場合は、次のようにします。

その他のハッシュパラメータを設定する

ECMP または LAG トラフィックのハッシュパラメーターを設定するには:

  1. preprocess パラメーターを設定します。
  2. 関数パラメータを設定します。
  3. オフセット値を設定します。

例: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は 、この設定例で使用されたトポロジーの詳細です。

表5:スイッチとアグリゲーションスイッチ間のLAGを設定するためのトポロジーのコンポーネント
ホスト名 ベースハードウェア トランクポート

スイッチ

QFX3500、QFX3600、EX4600、QFX5100、または QFX10002 スイッチ

ae0トランクポートとして設定され、以下の2つのインターフェイスを組み合わせます。 xe-0/0/2 xe-0/0/3

構成

2つの10ギガビットイーサネットインターフェイス間のLAGを設定します。

プロシージャ

CLIクイックコンフィグレーション

スイッチ上の 2 つの 10 ギガビット イーサネット インターフェイス間の LAG をすばやく設定するには、以下のコマンドをコピーしてスイッチの端末ウィンドウに貼り付けます。

手記:

拡張レイヤー 2 ソフトウェア(EX4600、QFX5100、QFX10002 スイッチなど)を使用して LAG を設定するには、port-mode ステートメントではなく interface-mode ステートメントを使用します。ELSの詳細については、拡張レイヤー2ソフトウェアCLIの使用を参照してください。

手順

QFXシリーズスイッチとアグリゲーションスイッチ間でLAGを設定するには:

  1. スイッチ上に作成するLAGの数を指定します。

  2. ae0 LAGインターフェイスをupするために必要なリンク数を指定します。

  3. ae0リンクのメディア速度を指定します。

  4. 集合型イーサネットバンドルに含めるメンバーを指定します。

  5. トランクのポートモードを ae0 リンクに割り当てます。

    手記:

    拡張レイヤー 2 ソフトウェア(EX4600、QFX5100、QFX10002 スイッチなど)を使用して LAG を設定するには、port-mode ステートメントではなく interface-mode ステートメントを使用します。ELSの詳細については、拡張レイヤー2ソフトウェアCLIの使用を参照してください。

    又は

  6. LAGをVLANに割り当てます。

  7. (オプション):LAGの片側をLACPのアクティブとして指定します。

  8. (オプション):インターフェイスがLACPパケットを送信する間隔と速度を指定します。

業績

QFX3500 または QFX3600 スイッチの設定結果を表示します。

検証

スイッチングが動作しており、1つのLAGが作成されていることを確認するには、以下のタスクを実行します。

LAG ae0.0が作成済みであることを確認します

目的

LAG ae0.0 がスイッチ上で作成されていることを確認します。

アクション

show interfaces ae0 terse

意味

出力では、 ae0.0 リンクがアップしていることを確認し、このリンクに割り当てられている family とIPアドレスが表示されます。

LAG ae0が作成済みであることを確認します

目的

スイッチ上でLAG ae0 が作成されていることを確認します

アクション

show interfaces ae0 terse

意味

出力は、 ae0.0 リンクがダウンしていることを示しています。

トラブルシューティング

ダウンしているLAGのトラブルシューティング

問題

show interfaces terseコマンドは、LAGがdownであることを示しています。

解決

以下を確認してください。

  • 設定の不一致がないことを確認します。

  • すべてのメンバーポートが立ち上がっていることを確認します。

  • LAGがファミリーイーサネットスイッチング(レイヤー2 LAG)またはファミリーinet(レイヤー3 LAG)の一部であることを確認します。

  • LAGメンバーがもう一方の終端で正しいLAGに接続されていることを確認します。

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 テーブルを再プログラミングすることによってフローのバランスを再調整します。

表6:LAGにメンバーを追加または削除した場合の、静的ハッシュと耐障害性ハッシュの宛先パスの結果

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-mode
    • inet
    • inet6
    • layer2
  • VCPリンクでは、耐障害性に優れたハッシュはサポートされていません。

LAGでの耐障害性に優れたハッシュ

LAGは、イーサネットインターフェイス(メンバー)を組み合わせて論理的なポイントツーポイントリンクを形成し、帯域幅を拡大し、信頼性を提供し、ロードバランシングを可能にします。耐障害性に優れたハッシュにより、新しいメンバーがLAGに追加または削除された場合の宛先再マッピング動作を最小限に抑えます。

LAGの耐障害性に優れたハッシュ設定は、アグリゲートイーサネットインターフェイスベースです。

ECMPでの耐障害性に優れたハッシュ

ルートの ECMP グループには、ルーティングテーブル内の同じ宛先に対する複数のネクストホップイコールコストアドレスが含まれています。等コストのルートは、同じプリファレンス値とメトリック値を持ちます。

Junos OS は、静的ハッシュ アルゴリズムを使用して、ECMP グループ内のネクストホップ アドレスの 1 つを選択して、転送テーブルにインストールします。耐障害性に優れたハッシュは、ECMP グループに新しいメンバーが追加または削除された場合の宛先再マッピング動作を最小限に抑えることで、ECMP を強化します。

ECMP の耐障害性に優れたハッシュ設定はグローバルであり、すべての ECMP グループに適用されます。

LAG/ECMPグループの耐障害性のあるハッシュを設定する

耐障害性に優れたハッシュを使用して、負荷分散システム内のLAG/ECMPグループのメンバー間のフロー再マッピングを最小限に抑えます。LAGおよびECMPセットで耐障害性に優れたハッシュを設定できます。

.

このトピックには以下のものが含まれます。

LAGに耐障害性のあるハッシュを設定する

LAGの耐障害性に優れたハッシュを有効にするには:

  • 集合型イーサネットインターフェイス上で、耐障害性に優れたハッシュを設定します。
  • (オプション)resilient-hashシードに特定の値を設定します。この値は、HASH2エンジンにのみ適用されます。

ECMP グループでレジリエント ハッシュを設定する

ECMP グループの耐障害性に優れたハッシュを有効にするには:

ECMPの耐障害性に優れたハッシュを設定します。

耐障害性に優れたハッシュが追加または削除されると、特定のフローの ECMP グループのすべてのメンバーにわたるトラフィック分散が再プログラムされ、その結果、一部のフローが新しい ECMP グループ メンバーに再マッピングされる可能性があります。

フローの再マッピングを最小限に抑えるための耐障害性に優れたハッシュの使用

ネットワークエンドポイント間の導入では、確立された接続と、関連するレイヤー2およびレイヤー3パスを維持する必要があります。ネットワークデバイスやサーバーの障害など、ネットワークに変更が発生した場合、パケットは新しいパスをたどります。

耐障害性に優れたハッシュにより、ネットワーク変更による影響を軽減します。耐障害性のあるハッシュを持つ各 ECMP には、負荷分散テーブル(マクロフローテーブルとも呼ばれる)に 256 エントリの領域が割り当てられます。テーブルの各エントリには、そのマクロフローに割り当てられたメンバーリンクIDが格納されます。

耐障害性のあるハッシュは、次のように機能します。

  • 受信パケットをこれらのマクロフローエントリまたはバケットのいずれかにハッシュします。

  • 次に、パケットを ECMP グループ内のパスにリンクします。

各メンバーのリンク/パスを表すために「バスケット」を使用すると、耐障害性のあるハッシュ操作は、バスケットの1つにバケット(マクロフロー)を入れることとしてモデル化できます。

ECMP グループの N 個のバケットと P のパスがある場合は、以下のシーケンスを使用します。

  1. 初期バケットマッピングは、ラウンドロビン方式を使用して生成されます。したがって、すべてのバケットは、ECMP グループ メンバー間でほぼ均等に (N/P) 分散されます。その後、バケットはパスの追加または削除イベントに基づいて移動します。

    N=64 個のバケットと P=4 のパスの場合、64 個のバケットすべてをラウンドロビン方式で分散します。パスが4つあるので、スタックが4つあります。各スタックは1つのパスに対応します。各スタックには同じ数のバケットがあり、N/P=16 です。

    Last_processed_path= 0(アルゴリズムのステップ5を参照)。

  2. パスに障害または削除が発生した場合、障害が発生したパス/スタックからすべてのバケットを突然削除し、循環ラウンドロビン方式で残りのパス/スタックにプッシュします。

    パス3(上の画像のスタック3)を削除する場合は、すべてのバケットをスタック3(下図のオレンジ色)から残りのスタックに移動する必要があります。

  3. パスが追加された場合は、循環ラウンドロビン方式で既存のパスからN/(P+1)個のバケットを突然削除し、新しく追加されたパス/スタックにプッシュします。

    新しいパスを追加する場合は、既存のスタック(スタック0、1、2)からN/P+1=64/4=16バケットを移動する必要があります。オレンジ色のバケツはすべてスタック 3 に戻り、青色のスタックは移動されず、そのまま残っています。

    Last_processed_path= 0

  4. ステップ2とステップ3の円ラウンドロビン方向は逆です。循環ラウンドロビンが開始される最初のスタックを決定することが重要です。ステップ 2 の開始スタック インデックスと last_processed_path ステップ 3 の開始スタックの前のインデックス ポインターを保持します。

  5. 5. last_processed_pathを設定するには、次の操作を行います。

    • ステップ 2 のようにバケットをプッシュすると、 last_processed_path は最後のバケットをプッシュした最後のスタックの次のスタックです。

    • ステップ3のようにバケットを削除すると、バケットが削除された最後のスタックが last_processed_path になります。

耐障害性ハッシュの制限と注意事項

  • 耐障害性に優れたハッシュは、等コスト BGP ルートベースの ECMP グループでのみサポートされています。BGPルートよりも優先度の高い他のプロトコルやスタティックルートを設定する場合、耐障害性に優れたハッシュはサポートされません。

  • 耐障害性に優れたハッシュは、混合速度LAGではサポートされていません。

  • 128 ウェイ ECMP の耐障害性に優れたハッシュは、現在の設計ではサポートされていません。64 ウェイ ECMP レジリエント ハッシュのみサポートされています。

  • 混合レート集約型イーサネット(AE)と適応型ロードバランシング(ALB)AEは、現在の耐障害性に優れたハッシュ設計ではサポートされていません。

ECMPのレジリエントハッシュの設定

  1. 一部のECMPルートに対して耐障害性に優れたハッシュを有効にします。1つ以上の宛先プレフィックスに受信ルートを一致させるために、別のルーティングポリシーを作成します。 ルーティングポリシーのデフォルトアクションの設定を参照してください。
  2. BGP設定階層の必要なレベル(グローバル、グループ、またはピア)にポリシーを適用します。
    手記:ピアレベルのインポートまたはエクスポートステートメントは、グループのインポートまたはエクスポートステートメントを上書きします。グループレベルのインポートまたはエクスポートステートメントは、グローバルなBGPインポートまたはエクスポートステートメントを上書きします。重要なポイントは、上記のような設定では、最も明示的なポリシーのみが適用されるということです。ネイバーレベルのポリシーは、グループレベルのポリシーよりも明示的であり、グループレベルのポリシーはグローバルポリシーよりも明示的です。(説明のために、上記の例では各レベルに同じポリシーが適用されていますが、結果は影響を受けません。)

    3つのポリシーすべての機能を実行するネイバーが必要な場合は、次のいずれかを実行します。

    • 他の3つの機能を包含する新しいネイバーレベルのポリシーを作成し、適用できます。

    • このネイバーには、既存の3つのポリシーすべてをチェーンとして適用できます。

  3. [オプション]ハッシュキー計算に使用するパケットフィールドを選択します。以下の例は、PTX10001-36MR 22.2R1.12-Junos OS Evolvedからのものです。

    以下のコマンドを使用して、パケットフィールドを選択します。

    1. user@router# set forwarding-options enhanced-hash-key family family

      ここでは、家族は inetinet6mpls、または multiservice 値を取り上げることができます。

    2. user@router# set forwarding-options enhanced-hash-key hash-seed

    3. user@router# set forwarding-options enhanced-hash-key resilient-hash-seed

    手記:

    デフォルトでは、ほとんどのフィールドがロードバランシングに対して有効になっています。forwarding-options enhanced-hash-keyファミリーで何かを設定すると、耐障害性ハッシュキーと通常のLAGおよびECMPロードバランシングキー生成の両方に影響します。

集約型イーサネットインターフェイスの耐障害性に優れたハッシュの設定

次のコマンドを使用して設定します。
user@router# set interface ae1 aggregated-ehter-options resilient-hash

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

解放
形容
19.1R1
スイッチのQFX5000ラインでは、実装されている既存のアルゴリズムのハッシュパラメーターを変更できます。