VPN隧道協議-GRE、L2TP、IPSEC

kklvsports發表於2014-05-10

http://blog.sina.com.cn/s/blog_6617106b0100i1b5.html

VPN的概念

VPN(Virtual Private Network)虛擬專用網路,是指在公用網路(例如:Internet)平臺上構築不受地域限制而受企業統一策略控制和管理的企業專用網路。

整個VPN網路的任意兩個節點之間並沒有傳統的專線網路所需的端到端的物理鏈路,而是架構在公用網路平臺上的一種邏輯網路,使用者的資料是在邏輯鏈路中傳輸。虛擬專用網綜合了專用和公用網路的優點,允許有多個站點的公司擁有一個假想的完全專有的網路,而使用公用網路作為其站點之間交流的線路。

VPN實現的兩個關鍵技術是隧道技術和加密技術,同時QoS技術對VPN的實現也至關重要。隧道技術簡單的說就是:原始報文在A地進行封裝,到達B地後把封裝去掉還原成原始報文,這樣就形成了一條由A到B的通訊隧道。

 

L2TP(Layer Two Protocol,第二層隧道協議)

L2TP可以讓使用者從客戶端或訪問伺服器端發起VPN連線。L2TP是由Cisco、Microsoft等公司在1999年聯合制定的,已經成為二層隧道協議的工業標準,並得到了眾多網路廠商的支援。

L2TP由RFC2661定義,是國際標準隧道協議,它結合了 PPTP 協議以及第二層轉發 L2F 協議的優點,能以隧道方式使 PPP 包通過各種網路協議,包括 ATM 、 SONET 和幀中繼。但是 L2TP 沒有任何加密措施,更多是和 IPSec 協議結合使用,提供隧道驗證

L2TP是用來整合多協議撥號服務至現有的因特網服務提供商點。PPP 定義了多協議跨越第二層點對點連結的一個封裝機制。使用者通過使用眾多技術之一(如:撥號 POTS、ISDN、ADSL 等)獲得第二層連線到網路訪問伺服器(NAS),然後在此連線上執行 PPP。在這樣的配置中,第二層終端點和 PPP 會話終點處於相同的物理裝置中(如:NAS)。

 

GRE(Generic Routing Encapsulation,通用路由封裝協議)

GRE是第三層隧道協議,由Cisco和Net-smiths等公司於1994年提交給IETF的,標號為RFC1701和RFC1702。目前多數廠商的網路裝置均支援GRE隧道協議。GRE規定了如何用一種網路協議去封裝另一種網路協議的方法。

GRE的隧道由兩端的源IP地址和目的IP地址來定義,允許使用者使用IP包封裝IP、IPX、AppleTalk包,並支援全部的路由協議(如RIP2、OSPF等)。通過GRE,使用者可以利用公共IP網路連線IPX網路、AppleTalk網路,還可以使用保留地址進行網路互連,或者對公網隱藏企業網的IP地址。

GRE主要用於源路由和終路由之間所形成的隧道。例如,將通過隧道的報文用一個新的報文頭(GRE報文頭)進行封裝然後帶著隧道終點地址放入隧道中。當報文到達隧道終點時,GRE報文頭被剝掉,繼續原始報文的目標地址進行定址。 GRE隧道通常是點到點的,即隧道只有一個源地址和一個終地址。GRE建立起來的隧道只是在隧道源點和隧道終點可見,中間經過的裝置仍按照外層IP在網路上進行普通的路由轉發。

GRE協議的主要用途有兩個:企業內部協議封裝和私有地址封裝。在國內,由於企業網幾乎全部採用的是TCP/IP協議,因此在中國建立隧道時沒有對企業內部協議封裝的市場需求。企業使用GRE的唯一理由應該是對內部地址的封裝。當運營商向多個使用者提供這種方式的VPN業務時會存在地址衝突的可能性。

 

IPSec(Internet安全協議)

IPSec協議是一個範圍廣泛、開放的VPN安全協議,工作在OSI模型中的第三層(網路層)。它提供所有在網路層上的資料保護和透明的安全通訊。IPSec協議族是由IETF制定的開放性IP安全標準,為IP網路通訊提供透明的安全服務,保護TCP/IP 通訊免遭竊聽和篡改,可以有效抵禦網路攻擊,同時保持易用性。IPSec 協議不是一個單獨的協議,它給出了應用於IP層上網路資料安全的一整套體系結構,包括網路認證協議 Authentication Header(AH)、封裝安全載荷協議Encapsulating Security Payload(ESP)、金鑰管理協議Internet Key Exchange(IKE)和用於網路認證及加密的一些演算法等。IPSec規定了如何在對等層之間選擇安全協議、確定安全演算法和金鑰交換,向上提供了訪問控制、資料來源認證、資料加密等網路安全服務。

 

移動網VPN技術應用

在行動網路中,資料VPN可以看成Access VPN,使用者是通過移動終端(手機或資料卡)接入到網路中的,始終有“使用者”的概念,GGSN可以根據使用者的APN來確定將使用者接入到哪個網路中,從而通過建立GGSN與相應的企業網間的隧道,將使用者接入企業網。

在實際應用中,L2TP的實現主要通過資料卡方式,但考慮到傳統的固網VPN中,一些企業的Access VPN都採用了L2TP方式,所以應該在移動資料VPN中保留對L2TP方式的支援。

GRE主要用於企業自身通過因特網構建Intranet VPN,或企業內部特定網路協議、部門的隔離組網。GRE方式適用於組建小規模的VPN,實施方便快捷,但不適用於運營商提供大規模的VPN業務。

IPSec也主要用於企業自身通過因特網、寬頻都會網路構建Intranet VPN,或企業內部特定網路協議、部門的隔離組網,並提供資料安全保護。但其技術特點不適用於運營商提供大規模的VPN服務。在運營中,可考慮和其它隧道技術相結合來構建VPN,以提高通訊的安全性。

移動VPN對移動終端的要求取決於移動VPN所採用的技術和實現方式。根據VPN中隧道的發起位置來劃分,VPN可以分為兩種:網路發起的VPN和終端發起的VPN。

(1)網路發起的VPN是指VPN隧道的發起點是網路裝置,在行動網路中,指由GGSN發起VPN隧道至企業閘道器。它可以是GRE、MPLS、IPSec、L2TP等技術之一,或是這些技術的組合。網路發起的VPN一般對終端無特殊要求。

(2)終端發起的VPN是指隧道的起點是終端,由終端主動發起一條隧道至企業閘道器。終端發起的VPN一般採用IPSec或L2TP技術,這要求終端支援IPSec協議或L2TP協議。目前大多數終端均不支援IPSec協議和L2TP協議,如要實現這種VPN方式,可通過資料卡方式實現。同時,在這種情況下,VPN和移動運營商沒有直接關係,行動網路只對VPN起承載作用。這種VPN常用於保障端到端的資料安全的業務場景。

 

移動VPN業務對GGSN裝置的要求

1、  支援Gi口L2TP隧道

在Gi介面,GGSN需支援L2TP隧道,此時,GGSN應支援以下功能:

-  GGSN充當LAC的角色

-  L2TP隧道功能在GGSN支援2種業務模型:PPP+L2TP業務模型、IP over L2TP業務模型

-  對使用者的認證支援RADIUS認證和本地認證兩種認證方式

-  控制訊息傳輸的高可靠性,支援控制訊息的報文重傳和滑動視窗功能

-  LAC和LNS之間的資料進行L2TP隧道封裝

-  支援與數量眾多的LNS進行對接

2、  支援Gi口GRE隧道

    GGSN在Gi口支援和企業閘道器或者其它的網路裝置建立GRE隧道。GGSN根據路由策略來選擇GRE隧道。不僅GGSN Gi口的使用者資料可以通過GRE隧道來進行收發,而且RADIUS和DHCP流程也同樣可以通過GRE隧道來進行互動。不同VPN的UE/MS使用者的PDP地址可以支援重疊。在Gi口支援GRE隧道時,GGSN需支援以下功能:

    -   支援RFC 2890的GRE協議版本,同時相容RFC1701、RFC1702和RFC2784的GRE協議版本。

    -   GGSN能夠根據路由策略選擇GRE隧道。

    -   支援VRF功能。

 

LAC

Link Access Control

鏈路接入控制

LNS

L2TP Network Server

L2TP網路伺服器

RADIUS

Remote Authentication Dial-In User Service

遠端撥入使用者驗證服務

DHCP

Dynamic Host Configuration Protocol

動態主機配置協議

 


相關文章