PPTP
PPTP(Point to Point Tunneling Protocol)は、PPPパケットをIPネットワークの中で通す(PPPのトンネルとする)コネクション型のプロトコルで,インタネット・ドラフトとしてIETF(Internet Engineering Task Force)に再登録されている(I998年7月)。次に,PPTPを,機能,メカニズム,プロトコルの3つの面から説明する。PPTPはRFCとはなっていないが,WindowsNTを含め,RADIUSやダイヤルアッブなどでも使われている。
(1)既存ネットワーク・サーバ機能の分解
このプロトコルは,従来の,PPPユーザーと通信するネットワークのサーバ機能を,PPPユーザーからのアクセス処理機能と,PPP上のデータをサーバー・アプリケーションに転送する機能とに分け,この2つの機能間を,ネットワーク上でクライアントーサーバ・スタイルをとって通信するプロトコルとしたものである(図24)。
図24 Point to Point Tunneling Protocol(PPTP)
ここで,クライアント側,つまりPPPユーザーに対する機能をPAC(PPTP Access Concentrator)と呼び,サーバ側をPNS(PPTP Network Server)と呼ぶ。PACとPNS間のプロトコルが,PPTPだ。したがって,PACは,PPPとPPTPの両方を備え,データを1つまたは複数のPNSへTCP/IPで送信する。一方,PNSはPPTPのサーバ処理を行う。
(2)フロー制御および輯轜制御
PPTPでのデータ通信のメカニズムは,フロー制御と輻輳制御を核として,データのタイムアウトとウィンドウ・サイズを規定しているが,アルゴリズムについては規定していない。
(3)プロトコル
プロトコルの要素は,PAC-PNS間のトンネルと,そのトンネル内で行われるやり取り(セッション)を制御するTCP上のPPTP制御コネクション(TCPコネクション確立後,PPTP制御コネクションを確立する)の2つで,これらは並行して動作する。1つのトンネル(PAC-PNSの接続)内に,複数のセッション(エンド・ツー・エンドの接続)が存在可能だが,制御コネクションは,トンネルおよびセッションの確立,解放,維持を行う。PPTPでは,そのためのメッセージ・フォーマットや状態遷移,およびフロー制御や輻輳制御のためのパラメータなどを規定している。
PPTPの通信は,TCPコネクション,PPTPコネクション,PPTPセッションという3つの段階で行われる。まず,PACとPNSとの間でTCPコネクションを確立する。次に,Start-Connection-Control-Request(および-Reply)メッセージで,PPTP制御コネクションを確立する(したがって,PPTP制御コネクションはTCPセッションである)。
このコネクション中に,PPTPの呼制御や管理情報を通す。この状態で,PPPダイヤルアッブ・ユーザーが接続すると,PACからPNSに向けてIncoming-Call-Request(および-Reply)メッセージか送信され,セッション(PPPダイヤルアッブ・ユーザーとPNSとの間のPPPデータ通信に対応)か確立される。逆に,PNSからPACに対してPPPダイヤルアップ・ユーザーを呼び出す場合には,Outgoing-Call-Request(および-Reply)メッセージが,PNSからPACへ送信される。
このあと,PPTPデータ,つまりPPPデーターパケットがIP上で送受信される。セッションの終了(ユーザーとの間の通信「呼」の終了)は,Can-Clear-Request(およびCan-Disconnect-Notify)メッセージで行う。なお,コネクション終了のメッセージはStop-Control-Connection-Request(および-Reply)である(図25)。
図25 PPTPのプロトコルの流れ
(4)メッセージ
TCPデータとして送信されるメッセージには,制御メッセージと管理メッセージかあるが,管理メッセージは現在規定されていない。制御メッセージには,制御コネクション管理,呼管理,エラー・レポート,およびPPPセッション制御がある(表4)。
表4 PPTPメッセージ
(5)PPTPデータ
PPTPデータ,つまりPPPデーターパケットは,図26のようなIP上のデータグラムとなる。フラグ,制御,フレームチェック・シーケンスなどを取り除いたHDLC(High-level Data Link Control,ハイレベル・データリンク制御)フレームである。
図26 PPTPデータ構造
PPP WAN接続の定番を理解するへ
トップページへ