CSDS と ECMP ベースの一貫性のあるハッシュの関係
このトピックでは、CSDSアーキテクチャがMXシリーズルーターのECMPベースのコンシステントハッシュロードバランサーとどのように連携するかを学習します。
ECMPおよびコンシステントハッシュとは
ECMP(等価コストマルチパス)は、ルーターが同じセッションのトラフィックをロードバランシングできるようにするネットワークルーティング戦略です。同じ送信元と宛先を持つセッション内のトラフィックは、同じコストの複数のパスを介して送信されます。
パケットを転送するとき、ルーティング プロセスは使用するネクスト ホップ パスを決定します。デバイスは、ネクストホップを決定する際に、フローを識別するパケットヘッダーフィールドを考慮します。ECMP をサポートする展開では、デバイスは、ルーティング メトリックの計算とハッシュ アルゴリズムに基づいて、等コストのネクスト ホップ パスを決定します。そのため、コストが等しいルートは、同じプリファレンス値とメトリック値を持ち、ネットワークに対するコストは同じになります。ECMP プロセスは、宛先への正当な等コスト ネクスト ホップである一連のルーターを識別します。識別されたルーターを ECMP セットと呼びます。
ハッシュを使用する一貫したロードバランシングは、すべてのアクティブなリンクを維持し、1 つ以上のリンク障害の影響を受けるフローのみを再マップします。一貫したハッシュにより、アクティブな状態のリンクに接続されたフローは中断されることなく継続されます。この機能は、ECMP グループのメンバーがシングルホップの BGP セッションで外部 BGP ネイバーであるトポロジーに適用されます。外部BGP上のBFD(双方向フォワーディング検出)は、より高速なリンク障害検出を提供し、一貫したハッシュをサポートします。
利点
- 帯域幅利用の最適化 - ECMP は、同じ宛先へのリンク上の未使用帯域幅をフルに活用し、全体の帯域幅を拡大します。
- ワークロード分散の改善—コンシステントハッシュにより、ワークロードを均一に分散し、作業分散における応答を高速化します。
ECMPベースの一貫性のあるハッシュはCSDSでどのように機能しますか?
ECMP セットは、ルーティングテーブルに同一宛先に対する複数のネクストホップ アドレスが等コストで含まれている場合に形成されます。アクティブ ルートに ECMP セットが存在する場合、Junos OS はハッシュ アルゴリズムを使用して、ECMP セット内のネクストホップ アドレスの 1 つを選択します。デバイスは、選択されたネクストホップアドレスを転送テーブルにインストールします。ECMP セット内の複数のネクストホップエントリが転送テーブルにインストールされるように、デバイスを設定できます。Junos OSデバイスは、パケットごとのロードバランシングを実行して、ルーティングデバイス間の複数のパスにトラフィックを分散させることができます。
CSDSアーキテクチャでは、SRXシリーズファイアウォールのフローの対称性が維持されます。ユーザーデータクライアント(クライアントデバイス)の着信および送信トラフィックは、常に、セッション状態を維持する同じSRXシリーズファイアウォール(サーバーデバイス)に到達します。トラフィックが同じSRXシリーズファイアウォールに到達するようにするため、MXシリーズルーターは、そのファイアウォールに向けて双方向にトラフィックを同じリンクにハッシュします。
ユーザー データ クライアントは、アップストリーム方向 (クライアントからサーバー) の送信元 IP アドレスと、ダウンストリーム方向 (サーバーからクライアント) のIP アドレスによって識別されます。MXシリーズ ルーターは、特定のタプル(送信元 IP アドレスとIP アドレス)に対して対称ハッシュを実行します。MXシリーズルーターは、フローの方向に関係なく同じハッシュを計算します。つまり、送信元と宛先のIPアドレスが入れ替わっていても同じハッシュを計算します。クライアントからのすべてのフローが同じSRXシリーズファイアウォールに到達するようにするため、ルーター MXシリーズ一方向では(IP アドレスではなく)送信元IPアドレスでのみハッシュを実行し、その逆方向ではその逆も同様に実行します。
デフォルトでは、1 つ以上のパスに障害が発生した場合、ハッシュ アルゴリズムがすべてのパスのネクストホップを再計算し、通常はすべてのフローを再分配します。一貫性のあるハッシュによる一貫したロードバランシングにより、MXシリーズルーターはこの動作を上書きし、非アクティブなリンクのフローのみをリダイレクトすることができます。すべてのルーターは、中断することなく既存のアクティブなフローを維持します。リンクに障害が発生した場合、すべてのフローを再分配すると、アクティブなSRXシリーズファイアウォールで大きなトラフィック損失が発生する可能性があります。一貫したロードバランシングは、すべてのアクティブなリンクを維持し、代わりに 1 つ以上のリンク障害の影響を受けるフローのみを再マップします。この機能により、アクティブな状態のリンクに接続されたフローは中断されることなく継続されます。
ECMP ベースの一貫性のあるハッシュは、ECMP グループのメンバーがシングルホップの BGP セッションで外部 BGP ネイバーであるトポロジーに適用されます。MXシリーズルーターは、これらの外部BGPネイバー上でBFDを実行することで、ルーターとSRXシリーズファイアウォールへのECMPベースのネクストホップとの間のリンク障害検出を高速化します。Junos OSは、新しいECMPパスを追加したり、既存のパスを変更したりすると、一貫したロードバランシングを適用します。SRXシリーズファイアウォールはグレースフルに追加できます。Junos OSは、既存のECMPフローへの影響を最小限に抑えながら、アクティブな各SRXシリーズファイアウォールからのフローの均等な再分配を保証します。たとえば、4つのアクティブなSRXシリーズファイアウォールが各リンクで合計フローの25%を伝送し、別のSRXシリーズファイアウォールを追加した場合、既存の各SRXシリーズファイアウォールからのフローの5%が新しいSRXシリーズファイアウォールに移動します。これにより、既存の4つのSRXシリーズファイアウォールから新しいファイアウォールへのフロー再分配の20%が保証されます。フローに一致するセッションがないため、アプリケーションは新しいファイアウォールでセッションを再起動する可能性があります。