パケット変換と GRE トンネリング
パケット変換とGREトンネリング:概要
MXルーターは、エンタープライズエッジルーターとして導入されると、パブリッククラウドクラウドコンピューティングプラットフォームの一部を形成します。エンタープライズ エッジルーターは、顧客 VPN から受信した IPv4 トラフィックをルート ゲートウェイ ノードにトンネリングします。ルート ゲートウェイは、IPv4 から IPv6 への変換を実行し、変換されたパケットを PaaS(Platform-as-a-Service)サーバーに送信します。PaaS は、クラウドにおける完全な開発およびデプロイ環境であり、シンプルなクラウドベースのアプリケーションから高度なクラウド対応エンタープライズ アプリケーションまで、企業がアプリケーションを提供できるようにするリソースを備えています。
Junos OS リリース 21.2R1 以降、PaaS サービス向けカスタマー ネットワークのアップグレードの一環として、エンタープライズ エッジ ルーター(MX ルーター)の機能拡張をサポートしています。JET APIを介した変換パケットの変換(IPv4からIPv6およびIPv6からIPv4)およびGREトンネリングを有効にするようにエッジルーターを設定できます。エッジ ルーターは、データ センター ゲートウェイをバイパスして、サービスとしてのプラットフォーム (PaaS) として提供される Private Link サービスへのアクセスを提供するようになりました。
JET APIと対話するためのゲートウェイデバイスの準備の詳細については、『 JET API Guide』を参照してください。
エンタープライズエッジルーターによるパケット変換とGREトンネリングのメリット
- データセンターゲートウェイをバイパス
- カプセル化とカプセル化解除に関する非対称トンネリング
- 分離された変換とトンネルのカプセル化により、顧客は最小限のソフトウェア変更で将来別のカプセル化を選択し、転送パスを個別にプローブすることができます
カプセル化プロセス(エッジルーターからPaaSサーバーへ)
図 1 は、エッジルーターから PaaS サーバーへのパケットのフローを示しています。

IPv4 パケットは、PRPD API を介してコントローラが宛先 IPv4 プレフィックスごとに定義した変換ルールに基づいて、IPv6 に変換されます(IPv4 ヘッダーを新しい IPv6 ヘッダーに置き換えます)。カスタマーVRFのinetテーブルは、変換のためのIPv4宛先で検索されます。
GREトンネルカプセル化プロファイルは、PRPD APIを介してコントローラによって変換されたIPv6パケットに対して定義されます。変換された IPv6 宛先は、トンネルのカプセル化のために顧客 VRF inet6 テーブルで検索されます。複数のプレフィックスが同じトンネルを使用する場合があります。
GRE トンネルのカプセル化後、外部 IP トンネルの宛先がネクストホップ L2 カプセル化のマスター インスタンス inet.0 テーブルで検索されます。.
このプロセスについては、次のセクションで詳しく説明します。
プロファイルの理解とプロファイルの分離
エッジルーターは、変換プロファイルで定義されたパラメータに基づいてパケットを変換します。パラメーターには、変換タイプ(IPv4からIPv6またはIPv6からIPv4)、アルゴリズムタイプ、プレフィックス、およびその他の関連情報が含まれます。
パケットは、トンネルのカプセル化プロファイルで定義されたパラメーターに従ってカプセル化されます。
プロファイルの分離を実装するために、変換とトンネル カプセル化のためにデータ コントローラによって 2 つの個別のルートが追加されます。
- IPv4 RouteAdd() または RouteUpdate() は、アクションを translate として、VRF inet テーブルに宛先ルートをプログラムします。
- IPv6 RouteAdd()またはRouteUpdate()は、GREカプセル化(外側のIPv4トンネルヘッダーおよびGREヘッダー)としてアクションを使用して、VRF inet6テーブル内の変換されたIPv6ルートをプログラムします
フォワーディングパスを理解する
エッジルーターは、IPv4 パケットごとに 3 回のルート ルックアップを実行します。
-
VRF inet テーブルでのルート ルックアップ—IPv4 ヘッダーは IPv6 ヘッダーに変換されます。コントローラが IPv4 ルートを追加します。
-
VRF inet6 テーブルでのルート検索—変換された IPv6 宛先アドレスを検索して、内部 IPv6 ヘッダーの上に GRE とトンネル IPv4 ヘッダーを追加するトンネル カプセル化プロファイルを取得します。コントローラが IPv6 ルートを追加します。
-
マスターインスタンスでのルート検索—マスターインスタンスのinetテーブルが、トンネルパケットをトンネル宛先にルーティングするために検索されます。IGPがルートを追加します。
IPv4からIPv6への変換
翻訳の詳細は次のとおりです。
-
IPv4 がフラグメント化されている場合、または IP オプションがある場合、IPv4 は破棄されます。
-
パケット タイプが IPv4 から IPv6 に変更されます。
-
ToS/DSCPフィールドがコピーされます。
-
[IPv6 ホップ制限] は [IPv4 TTL] に設定されています。
-
ペイロードプロトコルがコピーされます(エラー/不整合チェックなし)。
-
IPv6 パケット宛先アドレスは TranslationDestinationIPv6 に設定されます。
-
IPv6 パケット送信元アドレスの最上位 96 ビットが TranslationSourceIPv6Prefix に設定されます。
-
IPv6 パケット送信元アドレスの最下位ビット 32 ビットが、元のパケットの IPv4 アドレスに設定されます
変換された IPv6 パケットを図 2 に示します

GREカプセル化
コントローラは、PRPD API を介して、変換された IPv6 宛先の GRE トンネル カプセル化プロファイルを定義します。エッジルーターは、トンネルカプセル化のために、顧客VRF inet6テーブルで変換されたIPv6宛先を検索します。詳細は以下の通りです。
-
外側 GRE IPv4 トンネル ヘッダーが追加されます
-
GREキーは、ユーザーが設定可能なGREKeyに設定されています
-
IPv4 宛先が TunnelDestinationIPv4 に設定されている
-
IPv4 ソースが TunnelSourceIPv4 に設定されている
-
手記:
トンネル カプセル化プロファイルの数は、変換ルールの数以下にすることができます。デフォルトでは、1 つの GRE トンネルを複数のエンドカスタマー VRF で共有できます。PFE では、同じプロファイル パラメーターを使用する多くの GRE カプセル化ルートが存在する可能性があるため、同じトンネル ネクストホップを使用する場合があります。ただし、多くの変換ルートは、同じGREルートを使用しない場合があります。
カプセル化後のエッジルーターでのパケットの形式は、図 3 のようになります

カプセル化解除プロセス(PaaS サーバーからエッジ ルーターへ)
PaaSサーバーからエッジルーターへのパケットフローには、 図4に示すように、GREのカプセル化解除と逆変換が含まれます。
PaaS サーバーから受信した GRE カプセル化された IPv6 パケットは、トンネル終端ルックアップを受けます。これは、GRE または IPv4 ヘッダーのカプセル化を解除し、後続のリバース変換のルックアップが行われる VRF を指します。コントローラが宛先 IPv6 プレフィックスごとに定義した変換ルールに基づいて、IPv6 ペイロードが変換されます(IPv6 ヘッダーは IPv4 に置き換えられます)。逆変換後、エンドカスタマーVRFのinetテーブルで変換されたアドレスが検索され、エンドカスタマーネットワークに向けたL2カプセル化が取得されます。

プロファイルの理解とプロファイルの分離
カプセル化解除と逆変換プロファイルの分離は不可欠です。コントローラは、リバース変換とトンネルのカプセル化解除のために、別々の GRPC コールによる 2 つのルートを追加します。
-
FlexibleTunnelAdd() は、グローバル変換 VRF を指すようにトンネルの終端をプログラムします。
- IPv6 RouteAdd() または RouteUpdate() は、グローバル変換 VRF の VRF inet6 テーブル内の内部宛先 IPv6 ルートを、アクションを逆変換としてプログラムし、VRF をエンドカスタマー VRF としてターゲットにします。
-
変換された IPv4 アドレスへのエンド カスタマー VRF inet ルートは、BGP プロトコルによってプログラムされます。
フォワーディングパスを理解する
PaaS サーバーから受信した GRE カプセル化 IPv6 パケットは、GRE または IPv4 ヘッダーのカプセル化を解除し、後続の逆変換のルックアップが行われる VRF を指すトンネル終了ルックアップを受けます。
-
GREトンネル終端ルックアップとトンネルカプセル化解除
-
カプセル化解除属性は、ルックアップキー、 GREキー、トンネル宛先IPv4アドレス、トンネル送信元IPv4プレフィックスを形成します。
-
トンネル終端ルックアップは、お客様の VPN インスタンスを識別し、トンネル ヘッダー(外部 IPv4 ヘッダーと GRE ヘッダー)を削除します。
-
PaaS サーバーから受信した GRE ヘッダーには、キー ビットが設定され、32 ビットの GRE キー値が設定されます。転送ルックアップには、GRE キーと他のルックアップ キーが含まれます。
-
パケットは、グローバル変換 VRF であるターゲット VRF に送信されます。
-
-
逆変換とエンドカスタマー VRF の識別
-
トンネルのカプセル化解除後、トラフィックをエンドカスタマーVRFにルーティングする必要があります。このルーティングは、グローバル変換 VRF(顧客が IPv6 変換ルートを保持するために作成するルーティング インスタンス)の InnerDestinationIPv6 アドレスの変換ルート ルックアップを使用して行われます。
InnerDestinationIPv6 アドレスを差別化要因として使用して、エンド カスタマー VRF を識別できます。
-
変換ルート(InnerDestinationIPv6)ルックアップでは、リバース変換プロファイルは IPv6 ヘッダーを IPv4 ヘッダーに変換し、エンド カスタマー VRF を指します。IPv6アドレスの下位32ビットが、変換されたIPv4アドレスを形成します。
-
-
エンドカスタマーVRF inetテーブルでのルート検索
-
変換されたIPv4アドレスは、お客様のネットワークにパケットをルーティングするために、VRFのinetテーブルで検索されます。
-

InnerIPv6Srcアドレスの理解
FlexibleTunnelAdd API は、省略可能なパラメーター InnerSourceIPv6 フィールドもサポートしています。このオプション パラメータを使用して、GRE トンネルを終端し、顧客 VRF を識別するための InnerSourceIPv6 アドレスを含めることができます。
InnerSourceIPv6 アドレスを差別化要因として使用する場合、FlexibleTunnelAdd API でエンドカスタマー VRF をターゲット VRF として渡すことで、エンド カスタマー VRF を指すようにトンネル終了ルックアップを構成できます。この場合、変換ルート(InnerDestinationIPv6)は、それぞれのエンドカスタマーVRFテーブルにプログラムできます。ただし、オプションの InnerSourceIPv6 を有効にしても、グローバル変換 VRF でのカプセル化解除フローの使用は制限されません。

GREカプセル化解除
GRE カプセル化解除プロセスは、以下のステップで行われます。
-
トンネル ルックアップと TargetVRF インスタンスは、前に定義されたルックアップ キーを使用して決定されます。
-
外側の GRE ヘッダーは破棄されます。
IPv6 から IPv4 への変換
翻訳の詳細は、以下のとおりです。
-
内部パケット タイプが IPv6 から IPv4 に変更されます。内側のパケット タイプが IPv6 でない場合、パケットはドロップされ、エラー カウンターがインクリメントされます。
-
ペイロードプロトコルフィールドは、エラーまたは不整合チェックなしでコピーされます。
-
TC フィールドが DSCP フィールドにコピーされます
-
[IPv4 TTL] は [Inner IPv6 hop limit] に設定されています。
- パケットの IPv4 宛先アドレスは、内部 IPv6 宛先アドレスの最下位ビット 32 ビットから取得されます
-
パケットの IPv4 送信元アドレスは、内部 IPv6 送信元アドレスの最下位ビット 32 ビットから取得されます
エッジルーターで受信されるパケットの構造は、 図 7 のようになります。

変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。