今天是:

网络知识

当前位置: 网站首页 >> 网络知识 >> 正文

MPLS L2VPN技术介绍

发布日期:2011-10-19    作者:     来源:     点击:

MPLS L2VPN

MPLS L2VPN概述

1. 传统的VPN

传统的基于ATMFrame Relay(帧中继,以下简称FR)的VPNVirtual Private Network,虚拟专用网)应用非常广泛,它们能在不同VPN间共享运营商的网络结构。这种VPN的不足在于:

l 依赖于专用的介质(如ATMFR):为提供基于ATMVPN服务,运营商必须建立覆盖全部服务范围的ATM网络;为提供基于FRVPN服务,又需要建立覆盖全部服务范围的FR网络,在网络建设上造成浪费。

l 部署复杂:尤其是向已有的VPN加入新的Site(站点)时,需要同时修改所有接入此VPN站点的边缘节点的配置。

由于以上缺点,新的VPN替代方案应运而生,MPLS L2VPN就是其中的一种。

2. MPLS L2VPN

MPLS L2VPN提供基于MPLSMultiprotocol Label Switching,多协议标签交换)网络的二层VPN服务,使运营商可以在统一的MPLS网络上提供基于不同数据链路层的二层VPN,包括ATMFRVLANEthernetPPP等。

简单来说,MPLS L2VPN就是在MPLS网络上透明传输用户二层数据。从用户的角度来看,MPLS网络是一个二层交换网络,可以在不同节点间建立二层连接。

ATM为例,每个用户边缘设备(Customer EdgeCE)配置一条ATM虚电路(Virtual CircuitVC),通过MPLS网络与远端CE相连,这与通过ATM网络实现互联类似。

图 1 MPLS L2VPN组网示意图

3. MPLS L3VPN相比

相对于MPLS L3VPNMPLS L2VPN具有以下优点:

l 可扩展性强:MPLS L2VPN只建立二层连接关系,不引入和管理用户的路由信息。这大大减轻了PEProvider Edge,服务提供商边缘设备)甚至整个SPService Provider,服务提供商)网络的负担,使服务提供商能支持更多的VPN和接入更多的用户。

l 可靠性和私网路由的安全性得到保证:由于不引入用户的路由信息,MPLS L2VPN不能获得和处理用户路由,保证了用户VPN路由的安全。

l 支持多种网络层协议:包括IPIPXSNA等。4. MPLS L2VPN的基本概念

MPLS L2VPN中,CEPEP的概念与MPLS L3VPN一样,原理也相似。

l CECustomer Edge)设备:用户网络边缘设备,有接口直接与SP相连。CE可以是路由器或交换机,也可以是一台主机。CE“感知”不到VPN的存在,也不需要必须支持MPLS

l PEProvider Edge)路由器:服务提供商边缘路由器,是服务提供商网络的边缘设备,与用户的CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上。

l PProvider)路由器:服务提供商网络中的骨干路由器,不与CE直接相连。P设备只需要具备基本MPLS转发能力。

MPLS L2VPN通过标签栈实现用户报文在MPLS网络中的透明传送:

l 外层标签(称为Tunnel标签)用于将报文从一个PE传递到另一个PE

l 内层标签(称为VC标签)用于区分不同VPN中的不同连接;

l 接收方PE根据VC标签决定将报文转发给哪个CE

2 MPLS L2VPN转发过程中报文标签栈变化的示意图。

图 2 MPLS L2VPN标签栈处理

(1)L2PDU是链路层报文,PDUProtocol Data Unit,协议数据单元

(2)TTunnel标签;VVC标签;T’表示转发过程中外层标签被替换

5. MPLS L2VPN的实现方式

当前MPLS L2VPN还没有形成正式的标准。IETFPPVPNProvider-provisioned Virtual Private Network)工作组制订了多个框架草案,其中最主要的两种称为Martini草案和Kompella草案:

l draft-martini-l2circuit-trans-mpls

l draft-kompella-ppvpn-l2vpn

Martini草案定义了通过建立点到点的链路来实现MPLS L2VPN的方法。它以LDPLabel Distribution Protocol,标记分发协议)为信令协议来传递双方的VC标签,称为Martini方式MPLS L2VPN

Kompella草案则定义了在MPLS网络上以端到端(CECE)的方式建立MPLS L2VPN。目前它采用扩展了的BGPBorder Gateway Protocol,边界网关协议)为信令协议来发布二层可达信息和VC标签,称为Kompella方式MPLS L2VPN

另外,可以采用静态配置VC标签的方式来实现MPLS L2VPN服务。CCCCircuit Cross Connect,电路交叉连接)和SVCStatic Virtual Circuit,静态虚拟电路)就是两种静态配置MPLS L2VPN的实现方式。

下面分别介绍这几种MPLS L2VPN的特点和实现方式。

CCC方式MPLS L2VPN

与普通MPLS L2VPN不同,CCC采用一层标签传送用户数据,因此,CCCLSPLabel Switched Path,标签交换路径)的使用是独占性的。CCCLSP只用于传递这个CCC连接的数据,不能用于其他MPLS L2VPN连接,也不能用于MPLS L3VPN或承载普通的IP报文。

这种方式的最大优点是:不需要任何标签信令传递二层VPN信息,只要能支持MPLS转发即可,保证在任何情况下,运营商之间可以进行互连。此外,由于LSP是专用的,可以提供QoS保证。

CCC连接有两种:本地连接和远程连接。

l 本地连接:在两个本地CE之间建立的连接,即两个CE连在同一个PE上。PE的作用类似二层交换机,可以直接完成交换,不需要配置静态LSP

l 远程连接:在本地CE和远程CE之间建立的连接,即两个CE连在不同的PE上,需要配置静态LSP来把报文从一个PE传递到另一个PE

SVC方式MPLS L2VPN

SVCStatic Virtual Circuit,静态虚拟电路)也是一种静态的MPLS L2VPN,在L2VPN信息传递中不使用信令协议。

SVC方式与Martini方式的MPLS L2PVN非常类似,但它不使用LDP传递二层VC和链路信息,手工配置VC标签信息即可,其实是Martini方式的一种静态实现。

Martini方式MPLS L2VPN

Martini方式MPLS L2VPN着重于在两个CE之间建立VCVirtual Circuit,虚电路)。

Martini方式采用VC-TYPE加上VC ID来标识一个VCVC-TYPE表明VC的封装类型:ATMVLANPPPVC ID则用于唯一标识一个VC。同一个VC-TYPE的所有VC中,其VC ID必须在整个PE中唯一。

连接两个CEPE通过LDP交换VC标签,并通过VC ID绑定对应的CE。当连接两个PELSP建立成功,双方的标签交换和绑定完成后,一个VC就建立起来了,CE之间可以通过此VC传递二层数据。

为了在PE之间交换VC标签,Martini草案对LDP进行了扩展,增加了VC FECForwarding Equivalence Class,转发等价类)的FEC类型。此外,由于交换VC标签的两个PE可能不是直接相连的,所以LDP必须使用remote peer来建立会话(Session),并在这个会话上传递VC FECVC标签。

Martini方式中,由于在运营商网络中,只有PE设备需要保存少量的VC labelLSP的映射等信息,P设备不 包含任何二层VPN信息,所以扩展性很好。此外,当需要新增加一条VC时,只在相关的两端PE设备上各配置一个单方向VC连接即可,不影响网络的运行。

Martini方式适合稀疏的二层连接,例如星型连接。

Kompella方式MPLS L2VPN

Martini方式不同,Kompella方式的MPLS L2VPN不直接对CECE之间的连接进行操作,而是在整个运营商网络中划分不同的VPN,在VPN内部对CE进行编号。要建立两个CE之间的连接,只需在PE上设置本地CE和远程CECE ID,并指定本地CE为这个连接分配的Circuit ID(例如ATMVPI/VCI)。

Kompella方式MPLS L2VPNBGP扩展为信令协议来分发VC标签。在分配标签时,Kompella方式采用标签块(Label block)的方式,一次为多个连接分配标签。

用户可以指定一个VPNCE的范围(CE range,表明当前VPN上最多可连接的CE数。系统一次为这个CE分配一个标签块,标签块的大小等于CE range。这种方式允许用户为VPN分配一些额外的标签,留待以后使用。这样短期来看会造成标签资源的浪费,但是却带来一个很大的好处,即可以减少VPN部署和扩容时的配置工作量。

假设一个企业的VPN包括10CE,但是考虑到企业会扩展业务,将来可能会有20CE。这样可以把每个CECE range设置为20,系统会预先为未来的10CE分配标签。以后VPN添加CE节点时,配置的修改仅限于与新CE直接相连的PE,其他PE不需要作任何修改。这使得VPN的扩容变得非常简单。

类似于MPLS L3VPNKompella方式MPLS L2VPN也使用VPN Target来区分不同的VPN,这使得VPN组网具有极大的灵活性。