LCP
PPPで、回線の確立、設定の取り決め、切断を行うプロトコル。PPPの通信は、まずLCPで相手と条件を合わせるところから始まる。
イマシルちゃんの解説
電話で話すとき、最初に「もしもし、聞こえますか?」「日本語で話しましょう」って確認するよね。
PPPでも、データを送る前に「どんな条件で話すか」を相手と決める必要があるんだ。
その最初の打ち合わせ役がLCP!
話し終わったら「切りますね」って伝えるのもLCPの仕事なんだよ。
より深い解説
定義
LCP(Link Control Protocol)は、PPPのリンク確立フェーズとリンク終了フェーズで使われるプロトコルである。PPPフレームのプロトコルフィールドの値は0xC021。
取り決める主な項目
| 項目 | 内容 |
|---|---|
| MRU(Maximum Receive Unit) | 受け取れるデータの最大長 |
| 認証プロトコル | 次の認証フェーズでPAPとCHAPのどちらを使うか |
| マジックナンバー | 回線がループして自分の送ったフレームが戻ってきていないかを見分けるための乱数 |
| 圧縮 | アドレスと制御フィールドを省略するかなど |
取り決めの流れ
- 一方が希望する設定を Configure-Request で送る
- 相手は内容に応じて返事をする
- すべて受け入れる → Configure-Ack
- 値を変えてほしい項目がある → Configure-Nak(希望の値を添える)
- 認めない項目がある → Configure-Reject
- 双方がConfigure-Ackを受け取ると、リンクが確立する
その他のパケット
| パケット | 使い道 |
|---|---|
| Terminate-Request / Terminate-Ack | リンクを切断する |
| Echo-Request / Echo-Reply | 回線が生きているかを定期的に確かめる(キープアライブ) |
| Code-Reject / Protocol-Reject | 知らない種類のパケットを受け取ったことを知らせる |
NCPとの役割分担
LCPはリンクそのもの(データリンク層)の設定を担い、IPアドレスなどネットワーク層の設定はNCP(IPの場合はIPCP)が担う。LCPでリンクが確立し、必要なら認証が済んだ後に、NCPの段階へ進む。