VPN的隧道技術
對於構建VPN來說,隧道技術是一個關鍵技術。它用來在IP公網中國仿真條點到點的通路,實現兩個節點間(VPN網關之間,或VPN網關與VPN遠程能過戶之間)的安全通信,使數據包在公共網路上的專用隧道內出傳輸。
隧道的基本組成包括:隧道啟動結點;隧道終結結點;IP網等路由的分組網路。
隧道的啟動和終止結點可由許多網路設備和軟體來實現。例如:ISP接入伺服器、企業網防火牆,或者其他支持VPN的設備主機等。這裡統稱為VPN結點,其功能還可能包括:防火牆和地址轉換、數據加密、身份鑑別和授權的功能。
隧道協定
隧道技術的實質是如何利用一種網路層的協定來傳輸另一種網路層的協定,其基本功能是封裝和加密,主要利用隧道協定來實現。封裝是構建隧道的基本手段。從隧道的兩端來看,封裝就是用來創建、維持和撤銷一個隧道,來實現信息的隱蔽和抽象。而如果流經隧道的數據不加密,那么整個隧道就暴露在公共網路中,VPN的安全性和私有性就得不到體現。
網路隧道技術涉及了3種網路協定:網路隧道協定、隧道協定下面的承載協定和隧道協定所承載的被承載協定。如圖所示
隧道協定作為VPN IP層的底層,將VPN IP分組進行安裝封裝;隧道協定同時作為公用IP網的一種特殊形式,將封裝的VPN分組利用公網內的IP協定棧進行傳輸,以實現隧道內的功能。隧道協定在這個協定體系中起著承上啟下的作用。
隧道協定存在多種可能的實現方式,按照工作的層次,可分為兩類:一類是二層隧道協定,用於傳輸二層網路協定,它主要套用於構建撥號VPN(Access VPN);另一類是三層隧道協定,用於傳輸三層網路協定,它主要套用於構建內部網VPN(Intranet VPN)和外聯網(VPN Extranet VPN)。
二層隧道協定
二層隧道協定指用公用網路來封裝和傳輸二層(數據鏈路層)協定,此時在隧道內傳輸的是數據鏈路層的幀。工作原理如圖所示
在點到點的二層鏈路上,最常用的二層協定是PPP協定,隧道協定實現中,首先將IP分組封裝在二層的PPP協定幀中,也就是會所,先把各種網路協定封裝在PPP中,再把整個數據包裝入二層隧道協定中。這種雙層封裝方法形成的數據包在公用網路中傳輸。
第二層隧道協定具有簡單易行的優點,但是他沒的可擴展性不太好,而且提供內在的安全機制安全強度低,因此它們不支持企業和企業的外部客戶以及供應商之間通信的保密性需求,不適合用來構建連線企業內部網和企業的外部客戶和供應商的企業外部網VPN。
三層隧道協定
三層隧道協定是用公用網來封裝和傳輸三層(網路層)協定(如IP、IPX、AppleTalk等),此時在隧道內傳輸的是網路層的分組。三層隧道協定並非是一種很新的技術,早已出現的RFC 1701 通路路由封裝協定就是一個三層隧道協定。IETF制定的IP層加密標準協定IPSec 也是一個三層速到協定,利用IPSec(ESP/AN)的隧道模式構成的VPN隧道。三層隧道協定的協定棧如圖所示,