网络通信 频道

IP VPN技术及其应用初探

  利用公共网络发展IP VPN,既可以保证互联企业的网络安全,还可以就近接入,节省成本,组成一个虚拟网,IP VPN的蓬勃发展已经成为不争的事实。本文介绍针对IP VPN路由器所采用的IP VPN组网技术,其中包括VPN 隧道技术、加密技术、密钥交换和管理技术等,也介绍了IP VPN技术的应用方案和例子。

  IP VPN(虚拟专用网)是指通过共享的IP网络建立私有数据传输通道,将远程的分支办公室、商业伙伴、移动办公人员等连接起来,提供端到端的服务质量(QoS)保证以及安全服务。随着IP VPN的兴起,用户和运营商都将目光转向了这种极具竞争力和市场前景的VPN。对用户而言,IP VPN可以非常方便地替代租用线和传统的ATM/帧中继(FR)VPN来连接计算机或局域网(LAN),同时还可以提供租用线的备份、冗余和峰值负载分担等,大大降低了成本费用;对服务提供商而言,IP VPN则是其未来数年内扩大业务范围、保持竞争力和客户忠诚度、降低成本和增加利润的重要手段。

  IP VPN需要通过一定的隧道机制实现,其目的是要保证VPN中分组的封装方式及使用的地址与承载网络的封装方式及使用编址无关。另外,隧道本身能够提供一定的安全性,并且隧道机制还可以映射到IP网络的流量管理机制之中。

  IP VPN本质上是对专用网通信的仿真,因此除了隧道协议外,其逻辑结构(如编址、拓扑、连通性、可达性和接入控制等)都与使用专和设施的传统专用网部分或全部相同,也同样考虑路由、转发、QoS、业务管理和业务提供等问题。

  以HiPER系列VPN安全网关的设计为例

  IP VPN技术主要是通过隧道机制(Tunneling)来实现的,通常情况下VPN在链路层和网络层实现了隧道机制。在链路层支持隧道机制的有:PPTP(Point to Point Tunneling Protocol,点到点隧道协议)、L2TP(Layer 2 Tunneling Protocol,链路层隧道协议)、L2F(Layer 2 Forwarding,链路层转发协议)。

  PPTP是一个第2层的协议,将PPP数据桢封装在IP数据报内通过IP网络传送。PPTP还可用于专用局域网络之间的连接。RFC草案“点对点隧道协议”对PPTP协议进行了说明和介绍。PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢通过隧道传送。可以对封装PPP桢中的负载数据进行加密或压缩。

  GRE(通用路由协议封装)规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX和AppleTalk包,并支持各种路由协议,如RIP2、OSPF等。

  GRE协议提出得比较早,也比较简单,因此可以说已经比较成熟。

  L2TP(第二层隧道协议)定义了利用包交换方式的公共网络基础设施(如IP网络、ATM和帧中继网络)封装链路层PPP(点到点协议)帧的方法。在L2TP(RFC266)中,被封装的是链路层PPP协议,封装协议由L2TP定义。承载协议首选网络层的IP协议,也可以采用链路层的ATM或帧中继协议。L2TP可以支持多种拨号用户协议,如IP、IPX和AppleTalk,还可以使用保留IP地址。

  目前,L2TP及其相关标准(如认证与计费)已经比较成熟,并且客户和运营商都已经可以组建基于L2TP的远程接入VPN(Access VPN),因此国内外已经有不少运营商开展了此项业务。在实施的Access VPN中, 一般是运营商提供接入设备,客户提供网关设备(客户自己管理或委托给运营商)管理。Access VPN的主要吸引力在于委托网络任务的方式,ISP可以通过IP骨干网把用户数据从本地呈现点(POP)转发到企业用户网络中去,大幅度地节省企业客户的费用。该服务主要面向分散的、具有一定移动性的用户,为此类用户远程接入专用网络提供经济的、可控制的并具有一定安全保证的手段。

  IPSec是目前唯一一种能为任何形式的Internet通信提供安全保障的协议。此外,IPSec也允许提供逐个数据流或者逐个连接的安全,所以能实现非常细致的安全控制。对于用户来说,便可以对于不同的需要定义不同级别地安全保护(即不同保护强度的IPSec通道)。IPSec为网络数据传输提供了数据机密性、数据完整性、数据来源认证和抗重播等安全服务,就使得数据在通过公共网络传输时,就不用担心被监视、篡改和伪造。

  IPSec是通过使用各种加密算法、验证算法、封装协议和一些特殊的安全保护机制来实现这些目的,而这些算法及其参数是保存在进行IPSec通信两端的SA(Security Association,安全联盟),当两端的SA中的设置匹配时,两端就可以进行IPSec通信了。IPSec使用的加密算法包括DES-56位、Triple-Des-168位和AES-128位;验证算法采用的也是流行的HMAC-MD5和HMAC-SHA算法。

  IPSec所采用的封装协议是AH(Authentication Header,验证头)和ESP(Encapsulating Security Payload,封装安全性有效负载)。

  ESP定义于RFC2406协议。它用于确保IP数据包的机密性(对第三方不可见)、数据的完整性以及对数据源地址的验证,同时还具有抗重播的特性。具体来说,是在IP头(以及任何IP选项)之后,在要保护的数据之前,插入一个新的报头,即ESP头。受保护的数据可以是一个上层协议数据,也可以是整个IP数据包,最后添加一个ESP尾。ESP本身是一个IP协议,它的协议号为50。这也就是说,ESP保护的IP数据包也可以是另外一个ESP数据包,形成了嵌套的安全保护,ESP的封装方式如图1:

 

  如上图所示,ESP头没有加密保护,只采用了验证保护,但ESP尾的一部分则进行的加密处理,这是因为ESP头中包含了一些关于加/解密的信息。所以ESP头自然就采用明文形式了。

0
相关文章