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-PE1 前言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所示:CE3CE4Site 2PPE1AC PW TunnelMPLS 网络CE2VPN 1Site 1VPN 2Site 2CE1PW 信令协议ForwarderPE2图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 转发表。