IP VPN技术特点及应用

安全
随着IP数据通信技术的不断发展,IPVPN逐渐成为VPN市场的主流,由于IPVPN采用IP网络来承载,成本较低,能够提供令人满意的服务质量,并且具有较好的可扩展性和可管理性。

1、IPVPN常用技术

IPVPN是通过隧道机制实现的,隧道机制可以提供一定的安全性,并且使VPN中分组的封装方式、地址信息与承载网络的封装方式、地址信息无关。目前常见的IPVPN技术有第二层隧道协议(L2TP)、IP安全协议(IPSec)、通用路由封装(GRE)协议和多协议标签交换(MPLS)协议。

1.1L2TP

L2TP由RFC266定义,该协议定义了在包交换网络(包括IP、ATM、FR等)中封装链路层点到点协议(PPP)帧的方法。承载协议首选网络层的IP协议,也可以采用数据链路层的ATM或FR协议。L2TP可以支持多种拨号用户协议,如IP、IPX和AppleTalk等。

目前,L2TP及其相关的认证、计费系统已经比较成熟。基于L2TP的远程接入VPN业务开展得也比较广泛。该服务主要面向分散的、具有一定移动性的用户,一般是运营商提供接入设备,客户提供网关设备并进行管理,也可以委托运营商进行管理。

1.2IPSec

IPSec属于第三层隧道协议,它是一组开放的网络安全协议的总称,在IP层提供访问控制、无连接的完整性、数据来源验证、防重放保护、加密以及数据流分类加密等服务。IPSec包括报文验证包头(AH)和封装安全载荷(ESP)两个安全协议。AH协议主要提供数据来源验证、数据完整性验证和防报文重放功能。ESP协议除具有AH协议的功能之外还提供对IP报文的加密功能。

IPSec可以单独使用,也可以和L2TP、GRE等隧道协议一起使用,为用户提供更大的灵活性和可靠性。

虽然IPSec和与之相关协议已基本完成标准化工作,但测试表明,目前不同厂家的IPSec设备还存在互操作性等问题,因此目前大规模部署使用IPSecVPN还存在困难。

1.3GRE协议

GRE协议属于第三层隧道协议,它规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX和AppleTalk包,并支持各种路由协议,如路由信息协议RIPv2、最短开通道优先(OSPF)等。

GRE协议提出的比较早,实现简单,目前比较成熟。

1.4MPLS协议

MPLS协议是在IP路由和控制协议的基础上,提供面向连接的交换。MPLS是一种完备的网络技术,实际上也是一种隧道技术,用它来建立VPN隧道十分容易,并且能够进行服务等级划分,保证服务质量,有效地利用网络的资源。

根据提供商边界(PE)设备是否参与客户的路由,MPLSVPN可以分为第三层VPN(Layer3MPLSVPN)和第二层VPN(Laye2MPLSVPN)两种。

1.4.1Layer3MPLSVPN

Layer3MPLSVPN是一种基于路由方式的MPLSVPN解决方案,ITEFRFC2547中对这种VPN技术进行了描述。Layer3MPLSVPN也被称作BGP/MPLSVPN,其利用标签分发协议(LDP)在MPLS上进行路由,保证每个VPN都有一套单独的地址和路由转发信息(VRF)。

图1说明了BGP/MPLSVPN的基本组成模块

1)图1BGP/MPLSVPN的基本组成模块用户边界(CE)

CE设备通过连接至一个或多个PE路由器的数据链路为用户提供接入。CE设备可以是一台主机或二层交换机,通常情况下,CE设备是一台IP路由器,它与直连的PE路由器建立邻接关系。建立邻接关系后,CE路由器将站点的本地路由广播给PE路由器,并从该PE路由器学习到远端VPN路由。

2)提供商边界(PE)

PE路由器使用静态路由、RIPv2、OSPF或外部边界网关(EBGP)与CE路由器交换路由信息。每个PE路由器为和它直联的站点维持一个VRF,并且只需要维护与其直联的VPN的VRF,每个用户链接(如FRPVC、ATMPVC或虚拟局域网(VLAN))被映射至一个特定的VRF,这种设计使其具备了两个基本特征:

a)支持地址重叠:多个VPN可以使用相同的地址空间:

b)支持重叠VPN:一个站点可以同时属于多个VPN。

在从CE路由器学习到本地VPN路由后,PE路由器使用IBGP与其他PE路由器交换路由信息。为了避免维护全网状的BGP会话,可以采用路由反射器(RR)技术。

3)提供商(P)路由器

P路由器是提供商网络中不连接任何CE设备的路由器。数据在MPLS骨干网中被转发时使用了两层标记堆栈,P路由器只需维护到达PE路由器的路由,并不需要为每个用户站点维护特定的VPN路由信息。

1.4.2Layer2MPLSVPN

Layer2MPLSVPN的PE设备和CE设备之间没有路由交换,运营商仅向客户提供基于二层的网络功能。这种VPN可以支持的二层技术包括FR、ATMAAL5公共部分汇聚子层(CPCS)模式、ATM透明信元模式、以太网、以太网VLAN、高级数据链路控制(HDLC)、PPP、同步光网络(SONET)/SDH链路仿真服务等。二层VPN简化了运营商的网络结构和管理,但目前的标准尚不够成熟。

目前Layer2MPLSVPN可以提供点到点连接和点到多点连接两种方式的服务。

a)点到点连接主要有Martini和Kompella两种技术流派。两种流派在数据层面基本相同,主要区别在控制层面:前者仅支持点对点的服务,后者可以支持点对多点服务;前者不包括VPN成员的自动发现机制,后者则支持。相比之下,Draft-Martini的机制简单,实现起来比较容易,支持的厂家也比较多。

Draft-Martini是基于Layer2MPLSVPN的一种点对点的解决方案。为了通过运营商MPLS网络承载L2帧,Draft-Martini引入虚连接(VC)的概念。VC通过MPLS标签栈的方式在MPLS骨干网由LSP构建的隧道中进行复用。在用户数据帧穿透运营商的网络时被打上了内外两层的标签。外层标签(或者隧道标签)用于标识隧道LSP、定位特定的目的PE路由器;内层标签(或者VC标签)用于标识用户的连接、定位目的PE路由器上特定的VPN成员站点。

Draft-Kompella是基于Layer2MPLSVPN的一种点对多点的解决方案。但是和下面将要提到的虚拟专用局域网业务(VPLS)对比,Kompella方式的点对多点连接只是一种点到点连接的集合。和Martini方式相比,Kompella的优势是引入了VPN的自动发现机制,在网络初始化时需要对VPN的所有站点进行配置,一旦初始化完成后,只需对新添加的站点进行配置,而不必触及已配置的站点。Kompella的自动发现机制使用BGP作为VC标签分配的信令,整个VPN建立的过程借鉴了Layer3MPLSVPN实现的思想。PE之间建立全网状的IBGP会话,相互交换VPN成员信息和VPN能力的协商。

b)点到多点连接在IETF中有多个草案进行了定义,一般称作VPLS(VirtualPrivateLANServices),这些草案的主要目标是为了解决Layer2以太帧透过运营商IP/MPLS网络进行点到多点传送的问题。通过运营商的IP/MPLS网络,Layer2MPLSVPN可以仿真一个局域网交换机,具有基于MAC地址对用户的数据帧进行转发的能力。VPLS的解决方案是对Martini解决方案进行了扩展,实际上是在PE之间建立了一个全网状的VC连接来仿真点到多点的连接。

1.4.3二层和三层VPN的比较

MPLS的二层VPN和三层VPN各有其优缺点。总的来讲,三层VPN的协议相对比较完善,网络中采用的相对多一些:但网络的规划和管理比较复杂,目前的网络规模不是太大。二层VPN具有更好的扩展性,也可以重复利用目前的ATM和FR网络,支持IP、IPX等多种协议,更适合提供大型的VPN;但是目前二层VPN的协议不是很成熟,跨域等技术问题也没有很好地解决,网络部署需要大量的手工配置,还不适合在大范围内的开展。

2、VPN应用分析

在IPVPN的几种主要技术中,MPLSVPN具有明显的优势,是VPN技术的发展方向。和其他技术相比,MPLSVPN依托MPLS技术,可以提供安全、可靠的服务和多元化的业务种类,并且简化了运营商和客户对VPN进行管理维护的工作量,缩短了VPN业务的提供周期,增强了市场的竞争力。

运营商在开展MPLSVPN业务时,可根据自身的网络情况和运营模式来选择开展的方式。对于已经大量开展了传统VPN的运营商,可以采用循序渐进的方式,将MPLSVPN作为其传统VPN业务的一种补充,采用逐步替换的方式完成向MPLSVPN的过渡。对于新型的宽带业务运营商或者需要重新进行网络建设的传统运营商来说,由于没有原有技术的限制和负担,可以直接开展MPLSVPN业务。在开展MPLSVPN业务时,应根据网络的情况以及用户的需求,灵活地采用Layer2MPLSVPN或者Layer3MPLSVPN,首先开展中小规模的VPN业务,逐渐积累运营经验,随着MPLSVPN技术的逐渐完善和运营管理经验的逐步丰富,再部署大规模的MPLSVPN,为用户提供先进的VPN业务。

【编辑推荐】

  1. 热门VPN客户端
  2. 利用Peplink实现简化的站点到站点VPN
  3. 51CTO技术沙龙第15期:两小时理解VPN
  4. Juniper为其交换机和路由器添加OpenFlow
责任编辑:于爽 来源: hi.baidu.com
相关推荐

2009-12-29 10:04:27

2011-11-07 11:15:31

2019-10-16 00:29:06

2009-04-17 09:16:44

IP城域网组建VPN

2009-04-14 10:59:00

城域网虚拟路由VPN

2009-12-21 17:40:25

WCF会话

2009-07-07 17:30:58

JSP应用开发

2011-05-18 11:14:45

JSP

2009-11-02 16:59:36

2009-11-05 16:19:44

ADSL接入技术

2009-12-31 11:15:57

Silverlight

2009-08-27 13:05:06

C#接口特点C#接口实例

2011-05-23 11:19:26

2011-08-10 10:01:44

2011-11-08 09:16:40

2009-01-11 09:12:33

XAUTHVPN远程访问

2009-11-12 11:16:46

IP网络路由技术

2011-08-18 11:08:02

2009-11-09 16:16:39

2010-03-05 09:58:36

Python数字类型
点赞
收藏

51CTO技术栈公众号