版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-L2TP

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

L2TP是一種工業(yè)標(biāo)準(zhǔn)的Internet隧道協(xié)議,功能大致和PPTP協(xié)議類似,比如同樣可以對(duì)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行加密。不過也有不同之處,比如PPTP要求網(wǎng)絡(luò)為IP網(wǎng)絡(luò),L2TP要求面向數(shù)據(jù)包的點(diǎn)對(duì)點(diǎn)連接;PPTP使用單一隧道,L2TP使用多隧道;L2TP提供包頭壓縮、隧道驗(yàn)證,而PPTP不支持。

定義第二層隧道協(xié)議(英語(yǔ):Layer Two Tunneling Protocol,縮寫為L(zhǎng)2TP)是一種虛擬隧道協(xié)議,通常用于虛擬專用網(wǎng)。L2TP協(xié)議自身不提供加密與可靠性驗(yàn)證的功能,可以和安全協(xié)議搭配使用,從而實(shí)現(xiàn)數(shù)據(jù)的加密傳輸。經(jīng)常與L2TP協(xié)議搭配的加密協(xié)議是IPsec,當(dāng)這兩個(gè)協(xié)議搭配使用時(shí),通常合稱L2TP/IPsec。

L2TP支持包括IP、ATM、幀中繼、X.25在內(nèi)的多種網(wǎng)絡(luò)。在IP網(wǎng)絡(luò)中,L2TP協(xié)議使用注冊(cè)端口UDP 1701。因此,在某種意義上,盡管L2TP協(xié)議的確是一個(gè)數(shù)據(jù)鏈路層協(xié)議,但在IP網(wǎng)絡(luò)中,它又的確是一個(gè)會(huì)話層協(xié)議。1

歷史Internet環(huán)境提供了兩種典型的VPN技術(shù):安全I(xiàn)p協(xié)議(IpSec)和二層隧道協(xié)議。二層隧道協(xié)議是一種利用公用數(shù)據(jù)網(wǎng)(網(wǎng)絡(luò)層的IP服務(wù)或數(shù)據(jù)鏈路層的ATM信元(Cell)傳輸服務(wù)、幀中繼服務(wù)或以太網(wǎng)傳輸服務(wù))在公用網(wǎng)接近通信用戶的遠(yuǎn)程節(jié)點(diǎn)之間建立”隧道“(Tunenl)對(duì)相同或不同用戶對(duì)的多條第2層的連接進(jìn)行安全地中繼。2

第一版第一版二層隧道協(xié)議以L2F和PPTP為代表。

PPTP是由多家公司(其中包括Mierosoft,3 Com,ECI Telematies以及U.S.Roboties等各大公司)專門為支持VPN而開發(fā)的一種技術(shù)。盡管PPTP的隧道是利用網(wǎng)絡(luò)層協(xié)議GRE(Generic Routing Eneapsulation)·RFC1701和1702來建立隧道的,但由于隧道傳送的對(duì)象是數(shù)據(jù)鏈路層的PPP協(xié)議,因此仍把它視為第二層隧道協(xié)議。PPTP保持了傳統(tǒng)的撥號(hào)終端通過網(wǎng)絡(luò)訪問服務(wù)器(NAS,Network Aeeess Server)訪問應(yīng)用服務(wù)器的C/S模式,將NAS拆分為:應(yīng)用服務(wù)器側(cè)的“點(diǎn)到點(diǎn)隧道協(xié)議網(wǎng)絡(luò)服務(wù)器”和撥號(hào)用戶側(cè)的“點(diǎn)到點(diǎn)隧道協(xié)議訪問控制集中器”。在PNS與PAC之間利用于TCP/IP建立“隧道控制連接”來控制基于GRE上的隧道的建立。在隧道內(nèi)建立PPP連接時(shí),PPTP需要對(duì)訪問者的身份進(jìn)行認(rèn)證(如用戶名,口令和域名等)。

L2F是由Ciseo公司提出的,可以在多種介質(zhì)(如ATM,F(xiàn)R,IP)上建立多協(xié)議的安全VPN的通信方式。它將鏈路層的協(xié)議(如HDLC,PPP,ASYNC等)封裝起來傳送,因此網(wǎng)絡(luò)的鏈路層完全獨(dú)立于用戶的鏈路層協(xié)議。

第二版第二版的二層隧道協(xié)議RFC2661[7]是由Ciseo、Aseedn、微軟和RedBaek的專家提出的,并正式采用了第2層隧道協(xié)議的名稱(L2TP,Layer 2 Tunneling proroeol);后來被成為L(zhǎng)2TPv2。L2TPv2結(jié)合了L2F和PPTP的優(yōu)點(diǎn),其應(yīng)用對(duì)象與PPTP類似,也是專門針對(duì)點(diǎn)到點(diǎn)協(xié)議進(jìn)行隧道傳輸和中繼的協(xié)議。L2TPv2允許從客戶端或從訪問服務(wù)器端發(fā)起建立PPP傳輸連接的隧道的過程,從而實(shí)現(xiàn)應(yīng)用服務(wù)器與終端之間的第2層VPN功能。L2TPv2把傳輸鏈路層PPP的隧道建立在公用數(shù)據(jù)網(wǎng)提供的某一層服務(wù)之上(如:IP、ATM信元層或幀中繼)進(jìn)行隧道傳輸,這與PPTP將隧道限制在建立在網(wǎng)絡(luò)層的GRE之上的思路相比,其可適應(yīng)的網(wǎng)絡(luò)環(huán)境史加廣泛。3

信息類型L2TP 是一個(gè)數(shù)據(jù)鏈路層協(xié)議。其報(bào)文分為數(shù)據(jù)消息和控制消息兩類。數(shù)據(jù)消息用投遞 PPP 幀,該幀作為L(zhǎng)2TP報(bào)文的數(shù)據(jù)區(qū)。L2TP不保證數(shù)據(jù)消息的可靠投遞,若數(shù)據(jù)報(bào)文丟失,不予重傳,不支持對(duì)數(shù)據(jù)消息的流量控制和擁塞控制??刂葡⒂靡越ⅰ⒕S護(hù)和終止控制連接及會(huì)話,L2TP確保其可靠投遞,并支持對(duì)控制消息的流量控制和擁塞控制。1

協(xié)議結(jié)構(gòu)

|| || L2TP協(xié)議結(jié)構(gòu)

T :T 位表示信息類型。若是數(shù)據(jù)信息,該值為0;若是控制信息,該值為1。

L :當(dāng)設(shè)置該字段時(shí),說明 Length 字段存在,表示接收數(shù)據(jù)包的總長(zhǎng)。對(duì)于控制信息,必須設(shè)置該值。

X: X 位為將來擴(kuò)張預(yù)留使用。在導(dǎo)出信息中所有預(yù)留位被設(shè)置為0,導(dǎo)入信息中該值忽略。

S : 如果設(shè)置 S 位,那么 Nr 字段和 Ns 字段都存在。對(duì)于控制信息,S 位必須設(shè)置。

O : 當(dāng)設(shè)置該字段時(shí),表示在有效負(fù)載信息中存在 Offset Size 字段。對(duì)于控制信息,該字段值設(shè)為0。

P : 如果 Priority (P)位值為1,表示該數(shù)據(jù)信息在其本地排隊(duì)和傳輸中將會(huì)得到優(yōu)先處理。

Ver : Ver 位的值總為002。它表示一個(gè)版本1 L2TP 信息。

Length : 信息總長(zhǎng),包括頭、信息類型 AVP 以及另外的與特定控制信息類型相關(guān)的 AVPs。

Tunnel ID : 識(shí)別控制信息應(yīng)用的 Tunnel。如果對(duì)等結(jié)構(gòu)還沒有接收到分配的 Tunnel ID,那么 Tunnel ID 必須設(shè)置為0。一旦接收到分配的 Tunnel ID,所有更遠(yuǎn)的數(shù)據(jù)包必須和 Tunnel ID 一起被發(fā)送。

Call ID : 識(shí)別控制信息應(yīng)用的 Tunnel 中的用戶會(huì)話。如果控制信息在 Tunnel 中不應(yīng)用單用戶會(huì)話(例如,一個(gè) Stop-Control-Connection-Notification 信息),Call ID 必須設(shè)置為0。

Nr : 期望在下一個(gè)控制信息中接收到的序列號(hào)。

Ns : 數(shù)據(jù)或控制信息的序列號(hào)。

Offset Size & Pad :該字段規(guī)定通過 L2F 協(xié)議頭的字節(jié)數(shù),協(xié)議頭是有效負(fù)載數(shù)據(jù)起始位置。Offset Padding 中的實(shí)際數(shù)據(jù)并沒有定義。如果 Offset 字段當(dāng)前存在,那么 L2TP 頭 Offset Padding 的最后八位字節(jié)后結(jié)束。4

與PPTP不同PPTP和L2TP都使用PPP協(xié)議對(duì)數(shù)據(jù)進(jìn)行封裝,然后添加附加包頭用于數(shù)據(jù)在互聯(lián)網(wǎng)絡(luò)上的傳輸。盡 管兩個(gè)協(xié)議非常相似,但是仍存在以下幾方面的不同:

1.PPTP要求互聯(lián)網(wǎng)絡(luò)為IP網(wǎng)絡(luò)。L2TP只要求隧道媒介提供面向數(shù)據(jù)包的點(diǎn)對(duì)點(diǎn)的連接。L2TP可以在IP(使用UDP),幀中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網(wǎng)絡(luò)上使用。

2.PPTP只能在兩端點(diǎn)間建立單一隧道。L2TP支持在兩端點(diǎn)間使用多隧道。使用L2TP,用戶可以針對(duì)不同的服務(wù)質(zhì)量創(chuàng)建不同的隧道。

3.L2TP可以提供包頭壓縮。當(dāng)壓縮包頭時(shí),系統(tǒng)開銷(overhead)占用4個(gè)字節(jié),而PPTP協(xié)議下要占用6個(gè)字節(jié)。

4、L2TP自身不提供隧道驗(yàn)證,從L2TP的包頭可以看出。隧道認(rèn)證是由PPP(pap或chap)協(xié)議提供!而PPTP則支持隧道驗(yàn)證,PPTP自身就是PPP的擴(kuò)展!但是當(dāng)L2TP或PPTP與IPsec共同使用時(shí),可以由IPsec提供隧道驗(yàn)證,不需要在第2層協(xié)議上驗(yàn)證隧道.

5.L2TP訪問集中器(L2TP Access Concentrator,LAC)是一種附屬在網(wǎng)絡(luò)上的具有PPP端系統(tǒng)和L2Tpv2協(xié)議處理能力的設(shè)備,它一般就是一個(gè)網(wǎng)絡(luò)接入服務(wù)器軟件,在遠(yuǎn)程客戶端完成網(wǎng)絡(luò)接入服務(wù)的功能。

6.L2TP網(wǎng)絡(luò)服務(wù)器(L2TP Network Server,LNS)是用于處理L2TP協(xié)議服務(wù)器端的軟件。5

L2TP支持的協(xié)議:IP協(xié)議、IPX協(xié)議和NetBEUI協(xié)議

本詞條內(nèi)容貢獻(xiàn)者為:

徐恒山 - 講師 - 西北農(nóng)林科技大學(xué)