Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ポート制御プロトコル

ポート制御プロトコルの概要

ポート制御プロトコル(PCP)は、NAT44やファイアウォールデバイスなどのアップストリームデバイスによる着信パケットの転送を制御する方法、およびアプリケーションのキープアライブトラフィックを削減する方法を提供します。PCPは、MS-DPC、MS-100、MS-400、MS-500マルチサービスPICでサポートされています。Junos OS リリース 17.4R1 以降、NAPT44 向け PCP は MS-MPC および MS-MIC でもサポートされています。Junos 20.2R1 以降、CGNAT DS-Lite サービスの PCP が次世代サービスでサポートされています。Junos OS リリース 18.2R1 以降、MS-MPC および MS-MIC の PCP が DS-Lite をサポートしています。Junos OS リリース 18.1 以前のリリースでは、MS-MPC および MS-MIC の PCP は DS-Lite をサポートしていません。

PCP は、キャリアグレード NAT(CGN)と小規模 NAT(住宅 NAT など)の両方のコンテキストで実装されるように設計されています。PCP を使用すると、ホストは、ISP が運用する CGN の背後にある場合を含め、NAT デバイスの背後にいるときに、長時間 (Web カメラの場合など) または短時間 (ゲームのプレイ中や通話中など) サーバーを操作できます。PCP を使用すると、アプリケーションは外部IPアドレスとポートから内部 IP アドレスとポートへのマッピングを作成できます。これらのマッピングは、NAT またはファイアウォールの内側にあるマシン宛ての受信通信を成功させるために必要です。着信接続のマッピングを作成したら、着信接続の IP アドレスとポートをリモート コンピューターに通知する必要があります。これは通常、アプリケーション固有の方法で行われます。

Junos OS は、PCP バージョン 2 およびバージョン 1 をサポートしています。

PCPは、次のコンポーネントで構成されています。

  • PCP クライアント:リソースを取得および制御するために PCP 要求を PCP サーバに発行するホストまたはゲートウェイ。

  • PCP サーバ - 通常は、PCP リクエストを受信して処理する CGN ゲートウェイまたはコロケーション サーバ

Junos OS では、ポート転送やポートブロック割り当てなどの NAPT44 機能を使用して、マッピング フロー用に PCP サーバーを設定できます。フローは、次のソースから処理できます。

  • 図1に示すように、ユーザー機器から直接受信したPCPリクエストを含むトラフィック。

    図 1:基本的な PCP NAPT44 トポロジー Basic PCP NAPT44 Topology
  • DS-Lite ソフトワイヤ イニシエータ(B4)として機能するルーターによって追加された PCP 要求を含むトラフィックのマッピング。このモードは DS-Lite プレーン モードと呼ばれ、 図 2 に示されています。

    図2:DS-LiteプレーンモードPCP with DS-Lite Plain Modeを使用したPCP
手記:

Junos OSは、PCP発信トラフィックの確定的なポートブロック割り当てをサポートしていません。

ポート制御プロトコルのメリット

NATに対応したアプリケーションの多くは、NATデバイスによってセッションがタイムアウトしないように、アプリケーションレベルのメッセージを頻繁に送信します。PCPは、次の目的で使用されます。

  • これらの NAT キープアライブ メッセージの頻度を減らします

  • 加入者のアクセスネットワークの帯域幅を削減

  • サーバーへのトラフィックを削減する

  • モバイルデバイスのバッテリー消費を削減

ポート制御プロトコル バージョン 2

Junos OS リリース 15.1 以降、RFC 6887 に準拠した PCP(ポート制御プロトコル)バージョン 2 がサポートされています。PCP は、NAT44 などのアップストリーム デバイスやファイアウォール デバイスによる着信パケットの転送を制御する方法、およびアプリケーションのキープ アライブ トラフィックを削減する方法を提供します。PCP バージョン 2 は nonce 認証をサポートしています。PCP を使用すると、アプリケーションは外部IPアドレスとポートから内部 IP アドレスとポートへのマッピングを作成できます。ノンスペイロードはリプレイ攻撃を防止し、明示的に無効にしない限り、デフォルトで送信されます。

バージョン 2 のマップ要求(更新または削除)に対するクライアントの nonce 検証では、PCP マッピングが作成される原因となった元のマップ要求で受信した nonce が保持される必要があります。マッピングの作成を可能にする初期要求のバージョンも保持されます。nonce パラメーターと version パラメーターを保存するこの動作は、PCP マッピングごとに 13 バイトが使用されることを示します。このストレージ・スペースのわずかな増加は、単一の要求されたマッピングに対するシステムの現在のメモリー使用量と一致する場合、重要ではありません (それと共に作成されるエンドポイントに依存しないマッピング (EIM) およびエンドポイントに依存しないフィルタリング (EIF) を考慮に入れます)。お客様のデプロイメントでは、PCP により、EIM マッピングと EIF マッピングは、そのようなすべてのマッピングの一部を表します。

Junos リリース 15.1 までは、サービス PIC は、バージョン 1 メッセージ エンコーディングの PCP ドラフト バージョン 22 に従って、ジュニパーネットワークス ルーター上の PCP サーバーをサポートします。PCP は、 Port Control Protocol (PCP) draft-ietf-pcp-base-22 (2012 年 7 月終了) で定義されているドラフト バージョンから、RFC 6887 -- Port Control Protocol (PCP) で定義されている最終的な標準バージョンに改良され、メッセージ エンコーディングはバージョン 2 に変更され、必要に応じてピアおよびマップ要求を認証するためのランダムな nonce ペイロードが追加されました。バージョン 1 では、バージョン 2 形式に準拠したメッセージはデコードされず、nonce 認証はサポートされていません。実際のネットワーク環境では、カスタマー構内機器(CPE)デバイスがバージョン2のみをサポートすることが増えているため、バージョン2のメッセージを解析して送信する必要があります。バージョン 1 をサポートする CPE デバイスとの下位互換性は維持され(バージョン ネゴシエーションは標準の一部です)、v2 メッセージが使用されている場合、要求 nonce ペイロード パケットを認証します。

show services pcp statistics コマンドの出力には、バージョンが 1 または 2 でないことを示すためにインクリメントされる PCP unsupported version フィールドが含まれています。新しいフィールド PCP 要求 nonce が既存のマッピングと一致しない(認証に失敗した)ため無視された PCP バージョン 2 要求の数を示すために導入されました。バージョン 2 が使用されている場合、認証にはクライアント nonce が使用されます。

ポート制御プロトコルの設定

このトピックでは、ポート制御プロトコル(PCP)の設定方法について説明します。PCPは、MS-DPC、MS-100、MS-400、MS-500マルチサービスPICでサポートされています。Junos OS リリース 17.4R1 以降、NAPT44 向け PCP は MS-MPC および MS-MIC でもサポートされています。Junos OS リリース 18.2R1 以降、MS-MPC および MS-MIC の PCP は DS-Lite をサポートしています。Junos OS リリース 18.1 以前のリリースでは、MS-MPC および MS-MIC の PCP は DS-Lite をサポートしていません。Junos OS リリース 20.2R1 以降、CGNAT サービスの MX-SPC3 セキュリティ サービス カードで PCP がサポートされています。

以下の設定タスクを実行します。

PCP サーバ オプションの設定

  1. PCP サーバー名を指定します。
  2. サーバーの IPv4 または IPv6 アドレスを設定します。PCP DS-Lite の場合、 ipv6-address は AFTR(アドレス ファミリー遷移ルータまたはソフトワイヤ コンセントレータ)のアドレスと一致する必要があります。
    手記:

    Junos OS リリース 18.2R1 以降、MS-MPC および MS-MIC の PCP は DS-Lite をサポートしています。Junos OS リリース 18.1 以前のリリースでは、MS-MPC および MS-MIC の PCP は DS-Lite をサポートしていません。

    又は

  3. PCP DS-Lite の場合は、DS-Lite ソフトワイヤ コンセントレータ設定の名前を指定します。
  4. サーバーのマッピングの有効期間の最小値と最大値を指定します。
  5. 短寿命または長寿命のエラーを生成する時間制限を指定します。
  6. (オプション)—指定された PCP サーバで PCP オプションを有効にします。使用可能なオプションは、[third-party ] と [ prefer-failure] です。third-party オプションは、PCP クライアントによるサードパーティの要求を有効にするために必要です。DS-Lite には third-party オプションが必要です。 prefer-failure オプションは、PCP クライアントが、NAT プールから別の使用可能なアドレスを割り当てるのではなく、利用できない特定の IP アドレス/ポートを要求した場合に、エラー メッセージの生成を要求します。 prefer-failure が指定されていない場合、NAPT44 は設定された NAT オプションに基づいて、NAT プールから使用可能なアドレス/ポートを割り当てます。
  7. (オプション)—マッピングに使用するNAT プールを指定します。
    手記:

    マッピングするNATプールを明示的に指定しない場合、Junos OSは送信元IP、送信元ポート、プロトコルに基づいて部分的なルール一致を実行し、Junos OSは最初に一致したルールに設定されたNAT プールを使用してPCPにマッピングを割り当てます。

    複数のNATプールを使用するには、明示的な設定 を使用する必要があります

    MX-SPC3 セキュリティ サービス カードと次世代サービスでは、 nat-options ステートメントは PCP サーバーに接続するプール名を 1 つだけサポートします。

  8. (オプション)—クライアントあたりのマッピングの最大数を設定します。既定値は 32 で、最大値は 128 です。

PCP ルールの設定

PCP ルールには、すべてのサービス セット ルールと同じ基本オプションがあります。

  • 1 つのルールに複数のアプリケーションを含めることができる term オプション。

    次世代サービス向けMX-SPC3セキュリティサービスカードを実行する場合、期間は必要ありません。

  • ルールの対象となるトラフィックを識別する from オプション。

  • 実行するアクションを識別する then オプション。PCP ルールの場合、このオプションは、選択されたトラフィックを処理する pcp サーバーを識別します

  1. [edit services pcp rule rule-name]階層レベルに移動し、match-direction入力を指定します。
  2. [edit services pcp rule rule-name term term-name]階層レベルに移動し、用語名を指定します。

    次世代サービス向けMX-SPC3セキュリティサービスカードを実行する場合、この手順は必要ありません。

  3. (オプション)—ルールによる処理対象として選択されるトラフィックをフィルタリングするための from オプションを指定します。 from オプションを省略すると、サービスセットのサービスインターフェイスによって処理されるすべてのトラフィックがルールの対象となります。 [edit services pcp rule rule-name term term-name from] 階層レベルでは、以下のオプションを使用できます。
    application-sets set-name

    アプリケーション セットのトラフィックは、PCP ルールによって処理されます。

    次世代サービス向けMX-SPC3セキュリティサービスカードを実行する場合、この手順は必要ありません。

    applications [ application-name ]

    アプリケーションのトラフィックは、PCP ルールによって処理されます。

    次世代サービスにMX-SPC3セキュリティサービスカードを使用する場合、このオプションは必要ありません。

    destination-address address <except>

    宛先アドレスまたはプレフィックスのトラフィックは、PCP ルールによって処理されます。 except オプションを含めると、宛先アドレスまたはプレフィックスのトラフィックは PCP ルールによって処理 されません

    destination-address-range high maximum-value low minimum-value <except>

    宛先アドレス範囲のトラフィックは、PCP ルールによって処理されます。 except オプションを含めると、宛先アドレス範囲のトラフィックは PCP ルールによって処理 されません

    destination-port high maximum-value low minimum-value

    宛先ポート範囲のトラフィックは、PCP ルールによって処理されます。

    destination-prefix-list list-name <except>

    プレフィックスリスト内の宛先アドレスのトラフィックは、PCPルールによって処理されます。 except オプションを含めると、プレフィックス リスト内の宛先アドレスのトラフィックは PCP ルールによって処理 されません

    source-address address <except>

    送信元アドレスまたはプレフィックスからのトラフィックは、PCP ルールによって処理されます。 except オプションを含めると、送信元アドレスまたはプレフィックスからのトラフィックは PCP ルールによって処理 されません

    source-address-range high maximum-value low minimum-value <except>

    送信元アドレス範囲からのトラフィックは、PCP ルールによって処理されます。 except オプションを含めると、送信元アドレス範囲からのトラフィックは PCP ルールによって処理 されません

    source-prefix-list list-name <except>

    プレフィックスリスト内の送信元アドレスからのトラフィックは、PCPルールによって処理されます。 except オプションを含めると、プレフィックスリスト内の送信元アドレスからのトラフィックは PCP ルールによって処理 されません

  4. ターゲット PCP サーバーを識別するための then オプションを設定します。

NAT ルールの設定

NAT ルールを設定するには:

  1. NAT ルール名と一致方向を設定します。
  2. 使用する NAT プールを指定します。
  3. 翻訳タイプを設定します。
  4. PCP を IPv4-to-IPv4 NAT または DS-Lite で使用している場合は、エンドポイントに依存しないマッピング(EIM)とエンドポイントに依存しないフィルタリング(EIF)を設定します。
    手記:

    PCP で IPv4-to-IPv4 NAT または DS-Lite 用に EIM および EIF を構成しない場合、PCP マッピングは作成されません。

PCP を適用するためのサービス セットの設定

PCP を使用するには、 pcp-rule rule-name オプションにルール名(またはルール名のリストの名前)を指定する必要があります。

  1. [edit services service-set service-set-name 階層レベルに移動します。
  2. 新しいサービス セットの場合は、インターフェイス情報や適用される可能性のあるその他のルールなど、基本的なサービス セット情報を提供します。
  3. 指定された PCP サーバにトラフィックを送信するために使用される PCP ルールまたはルールリストの名前を指定します。
手記:

また、サービス セットで必要な nat-rulesoftwire-ruleを特定する必要があります。

SYSLOGメッセージ設定

PCP ログ生成を制御するために、新しい syslog クラス、設定オプション pcp-logs が提供されました。以下のレベルのログ記録を提供します。

  • protocol- マッピングの作成、削除に関連するすべてのログが、このレベルのログに含まれます。

  • protocol-error—–すべてのプロトコル エラー関連ログ(マッピング更新の失敗、PCP ルックアップの失敗、マッピングの作成の失敗など)。は、このレベルのログに含まれます。

  • system-error- メモリとインフラストラクチャのエラーは、このレベルのロギングに含まれます。

ポート制御プロトコル動作の監視

以下の運用コマンドで、ポート制御プロトコル(PCP)の動作を監視できます。

  • MS-MPCの場合は、 show services nat mappings pcp コマンドを使用します。

    手記:

    PCP は、Junos OS リリース 19.3R2 の次世代サービスではサポートされていません

  • MS-MPCの場合は、 show services nat mappings endpoint-independent コマンドを使用します。

    次世代サービスの場合は、 show services nat source mappings endpoint-independent コマンドを使用します。

  • show services pcp statistics protocol

次に、これらのコマンドの出力例を示します。

例:NAPT44 を使用したポート制御プロトコルの設定

手記:

PCPは、MS-DPC、MS-100、MS-400、MS-500マルチサービスPICでサポートされています。Junos OS リリース 17.4R1 以降、NATP44 向け PCP は MS-MPC および MS-MIC でもサポートされています。

必要条件

ハードウェア要件

  • PCP クライアントを持つ UE。

  • MS-DPCサービスPICを搭載したMX 3Dルーター。

  • ソフトウェア要件

  • Junos OS 13.2

  • レイヤー 3 サービス パッケージ

概要

ISP は、PCP クライアントを持つ UE がタイムアウトせずにサーバーへの接続を維持できるようにしたいと考えています。PCP クライアントは、必要な接続のタイプと期間の PCP 要求を生成します。接続は、Web カメラを使用するアプリケーションのように長時間のものから、オンライン ゲームのように短い時間まであります。MX 3Dルーターは、PCPクライアントリクエストを解釈するためのPCPサーバーとNAPT44を提供します。 図 3 は、この例の基本的なトポロジーを示しています。

図3:NAPT44PCP with NAPT44を有するPCP

PCP 設定

CLIクイック構成

この例を素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更し、コマンドを[edit]階層レベルのCLIにコピー&ペーストしてください。

シャーシ構成

手順

レイヤー3サービスパッケージでサービスPIC(FPC 2スロット0)を設定するには:

  1. 階層レベルに [edit chassis] 移動します。

  2. レイヤー3サービスパッケージを設定します。

業績

インターフェイス設定

手順

  1. サービスMS-DPCを設定します。

  2. NATおよびPCPサービスに使用する顧客向けインターフェイスを設定します。

  3. インターネットに接続するインターフェイスを設定します。

業績

NAT 設定

手順

  1. [edit services nat]階層に移動します。

  2. pcp-poolと呼ばれるNAT プールを設定します。

  3. と呼ばれるNAT ルールを設定します pcp-rule

業績

PCP 設定

手順

PCP サーバーと PCP ルールのオプションを設定します。

  1. サーバーの edit services pcp 階層レベルに移動します pcp-s1

  2. PCP サーバ オプションを設定します。

  3. PCP ルールを作成します。

  4. PCP ルールのオプションを設定します。

業績

サービス セットの構成

手順

  1. edit services service-set階層レベルでサービスセットsset_0を作成します。

  2. サービス セットに関連付けられている NAT ルールを特定します。

  3. サービス セットに関連付けられている PCP ルールを特定します。

  4. サービス・セットに関連づけられているサービス・インターフェースを識別します。

業績

変更履歴

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

解放
形容
20.2R1
Junos 20.2R1 以降、CGNAT DS-Lite サービスの PCP は次世代サービスでサポートされています。
20.2R1
Junos OS リリース 20.2R1 以降、CGNAT サービスの MX-SPC3 セキュリティ サービス カードで PCP がサポートされています。
18.2R1
Junos OS リリース 18.2R1 以降、MS-MPC および MS-MIC の PCP は DS-Lite をサポートしています。
18.2R1
17.4R1
Junos OS リリース 17.4R1 以降、NAPT44 向け PCP は MS-MPC および MS-MIC でもサポートされています。
17.4R1
Junos OS リリース 17.4R1 以降、NAPT44 向け PCP は MS-MPC および MS-MIC でもサポートされています。
17.4R1
Junos OS リリース 17.4R1 以降、NATP44 向け PCP は MS-MPC および MS-MIC でもサポートされています。
15.1
Junos OS リリース 15.1 以降、RFC 6887 に準拠した PCP(ポート制御プロトコル)バージョン 2 がサポートされています。