基于MPLS的VPLS技术分析
摘要 VPLS是一项利用MPLS实现跨域广域网提供LAN业务的技术,它使得在基于包交换的网络架构上可以实现多点服务,适应了网络发展的需要。从各个角度出发介绍了VPLS的原理、关键技术,在文章的最后,还给出了一个具体的网络实例来进一步解析VPLS的机制。对于要想了解VPLS的读者而言,具有一定的参考价值。
1、引言
MPLS(Multiprotocal Label Switching)是一项利用绑定在IP包中的标签通过网络进行数据包转发的技术。MPLS目前最为广泛的应用是在虚拟专用网(×××,Virtual Private Network)方面。
基 于MPLS的第二层×××是服务供应商为客户提供第二层服务的一种网络。MPLS ×××的网络采用标签交换,一个标签对应一个用户数据流,非常易于用户间数据的隔离;MPLS自身提供流量工程的能力,可以最大限度的优化配置网络资源, 自动快速修复网络故障,提供高可用性和高可靠性。MPLS提供了电信、计算机、有线电视网网络三网融合的基础,除了ATM,是目前唯一可以提供高质量的数据、语音和视频相融合的多业务传送、包交换的网络平台。因此基于MPLS技术的MPLS ×××,在灵活性、扩展性、安全性各个方面是当前技术最先进的×××。
但在除了VPLS(Virtual Private LAN Services)之外的其他两层×××都是点到点的业务,为了能在MAN/WAN上提供类似以太网的多点服务,VPLS应运而生。
VPLS在公用网络中,提供点到多点的L2×××业务,同时它结合了以太网和MPLS ×××各自的优点,使得构建跨广域网的以太网或VLAN成为可能。通过VPLS,地域上隔离的站点能通过MAN/WAIN相连,并且各个站点间的连接效果像在一个LAN中一样。
2、VPLS网络模型
VPLS相关的草案中提供了两种VPLS网络模型:虚链路PW(Pseudo Wire)逻辑全连接的VPLS网络模型和分层的VPLS(HVPLS,Hierarchical VPLS)模型。
2.1 全连接的VPLS模型
对用户来说,L2×××好似一个虚拟的网络。用户端的虚连接是一个数据流的入口,用于把用户端的流量传给服务提供商的VPLS域。通过利用×××和广域VLAN的优点,提供商可以保证客户信令和数据流的私密性。在高层,从用户的角度看来,VPLS就是一个虚拟的广域网交换机,通过二层的单播、广播以及多播,在用户的×××内把数据帧转发到正确的目的地。下图是全连接的VPLS的一个基本模型:
在服务提供商网络内,VPLS通常是建立在MPLS网络结构上,用MPLS PE(Provider Edge Router)设备创建合理的私有的用户×××。最简单的组网就是把用户站点和一些PE设备连接起来提供VPLS服务。一旦用户数据包到达PE路由器之后,PE设备决定以太网的帧转发,通过PE在MPLS网络上交换数据。PE设备使用路由协议,比如MPLS的标签分发协议(LDP)在提供商的网络云图内创建合理的、全网格的 以太网虚拟电路。一个通过以太网连接到提供商VPLS网络的用户站点可以互通多个其他用户终端站点,这样就实现了多点以太网服务。MPLS网络的PE设备 通过给每个用户MPLS ×××创建独立的虚拟路由转发表或者VRF表来实现多重×××。这些VRF表包含三层的路由信息,在维持用户间路由的独立性的同时它还使得PE路由器可以 实现多用户间的通信。以太网VPLS服务环境中,PE设备维护虚拟交换实例VSI(Virtual Switch Instance)。虚拟交换实例实质是每个用户VPLS独有的两层转发表。提供商的PE设备根据特定VPLS ×××内以太网帧交换所需要的转发信息创建独立的VSI表。通过PE的VSI就可以实现MAC地址学习。当有新的转发信息时,MAC地址就会进行更新。
图1 全连接VPLS模型
2.2 分层VPLS(HVPLS)
提 供VPLS服务的所有的PE路由器之间建立全连接的隧道LSP(Label Switched Path)。对每个VPLS服务,必须在PE路由器之间建立n×(n-1)/2条PW。提供VC(Virtual Channel)的PE路由器需要复制数据包,对于广播和多播报文,每个PE设备需要向所有的对端设备广播报文。通过分层连接,可以减少信令协议和数据包 复制的负担,从而使VPLS可以大规模的应用。
在分层VPLS模型中,要定义两类PE设备:面向用户的PE(u-PE,User facing-Provider Edge)和网络PE(n-PE,Network Provider Edge)。
用户边缘VPLS服务直接和u-PE相连。u-PE在采用可选的QinQ(802.1Q in 802.1Q)干道之前聚合VPLS流量给n-PE。在PE处,VPLS转发基于VSI。这种双重封装IEEE QinQ隧道使得来自u-PE的QinQ干道可以作为访问n-PE的端口,n-PE则连接到VPLS网络的核心层。n-PE同样可以在一个VSI内提供多 达4k个VLAN,同时不同的用户VLAN之间保持为不可见;通过干道连接,数据在n-PE所分派的VLAN内传输。结合分层VPLS和QinQ两种技 术,服务提供商可以在大范围内更好的分级以太网域以及以太网服务。
下图描述了HVPLS网络服务的基本思想。
图2 HVPLS
3、VPLS关键技术
VPLS技术主要包括两个层面:信令控制层和数据转发层。
3.1 信令控制层
信令控制层的主要作用是通过使用信令协议在PE之间建立相应的虚拟电路,换句话说,也就是对标识VPLS实例的VC标记进行交换,使得各个PE设备能够将VC标记映射到不同的VPLS实例,从而对所收到的MPLS封装的流量进行识别。
VPLS信令协议有LDP和MP-BGP两种,前者利用LDP作为传递VC信息的信令,此方式只能手工静态指定PE邻居。后者利用MP-BGP作为传递VC信息的信令,MP-BGP支持拓扑自动发现。
LDP方式适合用在VPLS的站点比较少,不需要或者很少跨域的情况,特别是PE不运行BGP的时候。当VPLS网络比较大时,可以采用两种方式结合的HVPLS,核心层使用BGP方式,接入层使用LDP方式。
3.2 数据转发层
在 数据转发层,每个PE为每个VPLS服务实例维护一个转发信息库(FIB),并且把已知的MAC地址加入到相应的FIB表中。所有流量都基于MAC地址进 行交换,未知的数据包(如目的MAC地址未知)将广播给所有参与该×××的PE,直至目的站响应且与该×××相关的PE学习到该MAC地址。在数据转发 层,主要涉及以下几方面:
1)MAC地址学习:VPLS模拟LAN交换机的功能,因此PE必须学习每个×××中用户的MAC地址以实现点到点的转发。每个×××学习MAC地址的来源分为两类:来自对端PE的MAC地址和来自本地CE(Custom Edge Router)的MAC地址。
2) 泛洪:当FIB表不包含目的MAC地址的时候,就需要VPLS泛洪,广播和多播同样也需要泛洪。要泛洪的包有可能是从用户端口或者其他PE站点收到的。如 果是从用户端口收到的,包必须要泛洪到其他的用户端口以及其他的PE。如果是从其他的PE收到的,则只能泛洪到面向端口的用户,这类似于水平分割。
3) 环路避免:PE转发用户报文时根据用户的目的MAC来选择目的PE并完成公网标签封装;当用户目的MAC在VSI的条目中并不存在或用户的报文目的MAC 是广播地址时,PE要在本×××内给每个PE发送一份。×××中,PE如果和其他PE不建立全连接,则CE间要互相通信必然需要PE转发其他PE的报文。 对于大型网络部署,稍有不慎就会产生环路。VPLS中,一般的,为了避免环路,在核心层采用全连接,PE间转发采用水平分割;边缘层采用树形拓扑。
4、VPLS实例分析
以下通过具体实例来进一步分析VPLS技术。
图3 组网图
4.1 组网图
4.2 相关配置
RTA:
配置远端LDP邻居:
mpls ldp
remote-peer local-ip 2.2.2.8 remote-ip 3.3.3.8
remote-peer local-ip 2.2.2.8 remote-ip 1.1.1.8
remote-peer local-ip 2.2.2.8 remote-ip 3.3.3.8
remote-peer local-ip 2.2.2.8 remote-ip 1.1.1.8
在vlanif100上配置:
interface vlanif100
CCC vpls encapsulation vlan mtu 1500
mpls l2transport 1.1.1.8 101 encapsulation vlan mtu 1500
mpls l2transport 3.3.3.8 encapsulation vlan mtu 1500
CCC vpls encapsulation vlan mtu 1500
mpls l2transport 1.1.1.8 101 encapsulation vlan mtu 1500
mpls l2transport 3.3.3.8 encapsulation vlan mtu 1500
RTB:
配置远端LDP邻居:
mpls ldp
remote-peer local-ip 1.1.1.8 remote-ip 3.3.3.8
remote-peer local-ip 1.1.1.8 remote-ip 2.2.2.8
remote-peer local-ip 1.1.1.8 remote-ip 3.3.3.8
remote-peer local-ip 1.1.1.8 remote-ip 2.2.2.8
在vlanif200上配置:
interface vlanif200
mpls l2transport2.2.2.8 101 encapsulation vlan mtu 1500
mpls l2transport 3.3.3.8 encapsulation vlan mtu 1500
interface vlanif200
mpls l2transport2.2.2.8 101 encapsulation vlan mtu 1500
mpls l2transport 3.3.3.8 encapsulation vlan mtu 1500
4.3 访问过程
以PC-A访问PC-B为例分析VPLS的访问过程。
1)PC-A将ARP广播帧发送给RTA;
2)初始时,RTA的转发表为空,RTA将广播帧打上内层VC label和外层tunnel标签后通过隧道LSP广播给RTB和RTC,同时RTA会从ARP的请求报文中学习到PC-A的源MAC地址,并加入到转发表。
3)RTB收到此MPLS报文,剥掉外层标签头后根据内层标签判断其所属的VPLS,发现是广播帧就将它复制,并从所有连接到RTB的属于同一个VPLS的CE的接口上发送出去。同时RTB会从ARP请求报文中学习到PC-A的源MAC地址,并加入到转发表。
4)PC-B收到此ARP请求后发送ARP应答报文(目的MAC地址是PC-A的MAC地址);
5)RTB收到PC-B发送的应答报文后,根据入端口和VLAN找到对应的VPLS转发表,如果在转发表里发现存在到PC-A的转发条目,就按照转发表进行转发,打上内外层标签,通过LSP转发给RTA。同时RTB从ARP应答报文中学到PC-B的源MAC地址。
6)RTA收到此MPLS报文后,剥掉外层标签后根据内层标签找到对应的VPLS转发表,查找转发表,找到PC-A的转发条目,就根据转发表制定的接口发送此ARP应答帧。同时RTA从ARP应答报文中学到PC-B的源MAC地址。
以后的报文在PE上就按照转发表进行转发。
5、结语
VPLS结合以太网和MPLS技术的优点,为服务提供商带来巨大的发展潜力。它符合当前企业用户的采购标准,并得到了运营商和厂商的广泛支持。VPLS的部署正如雨后春笋在世界各地如火如荼地进行,VPLS的标准也已经趋向稳定,标准化已为时不远。随着技术的发展和完善,VPLS的优势会越来越大。