ECMP ベースの一貫性のあるハッシュで CSDS がどのように機能するか
概要 このトピックでは、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 グループのメンバーがシングルホップの BGP セッションで外部 BGP ネイバーであるトポロジーに適用されます。これらの外部BGPネイバー上でBFDを実行することで、MXシリーズは、MXシリーズとECMP SRXシリーズのネクストホップ間のリンク障害検出を高速化します。Junos OSは、新しいECMPパスを追加したり、既存のパスを変更したりする際に、一貫したロードバランシングを適用します。アクティブな各SRXシリーズファイアウォールから均等に再配布するインテントでSRXシリーズファイアウォールを優雅に追加し、既存のECMPフローへの影響を最小限に抑えることができます。たとえば、各リンクで総フローの25%を伝送するアクティブなSRXシリーズファイアウォールが4つあり、別のSRXシリーズファイアウォールを追加した場合、既存の各SRXシリーズファイアウォールからのフローの5%が新しいSRXシリーズファイアウォールに移動します。これにより、既存の4台のSRXシリーズファイアウォールから新しいファイアウォールへのフローの再分配の20%を確保します。フローに一致するセッションがないため、アプリケーションは新しいファイアウォールでセッションを再起動する可能性があります。