Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

フローの再マッピングを最小限に抑えるためのリシリアントハッシュの使用

ネットワーク エンドポイント間の展開では、確立された接続と、関連するレイヤー 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 になります。

回復力のあるハッシュの制限と注意事項

  • 耐障害性ハッシュは、ECMP ベースの等価コスト BGP ルートでのみサポートされます。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