プログラム可能なフレキシブル VXLAN トンネルについて
Junos OS Release 19.1R1以降、以下のデータセンター環境で柔軟なトンネルがサポートされています。
1 つ以上のコントローラーを実装します。
オーバーレイカプセル化プロトコルとして仮想拡張LAN(VXLAN)を使用します。
柔軟なトンネル機能は、IPv4 および IPv6 VXLAN のカプセル化とカプセル化解除をサポートします。
この環境では、1つ以上のジュニパーネットワークスデバイスが、データセンター内のホストとインターフェイスするデータセンターエッジゲートウェイとして機能できます。 図 1 は、1 つのコントローラーと 1 つのエッジ ゲートウェイがデプロイされた単純なトポロジを示しています。
データセンター環境のコントローラにより、Juniper Extension Toolkit(JET)APIを介して、ゲートウェイデバイスへの以下の柔軟なトンネルコンポーネントをプログラムできます。
静的 IPv4 または IPv6 ルート
トンネル カプセル化プロファイル
トンネルのカプセル化解除プロファイル
JET API の詳細については、 『JET API ガイド』を参照してください。
次のセクションでは、フレキシブル トンネルについて詳しく説明します。
プログラム可能なフレキシブルトンネルのメリット
データセンター環境のコントローラとJET APIにより、ゲートウェイデバイスへの多数の柔軟なトンネルをプログラムすることができます。この新しい方法により、エッジゲートウェイはデータセンター内の多数のホストと通信できます。
特定のフレキシブル トンネルのトンネル カプセル化とカプセル化解除プロファイルは、通常別個のものであり、対称である必要はありません。特定のデータセンターホストのスタティックルートはカプセル化プロファイルにマッピングされ、そのホスト宛てのトラフィックは個別のトンネルにカプセル化されます。ただし、カプセル化解除は特定のスタティックルートには関連付けられていません。その結果、カプセル化解除プロファイルの属性に一致する1つ以上のデータセンターホストからのトラフィックを、単一のトンネルに集約することができます。このメカニズムにより、カプセル化解除プロファイルの数が減少し、既存のプロファイルと柔軟なトンネルをより効率的に使用できます。
プログラム可能なフレキシブルトンネル、フレキシブルルート、トンネルプロファイル
図2 は、フレキシブルトンネルをサポートするトポロジーの例を示しています。このトポロジーでは、データセンターエッジゲートウェイは、VXLANが使用されるデータセンター内の仮想マシン(VM)とインターフェイスします。レイヤー 3 トラフィックが介在する IPv4 または IPv6 ネットワーク上でトンネリングする場合、ゲートウェイ デバイスと、VM を管理するハイパーバイザーまたはその他の専用デバイスも、VTEP(仮想トンネル エンドポイント)として機能します。VTEP は、VXLAN ヘッダーを使用してパケットをカプセル化し、パケットからヘッダーを削除またはカプセル化解除してから、パケットを転送します。
フレキシブル トンネルをサポートするには、次のコンポーネントが必要です。
ゲートウェイ デバイス上のフレキシブル トンネル インターフェイス(IPv4 および IPv6 両方のファミリーをサポートするレイヤー 3 論理インターフェイス)。フレキシブル トンネル インターフェイスを設定するには、
[edit interfaces unit logical-unit-number]
階層レベルでtunnel
スタンザとfamily
スタンザを使用する必要があります。詳細については、 フレキシブル トンネル インターフェイスの概要を参照してください。柔軟なルートは、以下で構成されます。
他の属性の中でも、トンネルのカプセル化プロファイルを指定するスタティックルート。
他の属性の中でも特にフレキシブルなトンネルインターフェイスを指定するトンネルカプセル化プロファイル。
トンネルのカプセル化解除プロファイル。通常はカプセル化プロファイルとは別のプロファイルで、カプセル化プロファイルに必要な属性のサブセットを指定します。
rib.service.proto APIファイルを使用してスタティックルートをプログラムし、カプセル化プロファイルをルートにマッピングし、flexible_tunnel_profile.proto APIファイルを使用してカプセル化プロファイルを完全に定義することができます。
flexible_tunnel_profile.proto API ファイルを使用してカプセル化解除プロファイルを完全に定義し、flexible_tunnel_service.proto API ファイルを使用してこれらのプロファイルの一括追加、変更、および削除を実行できます。flexible_tunnel_service.proto API ファイルには、特定のカプセル化解除プロファイルを表示できるパラメーターも含まれています。
JET API ファイルの詳細については、「 JET API ガイド」を参照してください。
ジュニパーネットワークスのゲートウェイデバイス上のトンネルのカプセル化およびカプセル化解除プロファイルに関する情報を表示するには、 show route detail コマンドと show route extensive コマンドを使用します。カプセル化解除プロファイルに関する情報を表示するには、 show flexible-tunnels profiles コマンドを使用できます。
ルートとルーティングテーブル
トンネルのカプセル化プロファイルとカプセル化解除プロファイルに関連付けられたルートは、目的が異なるため、ゲートウェイデバイスの異なるルーティングテーブルに保存されます。 表 1 に、トンネル プロファイル、プロファイルに関連付けられたルート、およびルーティング テーブルの概要を示します。
トンネル プロファイル |
ルート |
ルートの目的 |
ルーティングテーブル |
筆記 |
---|---|---|---|---|
トンネルカプセル化プロファイル |
柔軟なルート(スタティックルートとマッピングされたトンネルカプセル化プロファイル) |
データセンター内のホストにトラフィックを転送するために使用します。 |
API設定によって決定されるルーティング情報ベース(RIB)またはルーティングテーブル。 |
– |
トンネルのカプセル化解除プロファイル |
自動生成された内部ルート |
カプセル化解除プロファイルをルートに関連付けて、内部ルーティングテーブルにダウンロードできるようにするために使用します。 |
__flexible_tunnel_profiles__.inet.0 という名前の内部ルーティング テーブル |
データセンターのホストからカプセル化されたパケットを受信すると、このルーティングテーブルは、カプセル化解除プロファイルの検索を実装し、特定のパケットをカプセル化解除プロファイルと照合する手段を提供します。 |
詳細なトラブルシューティングを行う場合、カプセル化解除プロファイルと内部ルート間のマッピングを知っておくと便利です。 show flexible-tunnels profiles コマンドは、[ルート プレフィックス] フィールドに内部ルートを表示します。
柔軟なトンネル トラフィック フロー
フレキシブル トンネル機能は、次の一般的な IPv4 および IPv6 トラフィック フローをサポートします。
ゲートウェイ デバイスが、ルーティング テーブル内のフレキシブル ルートと一致する宛先アドレスを持つパケットを受信すると、デバイスは送信元 VTEP として機能し、次のアクションを実行します。
カプセル化プロファイルで指定されたパラメーターに従ってパケットをカプセル化します。カプセル化パラメーターには、カプセル化タイプ、送信元プレフィックス、宛先アドレス、フレキシブル トンネル インターフェイス、VNI(VXLANネットワーク識別子)が含まれますが、これらに限定されません。
カプセル化プロファイルで指定されたフレキシブル トンネル インターフェイスを介して宛先 VM に向かってパケットを転送します。
フレキシブル トンネル インターフェイス上に設定された出力機能(統計、サンプリング、ミラーリング、フィルターなど)を実装します。
ゲートウェイ デバイスが、カプセル化解除プロファイルに一致するコンテンツを含むカプセル化パケットを受信すると、デバイスは宛先 VTEP として機能し、次のアクションを実行します。
パケットのカプセル化を解除します。
フレキシブル トンネル インターフェイスに設定された入力機能を実装します。
カプセル化解除プロファイルで指定されたフレキシブルトンネルインターフェイスを介して、パケットを宛先に転送します。
ゲートウェイデバイスの準備
JET APIを使用してフレキシブルトンネルをプログラミングする前に、次のコマンドを使用してゲートウェイデバイスでgRPCリモートプロシージャコール(gRPC)を有効にする必要があります。
set system services extension-service request-response grpc ssl
gRPCを有効にすると、ゲートウェイデバイスは、JETアプリケーションから安全な接続を介して、ルートおよびトンネルサービス要求を受信する準備が整います。
JET API と対話するためのゲートウェイ デバイスの準備の詳細については、「 JET API ガイド」を参照してください。
フレキシブル トンネルの動作について
フレキシブルトンネル機能については、次の点に注意してください。
スタティック ルートがまだ設定されていないフレキシブル トンネル インターフェイスにマッピングされている場合、インターフェイスが設定されるまでルートは非アクティブのままです。
削除されたフレキシブル トンネル インターフェイスに 1 つ以上のフレキシブル ルートがマッピングされている場合、フレキシブル ルートは非アクティブになり、パケット転送エンジンから削除されます。
フレキシブル トンネル インターフェイスがダウンした場合、まだ設定されていない、またはオフラインの場合、カプセル化またはカプセル化解除されるトラフィックは正常に破棄されます。
各スタティック ルートは、1 つのトンネル カプセル化プロファイルにマッピングする必要があります。言い換えれば、静的ルートとカプセル化プロファイルの間には1対1の対応がなければなりません。同じカプセル化プロファイルへの2つ以上のスタティックルートのマッピングはサポートされていません。
flexible_tunnel_service.proto API ファイルを使用してトンネルのカプセル化解除プロファイルを追加または変更するときに、別のカプセル化解除プロファイルと競合が発生した場合、操作は失敗し、エラーメッセージが表示されます。2つのカプセル化解除プロファイル間の競合は、以下のパラメータの1つ以上の値が同じ場合に発生します。
UDP 宛先ポート
ソースプレフィックス
送信元プレフィックス長
VNI
柔軟なトンネルの制限
フレキシブル トンネル機能には、次の制限があります。
フレキシブル ルートが格納されているルーティング テーブルでは、リバース パス フォワーディング(RPF)や MAC アドレスの検証などのソース ルックアップ機能はサポートされていません。
各フレキシブルルートには、IPアドレスではなく、ネクストホップとしてのトンネルカプセル化プロファイルがあります。その結果、カプセル化プロファイル全体で、ロードバランシングを含むがこれに限定されないネクストホップ機能はサポートされていません。
フレキシブル トンネルには、コントロール プレーン機能はありません。つまり、プロトコルやその他のコントロール プレーン機能は、これらのトンネル上で実行できません。代わりに、転送プレーンが柔軟なトンネルを処理します。
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。