L2TP(Layer Two TunnelingProtocol,第二層通道協議)是VPDN(虛擬專用撥號網絡)技術的一種,專門用來進行第二層數據的通道傳送,即將第二層數據單 元,如點到點協議(PPP)數據單元,封裝在IP或UDP載荷內,以順利通過包交換網絡(如Internet),抵達目的地。
L2TP提供 了一種遠程接入訪問控制的手段,其典型的應用場景是:某公司員工通過PPP撥入公司本地的網絡訪問服務器(NAS),以此接入公司內部網絡,獲取IP地址 并訪問相應權限的網絡資源;該員工出差到外地,此時他想如同在公司本地一樣以內網IP地址接入內部網絡,操作相應網絡資源,他的做法是向當地ISP申請 L2TP服務,首先撥入當地ISP,請求ISP與公司NAS建立L2TP會話,并協商建立L2TP隧道,然后ISP將他發送的PPP數據通道化處理,通過 L2TP隧道傳送到公司NAS,NAS就從中取出PPP數據進行相應的處理,如此該員工就如同在公司本地那樣通過NAS接入公司內網。
從上 述應用場景可以看出L2TP隧道是在ISP和NAS之間建立的,此時ISP就是L2TP訪問集中器(LAC),NAS也就是L2TP網絡服務器 (LNS)。LAC支持客戶端的L2TP,用于發起呼叫,接收呼叫和建立隧道,LNS則是所有隧道的終點。在傳統的PPP連接中,用戶撥號連接的終點是 LAC,L2TP使得PPP協議的終點延伸到LNS。
L2TP本質上是一種隧道傳輸協議,它使用兩種類型的消息:控制消息和數據隧道消息。 控制消息負責創建、維護及終止L2TP隧道,而數據隧道消息則負責用戶數據的真正傳輸。L2TP支持標準的安全特性CHAP和PAP,可以進行用戶身份認 證。在安全性考慮上,L2TP僅定義了控制消息的加密傳輸方式,對傳輸中的數據并不加密。
IPsec(IPSecurity),顧名思義, 是保障IP層安全的網絡技術,它并不是指某一項具體的協議,而是指用于實現IP層安全的協議套件集合。IPsec實質上也是一種隧道傳輸技術,它將IP分 組或IP上層載荷封裝在IPsec報文內,并根據需要進行加密和完整性保護處理,以此保證數據在公共網絡中傳輸過程的安全。
IPsec支持 兩種協議標準,鑒別首部(AuthenticaionHeader,AH)和封裝安全有效載荷(Encapsulation SecurityPayload,ESP):
AH可證明數據的起源地(數據來源認證)、保障數據的完整性以及防止相同的數據包不斷重播(抗 重放攻擊);
ESP能提供的安全服務則更多,除了上述AH所能提供的安全服務外,還能提供數據機密性,這樣可以保證數據包在傳輸過程中不被 非法識別;
AH與ESP提供的數據完整性服務的差別在于,AH驗證的范圍還包括數據包的外部IP頭。
為正確實施IPsec封 裝及解封裝IP數據包,必須建立IPsec隧道,也就是需要定義加密或鑒別算法、算法使用的密鑰、密鑰保持有效的生命期以及授權可用的數據訪問策略等信 息,這也被稱為"安全聯盟(SecurityAssociation,SA)"。
通常采用IKE(Internet KeyExchange,因特網密鑰交換)協議來協商建立IPsec隧道。IKE協商實際上有兩個階段:
第一階段協商,是在IPsec通信 雙方之間建立IKE的安全通道,即建立IKESA,這個過程有兩種模式,一種是常用的主模式(MainMode),能提供身份保護服務,但需要較多的消息 交互(多達六條消息),另一種是比較迅速的積極模式(AggressiveMode),但協商能力較弱,也不能提供身份保護功能;
第二階段 協商是在IKESA的保護下進行的,其目的是為特定的通信流協商IPsec安全通道,即建立IPsecSA。
由此可以看出IKE的主要作用 是負責建立、維護和終止IPsec安全通道,通過其他的一些消息交換過程,可以幫助維持IPsec通道的可用性和安全性,服務于IPsec數據的安全傳 輸。
這與L2TP控制消息幫助建立和維護L2TP數據傳輸通道的作用有異曲同工之妙。兩者都可以提供通信雙方之間的身份認證,并且都可以在 提供完整性保護和機密性服務的環境下進行安全的有關參數協商和消息交互;同時還能根據各自的特點,提供一種?;睿╧eepalive)機制來負責協調隧道 雙方的狀態的同步,提高隧道的容錯性和穩定性,所不同的是,IKE是充分利用IPsec通信流存在即對方活躍狀態的證明的特點,以此減少?;顖笪耐ㄐ帕?, 這種方式也被稱為"DPD(DeadPeerDetection,死亡對端探測)"。此外IKE的協商能力也遠大于L2TP控制消息交互。
L2TP 與IPsec的一個最大的不同在于它不對隧道傳輸中的數據進行加密,從而沒法保證數據傳輸過程中的安全。因此這個時候,L2TP常和IPsec結合使用, 先使用L2TP封裝第二層數據,再使用IPsec封裝對數據進行加密和提供完整性保護,由此保證通信數據安全傳送到目的地。
L2TP由于封 裝的是第二層協議數據,因此可以認為是一種L2VPN(第二層VPN)技術。最新的L2TP協議草案(L2TPv3)表明,L2TP不僅可以封裝PPP數 據單元,還可以封裝其他第二層協議數據,如Ethernet(以太網)、FrameRelay(幀中繼)等。因此L2TP的作用已經擴展到將異地的局域網 通過L2TP隧道跨越公共網絡連接在一起,也就是實現異地局域網互聯,這樣可以將某些局域網技術如VLAN(虛擬局域網)應用到異地局域網之間,從而利用 公共網絡來模擬局域網。當然其數據傳輸過程中的安全性仍然依賴于IPsec來提供。同時由于對數據進行了層層封裝,這樣難免影響效率,導致性能不高。
IPsec 封裝的是IP層數據,或是IP上層協議載荷,因此可以認為是一種構建L3VPN(第三層VPN)的技術。其最大的特點是為數據傳輸過程提供了機密性、完整 性保護和數據源驗證,從而確保承載于公共網絡的VPN的安全性和可靠性,同時由于添加的協議頭并不多,且還可以利用硬件加密卡加速IPsec報文的處理, 因而效率上得到了很大的提高;此外IKE協商過程能提供比較完備的用戶身份認證,這就使得可以對IPsec用戶訪問實施有力控制,從而進一步保證了網絡的 安全。
因此就一般企業用戶構建安全的VPN而言,應該使用IPsec技術,當然如果需要實現安全的VPDN,就應該采用 L2TP+IPsec組合技術。