文章教程

中级通信工程师考试10.1.6虚拟专用网

8/24/2020 11:08:17 PM 人评论 次浏览

10.1.6 虚拟专用网

虚拟专用网(Virtual Private Network,VPN)是利用IP网络来传输私有信息而形成的逻辑网络,从而为用户提供高安全性,且比专线价格低廉的资源共享和互连服务。

它具有同客户原有的私有网络相同的安全性、优先级特性、易管理性和稳定性。它可以满足客户对原企业内部局域网与远程办公室、移动用户间无缝连接的要求,即将网络连接扩展到客户、供货商、合作者和关键用户以形成外部网(Extranet)来降低商业运作开支和提升服务质量(包括速度、简便性和保密性上的提升)。

运营商实施VPN时,较多使用的隧道协议包括二层隧道协议MPLS、L2TP和三层隧道协议IPsec等,具体推出的VPN业务包括MPLSVPN、VPDN和IPsecVPN。

利用MPLSVPN技术实现的二层VPN,是指用户端通过光纤或者以太网接口专线接入电信骨干网络,能提供类似ATM、FR的二层端到端的专线连接,给企业提供高带宽的二层透明通路,企业可以自定义规划其网络结构和地址。

VPDN是指有远程办公(包括群体远程办公和个人远程办公)需求的用户采用专门的账号和企业自定义的IP地址,通过ADSLPPPOE拨号连入企业内部网络的一种技术,它实际上也是一种隧道技术,在用户ADSL接入服务器端与企业内部网接口间建立一个L2TP隧道。VPDN的实施必须运营商进行。既适用于地点固定的公司内部各支点连入总部,也适用于个人远程访问公司内部信息。

IPsec是一组开放的网络安全协议的总称,提供访问控制、无连接的完整性保护、数据来源验证、防重放保护、加密以及数据流分类加密等服务。IPsec在IP层提供这些安全服务,它包括两个安全协议:认证头(AH)和封装安全载荷(ESP)。AH主要提供的功能有数据来源验证、数据完整性验证和防报文重放功能。ESP在AH协议的功能之外再提供对IP报文的加密功能。IPsec支持的组网方式包括主机之间、主机与网关之间、网关之间的组网,支持对远程用户访问。IPsec可以L2TP、GRE等隧道协议一起使用,给用户提供更大的灵活性和可靠性。另外,IPsec通常使用因特网密钥交换(IKE)协议进行安全参数的自动协商。

1.MPLSVPN

在公共网中实现MLS VPN业务的方法是使用MPLS和多协议边界网关协议来提供,其技术细节可以参见RFC2547。图10-14所示为使用RFC 2547的网络模型。

图10-14 MPLS/BGPVPN连接模型

(1)MPLSVPN角色

·提供者边缘(PE)路由器:是与用户路由器相连的服务提供者边缘路由器。实际上,它是一个边LSR,即MPLS网络与不使用MPLS的用户或服务提供者之间的接口。

·用户边缘(CE)路由器:是用于将一个用户站点接至PE路由器的用户边缘路由器。在这一方案中,CE路由器不使用MPLS,它只是一台IP路由器。CE不必支持任何VPN的特定路由协议或信令。

·提供者(P)路由器:是指网络中的核心LSR。

·站点(Site):是指这样一组网络或子网,它们是用户网络的一部分,通过一条或多条PE/CE链路接至VPN。VPN是指一组共享相同路由信息的站点。一个站点可以同时位于不同的几个VPN之中。

(2)MPLSVPN原理

在MPLSVPN网络中,对VPN的所有处理都发生在PE路由器上,为此,PE路由器上启用了VPNv4地址族,引入了RD(RouteDistinguisher)和RT(RouteTarget)等属性。

RD具有全局唯一性,通过将8byte的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址转化为唯一的VPNv4地址。VPNv4地址对客户端设备来说是不可见的,它只用于骨干网络上路由信息的分发。PE对等体之间需要发布基于VPNv4地址族的路由,这通常是通过MBGP实现的。正常的BGP4能只传递IPv4的路由,MP-BGP在BGP的基础上定义了新的属性。

MP-iBGP在邻居间传递VPN用户路由时会将IPv4地址打上RD前缀,这样VPN用户传来的IPv4路由就转变为VPNv4路由,从而保证VPN用户的路由到了对端的PE上以后,即使存在地址空间重叠,对端PE也能够区分开分属不同VPN的用户路由。

RT使用了BGP中扩展团体属性,用于路由信息的分发,具有全局唯一性,同一个RT只能被一个VPN使用,它分成ImportRT和ExportRT,分别用于路由信息的导入和导出策略。在PE路由器上针对每个site都创建了一个虚拟路由转发表VRF(VPNRouting&Forwarding),VRF为每个site维护逻辑上分离的路由表,每个VRF都有ImportRT和ExportRT属性。当PE从VRF表中导出VPN路由时,要用ExportRT对VPN路由进行标记;当PE收到VPNv4路由信息时,只有所带RT标记与VRF表中任意一个ImportRT相符的路由才会被导入到VRF表中,而不是全网所有VPN的路由,从而形成不同的VPN,实现VPN的互访与隔离。通过对ImportRT和ExportRT的合理配置,运营商可以构建不同拓扑类型的VPN,如重叠式VPN和Hub-and-spokeVPN。

整个MPLSVPN体系结构可以分成控制面和数据面,控制面定义了LSP的建立和VPN路由信息的分发过程,数据面则定义了VPN数据的转发过程。

在控制层面,P路由器并不参与VPN路由信息的交互,客户路由器是通过CE和PE路由器之间、PE路由器之间的路由交互知道属于某个VPN的网络拓扑信息。CE-PE路由器之间通过采用静态/默认路由或采用IGP(RIPv2、OSPF)等动态路由协议。PE-PE之间通过采用MP-iBGP进行路由信息的交互,PE路由器通过维持iBGP网状连接或使用路由反射器来确保路由信息分发给所有的PE路由器。除了路由协议外,在控制层面工作的还有LDP,它在整个MPLS网络中进行标签的分发,形成数据转发的逻辑通道LSP。

在数据转发层面,MPLSVPN网络中传输的VPN业务数据采用外标签(又称隧道标签)和内标签(又称VPN标签)两层标签栈结构。当一个VPN业务分组由CE路由器发给入口PE路由器后,PE路由器查找该子接口对应的VRF表,从VRF表中得到VPN标签、初始外层标签以及到出口PE路由器的输出接口。当VPN分组被打上两层标签之后,就通过PE输出接口转发出去,然后在MPLS骨干网中沿着LSP被逐级转发。在出口PE之前的最后一个P路由器上,外层标签被弹出,P路由器将只含有VPN标签的分组转发给出口PE路由器。出口PE路由器根据内层标签查找对应的输出接口,在弹出VPN标签后通过该接口将VPN分组发送给正确的CE路由器,从而实现了整个数据转发过程。

2.IPsecVPN

IPSec(IPSecurity)产生于IPv6的制定过程之中,用于提供IP层的安全性。由于所有支持TCP/IP的主机进行通信时,都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。鉴于IPv4的应用仍然很广泛,所以后来在IPSec的制定中也增添了对IPv4的支持。

最初的一组有关IPSec标准由IETF在1995年制定,但由于其中存在一些未解决的问题,从1997年开始IETF又开展了新一轮的IPSec的制定工作,截至1998年11月主要协议已经基本制定完成。

(1)IPsec工作原理

IPSec的工作原理类似于包过滤防火墙,可以看做是对包过滤防火墙的一种扩展。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配。当找到一个相匹配的规则时,包过滤防火墙就按照该规则制定的方法对接收到的IP数据包进行处理。这里的处理工作只有两种:丢弃或转发。

IPSec通过查询安全策略数据库(Security Policy Database,SPD)决定对接收到的IP数据包的处理。但是IPSec不同于包过滤防火墙的是,对IP数据包的处理方法除了丢弃和直接转发(绕过IPSec)外,还可进行IPSec处理。正是这新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。

进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点对某些外部网站的访问。但是包过滤防火墙不能保证自内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性、真实性和完整性,通过Internet进行安全的通信才成为可能。

(2)IPsec工作模式

IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式:传输模式和隧道模式。

传输模式只对IP数据包的有效负载进行加密或认证。此时,继续使用以前的IP头部,只对IP头部的部分域进行修改,将IPSec协议头部插入到IP头部和传输层头部之间。

隧道模式对整个IP数据包进行加密或认证。此时,需要新产生一个IP头部,IPSec头部被放在新产生的IP头部和以前的IP数据包之间,从而组成一个新的IP头部。

(3)IPsec安全协议

前面已经提到IPSec主要功能是加密和认证。为了进行加密和认证,IPSec还需要有密钥的管理和交换的功能,以便为加密和认证提供所需要的密钥并对密钥的使用进行管理。以上三方面的工作分别由AH、ESP和IKE三个协议规定。

为了介绍这三个协议,需要先引入一个非常重要的概念,即安全关联(Security Association,SA)。安全关联是指安全服务与它服务的载体之间的一个“连接”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和维护。只要实现AH和ESP都必须提供对SA的支持。

通信双方如果要用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。给定了一个SA,就确定了IPSec要执行的处理,如加密、认证等。

ESP主要用来处理对IP数据包的加密,此外对认证也提供某种程度的支持。ESP是与具体的加密算法相独立的,几乎可以支持各种对称密钥加密算法,如DES、TripleDES、RC5等。为了保证各种IPSec实现间的互操作性,目前ESP必须提供对56位DES算法的支持。

ESP数据单元格式由3个部分组成,除了头部、加密数据部分外,在实施认证时还包含一个可选尾部。头部有安全策略索引(SP1)和序列号(Sequencenumber)两个域。使用ESP进行安全通信之前,通信双方需要先协商好一组将要采用的加密策略,包括使用的算法、密钥以及密钥的有效期等。“安全策略索引”用来标识发送方是使用哪组加密策略来处理IP数据包的,当接收方看到了这个序号就知道了对收到的IP数据包应该如何处理。“序列号”用来区分使用同一组加密策略的不同数据包。加密数据部分除了包含原IP数据包的有效负载、填充域(用来保证加密数据部分满足块加密的长度要求),还包括ESP尾部,这几部分在传输时都是加密过的。其ESP尾部中“下一个头部(NextHeader)”用来指出有效负载部分使用的协议,可能是传输层协议(TCP或UDP),也可能还是IPSec(ESP或AH)。

通常,ESP可以作为IP的有效负载进行传输,这时IP的头部指出下一个协议是ESP,而非TCP和UDP。由于采用了这种封装形式,所以ESP可以使用旧有的网络进行传输。

AH只涉及认证,不涉及加密。AH虽然在功能上和ESP有些重复,但AH除了可以对IP的有效负载进行认证外,还可以对IP头部实施认证。而ESP的认证功能主要是面对IP的有效负载。为了提供最基本的功能并保证互操作性,AH必须包含对HMAC-SHA和HMAC-MD5(HMAC是一种SHA和MD5都支持的对称式认证系统)的支持。

AH既可以单独使用,也可在隧道模式下与ESP联用。

IKE协议主要是对密钥交换进行管理,它主要包括以下3个功能。

·对使用的协议、加密算法和密钥进行协商。

·方便的密钥交换机制(这可能需要周期性进行)。

·跟踪对以上这些约定的实施。

教程类别