隧道技術

隧道技術

隧道技術(Tunneling)是一種通過使用網際網路的基礎設施在網路之間傳遞數據的方式。使用隧道傳遞的數據(或負載)可以是不同協定的數據幀或包。隧道協定將其它協定的數據幀或包重新封裝然後通過隧道傳送。新的幀頭提供路由信息,以便通過網際網路傳遞被封裝的負載數據。

基本介紹

  • 中文名:隧道技術
  • 外文名:Tunneling
  • 實現:隱藏私有的網路地址
  • 套用概述:提供PPTP客戶機
作用,套用概述,PPTP協定,轉發協定,隧道協定,L2TP介紹,L2TP的建立過程,路由封裝,安全協定,VPN協定,GPRS協定,在Linux 中,在移動IP中,IPv4與IPv6互通隧道技術,

作用

這裡所說的隧道類似於點到點的連線。這種方式能夠使來自許多信息源的網路業務在同一個基礎設施中通過不同的隧道進行傳輸。隧道技術使用點對點通信協定代替了交換連線,通過路由網路來連線數據地址。隧道技術允許授權移動用戶或已授權的用戶在任何時間、任何地點訪問企業網路。
通過隧道的建立,可實現:
* 將數據流強制送到特定的地址
* 隱藏私有的網路地址
* 在IP網上傳遞非IP數據包
* 提供數據安全支持
進入21世紀以來出現了一些新的隧道技術,並在不同的系統中得到運用和拓展。

套用概述

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

PPTP協定

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介紹

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的建立過程

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安全協定(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協定

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

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分組)。
將一個幀封裝到不同類型的幀中,就成為隧道技術。

在Linux 中

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

在移動IP中

在家鄉網路中,移動主機的操作與標準的固定主機相同;當移動主機移動到外地網路,且完成移動IP的註冊過程後,可以在外地網路上繼續通信。在外地網路上的通信需要採用隧道技術。
封裝是隧道技術的核心,所謂封裝是指把一個完整的IP分組當做數據,放在另一個IP分組內,原IP分組的IP位址稱為內部地址,新的IP分組的IP位址稱為外部地址。
隧道技術就是在隧道的起點將IP分組封裝,並將外部地址設定為隧道終點的IP位址。封裝的IP分組經標準的IP路由算法傳遞到隧道的終點。在隧道的終點,將封裝的IP分組進行拆分。
家鄉代理和外地代理必須能夠使用IP-in-IP封裝來支持分組的隧道傳輸。移動IP協定另外提供了兩種可選的封裝方式,即最小封裝和GRE封裝。

IPv4與IPv6互通隧道技術

這裡指的隧道技術,是指基於IPv4隧道來傳送IPv6數據報文的隧道技術。為了實現在IPv4海洋中傳遞IPv6信息,可以將IPv4作為隧道載體,將IPv6報文整個封裝在IPv4數據報文中,使IPv6報文能夠穿透IPv4海洋到達另一個IPv6小島。
關於這個技術來打個比方,一個快遞公司收件之後,發現目的地自己沒有站點,無法投送,則將此包裹轉交給能到達目的地的快遞公司(例如中國郵政)來投遞。也就是說將快遞公司已經封裝好的包裹(類似於IPv6報文),外面再用中國郵政的包裝再封裝一次(類似於封裝成IPv4報文),以便於這個包裹能在中國郵政的系統(IPv4海洋)中被正常投遞。
隧道技術比雙協定棧技術和協定轉換技術(也都是用來進行IPv4和IPv6轉換和過渡的技術)更複雜些,它的工作過程如下圖所示。
隧道技術示意圖隧道技術示意圖
  1. 節點A要向節點B傳送IPv6報文,但是它們之間有一片IPv4海洋,首先兩端都需要管理員手動配置建立一條隧道。
  2. 當節點A傳送IPv6報文給節點B時,節點A作為隧道的起始端將IPv6報文封裝在以節點B的IPv4地址為目的地址、源地址為自己的IPv4地址的IPv4報文中,並發往IPv4海洋。
  3. 在IPv4海洋中,這個報文和普通IPv4報文一樣經過IPv4的轉發到達節點B。
  4. 節點B收到此報文之後,解除IPv4封裝,取出其中的IPv6報文交由自己的IPv6協定棧處理。
採用這種方式需要管理員在網路的兩端進行配置,即在隧道的入口和出口進行參數設定,這種方式對管理員要求較高,管理工作量大,容易出錯,所以一般在隧道數量不多的時候採用。

相關詞條

熱門詞條

聯絡我們