摘要:文章探討了VPN 及其具體實現(xiàn)技術——隧道技術。首先介紹了VPN的概念,接著探討了VPN的工作原理,最后詳細分析了VPN的隧道技術,特別是L2TP隧道協(xié)議。
關鍵詞:VPN;隧道技術;L2TP
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)23-879-02
VPN and It's Tunneling Technology Research
CHEN Xing-gang, MENG Chuan-liang
(Guizhou University, Electronic Science and Information Technology Institute, Guiyang 550025, China)
Abstract: The article introduced VPN and its concrete implementing technology—Tunneling Technology. First it introduced the concept of VPN, and then it discussed the principle of work. In the end, it analyzed the VPN’s tunneling technology in detail, especially focusing on analyzing the L2TP tunneling protocol.
Key words: VPN; Tunneling Technology; L2TP
1 VPN的概念
VPN,即虛擬專用網(wǎng)(Virtual Private Network),它指的是一種依靠ISP和其它NSP,在公用網(wǎng)絡中建立專用的數(shù)據(jù)通信網(wǎng)絡的技術。通過對網(wǎng)絡數(shù)據(jù)的特殊封包和加密傳輸,在一個公用網(wǎng)絡(通常是因特網(wǎng))建立一個臨時的、安全的連接,從而實現(xiàn)在公網(wǎng)上傳輸私有數(shù)據(jù)、達到私有網(wǎng)絡的安全級別。在虛擬專用網(wǎng)中,任意兩個節(jié)點之間的連接并沒有傳統(tǒng)專網(wǎng)所需的端到端的物理鏈路,而是利用某種公眾網(wǎng)的資源動態(tài)組成的。IETF草案理解的基于IP的VPN為:“使用IP機制仿真出一個私有的廣域網(wǎng)”,即通過私有的隧道技術在公共數(shù)據(jù)網(wǎng)絡上仿真一條點到點的專線技術。
通常,VPN是對企業(yè)內(nèi)部網(wǎng)的擴展,通過它可以幫助遠程用戶、公司分支機構、商業(yè)伙伴以及供應商同公司的內(nèi)部網(wǎng)建立可信的安全連接,并保證數(shù)據(jù)傳輸?shù)陌踩PN可用于不斷增長的移動用戶的全球因特網(wǎng)接入,以實現(xiàn)安全連接;可用于實現(xiàn)企業(yè)網(wǎng)站之間安全通信的虛擬專用線路,以便經(jīng)濟有效地連接到商業(yè)伙伴和公司分支機構。
2 VPN的原理
VPN通過公眾IP網(wǎng)絡建立了私有數(shù)據(jù)傳輸通道,將遠程的分支辦公室、商業(yè)伙伴、移動辦公人員等連接起來,減輕了企業(yè)的遠程訪問費用負擔、節(jié)省電話費用開支,并且提供了安全的端到端的數(shù)據(jù)通訊。
常規(guī)的直接撥號連接與虛擬專網(wǎng)連接的異同點在于:在前一種情形之中,PPP(點對點協(xié)議)數(shù)據(jù)包流是通過專用線路傳輸?shù)模辉赩PN中,PPP數(shù)據(jù)包流是由一個LAN上的路由器發(fā)出,通過共享IP網(wǎng)絡上的隧道進行傳輸,再到達另一個LAN上的路由器。
這兩者的關鍵不同點是隧道代替了實實在在的專用線路。隧道好比是在WAN中拉出一根串行通信電纜。那么,如何形成VPN隧道呢?
建立隧道有兩種主要的方式:客戶啟動(Client-Initiated)或客戶透明(Client-Transparent)。客戶啟動要求客戶和隧道服務器(或網(wǎng)關)都安裝隧道軟件。后者通常都安裝在公司中心站上。通過客戶軟件初始化隧道,隧道服務器中止隧道,ISP可以不必支持隧道。客戶和隧道服務器只需建立隧道,并使用用戶ID和口令或用數(shù)字許可證鑒權。一旦隧道建立,就可以進行通信了,如同ISP沒有參與連接一樣。
另一方面,如果希望隧道對客戶透明,ISP的POPS就必須具有允許使用隧道的接入服務器以及可能需要的路由器。客戶首先撥號進入服務器,服務器必須能識別這一連接要與某一特定的遠程點建立隧道,然后服務器與隧道服務器建立隧道,通常使用用戶ID和口令進行鑒權。這樣客戶端就通過隧道與隧道服務器建立了直接對話。盡管這一方針不要求客戶有專門軟件,但客戶只能撥號進入正確配置的訪問服務器。
3 VPN的隧道技術
VPN技術比較復雜,它涉及到通信技術、密碼技術和現(xiàn)代認證技術,是一項交叉科學。具體來講,目前VPN主要采用下列四項技術來保證其安全,這四項技術分別是隧道技術(Tunneling)、加解密技術(Encryption Decryption)、密鑰管理技術(Key Management)、使用者與設備身份認證技術(Authentication)。
隧道技術是VPN的基本技術,類似于點對點連接技術,它在公用網(wǎng)中建立一條數(shù)據(jù)通道(隧道),讓數(shù)據(jù)包通過這條隧道傳輸。隧道技術的基本工作原理是在源局域網(wǎng)與公網(wǎng)的接口處將數(shù)據(jù)作為負載封裝在一種可以在公網(wǎng)上傳輸?shù)臄?shù)據(jù)格式之中,在目的局域網(wǎng)與公網(wǎng)的接口處將數(shù)據(jù)解封裝,取出負載。被封裝的數(shù)據(jù)包在互聯(lián)網(wǎng)上傳遞時所經(jīng)過的邏輯路徑被稱為“隧道”。
要使數(shù)據(jù)順利地被封裝、傳送及解封裝,通信協(xié)議是完成此任務的關鍵。目前VPN的隧道協(xié)議可大致分為第二層次的隧道協(xié)議PPTP、L2F、L2TP和第三層次的隧道協(xié)議GRE、IPSec等。它們的本質(zhì)區(qū)別在于用戶的數(shù)據(jù)包是被封裝在哪種數(shù)據(jù)包里面從而在隧道中進行傳輸?shù)摹o論哪種隧道協(xié)議都是由傳輸?shù)妮d體、不同的封裝格式以及被傳輸數(shù)據(jù)包組成的,傳輸協(xié)議被用來傳送封裝協(xié)議;封裝協(xié)議被用來建立、保持和拆卸隧道,Cisco產(chǎn)品支持幾種封裝協(xié)議,包括L2F、L2TP、GRE協(xié)議等;而乘客協(xié)議是被封裝的協(xié)議,它們可以是PPP、SLIP等。隧道協(xié)議的組成如圖1所示:
3.1 PPTP——點對點隧道協(xié)議
PPTP協(xié)議由Microsoft、Ascend和3Com公司開發(fā),它的分組不但能在IP上傳送,也能在IPX、Apple Talk上傳送。PPTP提供PPTP客戶機和PPTP服務器之間的加密通信。PPTP客戶機是指運行了該協(xié)議的PC機,如啟動了該協(xié)議的Windows XP;PPTP服務器是指運行該協(xié)議的服務器,如啟動了該協(xié)議的Windows Server服務器。PPTP可看作是PPP協(xié)議的一種擴展,它提供了一種在Internet上建立多協(xié)議的安全虛擬專用網(wǎng)的通信方式,遠端用戶能夠透過任何支持PPTP的ISP訪問公司的專用網(wǎng)絡。
通過PPTP,客戶可采用撥號方式接入公共IP網(wǎng)絡——Internet。撥號客戶首先按常規(guī)方式撥號到ISP的接入服務器(NAS),建立PPP連接;在此基礎上,客戶進行二次撥號建立到PPTP服務器的連接,該連接稱為PPTP隧道,實質(zhì)上是基于IP協(xié)議上的另一個PPP連接,其中的IP包可以封裝多種協(xié)議數(shù)據(jù),包括TCP/IP、IPX和NetBEUI。PPTP采用了基于RSA公司RC4的數(shù)據(jù)加密方法,保證了虛擬連接通道的安全性。對于直接連到Internet上的客戶則不需要第一重PPP的撥號連接,可以直接與PPTP服務器建立虛擬通道。PPTP把建立隧道的主動權交給了用戶,但用戶需要在其PC機上配置PPTP,這樣做就增加了用戶的工作量也會造成一定的網(wǎng)絡安全隱患。
3.2 L2F——第二層轉發(fā)協(xié)議
L2F(Layer 2 Forwarding Protocol)是由Cisco公司提出的可以在多種介質(zhì)如ATM、Frame Relay、IP網(wǎng)上建立多協(xié)議的虛擬專用網(wǎng)的隧道協(xié)議。遠端用戶能夠透過任何撥號方式接入公共IP網(wǎng)絡,首先按常規(guī)方式撥號到ISP的接入服務器(NAS),建立PPP連接;NAS根據(jù)用戶名等信息,發(fā)起第二重連接,通向HGW服務器。在這種情況下隧道的配置和建立對用戶是完全透明的。但是,L2F不支持流控;要求每個用戶端局域網(wǎng)有專用的網(wǎng)關,費用較高。
3.3 L2TP——第二層隧道協(xié)議
L2TP結合了PPTP和L2F的優(yōu)點,可以讓用戶從客戶端或訪問服務器端發(fā)起VPN連接。L2TP是把鏈路層PPP幀封裝在公共網(wǎng)絡設施如IP、ATM、幀中繼中進行隧道傳輸?shù)姆庋b協(xié)議。
L2TP的主要作用是將PPP接入由本地擴展到遠端,向用戶提供經(jīng)濟的遠程ISP接入和企業(yè)網(wǎng)接入,是IP VPN中極為重要的協(xié)議。L2TP支持多種協(xié)議,用戶可以保留原有的IPX、Appletalk等協(xié)議或公司原有的IP地址;L2TP還解決了多個PPP鏈路的捆綁問題,使物理上連接到不同NAS的PPP鏈路,在邏輯上的終結點為同一個物理設備。
L2TP主要由LAC(L2TP Access Concentrator)和LNS(L2TP Network Server)構成(網(wǎng)絡結構如圖2所示),LAC(L2TP接入?yún)R接點)支持客戶端的L2TP,它用于發(fā)起呼叫、接收呼叫和建立隧道;LNS(L2TP網(wǎng)絡服務器)是所有隧道的終點。
在ISP接入情況下,LAC對應本地NAS,LNS對應為ISP,撥號用戶通過PSTN/ISDN接入本地的LAC后,可以通過隧道接入所選擇的ISP。在VPN情況下,LAC對應為NAS或ISP,LNS對應為企業(yè)網(wǎng)網(wǎng)關,撥號用戶或路由器可通過隧道直接接入企業(yè)網(wǎng),成為企業(yè)網(wǎng)的一個虛擬用戶。LAC和LNS就是隧道的兩個端點,期間運行L2TP協(xié)議。
LNS和LAC經(jīng)由L2TP組成了分布式廣域接入系統(tǒng)。一個LAC可以建立多個隧道接入不同的LNS,一個LNS也可以經(jīng)多個LAC接入。在給定的一對LAC和LNS之間可以根據(jù)需要建立多條隧道,隧道的物理傳送媒體可以是UDP/IP、ATM或FR等。每條隧道內(nèi)包含兩類信道:控制信道和數(shù)據(jù)信道。相應地,L2TP消息也分為兩類:控制消息和數(shù)據(jù)消息。其中,控制消息的作用是建立、維護和釋放隧道和會話,在控制信道上發(fā)送;數(shù)據(jù)消息的作用就是封裝PPP幀,在數(shù)據(jù)信道上傳送。L2TP協(xié)議的操作包括三個過程:隧道建立、會話建立和PPP幀的封裝前轉,相應的隧道結構及呼叫和會話情況如圖3所示。
L2TP這種方式給服務提供商和用戶帶來了許多好處。用戶不需要在PC上安裝專門的客戶端軟件,企業(yè)可以使用未注冊的IP地址,并在本地管理認證數(shù)據(jù)庫,從而降低了使用成本和培訓維護費用。
與PPTP和L2F相比,L2TP的優(yōu)點在于提供了差錯和流量控制;L2TP使用UDP封裝和傳送PPP幀。面向非連接的UDP無法保證網(wǎng)絡數(shù)據(jù)的可靠傳輸,L2TP使用Nr(下一個希望接受的消息序列號)和Ns(當前發(fā)送的數(shù)據(jù)包序列號)字段控制流量和差錯。雙方通過序列號來確定數(shù)據(jù)包的次序和緩沖區(qū),一旦數(shù)據(jù)丟失根據(jù)序列號可以進行重發(fā)。
4 結束語
實現(xiàn)VPN 的隧道技術多種多樣,它們各有各的優(yōu)勢,本文主要討論了L2TP隧道技術。
目前的一種趨勢是將L2TP 和IPSec 結合起來用L2TP 作為隧道協(xié)議,用IPSec協(xié)議保護數(shù)據(jù)。現(xiàn)在,市場上大部分VPN采用這類技術。
參考文獻:
[1] 郭世滿,馬蘊穎,郭蘇寧.寬帶接入技術及應用[M].北京:北京郵電大學出版社,2006.
[2] 李征.接入網(wǎng)與接入技術[M].北京:清華大學出版社,2003.
[3] 李明琪.寬帶接入網(wǎng)絡[M].北京:科學出版社,2002.
[4] 郝輝,錢華林.VPN及其隧道技術研究[J].微電子學與計算機,2004,21(11):47-51.