基本原理
VPLS基本传输结构
如图6-2所示,整个VPLS网络就像一个交换机,它通过MPLS隧道在每个VPN的各个Site之间建立虚链路(PW),并通过PW将用户二层报文在站点间透传。对于PE(Provider Edge)设备,它会在转发报文的同时学习源MAC并建立MAC转发表项,完成MAC地址与用户接入接口(AC接口)和虚链路(PW)的映射关系。
VPLS网络中各组件的概念如下:
名称 |
全称 |
概念 |
---|---|---|
AC(Attachment Circuit) |
接入电路 |
用户与服务提供商之间的连接,即连接CE与PE的链路。对应的接口只能是以太网接口。 支持的接口类型包括:以太网主接口、以太网子接口、VLANIF接口、Eth-Trunk接口、Eth-Trunk子接口。 |
PW(Pseudo Wire) |
伪线 |
两个PE设备上VSI之间的一条双向虚拟连接。它由一对方向相反的单向的MPLS VC(Virtual Circuit)组成,也称为仿真电路。 |
VSI(Virtual Switch Instance) |
虚拟交换实例 |
VSI是交换机上为每一个VPLS单独划分的一个虚拟交换处理单元,在每一个VSI中都有独立的一张MAC地址表和转发器,并负责终结PW。 |
PW Signaling |
PW信令协议 |
VPLS实现的基础,用于创建和维护PW。目前,PW信令协议主要有LDP(Label Distribution Protocol)和BGP(Border Gateway Protocol)。 |
Tunnel |
隧道 |
用于承载PW,一条隧道上可以承载多条PW。隧道是一条本地PE与对端PE之间的直连通道,完成PE之间的数据透明传输,可以是LSP(Label Switched Path)或MPLS TE(MPLS Traffic Engineering)隧道。 |
Forwarder |
转发器 |
转发器相当于VPLS的转发表。PE收到AC上送的数据帧,由转发器选定转发报文使用的PW。 |
以VPN1中,以CE1到CE3的单播报文流向为例,说明基本数据流走向:
- PE1、PE2、PE3同属同一个VPLS域,通过VSI将接入VPLS的AC链路映射到各条PW上,生成该VSI的转发器。
- CE1接收Site1用户的二层报文,通过AC链路送入PE1。
- PE1收到报文后,发现是VPLS接入,则根据目的MAC地址在转发器(Forwarder)中选定转发报文的PW。
- PE1根据PW的转发表项及隧道信息生成两层标签,内层私网标签用于标识PW,外层公网标签用于穿越隧道到达PE2。同时根据目的MAC表索引查找目的MAC地址,将报文进行封装。
- 二层报文经公网隧道到达PE2,此时外层标签为私网标签(公网标签已于倒数第二跳弹出)。
- PE2接收该报文,根据私网标签选定转发报文的VSI,剥离私网标签,再根据VSI选择对应的转发器(Forwarder),由转发器(Forwarder)根据报文目的MAC地址将CE1上送的二层报文转发给CE3。
VPLS实现过程
通过图6-2可以看出,CE(Customer Edge)之间报文的传输依赖于PE之间建立VSI以及VSI之间的PW。如图6-3所示,PE之间通过全连接的PW转发以太网帧。
VPLS网络中的PE设备包含控制平面和数据平面:
VPLS PE的控制平面主要实现PW的建立功能,包括:
- 成员发现:找到同一VSI中所有其他PE的过程。可以通过手工配置的方式实现,也可以使用协议自动完成,如BGP方式、BGP AD方式的VPLS。使用协议自动完成的发现方式称为“自动发现”。
- 信令机制:在同一VSI的PE之间建立、维护和拆除PW的任务是由信令协议完成的,包括LDP和BGP。
VPLS PE的数据平面主要实现PW的数据转发功能,包括:
- 封装:从CE收到以太网帧后,PE首先对其封装后再发送到VPLS网络上。
- 转发:根据报文是从哪个接口上接收的以及报文的目的MAC(Media Access Control)地址决定如何转发报文。
- 解封装:PE从VPLS网络上收到以太网帧后,首先对其进行解封装,然后再下发到CE。