隧道技術(Tunneling)

thinkyoung發表於2014-10-17

   隧道技術及其應用

  隧道技術(Tunneling)是一種通過使用網際網路絡的基礎設施在網路之間傳遞資料的方式。使用隧道傳遞的資料(或負載)可以是不同協議的資料幀或包。隧道協議將其它協議的資料幀或包重新封裝然後通過隧道傳送。新的幀頭提供路由資訊,以便通過網際網路傳遞被封裝的負載資料。
  這裡所說的隧道類似於點到點的連線。這種方式能夠使來自許多資訊源的網路業務在同一個基礎設施中通過不同的隧道進行傳輸。隧道技術使用點對點通訊協議代替了交換連線,通過路由網路來連線資料地址。隧道技術允許授權移動使用者或已授權的使用者在任何時間、任何地點訪問企業網路。
通過隧道的建立,可實現:
*
將資料流強制送到特定的地址
* 隱藏私有的網路地址
* 在IP網上傳遞非IP資料包
*
提供資料安全支援
近來出現了一些新的隧道技術,並在不同的系統中得到運用和擴充。

隧道技術

  為建立隧道,隧道的客戶機和伺服器雙方必須使用相同的隧道協議。隧道技術可分別以第2層或第3層隧道協議為基礎。第2層隧道協議對應於OSI模型的資料鏈路層,使用幀作為資料交換單位。PPTP(點對點隧道協議)、L2TP(第二層隧道協議)和L2F(第2層轉發協議)都屬於第2層隧道協議,是將使用者資料封裝在點對點協議(PPP)幀中通過網際網路傳送。第3層隧道協議對應於OSI模型的網路層,使用包作為資料交換單位。IPIP(IP
over
IP)以及IPSec隧道模式屬於第3層隧道協議,是將IP包封裝在附加的IP包頭中,通過IP網路傳送。無論哪種隧道協議都是由傳輸的載體、不同的封裝格式以及使用者資料包組成的。它們的本質區別在於,使用者的資料包是被封裝在哪種資料包中在隧道中傳輸。

點對點隧道協議
  PPTP(Point
to Point Tunneling
Protocol)提供PPTP客戶機和PPTP伺服器之間的加密通訊。PPTP客戶機是指執行了該協議的PC機,如啟動該協議的Windows95/98;PPTP伺服器是指執行該協議的伺服器,如啟動該協議的WindowsNT伺服器。PPTP是PPP協議的一種擴充套件。它提供了一種在網際網路上建立多協議的安全虛擬專用網(VPN)的通訊方式。遠端使用者能夠透過任何支援PPTP的ISP訪問公司的專用網。
  通過PPTP,客戶可採用撥號方式接入公用IP網。撥號使用者首先按常規方式撥到ISP的接入伺服器(NAS),建立PPP連線;在此基礎上,使用者進行二次撥號建立到PPTP伺服器的連線,該連線稱為PPTP隧道,實質上是基於IP協議的另一個PPP連線,其中的IP包可以封裝多種協議資料,包括TCP/IP、IPX和NetBEUI。PPTP採用了基於RSA公司RC4的資料加密方法,保證了虛擬連線通道的安全。對於直接連到網際網路的使用者則不需要PPP的撥號連線,可以直接與PPTP伺服器建立虛擬通道。PPTP把建立隧道的主動權交給了使用者,但使用者需要在其PC機上配置PPTP,這樣做既增加了使用者的工作量,又會給網路帶來隱患。另外,PPTP只支援IP作為傳輸協議。

第二層轉發協議
  L2F(Layer
Two Forwarding protocol
)是由Cisco公司提出的可以在多種介質,如ATM、幀中繼、IP網上建立多協議的安全虛擬專用網的通訊。遠端使用者能通過任何撥號方式接入公用IP網,首先按常規方式撥到ISP的接入伺服器(NAS),建立PPP連線;NAS根據使用者名稱等資訊,建立直達HGW伺服器的第二重連線。在這種情況下,隧道的配置和建立對使用者是完全透明的。其體系結構見圖1。

第二層隧道協議
  L2TP(Layer
Two Tunneling
Protocol)結合了L2F和PPTP的優點,允許使用者從客戶端或訪問伺服器端建立VPN連線。L2TP是把鏈路層的PPP幀裝入公用網路設施,如IP、ATM、幀中繼中進行隧道傳輸的封裝協議。其體系結構見圖1。
  Cisco、Ascend、Microsoft和RedBack公司的專家們在修改了十幾個版本後,終於在1999年8月公佈了L2TP的標準RFC2661。目前使用者撥號訪問Internet時,必須使用IP協議,並且其動態得到的IP地址也是合法的。L2TP的好處在於支援多種協議,使用者可以保留原有的IPX、Appletalk等協議或公司原有的IP地址。L2TP還解決了多個PPP鏈路的捆綁問題,PPP鏈路捆綁要求其成員均指向同一個NAS,L2TP則允許在物理上連線到不同NAS的PPP鏈路,在邏輯上的終點為同一個物理裝置。L2TP擴充套件了PPP連線,在傳統的方式中使用者通過模擬電話線或ISDN/ADSL與網路訪問伺服器建立一個第2層的連線,並在其上執行PPP,第2層連線的終點和PPP會話的終點均設在同一個裝置上(如NAS)。L2TP作為PPP的擴充提供了更強大的功能,包括允許第2層連線的終點和PPP會話的終點分別設在不同的裝置上。
  L2TP主要由LAC(L2TP
Access Concentrator)和LNS(L2TP Network
Server)構成。LAC支援客戶端的L2TP,發起呼叫,接收呼叫和建立隧道;LNS是所有隧道的終點。在傳統的PPP連線中,使用者撥號連線的終點是LAC,而L2TP能把PPP協議的終點延伸到LNS。
L2TP的建立過程如圖2。
1.使用者通過公用電話網或ISDN撥號呼叫本地接入伺服器LAC;LAC接受呼叫並進行基本的識別過程,這一過程可以採用幾種標準,如域名、呼叫線路識別(CLID)或撥號ID業務(DNIS)等。
2.當使用者被確認為合法企業使用者時,就建立一個通向LNS的撥號VPN隧道。
3.企業內部的安全伺服器如TACACS+、RADIUS對撥號使用者進行驗證。
4.LNS與遠端使用者交換PPP資訊,分配IP地址。LNS可採用企業專用地址(未註冊的IP地址)或服務提供商提供的地址空間分配IP地址。因為內部源IP地址與目的地IP地址實際上都通過服務提供商的IP網路在PPP資訊包內傳送,企業專用地址對提供者的網路是透明的。
5.端到端的資料從撥號使用者傳到LNS。
在實際應用中,LAC將撥號使用者的PPP幀封裝後,傳送到LNS,後者去掉封裝包頭,取出PPP幀,再去掉PPP幀頭,最後獲得網路層資料包。
L2TP方式給服務提供商和使用者帶來了許多方便。使用者不需要在PC板上安裝專門的客戶端軟體,企業網可以使用未註冊的IP地址,並在本地管理認證資料庫,從而降低了應用成本和培訓維護費用。
與PPTP和L2F相比,L2TP的優點在於提供了差錯和流量控制;L2TP使用UDP封裝和傳送PPP幀。面向無連線的UDP無法保證網路資料的可靠傳輸,L2TP使用Nr(下一個希望接受的資訊序列號)和Ns(當前傳送的資料包序列號)欄位進行流量和差錯控制。雙方通過序列號來確定資料包的順序和緩衝區,一旦丟失資料,根據序列號可以進行重發。
作為PPP的擴充套件協議,L2TP支援標準的安全特性CHAP和PAP,可以進行使用者身份認證。L2TP定義了控制包的加密傳輸,每個被建立的隧道分別生成一個獨一無二的隨機鑰匙,以便對付欺騙性的攻擊,但是它對傳輸中的資料並不加密。

通用路由封裝
  通用路由封裝(GRE:Generic
Routing
Encapsulation)在RFC1701/RFC1702中定義,它規定了怎樣用一種網路層協議去封裝另一種網路層協議的方法。GRE的隧道由兩端的源IP地址和目的IP地址來定義,它允許使用者使用IP封裝IP、IPX、AppleTalk,並支援全部的路由協議,如RIP、OSPF、IGRP、EIGRP。通過GRE,使用者可以利用公用IP網路連線IPX網路和AppleTalk網路,還可以使用保留地址進行網路互聯,或對公網隱藏企業網的IP地址。
  GRE的包頭包含了協議型別(用於標明乘客協議的型別);校驗和包括了GRE的包頭和完整的乘客協議與資料;金鑰(用於接收端驗證接收的資料);序列號(用於接收端資料包的排序和差錯控制)和路由資訊(用於本資料包的路由)。
  GRE只提供了資料包的封裝,它沒有防止網路偵聽和攻擊的加密功能。所以在實際環境中它常和IPsec一起使用,由IPsec為使用者資料的加密,給使用者提供更好的安全服務。

IP安全協議
  IP安全協議(IPSec:IP
Security)實際上是一套協議包而不是一個獨立的協議,這一點對於我們認識IPSec是很重要的。從1995年開始IPSec的研究以來,IETF
IPSec工作組在它的主頁上釋出了幾十個Internet草案文獻和12個RFC檔案。其中,比較重要的有RFC2409 IKE(互連網金鑰交換)、RFC2401
IPSec協議、RFC2402 AH驗證包頭、RFC2406
ESP加密資料等檔案。
  IPSec安全體系包括3個基本協議:AH協議為IP包提供資訊源驗證和完整性保證;ESP協議提供加密機制;金鑰管理協議(ISAKMP)提供雙方交流時的共享安全資訊。ESP和AH協議都有相關的一系列支援檔案,規定了加密和認證的演算法。最後,解釋域(DOI)通過一系列命令、演算法、屬性和引數連線所有的IPSec組檔案。

隧道技術應用

虛擬專用網路
  VPN是Internet技術迅速發展的產物,其簡單的定義是,在公用資料網上建立屬於自己的專用資料網。也就是說不再使用長途專線建立專用資料網,而是充分利用完善的公用資料網建立自己的專用網。它的優點是,既可連到公網所能達到的任何地點,享受其保密性、安全性和可管理性,又降低網路的使用成本。
  VPN依靠Internet服務提供商(ISP)和其他的網路服務提供商(NSP)在公用網中建立自己的專用“隧道”,不同的資訊來源,可分別使用不同的“隧道”進行傳輸。
  新出臺的標準ISE
CHEIP6版保證使用者資料的安全加密。由於使用者對企業網傳輸個人資料很敏感,因此整合度更高的VPN技術不久將會流行起來。

Linux
中的IP隧道
  為了在TCP/IP網路中傳輸其他協議的資料包,Linux採用了一種IP隧道技術。在已經使用多年的橋接技術中就是通過在源協議資料包上再套上一個IP協議帽來實現。
  利用IP隧道傳送的協議包也包括IP資料包,Linux的IPIP包封指的就是這種情況。移動IP(Mobile-IP)和IP多點廣播(IP-Multicast)是兩個流行的例子。目前,IP隧道技術在VPN中也顯示出極大的魅力。
  移動IP是在全球Internet上提供移動功能的一種服務,它允許節點在切換鏈路時仍可保持正在進行的通訊。它提供了一種IP路由機制,使移動節點以一個永久的IP地址連線到任何鏈路上。與特定主機路由技術和資料鏈路層方案不同,移動IP還要解決安全性和可靠性問題,並與傳輸媒介無關。移動IP的可擴充套件性使其可以在整個網際網路上應用。

GPRS隧道協議
  隨著隧道技術的發展,各種業務已經開始根據本業務的特點制定相應的隧道協議。GPRS(General
Packet Radio Service)中的隧道協議GTP(GPRS Tunnel
Protocol)就是一例。
  GPRS是GSM提供的分組交換和分組傳輸方式的新的承載業務,可以應用在PLMN(Public Land Mobile
Network)內部或應用在GPRS網與外部互聯分組資料網(IP、X.25)之間的分組資料傳送,GPRS能提供到現有資料業務的無縫連線。它在GSM網路中增加了兩個節點:服務GPRS支援節點(SGSN─serving
GPRS support node)和閘道器GPRS支援節點(GGSN─Gateway GPRS support
node)。
  SGSN是GPRS骨幹網與無線接入網之間的介面,它將分組交換到正確的基站子系統(BSS)。其任務包括提供對移動臺的加密、認證、會話(session)管理、移動性管理和邏輯鏈路管理。它也提供到HLR等資料庫的連線。
  通過GPRS隧道協議可為多種協議的資料分組通過GPRS骨幹網提供隧道。GTP根據所運載的協議需求,利用TCP或UDP協議來分別提供可靠的連線(如支援X.25的分組傳輸)和無連線服務(如IP分組)。


相關文章