PPP(ポイント・ツー・ポイント・プロトコル)完全ガイド:仕組み・LCP/NCP・認証・運用とセキュリティ
はじめに — 「PPP」とは何か
IT・ネットワーク分野で「PPP」と言うと、文脈によっていくつかの意味がありますが、この記事では主に「Point-to-Point Protocol(ポイント・ツー・ポイント・プロトコル)」について解説します。PPPは、電話回線・シリアルリンク・ISDN・DSL・モバイル回線などの「2点間接続(point-to-point)」リンク上でのパケット伝送を目的に設計されたデータリンク層のプロトコル群です。古くはダイヤルアップ接続で広く使われ、その後ISDNやDSL(PPPoE)などでのブロードバンド接続や、VPNやバックホールでも応用されてきました。
PPPの歴史と位置づけ
PPPは、1980年代〜1990年代にかけて、従来のATモデム+SLIP(Serial Line Internet Protocol)の限界を克服するために策定されました。SLIPが単純なシリアルでのIPパケットラップだけを提供していたのに対し、PPPはより柔軟なフレーム構造、リンク管理、認証、複数ネットワークプロトコルの同時運用などをサポートします。標準化作業はIETFで行われ、PPP本体と関連プロトコル群としてRFC群にまとめられています。
基本構造とフレーム形式
PPPはHDLC風のフレーム構造を使います。代表的なフレーム要素は以下のとおりです。
- フラグ(Flag): フレームの開始/終了を示す(0x7E)
- アドレス(Address): ブロードキャストを示す0xFF(ポイント・ツー・ポイントなので固定)
- コントロール(Control): 通常0x03(非番号付けの情報フレーム)
- プロトコル(Protocol): 負荷情報がどのプロトコルかを示す1〜2バイト(例:LCP、IPCP、IP、IPv6CPなど)
- 情報(Information): 上位プロトコルのデータ(可変長)
- FCS(Frame Check Sequence): CRCによる誤り検出(通常16ビット、オプションで32ビット)
この構成により、PPPは単なるパケットの送出だけでなく、リンクの確立・管理・終端・各種ネゴシエーションを行うための制御メッセージを同じリンク上でやり取りできます。
LCP(Link Control Protocol) — リンクの確立と管理
LCPはPPPの中核で、リンクフェーズの管理(確立・設定ネゴシエーション・保守・切断)を担当します。LCPは以下のような機能を持ちます。
- リンク条件のネゴシエーション(最大受信単位MRU、FCS長、圧縮機能、認証方式など)
- 定期的なエコーやリンク品質のチェック
- オプションの機能(アドレス/制御フィールド圧縮、プロトコルフィールド圧縮、Van Jacobson TCPヘッダ圧縮など)の有効化・無効化
- リンクの異常検出と終了処理
一般にPPP接続はLCPによる「リンク確立フェーズ」→「認証フェーズ(必要な場合)」→「ネットワーク層プロトコルフェーズ(NCPによるIP等の設定)」→「データ転送」→「終了」の順で進みます。
NCP(Network Control Protocol) — ネットワーク層プロトコルの管理
PPPは単一のリンクで複数のネットワークプロトコルを扱えます。そのために各ネットワークプロトコル向けのNCPが用意されています。代表的なNCPには次があります。
- IPCP(IPv4用): IPv4アドレスの割当、圧縮/オプションのネゴシエーション
- IPV6CP(IPv6用): IPv6の設定に関するネゴシエーション
- その他(AppleTalk、OSI、XNSなどのためのNCPが歴史的に存在)
NCPはLCPでリンクが確立された後に動作し、IPアドレスの割り当てやルーティング設定の合意を行うことで、IPパケットのやり取りが可能になります。
認証方式 — PAPとCHAP、そして現代の考え方
PPPはリンク上でのユーザ認証をサポートします。主に用いられてきたのは次の2種類です。
- PAP(Password Authentication Protocol): ユーザ名とパスワードを平文に近い形で送る単純な方式。実装が容易だが盗聴に弱い。
- CHAP(Challenge Handshake Authentication Protocol): サーバがチャレンジ値を送り、クライアントがそれを利用してハッシュ値を返す方式。平文パスワードを送らず、リプレイや切断時の再認証に強いが、チャレンジ自体が保護されない限り総合的な安全とは言えない。
現代では、PPPレイヤでの認証のみでは十分ではないため、セキュリティを強化する場合はIPsecやTLSなどの上位レイヤでの暗号化・認証を組み合わせることが一般的です。
拡張機能 — Multilink、圧縮、PPPoE など
PPPにはいくつかの拡張があり、用途に応じて採用されます。
- Multilink PPP(MPPPP): 複数の物理リンクを束ねて単一の論理リンクとして扱う。帯域の集約や冗長化に有用。
- 圧縮(Van Jacobson TCP header compressionなど): 帯域の有効利用のためにヘッダ圧縮を行う。
- PPPoE(PPP over Ethernet): イーサネット上でPPPセッションを確立する手法。DSL環境で広く利用され、ユーザごとのセッション管理や認証に便利。PPPoEはEthernetフレーム中にPPPをカプセル化する。
実用例と用途の変遷
かつてはダイヤルアップ接続(モデム接続)におけるデファクト標準として、ユーザ認証やIPアドレスの割当てに使われました。ISDNでも同様に採用され、さらにDSLの普及に伴いPPPoEが家庭ブロードバンドで使われました。企業バックホールや一部のモバイルバックホールでもPPP/MPPPPが用いられるケースがあります。また、VPNの中継でPPPのフレームをトンネルする技術もあります。
メリット・デメリット
PPPを選択する利点と課題を整理します。
- メリット
- リンクの状態管理・ネゴシエーション・認証を標準化しているため導入が容易
- 複数プロトコルを同一リンクで扱える柔軟性
- MPPPPにより帯域集約が可能
- PPPoEなどによりイーサネット環境でもPPPの管理機能を活かせる
- デメリット
- 認証方式(PAPなど)は安全性が低く、単体では不十分
- フレームのオーバーヘッド(ヘッダ+FCS)により効率面での負担がある
- 純粋なイーサネット(スイッチング)環境に比べ設定や管理が複雑になる場合がある
運用上の注意点とセキュリティ対策
運用する上でのポイントは以下です。
- 可能ならCHAPや外部認証(RADIUS等)を利用し、PAPは避けるか、必ず上位レイヤの暗号化を併用する。
- MRU/MTUの設定に注意する。PPPoE等のカプセル化を行う環境ではMTUが小さくなり、フラグメンテーションやPath MTU問題が発生しやすい。
- PPPのデバッグではLCP/NCPのパケットログが非常に有用。ネゴシエーションで落ちる場合はオプションの不一致を疑う。
- インフラにおいては、より高速で安全な代替(Ethernetブロードバンド、MPLS、IPsecトンネルなど)も検討する。
PPPと現代ネットワーク — 役割の変化
現代の企業ネットワークやデータセンターネットワークでは、Ethernetベースのソリューション、MPLS、VPN(IPsecやTLSベース)等が主役になっています。その中でPPPは「まだ使われるが限定的」な技術という位置づけです。家庭向けブロードバンドではPPPoEがISP側でのユーザ管理に便利であり続ける一方で、DHCP/ブラウザ認証へ移行する事例も増えています。また、モバイルや組み込み機器など、低レイヤでのシンプルなポイント・ツー・ポイント通信が必要な場面では現在でも有用です。
トラブルシューティングの基本
代表的な問題と確認項目を挙げます。
- 接続が成立しない:物理層(ケーブル、モデム、シリアル設定)→ LCPネゴシエーションログ(オプション不一致やタイムアウト)を確認
- 認証で失敗:サーバ側の認証方式(PAP/CHAP)とクライアントの設定一致、RADIUSログの確認
- IPが割り当てられない:NCP(IPCP等)のネゴシエーションを確認。静的割当てか動的かの不一致も原因
- 断続的な切断:リンク品質(物理的エラー)、エコー/タイムアウト設定、ISP側のセッション制限などをチェック
- パフォーマンスが低い:MTU/MRU設定、圧縮オプション、フレームオーバーヘッドの影響などを検討
まとめ — PPPの位置付けと使いどころ
PPPは「シンプルかつ堅牢な点対点リンク管理機構」を提供する標準プロトコルです。歴史的にはダイヤルアップからブロードバンドへと移行する過程で重要な役割を果たし、今でもPPPoEや一部の回線で活躍しています。現代のネットワーク設計では、より高性能・高セキュリティな代替手段があるため利用範囲は限定的ですが、リンクネゴシエーションや認証、マルチリンク集約などの機能は依然有用です。運用時は認証方式やMTUなどの基本設定、セキュリティ対策を怠らないことが重要です。


