ネットワーク用語 > PPP
PPP †
PPP = Point to Point Protocol
Point-to-Point Protocol - Wikipedia
Point-to-Point Protocol(ポイントトゥポイントプロトコル、略称PPP)は、2点間を接続してデータ通信を行うための通信プロトコルである。
- PPPはSLIP (Serial Line Internet Protocol) の後継として1992年に規定されたが、現在は1994年に規定された版(RFC 1661)が使われている。
PPPはSLIPと異なり、TCP/IP以外の通信プロトコル(NetBEUI、AppleTalk等)とも接続できるように設計されているのが特長である。 - ダイヤルアップPPP は、PPPにダイヤル発信や着信の機能を追加したものであり、遠隔地から電話回線を通じてネットワークにコンピュータを接続するためのプロトコルとして一般に広く利用されてきた。
初期の IIJ による実装 "iij-ppp" が有名。 - PPPの通信はリンク制御プロトコル (LCP? (Link Control Protocol) )とネットワーク制御プロトコル (NCP? (Network Control Protocol) ) という2つの通信プロトコルを使用している。
LCP?によってパスワード認証プロトコル (PAP? (Password Authentication Protocol) )やCHAP (Challenge-Handshake Authentication Protocol) を使ってユーザ認証を行い、リンク確立後、NCP?がそれぞれの通信プロトコルに必要な設定を行って接続を確立する。 - 複数のPPP回線を束ねることによりスループットの向上を図ることがあり、マルチリンクPPP?と呼ばれる。ISDNやPHS等で使われる。
- イーサネット上でPPPによるセッションを確立する方法としてPPPoE?、ATM上での同様の方法としてPPPoA (PPP over ATM) がある。
PPPの接続手順 †
PPPとは? †
PPPはSLIPの問題点を解決し、RFC1661で解説されているダイヤルアップ回線やシリアル回線上でTCP/IPなどのリンクを提供するためのプロトコルです。
OSI参照モデルの物理層とデータリンク層に対応し、ネットワーク層以上をサポートする幅の広いプロトコルとなっています。
PPPは物理的な回線を選ぶこと無く、様々なネットワーク層プロトコルから渡されたデータを運ぶことができるのです。
元々HDLC?と言うプロトコルがあったのですが、HDLCはネットワーク層プロトコルを識別することができません。
そこでPPPはHDLCをベースとし、様々なネットワーク層プロトコルを同じリンク上で混在させることができるよう考えられています。
PPPの接続手順 †
PPPではまずシステム起動後にLCP?【Link Control Protocol】によってリンク確立を行うこととなります。
この際ネゴシエーションを行うのですが、ここで行われる設定はネットワーク層のプロトコルに依存しないものだけです。
リンクが確立されたら次は認証を行います(必須ではありません)。
そして使用するネットワーク層プロトコルの設定を各NCP?【Network Control Protocol】が行い、ネットワーク層以上のプロトコルを使った通信が可能となるのです。
- リンク停止フェーズ【Link Dead Phase】
通信システムが物理的又は電気的に動作をしていない状態を指します。
モデムのCD(キャリア検出)が落ちているときなどがこれにあたります。
通信システムがが物理的、又は電気的に動作を始めるとリンク確立フェーズに移ります。 - リンク確立フェーズ【Link Establishment Phase】
設定要求、確認パケットと言ったLCPの設定パケットを双方向に交換します。
お互いが「Configure-ACK」パケットを送受信するとリンクが確立されたこととなります。
このフェーズではLCPパケットしか使用できず、その他のパケットは無視されることとなります。 - 認証フェーズ【Authentication Phase】
認証フェーズは省略可能ですが、省略しない場合はリンク確立終了後なるべく早く行う必要があります。
どの認証プロトコルを使うかはLCP?設定オプションで前もって設定することになります。
具体的にはPAP?、CHAPなどがあります。このフェーズではLCP?、認証プロトコル、リンク品質監視パケットを実行することができ、それ以外のパケットは破棄されます。
「Configure-Request」パケットを受信するとリンク確立フェーズに戻ります。 - ネットワーク層プロトコルフェーズ【Network Layer Protocol Phase】
各ネットワーク層プロトコルに対応したNCPが実行されます。
このフェーズで使用可能なパケットは、LCP、NCP、ネットワークプロトコルのパケットとなります。
「Configure-Request」パケットを受信するとリンク確立フェーズに戻ります。 - リンク終了フェーズ【Link Termination Phase】
終了要求によってこのフェーズへと移ります。
他にもCD(キャリア検出)落ち、認証やリンクの品質失敗、アイドル時間のタイムアウトによってもこのフェーズへ移ります。
LCPは「Terminate-Request」パケットを送り、その確認として「Terminate-ACK」パケットを受信するとリンクのクローズ状態となります。
そして物理層に切断を指示する信号を送ります。
一方相手側(Terminate-Requestを受け取った側)PPPでは「Terminate-ACK」パケットを送信後一定時間待ち、その後リンクを切断することとなります。
このフェーズではLCPパケットしか使用できません。
PPPの5つのフェーズ http://sugi-lab.jp/tgu/CCN/20110607.html#PPP
PPPセッション http://itpro.nikkeibp.co.jp/article/COLUMN/20060704/242430/
リンク †
EAP (Extensible Authentication Protocol)
PPPoE?
HDLC? (High-Level Data Link Control)
ISDN
RADIUS
PPPで使われるPAPとCHAP - 情報セキュリティ入門:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236003/