トンネリングプロトコルについて
インターネット上のIPネットワークで使用されている
[ IP ] にはPPPのような認証機能はありません。
一方で [ PPP ] はWANのシリアル回線のように、2点間がポイントツーポイント接続されている回線
でしか利用できません。それでは、どのようにFlet's(
IP )網でPPPoEのPPP認証を行っているのか。
それは、PPPフレームをIPデータグラムに埋め込み
[ カプセル化 ] して送信を行い、認証サーバの
受信側でカプセル化解除を行うことにより実現しています。このようにある通信プロトコル上で異なる
通信プロトコルを透過的に伝送することを
[ トンネリング ] と言います。PPPはL2のデータリンク層で
あることから、この場合は [ レイヤ2トンネリング
] と言われます。L2トンネリングの種類は以下です。
| L2トンネリングプロトコル |
L2トンネリングプロトコルの開発元 |
L2のカプセル化対象 |
暗号化サポート |
| PPTP |
Microsoft, 3Com, Lucentの開発したプロトコル |
PPP |
MPPE |
| L2F |
Ciscoの開発したプロトコル |
PPP |
× |
| L2TP |
IETF標準化( RFC2661 ) - PPTPとL2TPの統合 |
PPP |
× |
L2F、L2TPなどのL2トンネリングプロトコルには暗号化機能がない事から、暗号化をさせるために
L3トンネリングプロトコルである [ IPsec
] を併用します。また、L2Fにおけるカプセル化は、L2Fの
ヘッダーを使用しますし、L2TPにおけるカプセル化はL2TPヘッダーを使用しますが、PPTPの場合
ややこしいことにカプセル化にGREヘッダーを使用します。では詳細を分かり易く説明していきます。
※ Flet's網では [ L2TP ] が使用されているのですが、違いが分かるように
[ PPTP ] [ L2F ] についても解説していきます。
PPTP ( Point-to-Point Tunneling )
PPTPでは、発信元のVPN機器をPAC( PPTP
Access Concentrator )と定義し、受信側のVPN機器を
PNS( PPTP Network Server )と定義しています。PPTPでは、このPACとPNSとの間においてセッション
及びトンネルを確立して通信を開始することになります。PPTPの実装
= Microsoftネットワーキングと
位置づけられていることもあり、PACとなる実際のVPN機器は一般的に
[ Windows2000/XP ] 等であり
PNSとなる実際のVPN機器は一般的に [ Windows
2000 Server/Windows Server 2003 ] 等になります。
| PPTPにおけるPACとPNSの通信手順 ( Windowsの場合
) |
| @ PPP or PPPoE or PPPoA 接続 |
PPP ( ダイヤルアップ、ISDN接続) またはPPPoE
( ADSL/FTTH ) 接続により
グローバルIPを取得しインターネット接続を行う。=
PNSへのIP到達性の確立
|
| A トンネルの確立 1 |
PACからPNSへ制御コネクションを確立する。コネクション確立のために
TCPを使用してPAC ( 送信元ポート番号任意
)
からPNS ( 宛先ポート番号1723
)
|
| B トンネルの確立 2 |
先に確立したTCPコネクションを使いPPPフレームを送受信するための
PPTPトンネルを確立する。このPPTPトンネルはGREによるカプセル化を意味する。
|
| C セッションの確立 |
PPTPトンネルの確立後、PPPセッションを開始してユーザ認証、IPの付与を受ける。
|
| D 実際の通信 ( IPデータグラム送受信) |
PACであるWindowsクライアントと、PNS配下にある社内ネットワークとで通信開始。
|
※ PPTPのカプセル化のレイヤ2の対象はあくまでも
[ PPP ] であり、PPTPはPPPの拡張にすぎないとを認識しましょう。
※ L2F、L2TPなどは暗号化機能はありませんが、PPTPについては、MS-CHAPv2とMPPEによる暗号化機能があります。


L2F ( Layer 2 Forwarding)
L2FはPPTP同様に、PPPヘッダーまでがカプセル化の対象となりレイヤー2で動作するプロトコルです。
PPTPはトンネル確立のための制御コネクションにTCP、PPPフレームのカプセル化にGREを使用するの
に対して、L2Fはトンネル確立のための制御コネクションとカプセル化の両方にUDP(
1701 )を使用する。
現在ではL2Fが使用されることはあまりなく、L2FとPPTPを組み合わせたL2TPを使用するのが一般的。
L2TP ( Layer 2 Tunneling Protocol )
L2TPはPPTPとL2Fのトンネリングプロトコルの仕様を統合して、IETFにより標準化されたプロトコルです。
L2TPはPPTPのトンネル制御とL2Fのフレーム構造に似た方式を採用しています。PPTPでVPNトンネルを
構築する際に定義していた発信側となるPACは、L2TPではLAC(L2TP
Access Concentrator )と定義し
受信側となるPNSは、L2TPではLNS(L2TP
Network
Server)と定義しており、このLACとLNSとの間にて
VPNトンネルを構築します。トンネルとセッションの確立のために、L2F同様にUDP(
1701 ) を使用します。

また、PPTPでは1つのVPNトンネルで1つのユーザセッションしかやり取りできませんでしたが、L2TPでは
1つのVPNトンネルで複数のユーザセッションをやりとりできることから、Flet's網などで採用されています。
LACとLNSがパスワードを共有 ( Shared Secret
) していれば、L2TPではVPNトンネルの認証もできます。
Layer2トンネリングプロトコル比較表
| L2トンネリングプロトコル |
カプセル化 |
VPNトンネルの
発信側/受信側 |
トンネル認証 |
1つのVPN
トンネル |
| PPTP |
GREを使用 |
PAC/PNS |
× |
1つのセッション |
| L2F |
L2F/UDP(1701)を使用 |
NAS/HG |
× |
複数のセッション |
| L2TP |
L2TP/UDP(1701)を使用 |
LAC/LNS |
○ |
複数のセッション |
※ L2TPにて使用されるカプセル化は、UDP(ポート番号1701)だけでなくL2TP/IP、L2TP/ATM、L2TP/FR上においても可能です。
主なVPNプロトコルの比較表
| VPNプロトコル |
何のプロトコル上で
伝送できるか |
何のプロトコルを
伝送できるか |
マルチキャスト
伝送は可能か |
データ暗号化
完全性保障 |
ポピュラーな
ソリューション |
| IPsec |
IP |
L3 ( IP ) |
× |
○
⇒ IPsecのみでOK |
IPユニキャストの
トンネリング |
| GRE |
IP |
L3 ( IP. IPX, etc) |
○ |
×
⇒ 代替案:GRE/IPsec |
ルーティングプロトコル
のトンネリング |
| L2TP |
UDP/IP, IP, ATM, FR |
L2 ( PPP)
L3 ( IP, IPX, etc ) |
○ |
×
⇒ 代替案:L2TP/IPsec |
PPPの延長とした
認証ネットワーキング |
|