◆ トンネリングプロトコルについて
インターネット上の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とL2Fの統合 |
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機器は一般的に [ Windows 7 / 8 ] などであり
PNSとなる実際のVPN機器は一般的にWindows 2008 Server / Windows Server 2012などになります。
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トンネルの認証もできます。
※ このプロトコルの最新バージョンであるL2TPv3は、RFC3931が標準化候補の提案として2005年に発表。
◆ 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の延長とした
認証ネットワーキング |
◆ CCIEで必要となるLayer2 Tunnelのコンフィグ技術
1つは「 L2TPv3 」です。もう1つは「 AToM 」です。AToM(Any Transport over MPLS)はMPLSを
利用したL2トンネリング技術です。これらの両方をコンフィグレーションできるようになりましょう。
|