パスに割り当てられた帯域幅が不均等なBGPトラフィックのロードバランシングの理解
マルチパスオプションは、アクティブなルート決定プロセスからタイブレイカーを削除します。従って、複数ソースから学習した等コストのBGPルートを転送テーブルにインストールすることができます。ただし、利用可能なパスが等コストでない場合は、トラフィックを非対称にロードバランンシングすることをお勧めします。
複数のネクストホップを転送テーブルにインストールすると、特定の転送ネクストホップが、Junos OSのプレフィックス単位のロードバランシングアルゴリズムによって選択されます。このプロセスは、パケットの送信元アドレスと宛先アドレスに対してハッシュを行い、利用可能なネクストホップの1つにプレフィックスペアを決定的にマップします。プレフィックス単位マッピングは、インターネットピアリング交換で起こり得るハッシュ機能が多数のプレフィックスとともに提示されている場合に最も効果的に機能し、通信ノードのペア間のパケットの並べ替えを防止する役割を果たします。
エンタープライズネットワークは、通常、デフォルト動作を変更して、 パケット単位 のロードバランシングアルゴリズムを起動します。ここでパケット単位ということを強調しているのは、その用途が、元のインターネットプロセッサASICの動作履歴に由来する誤った名称だからです。実際には、現在のジュニパーネットワークスルーターは、プレフィックス単位(デフォルト)とフロー単位のロードバランシングをサポートしています。後者では、送信元アドレス、宛先アドレス、トランスポートプロトコル、着信インターフェイス、アプリケーションポートの一部を含む、さまざまなレイヤー3およびレイヤー4ヘッダーに対するハッシュを要します。その効果は、個々のフローが特定のネクストホップにハッシュされるようになったため、特に少数の発信元と宛先のペア間のルーティングの場合、利用可能なネクストホップ間でより均等な分散が行われるようになります。
パケット単位のロードバランシングでは、2つのエンドポイント間の通信ストリームを構成するパケットの並べ替えが行われる可能性がありますが、個々のフロー内のパケットは正しいシーケンスを維持します。プレフィックス単位とパケット単位のどちらのロードバランシングを選択する場合でも、アクセスリンクの非対称性には技術的な課題が発生する可能性があります。どちらの場合も、例えば、T1リンクにマッピングされたプレフィックスまたはフローは、例えばファストイーサネットアクセスリンクにマッピングされたフローと比較すると、パフォーマンスの低下を示します。さらに悪いことに、トラフィック負荷が多い場合、等しいロードバランシングを試みても、T1リンクが完全に飽和状態になり、パケット損失から生じるセッション中断が生じる可能性があります。
幸いなことに、ジュニパーネットワークスのBGP実装は、帯域幅コミュニティーの概念をサポートしています。この拡張コミュニティーは特定のネクストホップの帯域幅を符号化し、マルチパスと組み合わされた場合、ロードバランシングアルゴリズムは、相対帯域幅に比例する一連のネクストホップにフローを分散します。つまり、10Mbpsと1Mbpsのネクストホップがある場合、平均9フローが、低速のものすべてを高速ネクストホップにマップします。
不等ロードバランシングの仕組み(コントロールプレーンとPFE)
サポートされているプラットフォームでは、パケット転送エンジン(PFE)が、パス帯域幅に基づく BGP 不等ロードバランシングをサポートします。この機能により、デバイスは、相対容量に比例して、複数のBGPパスにトラフィックを均等に分散させることができます。
これを実現するために、コントロールプレーンは、各パスに関連する相対的なコストまたは帯域幅を考慮して、対象となる各ネクストホップの負荷分散の重み(バランス値)のセットを計算します。これらの計算された値は、PFEにプログラムされます。
PFEは、これらの重みを使用して、利用可能なパス全体にトラフィックを比例的に分散し、それに応じて大容量のリンクがより大きなトラフィックシェアを伝送できるようにします。このアプローチにより、リンクの使用率が向上し、利用可能なパスの特性が等しくない環境において、低帯域幅のパスでの輻輳を防ぐのに役立ちます。
BGP帯域幅コミュニティーの使用は、パケット単位のロードバランシングでのみサポートされています。
設定タスクは、次の 2 つの部分で構成されています。
-
外部BGP(EBGP)ピアリングセッションを設定し、マルチパスを有効にし、リンク速度を反映する帯域幅コミュニティーでルートをタグ付けするインポートポリシーを定義します。
-
トラフィックの最適な分散のために、パケット単位(実際にはフロー単位)のロードバランシングを有効にします。