L2TP

L2TP

L2TP是一種工業標準的Internet隧道協定,功能大致和PPTP協定類似,比如同樣可以對網路數據流進行加密。不過也有不同之處,比如PPTP要求網路為IP網路,L2TP要求面向數據包的點對點連線;PPTP使用單一隧道,L2TP使用多隧道;L2TP提供包頭壓縮、隧道驗證,而PPTP不支持。

基本介紹

  • 中文名:L2TP
  • 英文原義:Layer 2 Tunneling Protocol
  • 中文釋義:第二層隧道協定
  • L2TP 命令頭:12 16 32 bit
定義,歷史,第一版,第二版,信息類型,協定結構,與PPTP不同,

定義

第二層隧道協定(英語:Layer Two Tunneling Protocol,縮寫為L2TP)是一種虛擬隧道協定,通常用於虛擬專用網。L2TP協定自身不提供加密與可靠性驗證的功能,可以和安全協定搭配使用,從而實現數據的加密傳輸。經常與L2TP協定搭配的加密協定是IPsec,當這兩個協定搭配使用時,通常合稱L2TP/IPsec。
L2TP支持包括IP、ATM、幀中繼、X.25在內的多種網路。在IP網路中,L2TP協定使用註冊連線埠UDP 1701。因此,在某種意義上,儘管L2TP協定的確是一個數據鏈路層協定,但在IP網路中,它又的確是一個會話層協定。

歷史

Internet環境提供了兩種典型的VPN技術:安全Ip協定(IpSec)和二層隧道協定。二層隧道協定是一種利用公用數據網(網路層的IP服務或數據鏈路層的ATM信元(Cell)傳輸服務、幀中繼服務或乙太網傳輸服務)在公用網接近通信用戶的遠程節點之間建立”隧道“(Tunenl)對相同或不同用戶對的多條第2層的連線進行安全地中繼。

第一版

第一版二層隧道協定以L2F和PPTP為代表。
PPTP是由多家公司(其中包括Mierosoft,3 Com,ECI Telematies以及U.S.Roboties等各大公司)專門為支持VPN而開發的一種技術。儘管PPTP的隧道是利用網路層協定GRE(Generic Routing Eneapsulation)·RFC1701和1702來建立隧道的,但由於隧道傳送的對象是數據鏈路層的PPP協定,因此仍把它視為第二層隧道協定。PPTP保持了傳統的撥號終端通過網路訪問伺服器(NAS,Network Aeeess Server)訪問套用伺服器的C/S模式,將NAS拆分為:套用伺服器側的“點到點隧道協定網路伺服器”和撥號用戶側的“點到點隧道協定訪問控制集中器”。在PNS與PAC之間利用於TCP/IP建立“隧道控制連線”來控制基於GRE上的隧道的建立。在隧道內建立PPP連線時,PPTP需要對訪問者的身份進行認證(如用戶名,口令和域名等)。
L2F是由Ciseo公司提出的,可以在多種介質(如ATM,FR,IP)上建立多協定的安全VPN的通信方式。它將鏈路層的協定(如HDLC,PPP,ASYNC等)封裝起來傳送,因此網路的鏈路層完全獨立於用戶的鏈路層協定。

第二版

第二版的二層隧道協定RFC2661[7]是由Ciseo、Aseedn、微軟和RedBaek的專家提出的,並正式採用了第2層隧道協定的名稱(L2TP,Layer 2 Tunneling proroeol);後來被成為L2TPv2。L2TPv2結合了L2F和PPTP的優點,其套用對象與PPTP類似,也是專門針對點到點協定進行隧道傳輸和中繼的協定。L2TPv2允許從客戶端或從訪問伺服器端發起建立PPP傳輸連線的隧道的過程,從而實現套用伺服器與終端之間的第2層VPN功能。L2TPv2把傳輸鏈路層PPP的隧道建立在公用數據網提供的某一層服務之上(如:IP、ATM信元層或幀中繼)進行隧道傳輸,這與PPTP將隧道限制在建立在網路層的GRE之上的思路相比,其可適應的網路環境史加廣泛。

信息類型

L2TP 是一個數據鏈路層協定。其報文分為數據訊息和控制訊息兩類。數據訊息用投遞 PPP 幀,該幀作為L2TP報文的數據區。L2TP不保證數據訊息的可靠投遞,若數據報文丟失,不予重傳,不支持對數據訊息的流量控制擁塞控制。控制訊息用以建立、維護和終止控制連線及會話,L2TP確保其可靠投遞,並支持對控制訊息的流量控制和擁塞控制。

協定結構

L2TP協定結構
比特0-15第16-31位
標誌和版本信息
長度(opt)
隧道ID
會話ID
Ns(opt)
Nr(opt)
偏移大小(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 的最後八位位元組後結束。

與PPTP不同

PPTP和L2TP都使用PPP協定對數據進行封裝,然後添加附加包頭用於數據在網際網路上的傳輸。盡 管兩個協定非常相似,但是仍存在以下幾方面的不同:
L2TP直觀示意圖L2TP直觀示意圖
1.PPTP要求網際網路為IP網路。L2TP只要求隧道媒介提供面向數據包的點對點的連線。L2TP可以在IP(使用UDP),幀中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網路上使用。
2.PPTP只能在兩端點間建立單一隧道。L2TP支持在兩端點間使用多隧道。使用L2TP,用戶可以針對不同的服務質量創建不同的隧道。
3.L2TP可以提供包頭壓縮。當壓縮檔頭時,系統開銷(overhead)占用4個位元組,而PPTP協定下要占用6個位元組。
4、L2TP自身不提供隧道驗證,從L2TP的包頭可以看出。隧道認證是由PPP(pap或chap)協定提供!而PPTP則支持隧道驗證,PPTP自身就是PPP的擴展!但是當L2TP或PPTP與IPsec共同使用時,可以由IPsec提供隧道驗證,不需要在第2層協定上驗證隧道.
5.L2TP訪問集中器(L2TP Access Concentrator,LAC)是一種附屬在網路上的具有PPP端系統和L2Tpv2協定處理能力的設備,它一般就是一個網路接入伺服器軟體,在遠程客戶端完成網路接入服務的功能。
6.L2TP網路伺服器(L2TP Network Server,LNS)是用於處理L2TP協定伺服器端的軟體。
L2TP支持的協定:IP協定、IPX協定和NetBEUI協定

相關詞條

熱門詞條

聯絡我們