はじめに
PPP(Point-to-Point Protocol)は、二点間を直結した通信路でデータをやり取りするためのプロトコルです。
1990年代にダイヤルアップ接続(電話回線+モデム)で広く使われ、後にADSLや一部のVPN技術(例:PPTPの下層)にも利用されました。
TCP/IPなどのネットワーク層プロトコルを「シリアル回線」「ISDN」「専用線」などで運ぶための データリンク層プロトコル に相当します(OSI参照モデルの第2層)。
仕組み
PPPは、以下の機能を持っています:
-
フレーミング(Framing)
データをフレーム単位で区切って転送する仕組み。- フラグ(0x7E)でフレーム境界を表す
- エスケープ処理で透明性を確保
-
認証(Authentication)
接続時にユーザー認証を行う機能を備える。- PAP(Password Authentication Protocol)
- CHAP(Challenge Handshake Authentication Protocol)
-
プロトコル多重化
同じPPPリンク上で、IP・IPX・AppleTalk など複数のネットワーク層プロトコルを運べる。
→ LCP(Link Control Protocol)とNCP(Network Control Protocol)を利用して制御。
主な利用例
-
ダイヤルアップ接続(電話回線+モデム)
ISPに接続する標準方式として1990年代に普及。 -
ADSL・FTTH初期
「PPPoE(PPP over Ethernet)」という形で利用。
→ 現在も日本の一部ISPではユーザー認証に使われています。 -
VPN技術の基盤
PPTP(Point-to-Point Tunneling Protocol)は、PPPをGREトンネルに載せる仕組み。
つまりPPPはVPNの歴史的土台でもある。
PPPのフレーム構造
PPPフレームは非常にシンプルです。
+--------+---------+---------+---------+-------------+---------+
| Flag | Address | Control | Protocol| Payload | FCS |
+--------+---------+---------+---------+-------------+---------+
- Flag: 0x7E
- Address: 0xFF(固定値)
- Control: 0x03(固定値)
- Protocol: 上位プロトコルの識別子(例:0x0021 = IPv4)
- Payload: 実際のデータ
- FCS: フレームチェックシーケンス(誤り検出用)
PPPの派生技術
-
PPPoE(PPP over Ethernet)
Ethernet上でPPPを動かす。日本のISP契約ではまだ一般的。 -
PPPoA(PPP over ATM)
ADSLで使われた方式。 -
PPTP(Point-to-Point Tunneling Protocol)
PPPをトンネル化した古いVPN方式。今はセキュリティ的に非推奨。
メリット・デメリット
メリット
- シンプルで実装が容易
- プロトコル非依存(IPに限らず様々なネットワーク層を運べる)
- 認証機能を内蔵
デメリット
- 帯域効率が低い(オーバーヘッドがある)
- 現代の高速ネットワークには向かない
- セキュリティ機能は限定的
まとめ
PPPは、モデム時代からブロードバンド初期を支えた歴史的プロトコルです。
今日では「PPPoE」や「PPTP」の形でその名残が見られるものの、主役の座はEthernetやWireGuard/OpenVPNといった新しい技術に移っています。
ただし「VPN技術の土台」としてPPPを理解しておくと、なぜVPNが「トンネル化」や「認証」を重視するのかがよくわかります。