原作者: 郭聃 武漢烽火網(wǎng)絡(luò)有限責(zé)任公司
當(dāng)今網(wǎng)絡(luò)飛速發(fā)展,網(wǎng)絡(luò)帶寬每6-9個月就翻一番,人們能夠更加快速、方便地訪問互聯(lián)網(wǎng),享受更多、更精致的服務(wù)。但是,您是否意識到您的一切活動都是在門戶大開的情況下進(jìn)行著的,隨時都有可能在門外出現(xiàn)一個身影將您的所作所為盡收眼底,將您的機(jī)密堂而皇之的盜走,這一切對于講究隱私和安全的時代來說是難以想象和不允許的,但是這一切又每時每刻都在上演著。
出現(xiàn)這一切的罪魁禍?zhǔn)资蔷W(wǎng)絡(luò)信息傳輸?shù)耐该餍浴榱耸共煌愋偷木W(wǎng)絡(luò)和不同廠商的網(wǎng)絡(luò)設(shè)備能夠互相兼容,網(wǎng)絡(luò)技術(shù)都遵循著國際標(biāo)準(zhǔn)化組織(ISO)的OSI七層模型,因此在網(wǎng)絡(luò)中傳送的數(shù)據(jù)流都具有相同的封裝格式,數(shù)據(jù)流中所包含的原始有用信息也位于格式中的固定位置。當(dāng)別有用心的人(例如黑客)監(jiān)聽到網(wǎng)絡(luò)的數(shù)據(jù)流后(這種監(jiān)聽在網(wǎng)絡(luò)中很容易就可以做到)只需按參照格式便能得到其中的原始有用信息。
如何給自己的網(wǎng)絡(luò)上把放心鎖,從而使自己能夠安全的在網(wǎng)上娛樂和辦公呢?針對這種需求,人們提出了虛擬專用網(wǎng)絡(luò)VPN(Virtual Private Network)技術(shù)。其目的是為了保證通信的安全性,使用公共網(wǎng)絡(luò)(例如互聯(lián)網(wǎng)),通過三層或二層隧道(非透明性)實(shí)現(xiàn)專用通信。VPN的優(yōu)點(diǎn)包括:僅僅依靠VPN技術(shù)就能為多種TCP/IP通信提供保密性;VPN技術(shù)實(shí)現(xiàn)所采用的三層或二層隧道能夠支持多種網(wǎng)絡(luò)協(xié)議;能夠?yàn)樾湃蔚目蛻舳伺cVPN服務(wù)器之間所有的TCP/IP通信提供加密服務(wù);VPN的使用不影響公共網(wǎng)絡(luò)的大眾使用等。
對于構(gòu)建VPN 來說,網(wǎng)絡(luò)隧道(Tunneling)技術(shù)是個關(guān)鍵技術(shù)。網(wǎng)絡(luò)隧道技術(shù)指的是利用一種網(wǎng)絡(luò)協(xié)議來傳輸另一種網(wǎng)絡(luò)協(xié)議,也就是將現(xiàn)有的透明網(wǎng)絡(luò)信息進(jìn)行再次封裝,從而保證網(wǎng)絡(luò)信息傳輸?shù)陌踩。它主要利用網(wǎng)絡(luò)隧道協(xié)議來實(shí)現(xiàn)這種功能,具體包括二層隧道協(xié)議(用于傳輸二層網(wǎng)絡(luò)協(xié)議)和三層隧道協(xié)議(用于傳輸三層網(wǎng)絡(luò)協(xié)議)。
二層隧道協(xié)議L2TP(Layer 2 Tunneling Protocol)是一種基于點(diǎn)對點(diǎn)協(xié)議PPP的二層隧道協(xié)議。在由L2TP構(gòu)建的VPN中,有兩種類型的服務(wù)器,一種是L2TP 訪問集中器LAC(L2TP Access Concentrator ),它是附屬在網(wǎng)絡(luò)上的具有 PPP 端系統(tǒng)和 L2TP 協(xié)議處理能力的設(shè)備,LAC一般就是一個網(wǎng)絡(luò)接入服務(wù)器,用于為用戶提供網(wǎng)絡(luò)接入服務(wù);另一種是L2TP 網(wǎng)絡(luò)服務(wù)器LNS(L2TP Network Server),是 PPP 端系統(tǒng)上用于處理 L2TP 協(xié)議服務(wù)器端部分的軟件。
在LNS 和 LAC 之間存在著兩種類型的連接,一種是隧道(tunnel)連接,它定義了一個 LNS 和 LAC 對;另一種是會話(session)連接,它復(fù)用在隧道連接之上,用于表示承載在隧道連接中的每個 PPP 會話過程。
L2TP 連接的維護(hù)以及 PPP 數(shù)據(jù)的傳送都是通過 L2TP 消息的交換來完成的,L2TP 消息可以分為兩種類型,一種是控制消息,另一種是數(shù)據(jù)消息?刂葡⒂糜谒淼肋B接和會話連接的建立與維護(hù),數(shù)據(jù)消息用于承載用戶的 PPP 會話數(shù)據(jù)包。這些消息都通過 UDP 的 1701 端口承載于 TCP/IP 之上。
L2TP層的數(shù)據(jù)傳輸具有非常強(qiáng)的擴(kuò)展性和可靠性?刂葡⒅械膮(shù)用 AVP 值對(Attribute Value Pair)來表示,使得協(xié)議具有很好的擴(kuò)展性;控制消息的傳輸過程中應(yīng)用了消息丟失重傳和定時檢測通道連通性等機(jī)制來保證 L2TP 層傳輸?shù)目煽啃。?shù)據(jù)消息用于承載用戶的 PPP 會話數(shù)據(jù)包。雖然L2TP 數(shù)據(jù)消息的傳輸不采用重傳機(jī)制,無法保證傳輸?shù)目煽啃,但這一點(diǎn)可以通過上層協(xié)議如 TCP 等得到保證;數(shù)據(jù)消息的傳輸可以根據(jù)應(yīng)用的需要靈活地采用流控或不流控機(jī)制,可以在傳輸過程中動態(tài)地使用消息序列號從而動態(tài)地激活消息順序檢測和流量控制功能;在采用流量控制的過程中,對于失序消息的處理采用了緩存重排序的方法來提高數(shù)據(jù)傳輸?shù)挠行浴?/p>
所使用的網(wǎng)絡(luò)設(shè)備是武漢烽火網(wǎng)絡(luò)公司的F-Engine R4000和F-Engine S2000產(chǎn)品。該VPN將用戶接入端的PPPOE和遠(yuǎn)程訪問的L2TP結(jié)合在一起。用戶遠(yuǎn)程訪問按如下步驟進(jìn)行。
1、用戶認(rèn)證
用戶端通過在PPPOE撥號軟件中輸入用戶名和密碼,向用戶接入端的F-Engine R4000(LAC)提出遠(yuǎn)程訪問請求,F(xiàn)-Engine R4000和VPN Server交互用戶名和密碼,對用戶進(jìn)行認(rèn)證,認(rèn)證后則向用戶反饋認(rèn)證結(jié)果。
2、建立隧道
如果認(rèn)證成功VPN Server則向遠(yuǎn)程網(wǎng)絡(luò)的F-Engine R4000(LNS)提出隧道建立申請,并將用戶信息提交給LNS,LNS對用戶進(jìn)行第二次身份認(rèn)證,如認(rèn)證通過則給用戶ID、動態(tài)IP地址和訪問權(quán)限,并將此反饋給用戶。
3、遠(yuǎn)程訪問
用戶通過兩次認(rèn)證后則能夠以所給的用戶ID、IP地址和權(quán)限進(jìn)行遠(yuǎn)程訪問,同時用戶接入端的F-Engine R4000(LAC)把用戶上網(wǎng)時間和流量提交給VPN Server開始對用戶進(jìn)行計(jì)費(fèi)。
在第一次用戶認(rèn)證時采用的是PPPOE方式,網(wǎng)絡(luò)數(shù)據(jù)信息從用戶電腦到接入網(wǎng)設(shè)備F-Engine R4000(LAC)之間經(jīng)過IP-PPP-PPPOE-MAC四層封裝,在通過第一次用戶認(rèn)證后,接入網(wǎng)設(shè)備F-Engine R4000(LAC)除掉了網(wǎng)絡(luò)信息的PPPOE和PPP封裝,封裝格式成為IP-MAC,即在接入網(wǎng)設(shè)備F-Engine R4000(LAC)上實(shí)現(xiàn)了PPPOE的終結(jié)。在隧道建立起后,將從接入網(wǎng)設(shè)備F-Engine R4000(LAC)出來的數(shù)據(jù)信息作為一個整體封裝在基于PPP協(xié)議的L2TP數(shù)據(jù)的最低層,其格式為IP-PPP-L2TP-UDP-IP-MAC,這里最上層的IP已經(jīng)不是原有的IP,即IP地址已經(jīng)更改成遠(yuǎn)程網(wǎng)絡(luò)F-Engine R4000(LNS)分配和認(rèn)可的IP地址,到達(dá)目的遠(yuǎn)程網(wǎng)絡(luò)后,經(jīng)過遠(yuǎn)程網(wǎng)絡(luò)F-Engine R4000(LNS)的解封裝,除去了中間的PPP、L2TP、UDP和IP封裝,數(shù)據(jù)封裝格式重新成為IP-MAC,新數(shù)據(jù)信息里的IP地址仍然是遠(yuǎn)程網(wǎng)絡(luò)F-Engine R4000(LNS)認(rèn)可的IP地址而不是用戶原有的IP地址。因此在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中,用戶原始數(shù)據(jù)經(jīng)過L2TP封裝到最低層,因?yàn)長2TP封裝的復(fù)雜性,就算有人能夠截獲數(shù)據(jù)流,也很難按照原有的網(wǎng)絡(luò)ISO模型對其進(jìn)行分析以獲取有用信息;在遠(yuǎn)程網(wǎng)絡(luò)端,用戶的IP信息被分配和認(rèn)可的IP信息取代,即用戶的信息是相對保密,從而保護(hù)了用戶不被侵犯;整個傳輸過程對用戶而言是非透明的,用戶無法知曉L2TP傳輸機(jī)制,從而保證了傳輸過程的安全性。
L2TP構(gòu)建VPN除了上述的優(yōu)點(diǎn)外還有如下優(yōu)勢:
1、靈活的身份驗(yàn)證機(jī)制以及高度的安全性
L2TP是基于PPP協(xié)議的,因此它除繼承了 PPP 的所有安全特性外, 還可以對隧道端點(diǎn)進(jìn)行驗(yàn)證,這使得通過 L2TP 所傳輸?shù)臄?shù)據(jù)更加難以被攻擊。而且根據(jù)特定的網(wǎng)絡(luò)安全要求,還可以方便地在 L2TP 之上采用隧道加密、端對端數(shù)據(jù)加密或應(yīng)用層數(shù)據(jù)加密等方案來提高數(shù)據(jù)的安全性。
2、內(nèi)部地址分配支持
LNS可以放置于企業(yè)網(wǎng)的防火墻之后,它可以對于遠(yuǎn)端用戶的地址進(jìn)行動態(tài)的分配和管理,可以支持 DHCP 和私有地址應(yīng)用。遠(yuǎn)端用戶所分配的地址不是Internet地址而是企業(yè)內(nèi)部的私有地址,這樣方便了地址的管理并可以增加安全性。
3、網(wǎng)絡(luò)計(jì)費(fèi)的靈活性
可以在LAC和LNS兩處同時計(jì)費(fèi),即ISP處(用于產(chǎn)生帳單)及企業(yè)處(用于付費(fèi)及審記)。L2TP 能夠提供數(shù)據(jù)傳輸?shù)某鋈氚鼣?shù),字節(jié)數(shù)及連接的起始、結(jié)束時間等計(jì)費(fèi)數(shù)據(jù),可以根據(jù)這些數(shù)據(jù)方便地進(jìn)行網(wǎng)絡(luò)計(jì)費(fèi)。
4、可靠性
L2TP 協(xié)議可以支持備份 LNS,當(dāng)一個主 LNS 不可達(dá)之后,LAC(接入服務(wù)器)可以重新與備份 LNS 建立連接,這樣增加了 VPN 服務(wù)的可靠性和容錯性。
5、統(tǒng)一的網(wǎng)絡(luò)管理
L2TP 協(xié)議將很快地成為標(biāo)準(zhǔn)的 RFC 協(xié)議,有關(guān) L2TP 的標(biāo)準(zhǔn) MIB 也將很快地得到制定,這樣可以統(tǒng)一地采用 SNMP 網(wǎng)絡(luò)管理方案進(jìn)行方便的網(wǎng)絡(luò)維護(hù)與管理。
摘自《通訊世界》