VPLS(Virtual Private LAN Service)

VPLS即Virtual Private LAN Services(虚拟专用LAN业务),是一种在MPLS网络上提供类似LAN的一种业务,它可以使用户从多个地理位置分散的点同时接入网络,相互访问,就像这些点直接接入到LAN上一样。VPLS使用户延伸他们的LAN到MAN,甚至WAN上。

 

VPLS具有以下优点:

  • VPLS在面向用户网一侧使用以太网接口,简化了LAN/WAN边界,可以支持快速和灵活的服务部署;
  • VPLS将用户网络的路由策略控制和维护权利交给了用户,简化了运营商网络的管理;
  • VPLS服务内的所有用户路由器CE是相同子网的一部分,简化了IP寻址规划;
  • VPLS服务既不需要感知,又不需要参与IP寻址和路由。

VPLS主要组件:

  • 伪电路(Pseudo Wire, PW):简单的说,伪电路就是VC加隧道,隧道可以是LSP,L2TPV3,或者是TE。虚连接是有方向的,VPLS中虚连接的建立是需要通过信令(LDP或者BGP)来传递VC信息,然后通过VSI管理来将VC信息和隧道管理,形成一个PW。PW对于VPLS系统来说,就像是一条本地AC到对端AC之间的一条直连通道,完成用户的二层数据透传。
  • 虚拟交换实例(Virtual Switch Instance,VSI):每个VSI提供单独的VPLS服务。VSI实现以太桥接功能,并能够终结PW。
  • 虚电路(Virtual Circuit,VC):。在两个节点之间的一种单向逻辑连接。一个PW由一对反向VC组成。
  • 接入链路(Attachment Circuit, AC):在L2×××中,CE通过AC接入到PE。AC可以是物理链路,也可以是逻辑链路,AC用于在CE和PE之间传输帧。
  • 转发器(Forwarders):PE收到AC上送的数据帧,由转发器选定转发报文使用的PW,转发器事实上就是VPLS的转发表。
  • 信令协议(pseudowire signaling,pw),pw信令协议是vpls的实现基础,用于创建和维护pw。pw信令协议还可用于自动发现vsi的对端pe设备。目前,pw信令协议主要有ldp和bgp。
  • 隧道(tunnel),用于承载pw,一条隧道上可以承载多条pw,一般情况下为mpls隧道。隧道是一条本地pe与对端pe之间的直连通道,完成pe之间的数据透传。

 

 

以CE1到CE3的×××1报文流向为例,说明基本数据流走向:CE1上送二层报文,通过AC接入PE1,PE1收到报文后,由转发器选定转发报文的PW,系统再根据PW的转发表项压入PW标签,并送到外层隧道(PW标签用于标识PW,然后穿越隧道到达PE2),经公网隧道到达PE2,PE2的利用PW标签转发报文到相应的AC, 将报文最终送达CE3。

报文传送过程:

PW的创建

PW是VPLS在公网上的通信隧道,它建立在MPLS(包括普通LSPCR-LSP)或GRE等隧道之上。创建PW需要:

  1. 首先在本端和对端PE之间建立MPLSGRE等隧道。
  2. 确定对端PE的地址。对于同一个VSI内的PE设备,可以通过手工配置来指定对端PE地址,也可以通过信令协议自动发现对端PE
  3. 利用LDPBGP信令协议为PW分配多路复用分离标记(VC标签),并将分配的VC标签通告给对端PE,建立单向的VC,从而创建PW。如果PW建立在MPLS隧道之上,则PW上传输的报文将包括两层标签:内层标签为VC标签,用来判断报文属于的VC,从而将报文转发给正确的CE;外层标签为公网MPLS隧道标签,用来保证报文在MPLS隧道上的正确传输。

下面将分别介绍通过两种信令协议(LDPBGP)创建PW的过程。

LDP信令协议

采用扩展LDP(远端LDP会话)作为PW信令协议的VPLS,称为Martini方式的VPLS。

利用LDP信令协议建立PW的过程为:

  1. PE和特定的VSI关联后,采用LDP的DU(Downstream unsolicited,下游自主)方式主动向对端PE发送标签映射消息,该消息中包含PWID FEC和与该PWID FEC绑定的VC标签,以及接口参数(如最大传输单元等)。
  2. 如果对端PE和这个特定的PWID关联,它将接受标签映射消息,并回应自己的标签映射消息。
  3. 一对单向的VC建立成功后,它们组合起来形成双向的PW,这个双向的PW可以看作是VSI上的一个虚拟以太网接口。

Martini方式实现简单。但是LDP不能提供VPLS成员的自动发现机制,需要手工指定PE的各个对等体。新的PE加入时,每个PE上都要修改配置。

BGP信令协议

采用扩展BGP作为PW信令协议的VPLS,称为Kompella