リンク制御プロトコル (LCP) フレームはリンク確立フェーズとリンク終了フェーズで送信されるとともに、リンク運用中に定期的に送信されます。PPP リンク構成のネゴシエーション、および確立されたリンクのテストと保守に使用されます。図 A-3 に、LCP フレームの形式を示します。
アドレスフィールドは PPP 用 HDLC 式フレームの一部で、長さは 1 オクテットです。必ず 0xff に設定します。
制御フィールドは PPP 用 HDLC 式フレームの一部で、長さは 1 オクテットです。必ず 0x03 に設定します。
プロトコル識別子はフレームの情報フィールドにある情報の種類を識別します。LCP フレームの場合は必ず 0xc021 に設定します。
コードフィールドは以下のコードによって LCP フレームの種類を識別します。長さは 1 オクテットです。
0x01 Configure-request 0x02 Configure-ack 0x03 Configure-nak 0x04 Configure-reject 0x05 Terminate-request 0x06 Terminate-ack 0x07 Code-reject 0x08 Protocol-reject 0x09 Echo-request 0x0a Echo-reply 0x0b Discard-request |
識別子フィールドには、要求と応答の照合に使用される識別子があります。長さは 1 オクテットです。
長さフィールドの長さは 2 オクテットで、コード、識別子、長さ、データの各フィールドで構成される LCP フレームの全長を示します。このフィールドの値は、最大受信ユニット (MRU) を超えないでください。
長さフィールドに示されているとおり、データフィールドの長さはゼロオクテット以上です。構成オプション、フレーム情報、データなどのフレーム関係情報を格納します。
データフィールドに、長さ 4 オクテットのマジックナンバーが含まれる場合があります。これは、ループバック状態や他のリンクレベルの変則制などのリンク障害の検出に使用されます。マジックナンバーはネゴシエーション対象パラメータで、デフォルトではゼロに設定されます。マジックナンバーは、一意のランダムな数字によってフレームのソースを識別します。同じマジックナンバーを持つ同じ種類のフレーム 2 個を受信した場合は、リンクがループバックしており、第 2 のフレームは第 1 のフレームと同じであると考えられます。
リンク構成フレームは、リンク確立フェーズに送信されます。リンク構成フレームのデータフィールドには、リンクの構成オプションのネゴシエーションに使用される情報があります。リンク構成フレームには、以下のものがあります。
Configure-request
コード 0x01。特定の構成を持つリンクの確立を要求します。リンク確立フェーズの開始を示します。有効な応答を受信するか、またはファイル ppp.conf の lcp_max_restart パラメータ値を超える数のフレームが受信されるまで、Terminate-request フレームが定期的に送信されます。
Configure-ack
コード 0x02。認識可能な Configure-request フレームの受信を肯定応答し、要求された構成を受け付けます。リンク確立フェーズの終了を示します。
Configure-nak
コード 0x03。認識可能な Configure-request フレームの受信を肯定応答しますが、要求された構成の一部または全部を拒否します。
Configure-reject
コード 0x03。認識可能でないため、または要求された構成が受け付け不能であるため、Configure-request フレームを拒否します。
リンク終了フレームは、リンク終了フェーズで送信されます。リンク終了フレームには、以下のものがあります。
Terminate-request
コード 0x05。リンクの終了を要求します。リンク終了フェーズの開始を示します。
Terminate-ack
コード 0x06。認識可能な Terminate-request フレームの受信を肯定応答し、終了要求を受け付けます。リンク終了フェーズの終了を示します。
リンク保守フレームは、リンクのテストと保守を目的として定期的に送信されます。リンク保守フレームには、以下のものがあります。
Code-reject
コード 0x07。無効なコードフィールドを持つ LCP フレームを拒否します。
Protocol-reject
コード 0x08。無効なプロトコル識別子を持つ PPP フレームを拒否します。
Echo-request
コード 0x09。Echo-reply フレーム形式の、リモートのエンドポイントからの応答を要求します。リンクが確立されたままであることをテストするために使用されます。
Echo-reply
コード 0x10。有効な Echo-request フレームに対して応答します。リンクが確立されたままであることをテストするために使用されます。
Discard-request
コード 0x11。リモートのエンドポイントで通知されずに捨てられたフレームを送信します。デバッグメカニズムの 1 つとして使用されます。