Layer 2 Tunneling Protocol

Layer 2 Tunneling Protocol (L2TP) について



Layer 2 Tunneling Protocol (L2TP) は、コンピュータネットワークにおいて Virtual Private Network (VPN) を実現するために使用されるトンネリングプロトコルです。OSI参照モデルの第2層、データリンク層で動作します。

概要



L2TP自体は、データの暗号化や秘匿性を提供する機能は持っていません。そのため、通常はIPsecなどの暗号化プロトコルと組み合わせて使用されます。L2TPは、トンネル内部を通過する暗号化プロトコルにプライバシー保護を委ねる形です。L2TPはUDPの1701番ポートを使用し、ペイロードとL2TPヘッダを含むL2TPパケット全体がUDPデータグラムとして送信されます。トンネル内ではPPPセッションを伝送するのが一般的です。

L2TPはそれ自身では強力な認証を提供しないため、通常はIPsecと組み合わせて使われます。IPsecがデータの機密性、認証、整合性を提供することで、L2TPパケットを保護します。この2つのプロトコルの組み合わせは、一般にL2TP/IPsecとして知られています。

L2TPトンネルの両端は、LAC (L2TP Access Concentrator) と LNS (L2TP Network Server) と呼ばれます。LACはLNSとの間のトンネルの開始を担い、LNSは新しいトンネルの確立を待機するサーバーです。トンネルが確立されると、ピア間のネットワークトラフィックは双方向になります。L2TPトンネル上では、さまざまな上位プロトコルを通過させることができ、通信に柔軟性をもたらします。これを容易にするため、L2TPセッションはトンネル内で、PPPなどのそれぞれの上位プロトコルに対して確立されます。セッションはLAC、LNSどちらからでも開始できます。各セッションのトラフィックはL2TPによって分離されるため、1つのトンネルを用いて複数の仮想ネットワークを構築できます。

L2TPを実装する際には、MTU(最大伝送ユニット)を考慮する必要があります。L2TPトンネル内で交換されるパケットは、コントロールパケットとデータパケットに分類されます。L2TPはコントロールパケットには信頼性を提供しますが、データパケットには提供しません。もしデータパケットに信頼性が必要な場合は、L2TPトンネルの各セッション内で動作するネストされたプロトコルによって提供されます。

歴史



L2TPは、RFC 2661として1999年に標準化候補として発表されました。L2TPは、PPP用の2つのトンネルプロトコル、CiscoのL2FとマイクロソフトのPPTPに起源を持ちます。

新しいバージョンのL2TPv3は、2005年にRFC 3931として標準化候補として発表されました。L2TPv3では、セキュリティ機能の強化、カプセル化の改善、そしてIPネットワーク上でPPP以外の様々なデータリンク層プロトコル(フレームリレーイーサネット、ATMなど)を伝送する機能が追加されました。

トンネリングモデル



L2TPトンネルは、PPPセッション全体にわたって確立することも、2セグメントセッションの片方のセグメントのみにわたって確立することもできます。これは、以下の4つの異なるトンネリングモードによって表すことができます。

任意トンネル
必須トンネル - 着信呼
必須トンネル - 発信呼
L2TPマルチホップコネクション

任意トンネル

任意トンネルモードでは、トンネルはユーザーによって作成され、一般的にはLACクライアントと呼ばれるクライアントを介して使用されます。ユーザーはL2TPパケットをLNSに転送するISPに送信します。ISPはL2TPをサポートする必要はなく、単にLACとLNSの間でL2TPパケットを転送するだけで構いません。LACクライアントは、事実上リモートクライアントと同様に、同じシステム上に存在するL2TPトンネルの開始者として機能します。L2TPトンネルは、L2TPクライアントからLNSまでのPPPセッション全体に及びます。

必須トンネル - 着信呼

必須トンネルモデルの着信呼では、トンネルはISPのLACとLNSホームゲートウェイの間で作成されます。企業はVPNを利用して、リモートユーザーが会社のサーバーにアクセスできるアカウントにログインできるようにします。ユーザーはPPPパケットをISP (LAC)に送信し、ISPはそれをL2TPにカプセル化してトンネルを介してLNSに送信します。このモデルでは、ISPがL2TPに対応している必要があります。トンネルは、ISPとLNSの間のPPPセッションの一部のみに及びます。

必須トンネル - 発信呼

必須トンネルモデルの発信呼では、ホームゲートウェイ(LNS)がISP(LAC)にトンネルを開始(呼び出しを発信)し、PPPが有効になっているリモートユーザーであるクライアントに対してローカル呼び出しを行うように指示します。このモデルは、リモートPPP応答クライアントがISPと固定の電話番号を持つケースを想定しています。このモデルは、インターネット上に存在する企業が、ダイヤルアップ接続を必要とするリモートオフィスと接続を確立する場合に使用されることが期待されていました。トンネルは、LNSとISPの間のPPPセッションの一部のみに及びます。

L2TPマルチホップコネクション

L2TPマルチホップコネクションは、クライアントの代わりにLACやLNSがL2TPトラフィックをリダイレクトする方法です。マルチホップコネクションは、L2TPマルチホップゲートウェイを使用して確立されます。トンネルは、クライアントであるLACからL2TPマルチホップゲートウェイまでと、L2TPマルチホップゲートウェイから相手方LNSまでという2つのトンネルで構成されます。LACとLNS間のL2TPトラフィックは、ゲートウェイを通過して相互にリダイレクトされます。

L2TP/IPsec



L2TPは元々暗号化機能を持たないため、IPsecと組み合わせて利用されることが一般的です。これをL2TP/IPsecと呼び、RFC 3193で標準化されています。

L2TP/IPsec VPNを構築する手順は以下の通りです。

1. IKE(Internet Key Exchange)によるIPsecのSA(Security Association)のネゴシエーション: これは通常、UDPの500番ポートを使い、事前に共有されたパスワード(事前共有鍵、PSK)、公開鍵、X.509証明書などを用いて行われます。
2. トランスポートモードのESP(Encapsulation Security Payload)通信の確立: ESPのIPプロトコル番号は50です。この時点で、安全なチャネルは確立されますが、トンネリングはまだ行われていません。
3. SAのエンドポイント間のL2TPトンネルのネゴシエーションと確立: パラメータのネゴシエーションは、上記のSAの安全なチャネル上、IPsec暗号化の下で行われます。L2TPはUDPの1701番ポートを使用します。
4. プロセス完了: エンドポイント間のL2TPパケットはIPsecによってカプセル化されます。L2TPパケット自体はIPsecパケットの内側に隠されているため、内側のプライベートネットワークの情報は暗号化されたパケットからは得られません。

さらに、両方のエンドポイント間にあるファイアウォールでUDPの1701番ポートを開ける必要はありません。なぜなら、トンネル内部のパケットはIPsecデータが復号され、トンネルから取り出されるまで処理されないためです。処理はエンドポイントでのみ行われます。

L2TP/IPsecにおける混同しやすい点として、「トンネル」と「セキュアトンネル」という用語があります。トンネルは、あるネットワークのパケットを別のネットワークに運ぶチャネルを指します。L2TP/IPsecの場合、L2TP/PPPパケットがIP上で転送されることを可能にします。セキュアトンネルとは、全てのデータの機密性が保証された接続を指します。L2TP/IPsecでは、IPsecが最初にセキュアトンネルを提供し、次にL2TPがトンネルを提供します。

Windowsにおける実装



Windows Vista以前のバージョンでは、L2TPなしのIPsecの設定が非常に困難でした。マイクロソフトは、IPsec VPN接続の設定を、Windows 2000/XPでは100回以上のクリックが必要だったものを、Vistaでは15回まで減らすことで、容易にしました。Windows Vistaでは、XPと比較して「VPNとは何か?」といった基本的な情報に関するヘルプが少し増えています。しかし、ヘルプではL2TPなしのIPsecはモバイルリモートアクセスには適していないとされており、L2TP/IPsecまたはPPTPを使用するように推奨しています。

Windows Vistaは、L2TPを使用しないIPsecをより簡単に作成するための2つの設定機能を提供します。

Windows Firewall with Advanced Security (WFwAS):コントロールパネル>管理ツールからアクセスできるMMCスナップイン。
netsh advfirewall:コマンドラインツール

これらのユーティリティには、資料が不足している、NATに対応していない、サーバーがIPアドレスで一意に識別されている必要があるといった問題点があります。サーバーのIPアドレスが変わる場合は、すべてのクライアントが新しいIPアドレスを知る必要があるため、DynDNSのようなユーティリティを使用してもサーバーを除外することになります。

ADSLネットワークにおけるL2TP



L2TPは、しばしばADSL接続の転売のためのトンネリング手法として使用されます。L2TPトンネルは、ユーザーと回線を提供するISPの間に存在するため、回線を提供している側のISPは伝送に関与しているように見えません。

ケーブルネットワークにおけるL2TP



L2TPは、ケーブルプロバイダによっても、接続販売のためのトンネリング手法として使用されます。ADSLと同様に、L2TPトンネルはユーザーとインターネット接続を販売するISPとの間に存在し、接続を販売した側のケーブルプロバイダは伝送に関与しているようには見えません。

関連項目



IPsec
L2F - Layer 2 Forwarding Protocol
Point to Point Tunneling Protocol (PPTP)
Point-to-Point Protocol
IEEE 802.1aq - Shortest Path Bridging

外部リンク



RFC 2341 Cisco Layer Two Forwarding (Protocol) "L2F"
RFC 2637 Point-to-Point Tunneling Protocol (PPTP)
RFC 2661 Layer Two Tunneling Protocol "L2TP"
RFC 2809 Implementation of L2TP Compulsory Tunneling via RADIUS
RFC 2888 Secure Remote Access with L2TP
RFC 3070 Layer Two Tunneling Protocol (L2TP) over Frame Relay
RFC 3145 L2TP Disconnect Cause Information
RFC 3193 Securing L2TP using IPsec
RFC 3301 Layer Two Tunnelling Protocol (L2TP): ATM access network
RFC 3308 Layer Two Tunneling Protocol (L2TP) Differentiated Services
RFC 3355 Layer Two Tunnelling Protocol (L2TP) Over ATM Adaptation Layer 5 (AAL5)
RFC 3371 Layer Two Tunneling Protocol "L2TP" Management Information Base
RFC 3437 Layer Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation
RFC 3438 Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers: Internet Assigned Numbers Authority (IANA) Considerations Update
RFC 3573 Signaling of Modem-On-Hold status in Layer 2 Tunneling Protocol (L2TP)
RFC 3817 Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE)
RFC 3931 Layer Two Tunneling Protocol - Version 3 (L2TPv3)
RFC 4045 Extensions to Support Efficient Carrying of Multicast Traffic in Layer-2 Tunneling Protocol (L2TP)
RFC 4951 Fail Over Extensions for Layer 2 Tunneling Protocol (L2TP) "failover"

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。