三、主要技术

(一)IPSec VPN

IPSec(IP security)是一组开放协议的总称,特定的通信方之间在IP层通过加密与数据源验证,保证数据包在Internet网上传输时的私有性、完整性和真实性。IPSec通过AH(authentication header)和ESP(encapsulating security payload)两个安全协议实现,且此实现不对用户、主机或其他Internet组件造成影响,用户可选择不同的硬件和软件加密算法,而不影响其他部分的实现。
IPSec提供私有性、完整性、真实性、防重性的网络安全服务。使用IPSec,数据可以在公网上安全传输,而不必担心数据被监视、修改或伪造。IPSec提供了两个主机之间、两个安全网关之间或主机和安全网关之间的数据保护。
IPSec安全联盟可通过手工配置方式建立,但网络结点增多时,手工配置将非常困难,难以保证安全性。此时需使用密钥交换协议(internet key exchange,IKE)自动进行安全联盟建立与密钥交换的过程。

1.密钥交换技术

IKE用于通信双方协商和建立安全联盟,交换密钥。IKE定义通信双方进行身份认证、协商加密算法及生成共享的会话密钥方法。IKE的精髓在于通过一系列数据交换,通信双方最终计算出共享的密钥,其中的核心技术就是迪菲-赫尔曼密钥交换(Diffie Hellman key exchange,DH)技术。IKE在身份验证方面提供了共享验证字、公钥加密验证、数字签名验证等验证方法。后两种方法通过对CA中心的支持来实现。
IKE密钥交换分为2个阶段,阶段一建立ISAKMP SA,包括主模式和野蛮模式;阶段二在阶段一ISAKMP SA的保护下建立IPSec SA,称之为快速模式。IPSec SA用于最终的IP数据安全传送。
此外,IKE还包含有传送信息的信息交换和建立新DH组的组交换。

2. IPSec应用

IPSec协议提供隧道模式,通过IPSec可以提供网到网的VPN服务,通过Internet网络构建安全的VPN服务。为提高IPSec配置的复杂度,一般使用IKE协议协商IPSec的密钥。同时IPSec协议也可以和L2TP协议配合使用,结合提供更安全的VPDN服务,其组网方式如图1-4-8所示。

(二)SSL VPN

图1-4-8 VPN组网方式
Netscape公司于1994年提出安全套接层(secure socket layer,SSL)协议,是一种在两台机器之间提供安全通道的网络安全通信协议,可保护传输数据以及识别通信机器。SSL VPN即采用SSL/TLS协议来实现远程的接入,目前SSL协议被广泛应用于各种浏览器应用,也可应用于Outlook等使用TCP协议传输数据的C/S应用。SSL协议被内置于IE等浏览器中,使用SSL协议认证和数据加密的SSL VPN可免于安装客户端。相对于传统IPSE CVPN,SSL VPN具有部署简单、无客户端、维护成本低、网络适应强等特点。
SSL VPN的主要功能有Web代理、文件共享、端口转发、网络扩展等。

1. Web代理

SSL VPN应用最多的一个场景就是用户用HTTPS通过SSL VPN网关直接访问内网的Web资源,即无客户端访问。此时SSL VPN网关代理内网的Web资源,通过Web页面内容重写技术将代理的Web页面真实、安全地传给合法用户。用户只需标准的浏览器就能方便实现Web资源的安全访问以及浏览内网网页。

2.文件共享

文件共享主要是通过协议转换技术将网络文件系统如NFS等转换成HTTPS协议,用户直接通过浏览器就能创建和浏览目录进行下载、上传、修改、删除文件操作,就像对本机文件系统进行操作一样。

3.端口转发

SSL协议本只应用于浏览器,端口转发是SSL协议的应用扩展。端口转发是指采用SSL协议对TCP/UDP应用进行保护,并对TCP/ UDP应用进行访问控制。这种功能需要在客户端运行专门的工具,监听TCP/UDP服务,并且将数据流经SSL协议加密传送给SSL VPN网关,由SSL VPN网关解密并解析后传送给相应的应用服务器,从而确保应用的安全。通过控制应用服务端口,完成对应用的访问控制。技术成熟的产品应能充分支持各种端口转发应用服务,包括单端口单服务器应用(如Telnet、SSH),单端口多服务器应用(如notes),多端口应用(如Outlook),以及动态端口应用(如FTP)。

4.网络扩展

网络扩展是基于SSL协议进行的,实现了对所有IP应用的支持,用户远程访问内网资源就像访问局域网一样方便,与IPSec VPN相当。实现网络扩展功能可以通过在客户端安装虚拟网卡实现,虚拟网卡截获原始IP报文,经过SSL协议封装,然后转发至SSL VPN网关。
全网访问在功能上完全可替代Web代理、文件共享、端口转发功能,但是安全控制方面,SSL VPN的其他3种功能可提供更细粒度的访问控制功能,全网访问功能的应用需要慎重。大多情况下4种功能相辅相成,共同服务,满足不同场景、不同用户的需要。

(三)L2TP VPN

二层隧道协议主要有点对点隧道协议(point to point tunneling protocol,PPTP)、二层转发协议(layer 2 forwarding,L2F)和二层隧道协议(layer 2 tunneling protocol,L2TP)3种。
二层隧道协议是为在用户和企业的服务器之间透明传输PPP报文而设置的隧道协议,是实现接入VPN最常用的隧道协议,也是实现VPDN的事实标准。其中二层隧道的含义是在隧道中间封装的是二层数据报文(对L2TP协议而言,封装的是PPP报文)。应用L2TP构建的典型VPN服务结构如图1-4-9所示。
图1-4-9 典型拨号VPN业务图
LAC表示L2TP访问集中器(L2TP access concentrator),是附属在交换网络上的具有接入功能和L2TP协议处理能力的设备,LAC通常就是一个网络接入服务器NAS(network access server),通过PSTN/ISDN为用户提供网络接入服务。LNS表示L2TP网络服务器(L2TP network server),是用于处理L2TP协议服务器端部分的软件。

1.使用桌面直接发起隧道连接

L2TP协议允许移动用户直接发起L2TP隧道连接,要求移动用户安装VPDN客户端软件,且需要知道LNS的IP地址。在LNS设备上收到了移动用户的请求后,根据用户名、密码进行验证,并且可以给移动客户分配私有IP地址。L2TP隧道连接如图1-4-10所示。
图1-4-10 通过桌面发起的L2TP隧道连接

2.使用LAC设备发起隧道连接

L2TP协议允许用户在接入Internet时通过BAS设备发起L2TP隧道连接。移动用户不需要安装额外的VPDN软件,但必须采用PPP的方式接入Internet,也可以是PPPOE等协议。在LAC设备上对用户名和密码验证时,根据用户名辨别是L2TP隧道用户后自动向LNS设备发起连接,就可以接入到自己的机构VPN中,如图1-4-11所示。
图1-4-11 通过LAC设备发起隧道连接

(四)BGP/MPLS IP VPN

MPLS VPN是指采用MPLS技术在骨干宽带IP网络上构建企业IP专网,实现跨地域、安全、高速、可靠的数据、语音、图像多业务通信,并结合差别服务、流量工程等相关技术,将公众网的可靠性、良好的扩展性等功能与专用网的安全、灵活、高效结合,为用户提供高质量服务。

1. MPLS VPN组成

MPLS VPN网络主要由用户网络边缘路由器设备(customer edge router,CE)、服务提供商边缘路由器设备(provider edge router,PE)和服务提供商核心路由器设备(provider router,P)等3部分组成:①CE直接与服务提供商网络相连,感知不到VPN的存在。②PE与用户的CE直接相连,负责VPN业务接入,处理VPN-IPv4路由,是MPLS三层VPN的主要实现者。③P负责快速转发数据,不与CE直接相连。整个MPLS VPN中,P、PE设备需要支持MPLS的基本功能,CE设备不必支持MPLS。
MPLS在光网络的扩展GMPLS(generalized MPLS)已成为自动交换光网络ASON的基本控制协议组,运营可考虑架构在GMPLS基础上的一层或零层OVPN(optical VPN)。

2. MPLS VPN应用

采用MPLS VPN技术可以把现有IP网络分解成逻辑上隔离的网络,这种逻辑上隔离的网络应用是多样的。

(1)用MPLS VPN构建企业视频会议专网:

企业采用视频会议可削减企业的出差、会议、培训、人力资源等成本,同时提高企业的销售、终端和决策效率,但普通的网络无法满足这种视频会议的需要,利用MPLS VPN,企业就可以构建比较好的通信网络。

(2)用MPLS VPN构建运营支撑网M:

利用MPLS VPN技术可以在一个统一的物理网络上实现多个逻辑上相互独立的VPN专网,该特性非常适合构建运营支撑网。

(3)MPLS VPN在运营商城域网的应用:

作为运营商的基础网络,宽带城域网需同时服务多种不同用户,承载多种不同业务,存在多种接入方式,这一特点决定城域网需同时支持MPLS L3VPN、MPLS L2VPN及其他VPN服务,根据网络实际情况及用户需求开通相应VPN业务,如为用户提供MPLS L2VPN服务以满足用户节约专线租用费用的要求。

(4)MPLS VPN在企业网络的应用:

MPLS VPN在企业网中同样有广泛应用。例如,电子政务网中不同的政府部门有着不同的业务系统,各系统之间的数据多数是要求相互隔离的,同时各业务系统之间又存在着互访的需求,因此大量采用MPLS VPN技术实现这种隔离及互访需求。

(五)GRE VPN 1. GRE隧道技术原理

1994年Cisco和Net Smiths将通用路由封装协议(generic routing encapsulation,GRE)提交给IETF,标号为RFC 1701、RFC 1702。2000年Cisco等又对GRE协议进行了修订,称为GRE V2,标号RFC 2784。
隧道技术是指包括数据封装、传输和解包在内的全过程,通过隧道协议实现,隧道协议规定了隧道的建立、维护和删除规则,以及如何将私有数据封装在隧道中传输。实际上隧道可以看作一个虚拟的点到点连接,GRE隧道仅支持点到点的业务接入。
GRE是对部分网络层协议(如:IP、IPX、Apple-Talk)的数据报文进行封装,使这些被封装的数据报文能在另一个网络层协议(如IP)中传输。最新的GRE封装规范已经可以封装二层数据帧,如PPP帧、MPLS等。RFC2784中GRE的定义是X over Y,X和Y可以是任意的协议。GRE协议实际上是一种封装协议,提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能在异种网络中传输。

2. GRE应用

常见的私网穿越公网GRE隧道应用,一般是私网IP报文封装为GRE报文,再用IP运输。
GRE在简单的VPN组网中有着广泛的应用,如企业私有网络的IP地址一般是私网IP地址,私网IP报文是不能在Internet上路由的,但经过GRE封装后,再加上一个公网IP头部就可在Internet上路由。接收方将收到的报文IP头部和GRE头部解开后,将原始的私网IP报文发送到远程私有网络,实现访问远程企业的私有网络的目的。例如,深圳的一台PC机,IP地址是:10. 0. 0. 8/24,北京一台PC机的IP地址是:10. 1. 1. 9/24,两台PC机的IP地址都是私网地址。GRE隧道如图1-4-12所示。
图1-4-12 私网穿越公网的GRE隧道
私网IP报文沿途经过的路由器不转发报文(私网IP报文不可出现在公网上,路由器将直接丢弃),若租用一条专线,因实工时间比较长且费用贵,不是很现实。要实现PC1和PC2的互通,可在两边的公网出口路由器上打通一条GRE隧道,采用RFC1701定义的GRE头部格式。