本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。 介绍 VPN即虚拟专用网络(Virtual Private Network ,简称VPN)指的是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。VPN主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术。 [1] 分类 如图《专线VPN分类》所示:(1) ATM PVC组建方式。即利用电信部门提供的 ATM PVC来组建用户的专用网。这种专用网的通信速率快,安全性高,支持多媒体通信。 [2] (2) IP Tunneling组建方式。即在多媒体通信网的IP层组建专用网。其传输速率不能完全保证,不支持多媒体通信;使用国际通行的加密算法,安全性好;这种组网方式的业务在公众通信网遍及的地方均可提供。 [2] (3) FR是基于光纤数字传输和用户设备智能化、简化X.25网络节点协议功能的一种快速分组交换技术。与 X.25 相比FR 更适合对速率和实时性要求更高的数据应用业务。帧中继使用了统计复用技术,是点对多点的通信服务。帧中继是一种高性能的WAN协议,它运行在OSI参考模型的物理层和数据链路层。 [2] (4) VPN-Aware Netwares 。MPLS的VPN技术是专门为VPN所设计的,及所谓VPN-Aware网络。在这种技术中,采用32位长的VPN标识符嵌入到IP包中,形成一个 VPN IP地址。BGP路由协议可以对 VPN IP地址进行路由寻址,但转发数据包则要求多协议标记交换技术MPLS。BGP在散发路由信息时保证有关 VPN IP的路由信息只发布给处于该VPN内的路由器,从而在网络设备级保证了VPN的安全性。 [3] 协议 常用的虚拟专用网协议有: [4] L2FL2F,或第二层转发协议(Layer 2 Forwarding Protocol),是由思科系统公司开发的,创建在互联网上的虚拟专用网络连接的隧道协议。L2F协议本身并不提供加密或保密;它依赖于协议被传输以提供保密。L2F是专为隧道点对点协议(PPP)通信。 [5] L2TPL2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。 [6] PPTP点对点隧道协议(英语:Point to Point Tunneling Protocol,缩写为PPTP)是实现虚拟专用网(VPN)的方式之一。PPTP使用传输控制协议(TCP)创建控制通道来发送控制命令,以及利用通用路由封装(GRE)通道来封装点对点协议(PPP)数据包以发送数据。这个协议最早由微软等厂商主导开发,但因为它的加密方式容易被破解,微软已经不再建议使用这个协议。 [7] PPTP的协议规范本身并未描述加密或身份验证的部分,它依靠点对点协议(PPP)来实现这些安全性功能。因为PPTP协议内置在微软视窗系统家族的各个产品中,在微软点对点协议(PPP)协议堆栈中,提供了各种标准的身份验证与加密机制来支持PPTP。 在微软视窗系统中,它可以搭配PAP、CHAP、MS-CHAPv1/v2或EAP-TLS来进行身份验证。通常也可以搭配微软点对点加密(MPPE)或IPSec的加密机制来提高安全性。 [7] IPsec(如Cisco IPSec VPN)互联网安全协议(英语:Internet Protocol Security,缩写为IPsec),是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。 [8] IPsec主要由以下协议组成:一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。 [8] SSL VPNSSLVPN指的是基于安全套层协议(Security Socket Layer-SSL)建立远程安全访问通道的VPN技术。它是近年来兴起的VPN技术,其应用随着Web的普及和电子商务、远程办公的兴起而发展迅速。 [8] SSL VPN由于其强大的功能和实施的方便性应用越来越广泛,市场上的SSL VPN品牌也越来越多,如何选择适合自己的产品是需要用户仔细考虑的一个问题。 [8] AnyConnect(Cisco SSL VPN)AnyConnect为思科推出的VPN客户端,现阶段已有Windows、Android、iOS、OS X、Ubuntu、WebOS等操作系统的客户端。AnyConnect主要作用是方便员工在任何设备上安全地办公。 [6] 无论员工无论身处何地,AnyConnect都可以让你使用公司笔记本电脑或个人移动设备照常工作。AnyConnect 可简化安全终端访问,并提供必要的安全措施确保您的组织受到持续保护。 [6] 技术特征 VPN三类之一的MPLS在IP路由和控制协议的基础上提供面向连接(基于标记)的交换。MPLS如同一个“垫层(shim)”,它用于向IP提供连接服务,而它自己又从第二层(如PPP、ATM、Ethernet等)得到链路层服务。MPLS实际上就是一种隧道技术,所以使用它来建立VPN隧道是十分容易的。MPLS VPN需要公共IP网内部的所有相关路由器都能够支持MPLS,所以这种技术对网络有较为特殊的要求。MPLS技术目前还处于标准化的过程中,特别需要强调的是MPLS VPN的实施必须由运营商进行。MPLS VPN适用于对于网络资源的利用率、网络的可靠性有较高要求的VPN业务。 [4] VPN三类之一的VPDN是指有远程办公(包括群体远程办公和个人远程办公)需求的用户采用专门的账号和企业自定义的IP地址,通过ADSLPPPOE拨号联入企业内部网络的一种技术,它实际上也是一种隧道技术,在用户ADSL接入服务器端与企业内部网接口间建立一个L2TP隧道。VPDN的实施必须运营商进行。既适用于地点固定的公司内部各支点连入总部,也适用于个人远程访问公司内部信息。 [4] VPN三类之一的IPsec是一组开放的网络安全协议的总称,提供访问控制、无连接的完整性保护、数据来源验证、防重放保护、加密以及数据流分类加密等服务。IPsec在IP层提供这些安全服务,它包括两个安全协议:认证头(AH)和封装安全载荷(ESP)。AH主要提供的功能有数据来源验证、数据完整性验证和防报文重放功能。ESP在AH协议的功能之外再提供对IP报文的加密功能。IPsec支持的组网方式包括:主机之间、主机与网关之间、网关之间的组网,支持对远程用户访问。IPsec可以和L2TP、GRE等隧道协议一起使用,给用户提供更大的灵活性和可靠性。另外,IPsec通常使用因特网密钥交换(IKE)协议进行安全参数的自动协商。 [4] 工作原理 通常情况下,VPN网关采取双网卡结构,外网卡使用公网IP接入Internet。 [9] 网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B,其发出的访问数据包的目标地址为终端B的内部IP地址。 [9] 网络一的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装的方式根据所采用的VPN技术不同而不同,同时VPN网关会构造一个新VPN数据包,并将封装后的原数据包作为VPN数据包的负载,VPN数据包的目标地址为网络二的VPN网关的外部地址。 [9] 网络一的VPN网关将VPN数据包发送到Internet,由于VPN数据包的目标地址是网络二的VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。 [9] 网络二的VPN网关对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN网关发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离,再将数据包反向处理还原成原始的数据包。 [9] 网络二的VPN网关将还原后的原始数据包发送至目标终端B,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B。在终端B看来,它收到的数据包就和从终端A直接发过来的一样。 [9] 从终端B返回终端A的数据包处理过程和上述过程一样,这样两个网络内的终端就可以相互通讯了。 [9] 通过上述说明可以发现,在VPN网关对数据包进行处理时,有两个参数对于VPN通讯十分重要:原始数据包的目标地址(VPN目标地址)和远程VPN网关地址。根据VPN目标地址,VPN网关能够判断对哪些数据包进行VPN处理,对于不需要处理的数据包通常情况下可直接转发到上级路由;远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址,即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的,在进行VPN通讯时,隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。 [9] 工作过程 VPN的基本处理过程如下: [4] ①要保护主机发送明文信息到其他VPN设备。 [4] ②VPN设备根据网络管理员设置的规则,确定是对数据进行加密还是直接传输。 [4] ③对需要加密的数据,VPN设备将其整个数据包(包括要传输的数据、源IP地址和目的lP地址)进行加密并附上数据签名,加上新的数据报头(包括目的地VPN设备需要的安全信息和一些初始化参数)重新封装。 [4] ④将封装后的数据包通过隧道在公共网络上传输。 [4] ⑤数据包到达目的VPN设备后,将其解封,核对数字签名无误后,对数据包解密。 [4] 适用范围 MPLS VPN更适用于以下用户: [4] 各VPN端点均能连接到当地电信运营商的MPLSVPN网络;各端点位置固定不变;对于网络的QoS、实时性和可管理性有较高要求的用户。 [4] VPDN有两类业务,对应两类业务账号: [4] A类业务帐号:用户端账号与ADSL PVC绑定。适用于固定地点的公司内部分支点(超市、连锁类远程办公点) ,以包月资费形式绑定在各业务分支点上。 [4] B类业务帐号:VPDN账号与ADSL PVC不绑定,适用于个人远程访问公司内部信息(SOHO),采用有限包月、超时计费的资费方式。 [4] IPsec VPN业务主要适用于三类用户: [4] 位置众多,例如各驻地办事处、连锁店等;用户/站点分布范围广,且有一定数量的移动用户;对线路保密和可用性有一定要求,但对实时性要求不高的用户。 [4] 相关法规 2003年4月,信息产业部颁发了《电信业务分类目录》,取消了国际电信业务的分类,同时将虚拟专用网业务自基础电信业务中分离出来,成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是:国内因特网虚拟专用网业务(IP-VPN)是指经营者利用自有的或租用公用因特网网络资源,采用TCP/IP协议,为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点,一个是利用因特网网络资源,一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的,当时关注的是基于互连网的IPSecVPN,虽然该解释可以基本涵盖后出现的SSLVPN模式,但并没有关注MPLSVPN。 [10] 2006年1月,信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》,正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务,上述两项增值电信业务由商用试验转为正式商用。 [10] 2013年,工业与信息化部公布的《电信业务分类目录(征求意见稿)》中仍然没有对此作出任何改变。