PPTP / L2F / L2TP



 ◆ トンネリングプロトコルについて

 インターネット上の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 IP網では「L2TP」が使用されているのですが、違いが分かるように「PPTP」「L2F」についても解説していきます。


 ◆ PPTP(Point to Point Tunneling Protocol)

 PPTPでは、発信元のVPN機器をPAC(PPTP Access Concentrator)と定義して、受信側のVPN機器を
 PNS(PPTP Network Server)と定義しています。PPTPでは、このPACとPNSとの間で、セッション
 及びトンネルを確立して通信を開始することになります。PPTPの実装 = Microsoftネットワーキングと
 位置づけられていることもあり、PACとなる実際のVPN機器はユーザが使用するWindows OS等であり
 PNSとなる実際のVPN機器はWindows Serverが該当します。

PPTPにおけるPACとPNSの通信手順(Windowsの場合)
1. PPP or PPPoE 接続


 PPP(ダイヤルアップ、ISDN接続)またはPPPoE(ADSL/FTTH)接続により
 グローバルIPを取得しインターネット接続を行う。= PNSへのIP到達性の確立

2. トンネルの確立 1


 PACからPNSへ制御コネクションを確立する。コネクション確立のために
 TCPを使用してPAC(送信元ポート番号任意)からPNS(宛先ポート番号1723)

3. トンネルの確立 2


 先に確立したTCPコネクションを使いPPPフレームを送受信するための
 PPTPトンネルを確立する。このPPTPトンネルはGREによるカプセル化を意味する。

4. セッションの確立
 PPTPトンネルの確立後、PPPセッションを開始してユーザ認証、IPの付与を受ける。


5. 実際の通信
(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(port 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でも可能です。


 ◆ 主なVPNプロトコルの比較表

VPN
プロトコル
何のプロトコル上で
伝送できるか
何のプロトコルを
伝送できるか
マルチキャスト
伝送は可能か
データ暗号化
完全性保障
ポピュラーな
ソリューション
IPsec IP L3(IP) ×
IPsecのみでOK
IPユニキャストの
トンネリング
GRE IP L3(IP、IPX、etc) ×
代替案:GRE/IPsec
ルーティングプロトコル
のトンネリング
L2TP UDP/IP、IP、ATM L2(PPP)
L3(IP、IPX、etc)
×
代替案:L2TP/IPsec
PPPの延長とした
認証ネットワーキング



Path MTU Discoveryブラックホール問題の解決策  フレッツ光のMTUサイズ

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.