MPLS L2VPN VPWS的实现方式 下载本文

www.xahztx.com

MPLS L2VPN VPWS的实现方式

一.VPWS实现方式概述

目前使用VRP平台的华为中高端数据通信产品支持VPWS技术,VPWS的实现方式分为4种:CCC、SVC、Martini、Kompella。

CCC、SVC方式不使用信令协议,通过静态配置VC标签的方式来实现MPLS L2VPN。

Martini方式使用LDP信令,通过LDP信令协议传递二层信息和VC标签的方式来实现MPLS L2VPN。 Kompella方式使用BGP信令,通过BGP信令协议传递二层信息和VC标签的方式来实现MPLS L2VPN。 Martini草案和Kompella草案是IETF的PPVPN(Provider-provisioned Virtual Private Network)工作组制订的多个MPLS L2VPN框架草案中最主要的两种。

下面具体对上述的MPLS L2VPN的几种实现方式进行介绍。

二.CCC方式MPLS L2VPN

CCC方式概述

CCC方式是一种静态配置VC连接的方式,根据配置把VC一端收到的二层协议报文映射到一个静态的LSP隧道上去,这样二层报文在途经的每一跳设备就根据该静态LSP进行MPLS转发,最后将报文转发到VC的另一端。

与普通MPLS L2VPN不同,CCC采用一层标签传送用户数据,这一层标签在每个LSR上进行标签交换。因此CCC对LSP的使用是独占性的,而且在两个方向都需要配置静态的LSP。CCC的LSP只用于传递这个CCC连接的数据,不能用于其他MPLS L2VPN连接,也不能用于BGP/MPLS VPN或承载普通的IP报文。CCC方式只需要ISP网络支持MPLS转发。

CCC在两个CE之间透明传递用户数据,源CE的二层报文被发送到目的CE中去,只有二层地址被改变了,增加了用户数据的安全。

CCC适用于小型、拓扑简单的MPLS网络,需要管理员手工配置。因为不进行信令协商,不需要交互控制报文,因此消耗资源比较小,易于理解,但维护不方便,扩展性差。

CCC连接分类

CCC的连接方式可以分为本地连接和远程连接两种方式。

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

2.远程连接:在本地CE和远程CE之间建立的连接,即两个CE连在不同的PE上,需要配置静态LSP来把报文从一个PE传递到另一个PE。PE侧通过配置命令将静态LSP与CCC连接进行对应。

CCC方式的结构

CCC方式的MPLS L2VPN既支持远程连接,也支持本地连接。CCC方式支持的拓扑结构如图1-1所示。

www.xahztx.com

图1-1 CCC连接方式

Site1PVPN1CESite1PPPE2CEPE1CEISP NetworkPPE3Site2VPN2VPN1Site2CCC Local ConnectionCCC Remote Connection

对于图1-1中,VPN1的Site1和Site2,它们通过CCC远程连接(蓝色虚线)互连。Site1与Site2间需要两条静态LSP,一条从PE1到PE2,表示从Site1到Site2的LSP,另一条从PE2到PE1,表示从Site2到Site1的LSP。两条蓝色虚线组成一条双向的VC,即CCC远程连接,为客户提供类似传统二层VPN的二层连接。

对于图1-1中,VPN2的Site1和Site2通过CCC本地连接(红色虚线)进行互连,它们接入的PE3相当于一个二层交换机,CE之间不需要LSP隧道。可以直接进行VLAN、Ethernet、FR、ATM AAL5、PPP、HDLC等不同链路类型的数据交换。 这种方式的最大优点是:不需要任何标签信令传递二层VPN信息,ISP网络能支持MPLS转发即可。此外,由于CCC的LSP是专用的,因此可以提供QoS保证。

CCC方式的报文交互过程

CCC方式的报文交互,分为两种情况:CCC本地连接和CCC远程连接。

?

CCC本地连接

图1-2 CCC的本地连接的报文交互过程

PE1PPE2L2 PDUL2 PDUCE1CE2

如图1-2所示,PE1收到CE1接口发送来的L2 PDU后,PE1根据CCC的关联配置发现这是一个本地连接。PE1得到出接口名称后对L2 PDU不做任何处理,将二层报文通过出接口发送到CE2。

www.xahztx.com

?

CCC远程连接

图1-3 CCC的远程连接的报文交互过程

PE1100L2 PDUP101L2 PDUPE2 PL2DU PL2DUCE1CE2

如图1-3所示,以CE1发送报文到CE2为例(反方向过程相同):

1. PE1收到CE1接口发送来的二层报文。

2. PE1根据CCC的关联配置查找静态LSP,得到下一跳为PE2,出标签为100。 3. PE1在L2 PDU报文外封装MPLS头(Lable=100)并发送到连接P的接口。 4. P设备收到报文后查找LSP表,弹出标签100后,在L2 PDU报文外封装MPLS头

(Lable=101)并发送到连接PE2的接口。 5. PE2收到报文后查找LSP表,进行弹出操作,根据CCC的关联配置得到对应的出

接口 6. PE2将二层报文直接送到CE2。

这个过程中,在入接口,PE设备只关心接收二层报文的接口名称。如果这个接口关联某一个CCC连接,则PE查找CCC的相关配置,并且进行MPLS封装和MPLS转发。PE连接CE的接口并不做任何二层的处理。同样在出接口,PE只是解封装MPLS,并直接将报文发送到出接口。

因此PE的CCC连接一旦建立起来,PE上AC接口的二层协议状态实质上是处于Down状态。这一点在所有形式的VPWS实现上都是相同的。

VPWS在实现上也可以在报文进入的PE时进行二层报文头的解封装,并且在出口PE上对报文进行重新二层封装,这样就可以实现二层协议的相互转换,也就是异种介质互联。

三.SVC方式MPLS L2VPN

在Martini中用LDP进行VC标签的交互,如果不使用LDP,而是在PE上直接根据VC ID来手动分配内层标签,这就是SVC的模式,可以认为SVC是Martini的简化。

SVC的外层标签(公网隧道)建立的方法与Martini相同。内层标签在配置VC的时候进行手工指定,不需要使用VC标签的传递信令。所以SVC的网络拓扑模型与报文交互过程与Martini完全相同。

创建SVC的静态二层VC连接时,可以通过隧道策略指定使用的隧道类型(LDP LSP、CR LDP、GRE),并支持负载分担。SVC支持Multi-Hop方式的跨域L2VPN,不支持本地连接。Multi-Hop方式的具体内容,请参见PWE3的特性描述手册。

www.xahztx.com

四.Martini方式MPLS L2VPN

Martini方式概述

Martini方式使用两层标签,内层标签是采用扩展的LDP作为信令进行交互。这种方式遵循草案draft-martini-l2circuit-trans-mpls,在Martini草案中对标准的LDP进行了扩展,增加了FEC类型(VC FEC)用于VC标签的交换。此外,如果交换VC标签的两个PE不是直接相连的,必须建立Remote LDP会话,在这个会话上传递VC FEC和VC标签。PE为CE之间的每条连接分配一个VC标签。二层VPN信息将携带着VC标签,通过LDP建立的LSP,转发到Remote Session的对端PE。这样实际上在普通的LSP上建立了一条VC LSP。

在Martini方式中,两个CE之间的VC Type + VC ID来识别一个VC。 VC-Type:表明VC的封装类型,例如ATM、VLAN或PPP;

VC-ID:标识VC。相同VC-Type的所有VC,其VC-ID必须在整个PE唯一。

同一个VC Type的所有VC中,其VC ID必须在整个PE中唯一。连接两个CE的PE通过LDP交换VC标签,并通过VC ID将对应的CE绑定起来。当AC接口物理状态变为UP,PE间的隧道建立成功,并完成双方的标签交换和绑定后,一条VC就建立起来了。一个VC建立起来后,两个CE通过这个VC来传递二层数据。

Martini方式支持Multi-Hop方式的跨域L2VPN,不支持本地连接。不能提供像CCC方式那样的本地交换功能。也不像CCC远程连接那样,一条LSP只能被一条远程CCC连接独享。在Martini方式下,外层标签用于将各个VC的数据在ISP网络中进行传递。通过内层的VC标签可以对用户数据进行区分,因此ISP网络中的一条LSP可以被多条VC共享使用。

外层隧道是用于VC数据穿越ISP网络,所以外层隧道也可以使用IP隧道封装,比如使用GRE隧道。 部署Martini方式需要ISP网络能够自动的建立LSP隧道,所以需要ISP网络支持MPLS转发及MPLS LDP,如果ISP网络不支持LDP,那么可以使用GRE隧道封装。

Martini方式MPLS L2VPN支持Graceful Restart,路由器发生倒换后,VC标签保持不变。倒换过程中,VC状态保持UP。报文在VC上的转发不受倒换影响。

倒换后,如果从LDP对等体学来的标签与本地保存的不同,原来的标签将被删除,使用此标签的VC状态变为Down。

Martini方式的结构

Martini方式的MPLS L2VPN只支持远程连接,而不支持本地连接。Martini方式支持的拓扑结构如图1-4。