百科解釋
隧道技術(shù)及其應(yīng)用
隧道技術(shù)(Tunneling)是一種通過(guò)使用互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)設(shè)施在網(wǎng)絡(luò)之間傳遞數(shù)據(jù)的方式。使用隧道傳遞的數(shù)據(jù)(或負(fù)載)可以是不同協(xié)議的數(shù)據(jù)幀或包。隧道協(xié)議將其它協(xié)議的數(shù)據(jù)幀或包重新封裝然后通過(guò)隧道發(fā)送。新的幀頭提供路由信息,以便通過(guò)互聯(lián)網(wǎng)傳遞被封裝的負(fù)載數(shù)據(jù)。
這里所說(shuō)的隧道類(lèi)似于點(diǎn)到點(diǎn)的連接。這種方式能夠使來(lái)自許多信息源的網(wǎng)絡(luò)業(yè)務(wù)在同一個(gè)基礎(chǔ)設(shè)施中通過(guò)不同的隧道進(jìn)行傳輸。隧道技術(shù)使用點(diǎn)對(duì)點(diǎn)通信協(xié)議代替了交換連接,通過(guò)路由網(wǎng)絡(luò)來(lái)連接數(shù)據(jù)地址。隧道技術(shù)允許授權(quán)移動(dòng)用戶(hù)或已授權(quán)的用戶(hù)在任何時(shí)間、任何地點(diǎn)訪(fǎng)問(wèn)企業(yè)網(wǎng)絡(luò)。
通過(guò)隧道的建立,可實(shí)現(xiàn):
* 將數(shù)據(jù)流強(qiáng)制送到特定的地址
* 隱藏私有的網(wǎng)絡(luò)地址
* 在IP網(wǎng)上傳遞非IP數(shù)據(jù)包
* 提供數(shù)據(jù)安全支持
近來(lái)出現(xiàn)了一些新的隧道技術(shù),并在不同的系統(tǒng)中得到運(yùn)用和拓展。
隧道技術(shù)
為創(chuàng)建隧道,隧道的客戶(hù)機(jī)和服務(wù)器雙方必須使用相同的隧道協(xié)議。隧道技術(shù)可分別以第2層或第3層隧道協(xié)議為基礎(chǔ)。第2層隧道協(xié)議對(duì)應(yīng)于OSI模型的數(shù)據(jù)鏈路層,使用幀作為數(shù)據(jù)交換單位。PPTP(點(diǎn)對(duì)點(diǎn)隧道協(xié)議)、L2TP(第二層隧道協(xié)議)和L2F(第2層轉(zhuǎn)發(fā)協(xié)議)都屬于第2層隧道協(xié)議,是將用戶(hù)數(shù)據(jù)封裝在點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)幀中通過(guò)互聯(lián)網(wǎng)發(fā)送。第3層隧道協(xié)議對(duì)應(yīng)于OSI模型的網(wǎng)絡(luò)層,使用包作為數(shù)據(jù)交換單位。IPIP(IP over IP)以及IPSec隧道模式屬于第3層隧道協(xié)議,是將IP包封裝在附加的IP包頭中,通過(guò)IP網(wǎng)絡(luò)傳送。無(wú)論哪種隧道協(xié)議都是由傳輸?shù)妮d體、不同的封裝格式以及用戶(hù)數(shù)據(jù)包組成的。它們的本質(zhì)區(qū)別在于,用戶(hù)的數(shù)據(jù)包是被封裝在哪種數(shù)據(jù)包中在隧道中傳輸。
點(diǎn)對(duì)點(diǎn)隧道協(xié)議
PPTP(Point to Point Tunneling Protocol)提供PPTP客戶(hù)機(jī)和PPTP服務(wù)器之間的加密通信。PPTP客戶(hù)機(jī)是指運(yùn)行了該協(xié)議的PC機(jī),如啟動(dòng)該協(xié)議的Windows95/98;PPTP服務(wù)器是指運(yùn)行該協(xié)議的服務(wù)器,如啟動(dòng)該協(xié)議的WindowsNT服務(wù)器。PPTP是PPP協(xié)議的一種擴(kuò)展。它提供了一種在互聯(lián)網(wǎng)上建立多協(xié)議的安全虛擬專(zhuān)用網(wǎng)(VPN)的通信方式。遠(yuǎn)端用戶(hù)能夠透過(guò)任何支持PPTP的ISP訪(fǎng)問(wèn)公司的專(zhuān)用網(wǎng)。
通過(guò)PPTP,客戶(hù)可采用撥號(hào)方式接入公用IP網(wǎng)。撥號(hào)用戶(hù)首先按常規(guī)方式撥到ISP的接入服務(wù)器(NAS),建立PPP連接;在此基礎(chǔ)上,用戶(hù)進(jìn)行二次撥號(hào)建立到PPTP服務(wù)器的連接,該連接稱(chēng)為PPTP隧道,實(shí)質(zhì)上是基于IP協(xié)議的另一個(gè)PPP連接,其中的IP包可以封裝多種協(xié)議數(shù)據(jù),包括TCP/IP、IPX和NetBEUI。PPTP采用了基于RSA公司RC4的數(shù)據(jù)加密方法,保證了虛擬連接通道的安全。對(duì)于直接連到互聯(lián)網(wǎng)的用戶(hù)則不需要PPP的撥號(hào)連接,可以直接與PPTP服務(wù)器建立虛擬通道。PPTP把建立隧道的主動(dòng)權(quán)交給了用戶(hù),但用戶(hù)需要在其PC機(jī)上配置PPTP,這樣做既增加了用戶(hù)的工作量,又會(huì)給網(wǎng)絡(luò)帶來(lái)隱患。另外,PPTP只支持IP作為傳輸協(xié)議。
第二層轉(zhuǎn)發(fā)協(xié)議
L2F(Layer Two Forwarding protocol )是由Cisco公司提出的可以在多種介質(zhì),如ATM、幀中繼、IP網(wǎng)上建立多協(xié)議的安全虛擬專(zhuān)用網(wǎng)的通信。遠(yuǎn)端用戶(hù)能通過(guò)任何撥號(hào)方式接入公用IP網(wǎng),首先按常規(guī)方式撥到ISP的接入服務(wù)器(NAS),建立PPP連接;NAS根據(jù)用戶(hù)名等信息,建立直達(dá)HGW服務(wù)器的第二重連接。在這種情況下,隧道的配置和建立對(duì)用戶(hù)是完全透明的。其體系結(jié)構(gòu)見(jiàn)圖1。
第二層隧道協(xié)議
L2TP(Layer Two Tunneling Protocol)結(jié)合了L2F和PPTP的優(yōu)點(diǎn),允許用戶(hù)從客戶(hù)端或訪(fǎng)問(wèn)服務(wù)器端建立VPN連接。L2TP是把鏈路層的PPP幀裝入公用網(wǎng)絡(luò)設(shè)施,如IP、ATM、幀中繼中進(jìn)行隧道傳輸?shù)姆庋b協(xié)議。其體系結(jié)構(gòu)見(jiàn)圖1。
Cisco、Ascend、Microsoft和RedBack公司的專(zhuān)家們?cè)谛薷牧耸畮讉(gè)版本后,終于在1999年8月公布了L2TP的標(biāo)準(zhǔn)RFC2661。目前用戶(hù)撥號(hào)訪(fǎng)問(wèn)Internet時(shí),必須使用IP協(xié)議,并且其動(dòng)態(tài)得到的IP地址也是合法的。L2TP的好處在于支持多種協(xié)議,用戶(hù)可以保留原有的IPX、Appletalk等協(xié)議或公司原有的IP地址。L2TP還解決了多個(gè)PPP鏈路的捆綁問(wèn)題,PPP鏈路捆綁要求其成員均指向同一個(gè)NAS,L2TP則允許在物理上連接到不同NAS的PPP鏈路,在邏輯上的終點(diǎn)為同一個(gè)物理設(shè)備。L2TP擴(kuò)展了PPP連接,在傳統(tǒng)的方式中用戶(hù)通過(guò)模擬電話(huà)線(xiàn)或ISDN/ADSL與網(wǎng)絡(luò)訪(fǎng)問(wèn)服務(wù)器建立一個(gè)第2層的連接,并在其上運(yùn)行PPP,第2層連接的終點(diǎn)和PPP會(huì)話(huà)的終點(diǎn)均設(shè)在同一個(gè)設(shè)備上(如NAS)。L2TP作為PPP的擴(kuò)充提供了更強(qiáng)大的功能,包括允許第2層連接的終點(diǎn)和PPP會(huì)話(huà)的終點(diǎn)分別設(shè)在不同的設(shè)備上。
L2TP主要由LAC(L2TP Access Concentrator)和LNS(L2TP Network Server)構(gòu)成。LAC支持客戶(hù)端的L2TP,發(fā)起呼叫,接收呼叫和建立隧道;LNS是所有隧道的終點(diǎn)。在傳統(tǒng)的PPP連接中,用戶(hù)撥號(hào)連接的終點(diǎn)是LAC,而L2TP能把PPP協(xié)議的終點(diǎn)延伸到LNS。
L2TP的建立過(guò)程如圖2。
1.用戶(hù)通過(guò)公用電話(huà)網(wǎng)或ISDN撥號(hào)呼叫本地接入服務(wù)器LAC;LAC接受呼叫并進(jìn)行基本的識(shí)別過(guò)程,這一過(guò)程可以采用幾種標(biāo)準(zhǔn),如域名、呼叫線(xiàn)路識(shí)別(CLID)或撥號(hào)ID業(yè)務(wù)(DNIS)等。
2.當(dāng)用戶(hù)被確認(rèn)為合法企業(yè)用戶(hù)時(shí),就建立一個(gè)通向LNS的撥號(hào)VPN隧道。
3.企業(yè)內(nèi)部的安全服務(wù)器如TACACS+、RADIUS對(duì)撥號(hào)用戶(hù)進(jìn)行驗(yàn)證。
4.LNS與遠(yuǎn)程用戶(hù)交換PPP信息,分配IP地址。LNS可采用企業(yè)專(zhuān)用地址(未注冊(cè)的IP地址)或服務(wù)提供商提供的地址空間分配IP地址。因?yàn)閮?nèi)部源IP地址與目的地IP地址實(shí)際上都通過(guò)服務(wù)提供商的IP網(wǎng)絡(luò)在PPP信息包內(nèi)傳送,企業(yè)專(zhuān)用地址對(duì)提供者的網(wǎng)絡(luò)是透明的。
5.端到端的數(shù)據(jù)從撥號(hào)用戶(hù)傳到LNS。
在實(shí)際應(yīng)用中,LAC將撥號(hào)用戶(hù)的PPP幀封裝后,傳送到LNS,后者去掉封裝包頭,取出PPP幀,再去掉PPP幀頭,最后獲得網(wǎng)絡(luò)層數(shù)據(jù)包。
L2TP方式給服務(wù)提供商和用戶(hù)帶來(lái)了許多方便。用戶(hù)不需要在PC板上安裝專(zhuān)門(mén)的客戶(hù)端軟件,企業(yè)網(wǎng)可以使用未注冊(cè)的IP地址,并在本地管理認(rèn)證數(shù)據(jù)庫(kù),從而降低了應(yīng)用成本和培訓(xùn)維護(hù)費(fèi)用。
與PPTP和L2F相比,L2TP的優(yōu)點(diǎn)在于提供了差錯(cuò)和流量控制;L2TP使用UDP封裝和傳送PPP幀。面向無(wú)連接的UDP無(wú)法保證網(wǎng)絡(luò)數(shù)據(jù)的可靠傳輸,L2TP使用Nr(下一個(gè)希望接受的信息序列號(hào))和Ns(當(dāng)前發(fā)送的數(shù)據(jù)包序列號(hào))字段進(jìn)行流量和差錯(cuò)控制。雙方通過(guò)序列號(hào)來(lái)確定數(shù)據(jù)包的順序和緩沖區(qū),一旦丟失數(shù)據(jù),根據(jù)序列號(hào)可以進(jìn)行重發(fā)。
作為PPP的擴(kuò)展協(xié)議,L2TP支持標(biāo)準(zhǔn)的安全特性CHAP和PAP,可以進(jìn)行用戶(hù)身份認(rèn)證。L2TP定義了控制包的加密傳輸,每個(gè)被建立的隧道分別生成一個(gè)獨(dú)一無(wú)二的隨機(jī)鑰匙,以便對(duì)付欺騙性的攻擊,但是它對(duì)傳輸中的數(shù)據(jù)并不加密。
通用路由封裝
通用路由封裝(GRE:Generic Routing Encapsulation)在RFC1701/RFC1702中定義,它規(guī)定了怎樣用一種網(wǎng)絡(luò)層協(xié)議去封裝另一種網(wǎng)絡(luò)層協(xié)議的方法。GRE的隧道由兩端的源IP地址和目的IP地址來(lái)定義,它允許用戶(hù)使用IP封裝IP、IPX、AppleTalk,并支持全部的路由協(xié)議,如RIP、OSPF、IGRP、EIGRP。通過(guò)GRE,用戶(hù)可以利用公用IP網(wǎng)絡(luò)連接IPX網(wǎng)絡(luò)和AppleTalk網(wǎng)絡(luò),還可以使用保留地址進(jìn)行網(wǎng)絡(luò)互聯(lián),或?qū)W(wǎng)隱藏企業(yè)網(wǎng)的IP地址。
GRE的包頭包含了協(xié)議類(lèi)型(用于標(biāo)明乘客協(xié)議的類(lèi)型);校驗(yàn)和包括了GRE的包頭和完整的乘客協(xié)議與數(shù)據(jù);密鑰(用于接收端驗(yàn)證接收的數(shù)據(jù));序列號(hào)(用于接收端數(shù)據(jù)包的排序和差錯(cuò)控制)和路由信息(用于本數(shù)據(jù)包的路由)。
GRE只提供了數(shù)據(jù)包的封裝,它沒(méi)有防止網(wǎng)絡(luò)偵聽(tīng)和攻擊的加密功能。所以在實(shí)際環(huán)境中它常和IPsec一起使用,由IPsec為用戶(hù)數(shù)據(jù)的加密,給用戶(hù)提供更好的安全服務(wù)。
IP安全協(xié)議
IP安全協(xié)議(IPSec:IP Security)實(shí)際上是一套協(xié)議包而不是一個(gè)獨(dú)立的協(xié)議,這一點(diǎn)對(duì)于我們認(rèn)識(shí)IPSec是很重要的。從1995年開(kāi)始IPSec的研究以來(lái),IETF IPSec工作組在它的主頁(yè)上發(fā)布了幾十個(gè)Internet草案文獻(xiàn)和12個(gè)RFC文件。其中,比較重要的有RFC2409 IKE(互連網(wǎng)密鑰交換)、RFC2401 IPSec協(xié)議、RFC2402 AH驗(yàn)證包頭、RFC2406 ESP加密數(shù)據(jù)等文件。
IPSec安全體系包括3個(gè)基本協(xié)議:AH協(xié)議為IP包提供信息源驗(yàn)證和完整性保證;ESP協(xié)議提供加密機(jī)制;密鑰管理協(xié)議(ISAKMP)提供雙方交流時(shí)的共享安全信息。ESP和AH協(xié)議都有相關(guān)的一系列支持文件,規(guī)定了加密和認(rèn)證的算法。最后,解釋域(DOI)通過(guò)一系列命令、算法、屬性和參數(shù)連接所有的IPSec組文件。
隧道技術(shù)應(yīng)用
虛擬專(zhuān)用網(wǎng)絡(luò)
VPN是Internet技術(shù)迅速發(fā)展的產(chǎn)物,其簡(jiǎn)單的定義是,在公用數(shù)據(jù)網(wǎng)上建立屬于自己的專(zhuān)用數(shù)據(jù)網(wǎng)。也就是說(shuō)不再使用長(zhǎng)途專(zhuān)線(xiàn)建立專(zhuān)用數(shù)據(jù)網(wǎng),而是充分利用完善的公用數(shù)據(jù)網(wǎng)建立自己的專(zhuān)用網(wǎng)。它的優(yōu)點(diǎn)是,既可連到公網(wǎng)所能達(dá)到的任何地點(diǎn),享受其保密性、安全性和可管理性,又降低網(wǎng)絡(luò)的使用成本。
VPN依靠Internet服務(wù)提供商(ISP)和其他的網(wǎng)絡(luò)服務(wù)提供商(NSP)在公用網(wǎng)中建立自己的專(zhuān)用“隧道”,不同的信息來(lái)源,可分別使用不同的“隧道”進(jìn)行傳輸。
新出臺(tái)的標(biāo)準(zhǔn)ISE CHEIP6版保證用戶(hù)數(shù)據(jù)的安全加密。由于用戶(hù)對(duì)企業(yè)網(wǎng)傳輸個(gè)人數(shù)據(jù)很敏感,因此集成度更高的VPN技術(shù)不久將會(huì)流行起來(lái)。
Linux 中的IP隧道
為了在TCP/IP網(wǎng)絡(luò)中傳輸其他協(xié)議的數(shù)據(jù)包,Linux采用了一種IP隧道技術(shù)。在已經(jīng)使用多年的橋接技術(shù)中就是通過(guò)在源協(xié)議數(shù)據(jù)包上再套上一個(gè)IP協(xié)議帽來(lái)實(shí)現(xiàn)。
利用IP隧道傳送的協(xié)議包也包括IP數(shù)據(jù)包,Linux的IPIP包封指的就是這種情況。移動(dòng)IP(Mobile-IP)和IP多點(diǎn)廣播(IP-Multicast)是兩個(gè)流行的例子。目前,IP隧道技術(shù)在VPN中也顯示出極大的魅力。
移動(dòng)IP是在全球Internet上提供移動(dòng)功能的一種服務(wù),它允許節(jié)點(diǎn)在切換鏈路時(shí)仍可保持正在進(jìn)行的通信。它提供了一種IP路由機(jī)制,使移動(dòng)節(jié)點(diǎn)以一個(gè)永久的IP地址連接到任何鏈路上。與特定主機(jī)路由技術(shù)和數(shù)據(jù)鏈路層方案不同,移動(dòng)IP還要解決安全性和可靠性問(wèn)題,并與傳輸媒介無(wú)關(guān)。移動(dòng)IP的可擴(kuò)展性使其可以在整個(gè)互聯(lián)網(wǎng)上應(yīng)用。
GPRS隧道協(xié)議
隨著隧道技術(shù)的發(fā)展,各種業(yè)務(wù)已經(jīng)開(kāi)始根據(jù)本業(yè)務(wù)的特點(diǎn)制定相應(yīng)的隧道協(xié)議。GPRS(General Packet Radio Service)中的隧道協(xié)議GTP(GPRS Tunnel Protocol)就是一例。
GPRS是GSM提供的分組交換和分組傳輸方式的新的承載業(yè)務(wù),可以應(yīng)用在PLMN(Public Land Mobile Network)內(nèi)部或應(yīng)用在GPRS網(wǎng)與外部互聯(lián)分組數(shù)據(jù)網(wǎng)(IP、X.25)之間的分組數(shù)據(jù)傳送,GPRS能提供到現(xiàn)有數(shù)據(jù)業(yè)務(wù)的無(wú)縫連接。它在GSM網(wǎng)絡(luò)中增加了兩個(gè)節(jié)點(diǎn):服務(wù)GPRS支持節(jié)點(diǎn)(SGSN─serving GPRS support node)和網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN─Gateway GPRS support node)。
SGSN是GPRS骨干網(wǎng)與無(wú)線(xiàn)接入網(wǎng)之間的接口,它將分組交換到正確的基站子系統(tǒng)(BSS)。其任務(wù)包括提供對(duì)移動(dòng)臺(tái)的加密、認(rèn)證、會(huì)話(huà)(session)管理、移動(dòng)性管理和邏輯鏈路管理。它也提供到HLR等數(shù)據(jù)庫(kù)的連接。
通過(guò)GPRS隧道協(xié)議可為多種協(xié)議的數(shù)據(jù)分組通過(guò)GPRS骨干網(wǎng)提供隧道。GTP根據(jù)所運(yùn)載的協(xié)議需求,利用TCP或UDP協(xié)議來(lái)分別提供可靠的連接(如支持X.25的分組傳輸)和無(wú)連接服務(wù)(如IP分組)。