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などの基本設定、セキュリティ対策を怠らないことが重要です。

参考文献