ネットワークの基礎講座

PPP(ポイント対ポイント プロトコル)

PPPとは


 

 

 


ポイント対ポイント・プロトコル(PPP: Point-to-Point Protocol)は、通信回線をはさんで2つのコンピュータがデータ通信する場合に標準的に使われるデータ・リンク層(またはMAC層)プロトコルである。PPPは、皆さんがアナログ・モデムを介してインターネットをアクセスする場合などで動作しているが、通常はこれを意識する必要はない。いまさらここで少し詳細に説明しようとする目的は、これがデータ通信における基本的なプロトコルであり、きちんと理解しておくべきものであることと、加えて最近はFTTHDSLサービスでPPPoE(イーサネット上でのPPP接続)やPPPoAATM網上でのPPP接続)などが活用されているからである。

 

PPPの第1の目的は上位層からの各種データグラム(IPパケットなど)をカプセル化して相手に届けることである。それだけの目的であればSLIP(Serial Line IP)と呼ばれるプロトコルがある。SLIP(RFC 1055)は極めて簡単なプロトコルで、回線上のフレームはENDコード(0xC0)で終端されるというものである。データの中にこのコードが含まれ得るので、データ中の0xC0(0xDB,0xDC)なる文字列に変換し、かつ0xDB(0xDB,0xDD)なる文字列に変換して送信し、受信側でこれをもとに戻す。しかしながらSLIPは、リンク層での誤りの検出と処置が出来ない、各種上位プロトコルの区別が出来ない、リンクの制御ができない、ネットワークの制御が出来ないなどの問題があって現在利用されることはない。

PPPはこれらの問題を解決したもので、アナログ・モデムから高速光ファイバー回線まで現在幅広く使われている。

 

PPPのドキュメントはRFC1134から発展して幾つかのRFCを経由して現在はRFC1661(std51)RFC1662(std51)が中心となった大きなグループとなっている。RFC1661はカプセル化、リンク制御について規定しており、RFC1662は代表的なHDLCベースのフレーミングに就いて規定している。またネットワーク制御は、ネットワーク・プロトコルごとに別途規定されている。RFC 1662で規定されているPPPフレームはもともとIBMSDLC(Synchronous Data Link Protocol)から発展したHDLC(High-Level Data Link Control)のひとつのバリエーションでもある。HDLCから引き継いだ部分は、フレームの定義、それによる非同期、バイト同期、ビット同期などのデータ・ストリーム対応である。

 

PPPに関するRFCsは極めて多く、これらを全部マスターするのは大変である。対応するネットワークやプロトコルが増えればその分関連するRFCObsoleteされたものは除く)も多くなり、設計・検証が複雑となる。

 

 

 

前節     目次     次節