虛擬隧道協定

虛擬隧道協定

虛擬隧道協定隧道技術是一種通過公共網路的基礎設施,在專用網路或專用設備之間實現加密數據通信的技術。通信的內容可以是任何通信協定的數據包。隧道協定將這些協定的數據包重新封裝在新的包中傳送。新的包頭提供了路由信息,從而使封裝的數據能夠通過公共網路傳遞,傳遞時所經過的邏輯路徑稱為隧道。當數據包到達通信終點後,將被拆封並轉發到最終目的地。隧道技術是指包括數據封裝、傳輸和數據拆封在內的全過程。

基本概念

虛擬隧道協定虛擬隧道協定

虛擬專用網路
指的是企業內部的局域和廣域網絡。在過去,大型企業為了網路通訊的需求,往往必須投資人力、物力及財力,來建立企業專用的廣域網路通訊管道,或採用長途電話甚至國際電話的昂貴撥接方式。在Internet蓬勃發展的現在,企業為了維持競爭力,通常需要將專用網路與Internet間適當地整合在一起,但是又必須花費一筆Internet連線的固定費用。基本上Internet是建立在公眾網路的基礎之上,如果企業可以將專用網路中的廣域網路連結與遠程撥號連線這兩部份,架構在Internet這一類的公眾網路之上,同時又可以維持原有的功能與安全需求的話,則將可以節省下一筆不算小的通訊費用支出。這個問題的解決方法,可以通過所謂的虛擬專用網路(VirtualPrivateNetwork,VPN)來達成。
隧道(Tunneling)
隧道就是使用網路的基礎設施,將一個網路上的資料通過另一個網路傳送的方法。如前面所提到的虛擬專用網路的不同套用中,在兩端之間所建立起來的虛擬專用網路,就是一種隧道技術的運用。

虛擬隧道協定隧道傳輸過程
若A網路在B網路上建立一條隧道(tunnel)。A網路上在隧道兩端的計算機之間要互相傳遞資料,就必須有一致的通訊協定,但資料在通過隧道傳送的過程中,卻必須使用B網路所用的通訊協定。我們稱要傳送的資料為載量(payload),對B網路來說,載量可以是A網路所用通訊協定的幀(frame)或數據包(packet)。為了讓載量可以在B網路上的隧道端點(tunnelendpoint)之間傳送,隧道協定(tunnelingprotocol)必須將該幀或數據包加上一個額外的標頭再封裝起來。這個額外標頭會提供路徑選擇的信息,讓封裝後的載量可以在B網路上傳送到隧道的另一端點去。載量到達隧道的另一端點時,就會解除封裝,還原成原來的幀或數據包,繼續傳送到A網路另一端最終的目的地去。隧道(tunneling)技術包括了上述的封裝、傳輸及解除封裝整個過程。
B網路在其中所扮演的是一個傳輸網路,它可以是Internet這個目前最為人所知,最普及且經濟的網路服務,但也可以用其它任何可以當作傳輸網路的公眾或專用網路替代。

用途

VPN技術可以讓公司員工在家或在公司外,通過公眾網路(例如Internet)來和遠程的公司伺服器建立連線。從遠程用戶的觀點來看,VPN是其計算機與公司伺服器兩者之間的點對點連線。
VPN技術也可以讓公司通過公眾網路(例如Internet)連線到分公司或其它公司。從公司網路的觀點來看,VPN是兩個公司計算機網路之間的廣域網路連結。
在這兩種狀況下,雖然通訊的過程事實上是通過公眾網路進行的,但若經過特別設計,其安全性就可以像專用網路通訊一樣可以信賴,甚至更好。
當然,VPN技術也可以套用在Intranet之上,以便將在公司內部中具備有極機密性質的部門網路,和公司內其它網路之間隔離開來。使用VPN技術,系統管理員可以確保只有在公司網路上具有適當憑證的用戶,才能通過VPN伺服器來建立和該機密部門網路之間的VPN連線,並且獲得訪問該部門機密資料的許可權。除此之外,通過VPN進行的所有通訊均可以加密。未具備適當憑證的用戶,是無法查看這些資料與通訊的。

基本需求

VPN是Client/Server架構的技術,一個VPN解決方案至少必須提供下列功能︰
·用戶驗證-這個解決方案必須驗證用戶的身份,以及嚴格限制只有經過授權的用戶才可以通過VPN訪問伺服器端的資源和信息。另外,這個解決方案也必須提供審核及記錄,以便顯示何人在何時訪問何種信息。
·地址管理-這個解決方案必須指派一個專用網路上的地址給客戶端,同時必須確保這些私人地址的機密性。
·資料加密-在公眾網路上傳送的資料,必須經過處理,讓網路上其它未經授權的人無法訪問。
·鑰匙管理-這個解決方案必須能夠產生及更新客戶端及伺服器端的加密鑰匙。
·多重協定支持-這個解決方案必須能夠處理公眾網路上所常使用的通訊協定。這些協定包括InternetProtocol(IP)、InternetPacketExchange(IPX)等等。
在Windows2000中,提供了數種解決方案,其中以Point-to-PointTunnelingProtocol(PPTP)或Layer2TunnelingProtocol(L2TP)為基礎的InternetVPN解決方案,不但能符合以上所有基本需求,同時還可充分享受到Internet普及所帶來的好處。另外IPSecurityProtocol(IPSec)TunnelMode的解決方案,雖然只符合以上所說明的部份需求,但在某些特定情況下,仍然是可以適用的。下面就為大家介紹其觀念。

隧道的創建

創建隧道的過程類似於在雙方之間建立會話,隧道的兩個端點必須同意創建隧道並協商隧道的各種配置變數,如地址分配,加密或壓縮參數。絕大多數情況下,通過隧道傳輸的數據都使用基於數據包的協定傳送。
隧道維護協定被用來作為管理隧道的機制。要想建立一條完整的隧道必須滿足如下要求。
(1)用戶驗證
數據包在隧道中以點到點的方式進行傳輸,這就要求對隧道的兩個端點進行驗證,保證只有符合要求的兩個端點才能通過隧道傳輸數據信息。
(2)令牌卡(TokenCard)支持
通過使用擴展驗證協定(EAP),第二層隧道協定(如PPTP、L2TP)能夠支持多種驗證方法,包括一次性口令(one-timePassowrd),加密計算器(CryptographicCalculator)和智慧卡等。第3層隧道協定也支持使用類似的方法,例如,IPSec協定通過ISAKMP/Oakley協商確定公共密鑰證書驗證。
(3)動態地址分配
第2層隧道協定支持在網路控制協定(NCP)協商機制的基礎上動態分配客戶地址。第3層隧道協定通常假定隧道建立之前進行了地址分配。目前IPSec隧道模式下的地址分配方案仍在開發之中。
(4)數據壓縮
第2層隧道協定支持基於PPP的數據壓縮方式。例如,微軟的PPTP和L2TP方案使用微軟點對點加密協定(MPPE)。目前,IETP也正在開發套用於第3層隧道協定的類似數據壓縮機制。
(5)數據加密
第2層隧道協定支持基於PPP的數據加密機制,如微軟的PPTP方案支持在RSA/RC4算法的基礎上選擇使用MPPE壓縮標準。第3層隧道協定可以使用類似方法,例如,IPSec通過ISAKMP/Oakley協商確定幾種可選的數據加密方法。
微軟的L2TP協定使用IPSec加密保障隧道客戶端和伺服器之間數據流的安全。
(6)密鑰管理
作為第2層協定的MPPE依靠驗證用戶時生成的密鑰,定期對其更新。IPSec在ISAKMP交換過程中公開協商公用密鑰,同樣對其進行定期更新。
(7)多協定支持
第2層隧道協定支持多種負載數據協定,從而使隧道客戶能夠訪問使用IP、IPX或NetBEUI等多種協定的企業網路。相反,第3層隧道協定,如IPSec隧道模式只能支持使用IP協定的目標網。
隧道一旦建立,數據就可以通過隧道傳送。隧道客戶端和伺服器使用隧道數據傳輸協定準備傳輸數據。例如,當隧道客戶端向伺服器端傳送數據時,客戶端首先給負載數據加上一個隧道數據傳送協定的包頭,然後把封裝的數據通過公共網路傳送,並由公共網路將數據傳送到隧道盡頭的伺服器端。隧道伺服器端收到數據包之後,去除隧道數據傳輸協定包頭,然後將負載數據轉發到目的地。

隧道的功能

虛擬專用網允許網路協定的轉換和對來自不同網路的數據包進行區別,以便指定特定的目的地接受指定級別的服務。因此,在隧道的建立過程中,必須能夠使來自許多不同網路的數據包在同一個公共網路中通過不同的專用隧道進行傳輸。這種隧道技術使用點對點通信協定代替了交換連線,通過路由網路來連線數據地址。隧道技術允許授權移動用戶或已授權的用戶在任何時間地點訪問企業網路。
總的來說,網路隧道的建立應該肯有以下功能。
將不同網路的數據包強制到特定的目的地,以保證數據的正確傳輸。
隱藏用戶私有的網路地址,以保證用戶網路傳輸的安全。
在IP網上傳輸非IP協定數據包,以保證採用不同協定的網路可以通過公共網路組建自己的VPN.
提供數據安全支持,對數據包重新進行加密封裝,以保證數據在隧道傳輸過程中的安全和保密性。

發展

·通過IP網路的SNA隧道(SNAtunnelingoverIPinternetworks)-SystemNetworkArchitecture(SNA)的幀會被封裝上UDP及IP標頭,再通過公司的IP網路傳送。
·通過IP網路的IPX隧道(IPXtunnelingforNovellNetWareoverIPinternetworks)-IPX數據包會被封裝上UDP及IP標頭,再通過IP網路傳送。
最近幾年又推出了許多新的隧道技術。包括︰
·點對點隧道協定(Point-to-PointTunnelingProtocol,PPTP)-PPTP可以為IP、IPX或NetBEUI傳輸加密,然後封裝上IP標頭,再通過公司IP網路或公眾IP網路如Internet傳送。
·第二層隧道協定(Layer2TunnelingProtocol,L2TP)-L2TP可以為IP、IPX或NetBEUI傳輸加密,封裝上適當標頭後,將它們通過任何支持點對點資料流傳送的網路,例如IP、X.25、FrameRelayATM傳送。
·IPSec隧道模式(InternetProtocolSecurity(IPSec)TunnelMode)-IPSec隧道模式可以為IP載量加密,然後封裝上IP標頭,再通過公司IP網路或公眾IP網路如Internet傳送。

運作

隧道是由客戶端及伺服器端構成,兩端必須使用相同的隧道協定(tunnelingprotocol)工作。大部份的隧道上,使用隧道傳輸協定來傳送數據,而隧道維護協定則可視為一種管理隧道的機制。隧道技術可以以第二層或第三層的隧道協定為基礎,這裡所謂的層是對應到OpenSystemsInterconnection(OSI)參考模型的。

虛擬隧道協定虛擬隧道協定
第二層對應到數據鏈路(Data-Link)層,以幀(frame)為單元交換資料。PPTP、L2TP及Layer2Forwarding(L2F)都是第二層的隧道協定,這些協定都會將載量封裝在「點對點通訊協定(PPP)」幀中,再以隧道協定封裝,再通過網路傳送。因為第二層隧道協定是以PPP通訊協定為基礎,因此也就繼承了一些很有用的功能,例如用戶驗證、動態地址指派、數據壓縮、數據加密等。若再配合使用ExtensibleAuthenticationProtocol(EAP),就可以支持各種先進的用戶驗證方法,如一次性密碼及智慧卡等。
第三層對應到網路(Network)層,以數據包(packet)為資料交換單位。IP-over-IP及IPSec隧道模式,就是第三層隧道協定的範例,這些協定會先將IP數據包處理(如壓縮、加密)後,封裝上額外的IP標頭,然後再將它們通過IP網路傳送。
對於第二層隧道技術來說,隧道就像是一個session。隧道的兩個端點必須同意該隧道的建立,並協商兩者間的設定,例如地址的指派或加密、壓縮的參數等。隧道必須具有建立、維護,然後終止的過程。
第三層隧道技術通常會假設所有關於設定方面的問題,並非在通訊過程中協商,而會在事前以手動方式處理。對於這些協定來說,可能就沒有隧道維護階段。
一但隧道建立之後,就可以開始傳送數據。隧道的客戶端或伺服器端會使用隧道傳輸協定來準備要傳送的資料,當資料到達另一端之後,就會移除隧道傳輸協定的標頭,再將資料轉送到目標網路上。

類型

依隧道建立方式的不同,我們可以分為自願型隧道及義務型隧道兩種類型。
自願型隧道(VoluntaryTunneling)
當用戶使用隧道客戶端軟體,發出建立虛擬連線的請求,來連線到目標隧道伺服器時,由於用戶的計算機就是隧道的端點之一,且自願作為隧道的客戶端,所以稱為自願型隧道。為了達到此功能,客戶端計算機上必須安裝適當的隧道協定。
在撥接的情況下,客戶端必須在建立隧道之前,先建立一個撥號連線到網路。這是最常見的隧道類型。最佳的例子,就是撥接到Internet的用戶,他們必須先撥接到ISP連上Internet,才能建立通過Internet的隧道。
對於和LAN連線的計算機來說,客戶端已經與網路連線,而該網路已提供將資料傳送到隧道伺服器端的服務。這種情況通常發生在公司LAN上的用戶,公司LAN已連上Internet,因此他們不需要撥號連線,就能直接建立通過Internet的隧道。認為VPN需要撥號連線是很常見的錯誤觀念。事實上它只需要IP網路,使用撥號連線到Internet,是準備建立隧道的預備動作,但並不屬於隧道協定本身的一部份。
義務型隧道(CompulsoryTunneling)
某些具備VPN能力的遠程訪問伺服器(RemoteAccessServer),可以被設定作為隧道的客戶端,它與隧道伺服器端間建立隧道,且義務為遠程撥接用戶服務,所以稱為義務型隧道。用戶的計算機不再是一個隧道端點,取而代之的是位於用戶計算機及隧道伺服器之間的遠程訪問伺服器。用戶計算機上不需要安裝隧道客戶端軟體,也不需要隧道協定,因此我們也可以說,用戶被迫(被迫與義務是同義的)使用遠程訪問伺服器所代為建立的隧道。
隨著支持隧道協定的不同,這種設備也有不同的名稱,如PPTP的FrontEndProcessor(FEP)、L2TP的L2TPAccessConcentrator(LAC)或IPSec的IPSecurityGateway。下圖是以Internet、PPTP為例。
FEP可被設定成利用隧道來處理所有的撥接客戶端。或者,FEP也可被設定成根據用戶名稱或目的地不同,利用隧道來處理個別的撥接客戶端。FEP與隧道伺服器之間的隧道,可以被多個撥接客戶端所共享,因此該隧道會等到最後一位隧道用戶中斷連線之後才終止。

相關詞條

相關詞條

相關搜尋

熱門詞條

聯絡我們