パケット変換と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トンネリングを有効にすることができます。エッジルーターは、データセンターのゲートウェイを迂回して、Platform as a Service(PaaS)として提供されるプライベートリンクサービスへのアクセスを提供するようになりました。
JET API と対話するためのゲートウェイデバイスの準備の詳細については、 JET API ガイドを参照してください。
エンタープライズエッジルーターによるパケット変換と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() は、VRF inet テーブル内の宛先ルートをプログラムし、アクションを translate としてプログラムします。
- IPv6 RouteAdd() または RouteUpdate() は、VRF inet6 テーブル内の変換された IPv6 ルートをプログラムし、アクションを GRE カプセル化(外部 IPv4 トンネル ヘッダーと GRE ヘッダー)としてプログラムします。
転送パスを理解する
エッジルーターは、IPv4パケットあたり3つのルートルックアップを実行します。
-
VRF inet テーブルでのルート ルックアップ - IPv4 ヘッダーは IPv6 ヘッダーに変換されます。コントローラがIPv4ルートを追加します。
-
VRF inet6テーブルでのルート検索—変換されたIPv6宛先アドレスを検索して、内部IPv6ヘッダーの上にGREとトンネルIPv4ヘッダーを追加するトンネルカプセル化プロファイルを取得します。コントローラがIPv6ルートを追加します。
-
マスターインスタンスのルート検索—マスターインスタンスのinetテーブルを検索して、トンネルパケットをトンネル宛先にルーティングします。IGPがルートを追加します。
IPv4からIPv6への変換
翻訳の詳細は以下の通りです。
-
IPv4がフラグメント化されている場合、またはIPオプションがある場合、それは破棄されます。
-
パケットタイプが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に設定されています
-
注:
トンネルカプセル化プロファイルの数は、変換ルールの数と同じまたはそれ以下です。デフォルトでは、単一の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が内部IPv6ホップ制限に設定されている
- パケットのIPv4宛先アドレスは、内部IPv6宛先アドレスの最下位ビット32ビットから取得されます
-
パケットのIPv4送信元アドレスは、内部IPv6送信元アドレスの最下位ビット32ビットから取得されます
エッジルーターで受信するパケットの構造を図 7に示します。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。