Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

パケット変換と 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 サーバーへのパケットのフローを示しています。

図 1:カプセル化フロー(エッジ ルーターから PaaS サーバーへ) Encapsulation Flow (Edge Router to PaaS Server)

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 に示します

図 2: 変換された IPv6 送信元アドレス形式 Translated IPv6 Source Address Format

GREカプセル化

コントローラは、PRPD API を介して、変換された IPv6 宛先の GRE トンネル カプセル化プロファイルを定義します。エッジルーターは、トンネルカプセル化のために、顧客VRF inet6テーブルで変換されたIPv6宛先を検索します。詳細は以下の通りです。

  • 外側 GRE IPv4 トンネル ヘッダーが追加されます

  • GREキーは、ユーザーが設定可能なGREKeyに設定されています

  • IPv4 宛先が TunnelDestinationIPv4 に設定されている

  • IPv4 ソースが TunnelSourceIPv4 に設定されている

  • 手記:

    トンネル カプセル化プロファイルの数は、変換ルールの数以下にすることができます。デフォルトでは、1 つの GRE トンネルを複数のエンドカスタマー VRF で共有できます。PFE では、同じプロファイル パラメーターを使用する多くの GRE カプセル化ルートが存在する可能性があるため、同じトンネル ネクストホップを使用する場合があります。ただし、多くの変換ルートは、同じGREルートを使用しない場合があります。

カプセル化後のエッジルーターでのパケットの形式は、図 3 のようになります

図 3:カプセル化Packet Formats after Encapsulation後のパケット形式

カプセル化解除プロセス(PaaS サーバーからエッジ ルーターへ)

PaaSサーバーからエッジルーターへのパケットフローには、 図4に示すように、GREのカプセル化解除と逆変換が含まれます。

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

図 4:カプセル化解除フロー(PaaSサーバーからエッジルーターへ) De-encapsulation Flow (PaaS server to Edge Router)

プロファイルの理解とプロファイルの分離

カプセル化解除と逆変換プロファイルの分離は不可欠です。コントローラは、リバース変換とトンネルのカプセル化解除のために、別々の 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テーブルで検索されます。

図 5: InnerIPv6 宛先形式の InnerIPv6 Destination format

InnerIPv6Srcアドレスの理解

FlexibleTunnelAdd API は、省略可能なパラメーター InnerSourceIPv6 フィールドもサポートしています。このオプション パラメータを使用して、GRE トンネルを終端し、顧客 VRF を識別するための InnerSourceIPv6 アドレスを含めることができます。

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

図 6: InnerIPv6Src De-encapsulation with InnerIPv6Srcによるカプセル化解除

GREカプセル化解除

GRE カプセル化解除プロセスは、以下のステップで行われます。

  • トンネル ルックアップと TargetVRF インスタンスは、前に定義されたルックアップ キーを使用して決定されます。

  • 外側の GRE ヘッダーは破棄されます。

IPv6 から IPv4 への変換

翻訳の詳細は、以下のとおりです。

  • 内部パケット タイプが IPv6 から IPv4 に変更されます。内側のパケット タイプが IPv6 でない場合、パケットはドロップされ、エラー カウンターがインクリメントされます。

  • ペイロードプロトコルフィールドは、エラーまたは不整合チェックなしでコピーされます。

  • TC フィールドが DSCP フィールドにコピーされます

  • [IPv4 TTL] は [Inner IPv6 hop limit] に設定されています。

  • パケットの IPv4 宛先アドレスは、内部 IPv6 宛先アドレスの最下位ビット 32 ビットから取得されます
  • パケットの IPv4 送信元アドレスは、内部 IPv6 送信元アドレスの最下位ビット 32 ビットから取得されます

エッジルーターで受信されるパケットの構造は、 図 7 のようになります。

図 7:パケット形式(カプセル化解除フロー) Packet Formats (De-encapsulation flow)

変更履歴

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

解放
形容
21.2R1