文档库 最新最全的文档下载
当前位置:文档库 › VPLS技术白皮书

VPLS技术白皮书

VPLS技术白皮书
VPLS技术白皮书

VPLS技术白皮书

华为技术有限公司Huawei Technologies Co., Ltd.

目录

1前言 (1)

2技术简介 (1)

2.1VPLS PW建立的两种信令方式 (2)

2.2报文转发 (5)

3关键技术 (9)

3.1MAC地址学习 (9)

3.2PE数增大时PW全连接问题 (9)

3.3VPLS可靠性 (13)

3.3.1 CE接入的可靠性 (13)

3.3.2 HVPLS的可靠性 (14)

3.3.3 PE间链路的可靠性 (15)

3.4VPLS内的环路避免 (15)

3.4.1 基本组网条件下的环路避免 (15)

3.4.2 HVPLS组网条件下的环路避免 (15)

4典型应用 (16)

4.1利用VPLS进行综合组网 (16)

5结束语 (17)

附录A 缩略语 (18)

VPLS技术白皮书

摘要:VPLS技术是在现有的广域网上提供虚拟以太网服务的技术,通过成员关系发现,PW 建立与维护,VSI内基于MAC地址的转发实现跨广域网的局域网站点的互连,从而通过Internet把地理上分散的局域网互连起来。本篇文档介绍了VPLS的原理、关键技术,缺陷与优势。最后,给出了VPLS应用和部署的建议。

关键词:VPLS ,PW,AC,VSI,UPE,SPE, P-PE

1 前言

VPLS是一种基于MPLS和以太网技术的2层VPN技术。在过去的十年,以太网技术得到了迅速的发展和广泛的应用,速率从10M到100M,到1000M,部署成本也越来越低。以太网技术不但在企业网得到广泛应用,在运营网络,特别是MAN(城域网)也日渐增多。由于高带宽和低成本,以太网有很强的竞争力。为了能在MAN/WAN上提供类似以太网的多点服务,VPLS 应运而生。

2 技术简介

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

图1是一个VPLS的典型组网图。加入VPLS的接口支持广播,转发和过滤以太网帧。PE之间通过PW(Pseudo Wire)互相连接,对客户形成一个仿真LAN。每个PE不但要学习来自PW的以太网报文的MAC地址,也要学习来自它所连接CE的MAC地址。PW通常使用MPLS 隧道,也可以使用其他任何隧道,如GRE, L2TPV3, TE等。PE通常是MPLS边缘路由器,并能够建立到其他PE的隧道。

图1 VPLS典型组网图

2.1 VPLS PW建立的两种信令方式

PW隧道的建立常用有两种信令:LDP(draft-ietf-l2vpn_vpls_ldp_xx)和MP-BGP (draft-ietf-l2vpn_vpls_bgp_xx)。

采用LDP作信令时,通过扩展标准LDP的TLV来携带VPLS的信息,增加了128类型和129类型的FEC TLV。建立PW时的标签分配顺序采用DU(downstream unsolicited)模式,标签保留模式采用liberal label retention。用来交换VC信令的LDP连接需要配置成Remote 方式。

下图是一个采用LDP方式作信令的PW建立与拆除的典型过程。当PE1配置了一个VSI(Virtual Switch Instance)并指定PE2为其peer后,如果PE1与PE2间的ldp session已经建立就会分配一个标签并给PE2发送mapping消息。PE2收到mapping消息后检查本地是否也配置了同样的VSI,如果配置了,并且vsi id与封装类型都相同,则说明这两个PE上的vsi都在一个vpn内,如果彼此接口参数都一致,则PE2端的PW就建立起来了。PE1收到PE2的mapping消息后作同样的检查和处理。

当PW1不想再转发PE2的报文(例如用户撤销指定PE2为peer)时,它发送withdraw消息给PE2,PE2收到withdraw消息后拆除PW,并回应release消息,PE1收到release消息后释放标签,

拆除PW。

图2 用LDP作信令时PW的建立/拆除过程

采用BGP作信令时,利用BGP的多协议扩展(RFC2283)传递VPLS 成员信息。其中MP-reach和MP-unreach属性传递vpls的标签信息,接口参数信息在扩展团体属性中传递,VPN 成员关系靠RD(route distinguish)和VPN-TARGET来确定,RD和VPN-TARGET都在扩展团体属性中传递。

下图是一个采用BGP方式作信令的PW建立与拆除的典型过程。当PE1配置了一个VSI(Virtual Switch Instance),建立了到PE2的BGP session,并且在该session上使能VPLS地址族后,如果PE1与PE2间的BGP session已经建立就会分配一个标签并给PE2发送带MP-REACH 属性的update消息。PE2收到update消息后检查本地是否也配置了同样的VSI,如果配置了并且VPN-TARGET匹配(与L3VPN的匹配含义相同),则说明这两个PE上的VSI都在一个VPN内,如果此时接口参数都一致则PE2端的PW就建立起来了。PE1收到PE2的update消息后作同样的检查和处理。

当PW1不想再转发PE2的报文(例如用户撤销指定PE2为peer)时,它发送带MP-UNREACH

属性的update消息给PE2,同时拆除PW,释放标签。PE2收到update消息后拆除PW。

图3 用LDP作信令时PW的建立/拆除过程

采用LDP协议比较简单,对PE设备要求相对较低,LDP不能提供VPN成员自动发现机制,需要手工配置;采用BGP协议要求PE运行BGP,对PE要求较高,可以提供VPN成员自动发现机制,用户使用简单。其次,LDP方式需要在每两个PE之间建立remote session,其session数与PE数的平方成正比;而用BGP方式可以利用RR(Route Reflector)降低bgp连接数,从而提高网络的可扩展性。第三,LDP方式分配标签是对每个PE分配一个标签,需要的时候才分配;BGP 方式则是分配一个标签块,对标签有一定浪费。第四,LDP方式在增加PE时需要在每个PE上都配置到新PE的PW;而bgp方式只要PE数没有超过标签块大小就不需要修改PE上的配置。只需配置新的PE。第五,在跨域时,LDP方式必须保证所有域中配置的VPLS instance都使用同一个VSI ID值空间,BGP方式采用vpn target识别VPN关系,需要相同的VPN TARGET空间。

表1VPLS中两种信令方式的比较

综合上述特点,BGP方式适合用在大型网络核心层,PE本身运行BGP以及有跨域需求的情况。LDP方式适合用在VPLS的site点比较少,不需要或很少跨域的情况,特别是PE不运行BGP 的时候。当VPLS网络比较大时(节点多,地理范围大),可以采用两种方式结合的HVPLS(分层VPLS:hierarchical VPLS),核心层使用BGP方式,接入层使用LDP方式。

2.2 报文转发

整个VPLS网络就像一个巨大的交换机,它通过在每个VPN的各个SITE之间建立PW,并通过PW将用户二层报文在站点间透传。对于PE设备,它会在转发报文的同时学习源MAC并建立MAC转发表项,完成MAC地址与用户接入接口(AC)和虚链路(PW)的映射关系。对于P设备,只需要完成依据MPLS标签进行MPLS转发,不关心MPLS报文内部封装的二层用户报文。

VPLS网络的基本传输构件

VPLS网络的基本传输构件及作用如下:

1) 接入链路(Attachment Circuit, AC):CE到PE之间的连接链路或虚链路。AC上的所有用户报文一般都要求原封不动的转发到对端SITE去,包括用户的二三层协议报文。

2) 虚链路(Pseudo Wire, PW):简单的说,虚连接就是VC加隧道,隧道可以是LSP,L2TPV3,或者是TE。虚连接是有方向的,VPLS中虚连接的建立是需要通过信令(LDP或者BGP)来传递VC信息,然后通过VSI管理来将VC信息和隧道管理,形成一个PW。PW对于VPLS系统

来说,就像是一条本地AC到对端AC之间的一条直连通道,完成用户的二层数据透传。

3) 转发器(Forwarders):PE收到AC上送的数据帧,由转发器选定转发报文使用的PW,转发器事实上就是VPLS的转发表。

4) 隧道(Tunnels):用于承载PW,一条隧道上可以承载多条PW,一般情况下为MPLS 隧道。隧道是一条本地PE与对端PE之间的直连通道,完成PE之间的数据透传。

5) 封装(Encapsulation):PW上传输的报文使用标准的PW封装格式和技术。PW上的VPLS报文封装有两种模式:Tagged 和Raw模式。

6) PW信令协议(Pseudo Wire Signaling):PW信令协议是VPLS的实现基础,用于创建和维护PW。PW信令协议还可用于自动发现VSI的对端PE设备。目前,PW信令协议主要有LDP 和BGP。

7) 服务质量(Quality of Service):根据用户二层报文头的优先级信息,映射成在公用网络上传输的QoS优先级来转发,这个一般需要应用支持MPLS QOS。

VPLS基本传输构件在网络中的位置如图4所示:

CE3

CE4Site 2

P

PE1

AC PW Tunnel

MPLS 网络

CE2

VPN 1Site 1

VPN 2Site 2

CE1

PW 信令协议

Forwarder

PE2

图4 VPLS 基本传输构件

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

MAC 地址学习与泛洪

VPLS 的控制面并不需要通告和分发可达信息,而让数据面上的标准桥接功能的地址学习来提供可达性。和以太网交换机一样,在VPLS 里,对收到未知单播地址、广播地址和组播地址的以太报文都采用flood 方式,将收到的报文转发到其余所有端口(本地VSI 下的所有端口和PW )。如果需要提高供组播的效率,PE 需要采取其他方法,比如IGMP snooping ,PIM snooping 等

1) 源MAC 地址学习

为了能转发报文,PE 需要能建立MAC 转发表。与BGP VPN 不同,BGP VPN 使用路由发布

机制建立路由表,工作在控制平面,VPLS使用标准桥学习功能建立转发表,由转发平面来完成。建立MAC转发表的方式是MAC地址学习,包括对用户侧来的报文的学习和从PW来的报文的学习。从入PW上学习到的MAC地址的出接口要设置成这个PW对应的出PW。MAC地址学习过程包含两部分:

a) 跟PW关联的远程MAC地址学习

由于PW由一对单向的VC LSP组成(只有两个方向的VC LSP都UP才认为PW是UP的),当在入方向的VC LSP上学习到一个原来未知的MAC地址后,需要PW将此MAC地址与出方向的VC LSP形成映射关系。

b) 跟用户直接相连端口的本地MAC地址学习

对于CE上送的二层报文,需要将报文中的源MAC学习到VSI的对应端口上。

PE的地址学习与泛洪过程如图5所示:

mac A ,IP 1.1.1.2

mac B ,IP 1.1.1.3VPN1PW2

A

VSI PORT

M AC

图5PE的地址学习与泛洪过程

2) MAC地址老化

PE学习到的远程MAC地址需要有老化机制来移除与VC标签相关的不再使用的表项。在接收

到报文时根据源地址重置与它对应的老化定时器。同样的,本地VSI内的所有学习到的MAC地址都需要老化。

环路消除

在以太网上,通常使用STP来避免可能形成的转发环路。VPLS中使用水平分割来消除PE间的环路,即:从PE收到的报文不转发到其他PE。与此同时PE间采用全连接,PE间全连接和水平分割一起保证了VPLS转发的可达性和无环路。当CE有多条连接到PE,或连接到一个VPLS VPN的不同CE间有连接时,VPLS不能避免环路发生,需要使用其他方法,如STP等来避环。

3 关键技术

3.1 MAC地址学习

MAC地址学习是VPLS中重要的指标之一,在电信网络中,如果发生了环网的倒换,原来的流量是顺时针,倒换后变成逆时针,如果每秒学习500个MAC包,则学习典型的64K个MAC 地址的时间是128秒,这样在重新学习完MAC地址之前的表现是:要么是流量发错方向(仍按顺时钟走),要么是广播。无论哪种情况,都会引起丢包。而电信的典型切换时间是50ms。那么,MAC地址学习能力多强合适?设备MAC地址容量典型为64K MAC地址时, 64K MAC地址在50ms内完成倒换,学习能力要求为:64K/50ms = 1.28M次/秒;当为16K MAC地址,学习能力要求为:16K/50ms = 320K次/秒。

3.2 PE数增大时PW全连接问题

无论是以BGP方式,还是LDP方式为信令的VPLS,为了避免环路,其基本想法都是在信令上建立所有站点的全连接,LDP建立所有站点之间的LDP会话的全连接,BGP也一样。在进行数据转发时,对于从PW来的报文,根据水平分割转发的原理,将不会再向其他的PW转发。假设有100个站点,站点间的LDP会话数目将是4950个。在协议draft-ietf-l2vpn_vpls_ldp_xx 中引入了HVPLS(层次化的VPLS方案)。根据协议draft-ietf-l2vpn_vpls_bgp_xx同样也能演化出HVPLS方案。

1) LDP 方式的HVPLS

HVPLS的核心思想是通过把网络分级,每一级网络形成全连接,分级间的设备通过QinQ 或者PW来连接,连接的两端,上端叫SPE(Super PE) 或者 P-PE(Provider PE),下端叫UPE(User PE),不同层次的PE之间没有全连接,所以SPE与UPE之间的数据转发不遵守水平分割,而是相互转发。

a) H-VPLS的PW接入方式

PSN Tunnel

图6 H-VPLS的LSP方式接入

如图6所示,UPE作为汇聚设备,它只跟P-PE1建立一条PW接入链路U-PW,跟其他所有的对端都不建立虚链接。数据转发流程如下:UPE1负责将CE上送的报文发给P-PE1,同时打上U-PW对应的多路复用分离标记(MPLS标签),P-PE1收到报文后,根据多路复用分离标记判断报文所属的VSI,再根据用户报文的目的MAC打上N-PW对应的多路复用分离标记转发报文。P-PE1从N-PW侧收到报文后,打上U-PW对应的多路复用分离标记将报文发送给UPE,UPE再将报文转发给CE。

如果CE1与CE2为本地CE之间交换数据,由于UPE本身具有桥接功能,UPE直接完成两者间的报文转发,而无需将报文上送P-PE。不过对于目的MAC未知的首包或广播报文,UPE 在通过桥广播到CE2的同时,仍然会通过U-PW转发给P-PE,由P-PE来完成报文的复制并转发到各个对端CE。

b)H-VPLS的QinQ接入方式

PSN Tunnel

图7H-VPLS的QinQ方式接入

如图7所示,UPE为标准的桥接设备,在CE接入端口使能QinQ,打上VLAN-TAG作为多路复用分离标记,在UPE与P-PE之间通过QinQ隧道将报文透传到PE1上,PE1根据UPE 打的VLAN-TAG判断所属的VSI,再根据用户报文的目的MAC打上PW对应的多路复用分离标记(MPLS标签)进行转发。PE1从PW侧收到报文后,根据多路复用分离标记(MPLS标签)判断报文所属的VSI,再根据用户报文的目的MAC打上VLAN-TAG通过QinQ隧道将报文转发给UPE,由UPE将报文转发给CE。

如果CE1与CE2为本地CE之间交换数据,由于UPE本身具有桥接功能,UPE直接完成两者间的报文转发,而无需将报文上送PE1。不过对于目的MAC未知的首包或广播报文,MTU在通过桥广播到CE2的同时,仍然会通过QinQ隧道转发给PE1,由PE1来完成报文的复制并转发到各个对端CE。

2) BGP 方式的HVPLS

a) H-VPLS的MP-EBGP接入方式

CE1

SPE2

N-PW

UPE2

N-PW

N-PW

SP E2

SP E1

N-PW

N-P W

图8MP-EBGP方式下的HVPLS方案

在LDP HVPLS方案中,UPE和P-PE之间采用的是LDP + IGP的方式来建立PW,这种方式在城域网中出现跨多个自治系统域的时候就会出现问题,因为自治系统域之间的路由器SPE,UPE之间无法运行IGP + LDP。因此只能采用MP-EBGP方案来解决。

如上图8,在UPE和SPE之间运行MP-EBGP,信令上使用draft-ietf-l2vpn_vpls_bgp_xx建立PW,转发上在BGP邻居中采用针对水平分割去使能设置(UPE,SPE均设置),或者BGP VSI 内采用针对VE ID的水平分割去使能标志,即:UPE收到其他PE发送的报文后允许向SPE发送,SPE收到其他PE的报文后允许向UPE发送。这样就可以实现HVPLS。

b)H-VPLS的LDP接入BGP方式,BGP方式混合接入,大域内采用BGP路由反射器

UPE1

BGP RR

UPE2

UPE3

PW接入

IGP + LDP

BGP

MP-EBGP

AS1

AS1

AS2

PE4PE5PE6PE7

CE3CE4

图9LDP PW接入,MP-EBGP方式接入以及BGP RR方式下的HVPLS方案在上图中,低层次的VPLS内可以采用LDP方式组成全连接,然后因为和高层次的VPLS

在同一个AS域内,因此可以采用LDP PW方式接入BGP VPLS。骨干网因为PE数量仍然庞大,因此采用BGP RR来减少全连接数量,通过RR反射来间接的达到逻辑上的全连接。而如

果低层次的VPLS和高层次所在的AS不在一个域内,则仍然可以采用MP-EBGP方式,上图是

一个LDP PW接入,MP-EBGP接入以及骨干内采用BGP的一个混合组网模型。

3.3 VPLS可靠性

3.3.1 CE接入的可靠性

3.3.1.1 CE双归

类似L3VPN,为了保证接入用户在接入点设备PE失效后,仍然不中断业务,CE可以接入两

个PE设备,一主一备,在主用的设备失效后,可以自动切换到备用的设备上。

CE双归解决的是PE失效的可靠性问题。

3.3.1.2 利用FRR保护接入可靠性

当采用ME-VPLS(MPLS-Edge-VPLS)时,用户CE也使用PW接入PE,此时可以采用FRR 保护PW。

3.3.2 HVPLS的可靠性

在HVPLS中,UPE可以双归接入SPE,采用主备用方式,在一个PW失效后,可以立即切换到另外一个PW,参考下图:

图10HVPLS中PW双归情况下的保护

上图中,UPE接入两个P-PE,一个为主,一个为备用,在主用的发生故障后,会切换到备用的上面。

3.3.3 PE间链路的可靠性

PE之间的链路需要保护的是构建PW的隧道,隧道的保护分为两种类型,一种是承载隧道本身的物理链路的保护,一种是通过协议来在不同的物理链路进行备份。RPR(弹性分组环)为一个双环结构,物理上,环的一个方向失效后,可以通过另外一个方向迂回,因此如果隧道本身建立于这样的物理链路上就自动增加了保护。另外,可以通过上层协议,例如RSVP-TE协议来保护隧道,就是采用RSVP-TE的FRR(快速重路由技术),在链路发生故障时,迅速切换,保证端到端的隧道保护。

3.4 VPLS内的环路避免

3.4.1 基本组网条件下的环路避免

为了避免环路,基于以太网的二层网络都要求运行STP协议,但是VPLS的STP协议不应该参与到ISP的网络中去。VPLS中,为了避免网络收敛慢,和拓扑设计过于复杂,使用‘全连接’和‘水平分割转发’来避免在ISP网络上跑用户STP协议。每个PE必须为每一个VPLS 转发实例创建一棵到该实例下的所有其他PE路由器的树。每个PE路由器必须支持“水平分割”策略来避免环路,即PE不能在具有相同VPLS 实例的PW之间转发报文(由于在同一个VPLS 实例中每个PE直连)。从此意义上讲,‘水平分割转发’的意思就是从公网侧PW收到的数据包不再转发到其他PW上,只能转发到私网侧。但是对分层VPLS的UPE, SPE之间转发是个特例。

对于用户来说,他在VPLS私网内跑STP协议是允许的,所有的STP 的BPDU报文只是在ISP 的网络上透传。

3.4.2 HVPLS组网条件下的环路避免

为了避免环路,使用如下方法:

在核心层,PE之间全连接,PE间转发采用水平分割。

边缘层与核心层之间,有两种拓扑:

UPE到SPE的连接只有一条。此时,两级网络层次之间是一种树形拓扑结构,即二级网络的

每个域之间不能之间相通,一个UPE只接入到一个SPE。同时,不同site的CE之间要求无连接。这种方式天然避免了环路,但是UPE到SPE存在单点失效问题。

如果UPE双归接入SPE则必须采取其他机制保证无环,例如采用BGP信令时由BGP的路由选择完成选路,使UPE只有一条到SPE活动路由。

此外,如果CE环路无法避免,则需要采用MSTP(Multiple-instance Spanning Tree Protocol)。

4 典型应用

4.1 利用VPLS进行综合组网

MPLS VPLS是城域网中的重要技术,通过它可以互连各种现有以太网技术构建的企业网,VPLS以其低廉的价格和可靠性越来越受到运营商的青睐。

图11 VPLS的典型应用

上图是一个典型的VPLS应用,骨干网采用RPR环来构建,RPR可以保护PW,保证VPLS 业务在公网上传递的高可靠性。各个接入的局域网采用环状网接入各个城市间的网络。运营商建

立了一个全国骨干网,提供了VPLS业务,客户A有三个分部分别分布在北京、上海和深圳。为了给客户A提供VPLS业务,运营商在北京、上海和深圳建立了三个接入VPLS业务的设备PE1、PE2和PE3。这样,通过VPLS,运营商就可以给客户A提供跨域广域网的LAN业务,对客户A而言,组网简单、方便、不需要改变自己原有的企业网规划(包括路由计划)。采用VPLS提供业务时扩展也很方便,假设客户A业务发展需要在广州建立分部并且将广州分部联入公司总部和其他分部,运营商只需要在广州的PE设备上配置一个VSI,进行简单配置就可以了。

5 结束语

VPLS提供了一种将LAN延伸到MAN/WAN的技术,使用户可以不受地域位置的限制,自由地使用简单、广泛应用的LAN技术。多点接入的特点使得VPLS的使用非常方便,对用户几乎没有什么要求和限制。

附录A 缩略语

英文缩写

英文全称

中文解释

VPLS Virtual Private LAN Service

虚拟专用局域网服务,在公用网络中提供的一种点到多点的L2VPN 业务。VPLS 使地域上隔离的用户站点能通过MAN/WAN 相连,并且使各个站点间的连接效果像在一个LAN 中一样。

CE Customer Edge 直接与服务提供商相连的用户边缘设备。 PE Provider Edge Router

指骨干网上的边缘路由器,与CE 相连,主要负责

VPN 业务的接入。它完成了报文从私网到公网隧

道、从公网隧道到私网的映射与转发。PE 可以细分为UPE 和NPE 。 UPE

User facing-Provider Edge 靠近用户侧的PE 设备,主要作为用户接入VPN 的汇聚设备。

SPE/NPE/P-PE Super/Network/Provider Provider Edge 网络核心PE 设备,处于VPLS 网络的核心域边缘,提供在核心网之间的VPLS 透传服务

VSI

Virtual Switch Instance

虚拟交换实例。通过VSI ,可以将VPLS 的实际接入链路映射到各条虚链接上。

PW Pseudo Wire 虚链路,在两个VSI 之间的一条双向的虚拟连接,它由一对单向的MPLS VC 构成 PSN -Tunnel

Packet Switch Network Tunnel

AC Attachment Circuit

接入链路,指CE 与PE 的连接,它可以是实际的

物理接口,也可以是虚拟接口。AC 上的所有用户

报文一般都要求原封不动的转发到对端SITE 去,包括用户的二三层协议报文。

QinQ 802.1Q in 802.1Q

一种直接使用以太网交换机基于802.1 q 封装的隧道协议提供多点L2VPN 服务的机制。它将用户私网vlan tag 封装在公网vlan tag 中,报文带着两层tag 穿越服务商的骨干网络,从而为用户提供一种较为简单的二层VPN 隧道。

相关文档