Network Working Group G. McGregor Request for Comments: 1332 Merit Obsoletes: RFC 1172 May 1992 The PPP Internet Protocol Control Protocol (IPCP) このメモの状態 この RFC は、インターネット社会のための IAB 標準トラックプロトコル を規定し、改善のための議論と提案を要求している。標準化の状況とこの プロトコルの状態については、「IAB 公式プロトコル標準」の現在の版を 参照されたい。このメモの配布は、制限されない。 Abstract ポイントツーポイントプロトコル (PPP: Point-to-Point Protocol) [1] は、ネットワーク層プロトコルの情報をポイントツーポイントリンク上に カプセル化する標準的な方法を提供し、異なるネットワーク層プロトコル を確立し、設定するためのネットワーク制御プロトコル (NCP: Network Control Protocol) のファミリを提案している。 このドキュメントは、PPP 上にインターネットプロトコルを確立し、設定 するための NCPと、PPP で Van Jacobson TCP/IP ヘッダ圧縮の使用を折衝 する方法を提供している。 この RFC は、インターネット技術作業団体 (IETF: Internet Engineering Task Force)のポイントツーポイントプロトコルのワーキンググループの生 産物である。 Table of Contents 1. 導入 2. IP のための PPP ネットワーク制御プロトコル (NCP) 2.1 IP データグラムの送信 3. IPCP 通信設定オプション 3.1 IP アドレス (s) 3.2 IP 圧縮プロトコル 3.3 IP アドレス 4. Van Jacobson TCP/IP ヘッダ圧縮プロトコル 4.1 通信設定オプション形式 付録 A. IPCP 推奨オプション セキュリティの考慮 参照 謝辞 議長のアドレス 作者のアドレス 1. 導入 PPP は、以下の三つの主要なコンポーネントを持つ。 1. シリアルリンク上でデータグラムをカプセル化する方法。 2. データリンクコネクションを確立し、設定し、テストするためのリ ンク制御プロトコル (LCP: Link Control Protocol)。 3. 異なるネットワーク層プロトコルを確立し、設定するためのネット ワーク制御プロトコル (NCP: Network Control Protocol)。 ポイントツーポイントリンク上で通信を確立するために、PPP リンクの各 終端は、データリンクを設定しテストするために、最初に LCP パケットを 送信しなければならない。リンクが確立され、LCP が必要とする任意の設 備が折衝された後、PPP は一つ以上のネットワーク層プロトコルを選択し 設定するために、NCP パケットを送信しなければならない。一旦選択され た各々のネットワーク層プロトコルが設定されたら、各ネットワーク層プ ロトコルからのデータグラムをリンク上に送信できる。 明示的な LCP か NCP パケットがリンクをクローズするか、ある外部イベ ント (無活動タイマが満了するかネットワーク管理者が介在する) が発生 するまで、リンクは通信のために設定されたままである。 2. IP のための PPP ネットワーク制御プロトコル (NCP) IP 制御プロトコル (IPCP: IP Control Protocol) は、ポイントツーポイ ントリンクの両終端の IP プロトコルモジュールを設定し、確立し、使用 を止める責任を持つ。IPCP は、リンク制御プロトコル (LCP) と同じパケッ ト交換メカニズムを使用する。PPP がネットワーク層プロトコルフェーズ に到達するまで、IPCP パケットは交換されないかもしれない。このフェー ズに達する前に受信した IPCP パケットは、黙って破棄しなければならな い。 IP 制御プロトコルは、以下の例外を除きリンク制御プロトコル [1] と同 じである。 データリンク層プロトコルフィールド 正確に一つの IPCP パケットは、プロトコルフィールドがタイプ 0x8021 (IP 制御プロトコル) を示す、PPP データリンク層の情報フレ ームの中にカプセル化される。 コードフィールド 1〜7 までのコード (通信設定要求、通信設定肯定応答、通信設定否定 応答、通信設定拒否、終了要求、終了肯定応答、コード拒否) のみが使 用される。他のコードは未知として扱い、結果としてコード拒否を返す べきである。 タイムアウト IPCP パケットは、PPP がネットワーク層プロトコルフェーズに達する まで交換されないかもしれない。実装体は、通信設定肯定応答か他の応 答を待ってタイムアウトになる前に、認証とリンク品質の決定が完了す るのを待つ準備をしておくべきである。実装体は、ユーザの介在か、設 定可能な時間が経過した後のみに諦めることが提案される。 通信設定オプションのタイプ IPCP は、以下に定義された異なる通信設定オプションのセットを持つ。 2.1 IP データグラムの送信 IP パケットを通信する前に、PPP はネットワーク層プロトコルフェーズに 達しなければならず、IP 制御プロトコルはオープン状態に達しなければな らない。 正確に一つの IP パケットは、プロトコルフィールドがタイプ 0x0021 (IP プロトコル) を示す、PPP データリンク層の情報フレームの中にカプセル 化される。 PPP リンク上に送信される IP パケットの最大長は、PPP データリンク層 フレームの情報フィールドの最大長と同じである。より大きい IP データ グラムは、必要時に分割されなければならない。もしシステムが分割や組 み立てを避けたいならば、TCP の最大セグメントサイズオプション [4] と MTU 検出 [5] を使用すべきである。 3. IPCP 通信設定オプション IPCP 通信設定オプションは、望ましいインターネットプロトコルパラメタの 折衝を可能にする。IPCP は、LCP [1] で定義されたのと同じ通信設定オプショ ン形式を、別のオプションのセットで使用する。 IPCP オプションタイプフィールドの最新の値は、最新の「番号割当て」RFC [6] で規定される。現在の値は以下のように割り当てられている。 1 IP アドレス(s) 2 IP 圧縮プロトコル 3 IP アドレス 3.1 IPアドレス(s) 説明 IP アドレス(s) の通信設定オプションの使用は同意されなかった。実 装実験を通じて、このオプションを使用してあらゆるケースにおける折 衝の集合を保証することは難しいことが決定された。RFC1172 [7] は、 下位互換を必要とする実装に関する情報を提供している。IP アドレス 通信設定オプションがこのオプションの代替であり、それを使用する方 が望ましい。 もし IP アドレス(s) か IP アドレスオプションのどちらかを含む通信 設定要求を受信したら、このオプションを通信設定要求で送信すべきで はない (SHOULD NOT)。IP アドレス(s) オプションに対する通信設定拒 否が到着したら、あるいは追加オプションとして IP アドレス(s) オプ ションを持つ通信設定否定応答を受信したら、このオプションを送信し てもよい (MAY)。 IPCP プロトコルの状態がインターネットドラフト標準に昇格した後、 このオプションのサポートを削除してもよい (MAY)。 3.2 IP 圧縮プロトコル 説明 この通信設定オプションは、特定の圧縮プロトコルの使用を折衝するた めの方法を提供する。デフォルトでは、圧縮は使用されない。 IP 圧縮プロトコル通信設定オプション形式の詳細は、以下の通りである。 フィールドは左から右へ送信される。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | IP-Compression-Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+ Type 2 Length 4 以上 >= 4 IP-Compression-Protocol IP 圧縮プロトコルフィールドは2オクテットで、望んだ圧縮プロトコル を示す。このフィールドの値は、PPP データリンク層プロトコルフィー ルドの同じ圧縮プロトコルの値と常に同一である。 IP 圧縮プロトコルフィールドの最新の値は、最新の「番号割当て」RFC [6] で規定される。現在の値は以下のように割り当てられている。 Value (in hex) Protocol 値 (16進) プロトコル 002d Van Jacobson Compressed TCP/IP Data データフィールドは 0 個以上のオクテットで、特定の圧縮プロトコル で決定された追加データを含む。 Default 圧縮プロトコルは使用しない。 3.3 IP アドレス 説明 この通信設定オプションは、ローカルなリンクの終端で使用する IP ア ドレスを折衝するための方法を提供する。通信設定要求の送信者が、ど の IP アドレスが望ましいかを示すことや、相手が情報を提供すること を要求することを可能にする。相手はオプションの否定応答と、正しい IP アドレスの返却によってこの情報を提供できる。 もしリモートの IP アドレスについての折衝が必要で、相手が通信設定 要求の中にこのオプションを提供しなかったら、通信設定否定応答にこ のオプションを追加しなければならない。付与された IP アドレスの値 は、リモートの IP アドレスとして受諾するか、相手が情報を提供する 要求を提供しなければならない。 デフォルトでは、IP アドレスは割り当てられない。 IP アドレス通信設定オプション形式の詳細は、以下の通りである。フィー ルドは左から右へ送信される。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | IP-Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IP-Address (cont) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 3 Length 6 IP-Address 4 オクテットの IP アドレスは、通信設定要求の送信側の望んだ自側 IP アドレスである。もし 4 オクテットが全て 0 ならば、相手が IP アドレス情報を提供することを要求していることを示す。 Default IP アドレスは割り当てられない。 4. Van Jacobson TCP/IP ヘッダ圧縮プロトコル Van Jacobson TCP/IP ヘッダ圧縮は、TCP/IP ヘッダのサイズを 3 バイトに減 らす。これは低速なシリアル回線では、特に相互通信のトラフィックで重要な 改善である。 IP 圧縮プロトコル通信設定オプションは、圧縮されたパケットを受信する能 力を示すために使用される。もし両方向の圧縮を望むならば、リンクの各終端 が別個にこのオプションを要求しなければならない。 IP パケットを送信する時、PPP プロトコルフィールドには以下の値が設定さ れる。 値 (16進) 0021 タイプ IP。IP プロトコルは TCP ではない。あるいはパケット が分割されている。あるいは圧縮できない。 002d 圧縮 TCP。TCP/IP ヘッダは圧縮ヘッダによって置き換えられる。 002f 非圧縮 TCP。IP プロトコルフィールドは、スロット識別子によっ て置き換えられる。 4.1 通信設定オプション形式 Van Jacobson TCP/IP ヘッダ圧縮を折衝するための IP 圧縮プロトコル通 信設定オプション形式の詳細は、以下の通りである。フィールドは左から 右へ送信される。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | IP-Compression-Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Max-Slot-Id | Comp-Slot-Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 2 Length 6 IP-Compression-Protocol 002d (16進) Van Jacobson 圧縮された TCP/IP ヘッダ Max-Slot-Id 最大スロット ID は 1 オクテットで、最大スロット識別子を示す。こ れは実際のスロット数より 1 少ない。すなわち、スロット識別子は 0 から最大スロット ID までの値を持つ。 注記: 1 スロットしかない (最大スロット ID = 0) 問題のある実装 体があるかもしれない。参照 [3] の議論を参照されたい。[3] の実 装例は 3 〜 254 スロットでのみ動作するだろう。 Comp-Slot-Id 圧縮スロット ID は 1 オクテットで、スロット識別子フィールドを圧 縮してもよいか否かを示す。 0 スロット識別子フィールドを圧縮してはならない。全ての圧縮さ れた TCP パケットは全ての変わるマスクに C ビットを設定し、 スロット識別子を含まなければならない。 1 スロット識別子を圧縮してもよい。 もし PPP リンクレベルで解凍モジュールの応答でエラーを示す能力が 無いならば、スロット識別子を圧縮してはならない。エラー後の同期は スロット識別子を持つパケットの受信による。参照 [3] の議論を参照 されたい。 A. IPCP 推奨オプション 以下の通信設定オプションが推奨される。 IP 圧縮プロトコル -- 少なくとも 4 スロット、通常 16 スロット IP アドレス -- ダイアルアップ回線でのみ セキュリティの考慮 セキュリティの問題は、このメモでは論じられない。 参照 [1] Simpson, W., "The Point-to-Point Protocol", RFC 1331, May 1992. [2] Postel, J., "Internet Protocol", RFC 791, USC/Information Sciences Institute, September 1981. [3] Jacobson, V., "Compressing TCP/IP Headers", RFC 1144, January 1990. [4] Postel, J., "The TCP Maximum Segment Size Option and Related Topics", RFC 879, USC/Information Sciences Institute, November 1983. [5] Mogul, J., and S. Deering, "Path MTU Discovery", RFC 1191, November 1990. [6] Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1060, USC/Information Sciences Institute, March 1990. [7] Perkins, D., and R. Hobby, "Point-to-Point Protocol (PPP) initial configuration options", RFC 1172, August 1990. 謝辞 このドキュメントの幾つかは、カーネギーメロン大学のドゥリューパーキ ンスとデービスのカリフォルニア大学のロスホビーによる RFC1171 や 1172 から取っている。 拡張 IP 圧縮オプションの情報は、SIGCOMM '90でVan Jacobs によって提 供された。 ビルシンプソンは、ドキュメントの形式化を手助けしてくれた。 議長のアドレス ワーキンググループは、以下の現在の議長を通じてコンタクトをとれる。 Brian Lloyd Lloyd & Associates 3420 Sudbury Road Cameron Park, California 95682 Phone: (916) 676-1147 EMail: brian@ray.lloyd.com 作者のアドレス このメモについての質問は、直接下記へ。 Glenn McGregor Merit Network, Inc. 1071 Beal Avenue Ann Arbor, MI 48109-2103 Phone: (313) 763-1203 EMail: Glenn.McGregor@Merit.edu