Network Working Group
Request for Comments: 1332
Obsoletes: RFC 1172

G. McGregor
Merit
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以上

IP-Compression-Protocol

IP圧縮プロトコルフィールドは2オクテットで、望んだ圧縮プロトコルを示す。このフィールドの値は、PPPデータリンク層プロトコルフィールドの同じ圧縮プロトコルの値と常に同一である。

IP圧縮プロトコルフィールドの最新の値は、最新の「番号割当て」RFC[6]で規定される。現在の値は以下のように割り当てられている。

値(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


002d

002f

タイプIP。IPプロトコルはTCPではない。あるいはパケットが分割されている。あるいは圧縮できない。

圧縮TCP。TCP/IPヘッダは圧縮ヘッダによって置き換えられる。

非圧縮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


1
スロット識別子を圧縮してはならない。全ての圧縮された TCP パケットは全ての変更マスクに C ビットを設定し、スロット識別子を含めななければならない。

スロット識別子を圧縮してもよい。

もし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