簡要介紹
英文原義:
Layer2TunnelingProtocol
中文釋義:
第二層隧道協定
註解:
L2TP協定是由IETF起草,微軟、Ascend、Cisco、3COM等公司參予制定的二層隧道協定,它結合了PPTP和L2F兩種二層隧道協定的優點,為眾多公司所接受,已經成為IETF有關2層通道協定的工業標準,此協定基於微軟的點對點隧道協定(PPTP)和思科2層轉發協定(L2F)之上,這種虛擬私有網路可以被網際網路服務提供商和公司通過網際網路使用。
主要套用
在VPN連線中要設定L2TP連線,方法同PPTPVPN設定,同樣是在VPN連線屬性視窗的“網路”選項卡中,將VPN類型設定為“L2TP IPSec VPN”即可。
第二層隧道協定(L2TP)是用來整合多協定撥號服務至現有的網際網路服務提供商點。PPP 定義了多協定跨越第二層點對點連結的一個封裝機制。特別地,用戶通過使用眾多技術之一(如:撥號 POTS、ISDN、ADSL 等)獲得第二層連線到網路訪問伺服器(NAS),然後在此連線上運行 PPP。在這樣的配置中,第二層終端點和 PPP 會話終點處於相同的物理設備中(如:NAS)。
L2TP 擴展了 PPP 模型,允許第二層和 PPP 終點處於不同的由包交換網路相互連線的設備來。通過 L2TP,用戶在第二層連線到一個訪問集中器(如:數據機池、ADSL DSLAM 等),然後這個集中器將單獨得的 PPP 幀隧道到 NAS。這樣,可以把 PPP 包的實際處理過程與 L2 連線的終點分離開來。
對於這樣的分離,其明顯的一個好處是,L2 連線可以在一個(本地)電路集中器上終止,然後通過共享網路如幀中繼電路或英特網擴展邏輯 PPP 會話,而不用在 NAS 上終止。從用戶角度看,直接在 NAS 上終止 L2 連線與使用 L2TP 沒有什麼功能上的區別。L2TP 協定也用來解決“多連線聯選組分離”問題。多連結 PPP,一般用來集中 ISDN B 通道,需要構成多連結捆綁的所有通道在一個單網路訪問伺服器(NAS)上組合。因為 L2TP 使得 PPP 會話可以出現在接收會話的物理點之外的位置,它用來使所有的通道出現在單個的 NAS 上,並允許多連結操作,即使是在物理呼叫分散在不同物理位置的 NAS 上的情況下。
LNS表示L2TP網路伺服器(L2TP Network Server),是PPP端系統上用於處理L2TP協定伺服器端部分的設備。它作為L2TP隧道的另一側端點,是LAC的對端設備,是被LAC進行隧道傳輸的PPP會話的邏輯終止端點。
信息類型
L2TP 是一個數據鏈路層協定,基於UDP。其報文分為數據訊息和控制訊息兩類。數據訊息用投遞 PPP 幀,該幀作為L2TP報文的數據區。L2TP不保證數據訊息的可靠投遞,若數據報文丟失,不予重傳,不支持對數據訊息的流量控制和擁塞控制。控制訊息用以建立、維護和終止控制連線及會話,L2TP確保其可靠投遞,並支持對控制訊息的流量控制和擁塞控制。
協定結構
![L2TP協定結構](/img/a/883/nBnauM3XwMzNwgjMzkDOxIzN0QTMwADMwADMwADMwATMxAzL5gzLygzLt92YucmbvRWdo5Cd0FmLxE2LvoDc0RHa.jpg)
L2TP 命令頭 :
12 16 32 bit
T L X X S X O P X X X X VER Length
Tunnel ID Session ID
Ns (opt) Nr (opt)
Offset Size (opt) Offset Pad (opt)
T ― T 位表示信息類型。若是數據信息,該值為0;若是控制信息,該值為1。
L ― 當設定該欄位時,說明 Length 欄位存在,表示接收數據包的總長。對於控制信息,必須設定該值。
X ― X 位為將來擴張預留使用。在導出信息中所有預留位被設定為0,導入信息中該值忽略。
S ― 如果設定 S 位,那么 Nr 欄位和 Ns 欄位都存在。對於控制信息,S 位必須設定。
O ― 當設定該欄位時,表示在有效負載信息中存在 Offset Size 欄位。對於控制信息,該欄位值設為0。
P - 如果 Priority (P)位值為1,表示該數據信息在其本地排隊和傳輸中將會得到優先處理。
Ver ― Ver 位的值總為002。它表示一個版本1 L2TP 信息。
Length ― 信息總長,包括頭、信息類型 AVP 以及另外的與特定控制信息類型相關的 AVPs。
Tunnel ID ― 識別控制信息套用的 Tunnel。如果對等結構還沒有接收到分配的 Tunnel ID,那么 Tunnel ID 必須設定為0。一旦接收到分配的 Tunnel ID,所有更遠的數據包必須和 Tunnel ID 一起被傳送。
Call ID ― 識別控制信息套用的 Tunnel 中的用戶會話。如果控制信息在 Tunnel 中不套用單用戶會話(例如,一個 Stop-Control-Connection-Notification 信息),Call ID 必須設定為0。
Nr ― 期望在下一個控制信息中接收到的序列號。
Ns ― 數據或控制信息的序列號。
Offset Size & Pad ― 該欄位規定通過 L2F 協定頭的位元組數,協定頭是有效負載數據起始位置。Offset Padding 中的實際數據並沒有定義。如果 Offset 欄位當前存在,那么 L2TP 頭 Offset Padding 的最後八位位元組後結束。