利用组播树优化VPLS组播功能的研究
2015-12-15程友清
李 磊,程友清
(1.光纤通信技术和网络国家重点实验室 湖北 武汉430074;2.武汉邮电科学研究院 湖北 武汉430074)
利用组播树优化VPLS组播功能的研究
李 磊1,2,程友清1,2
(1.光纤通信技术和网络国家重点实验室 湖北 武汉430074;2.武汉邮电科学研究院 湖北 武汉430074)
RFCs 4761和4762描述了一种基于利用点对点或点对多点单播LSP承载组播流量的VPLS解决方案。对于某些VPLS组播流量配置,这种解决方案有一定局限性。例如,当有大量的组播流量需要传播时,会导致带宽利用严重非最佳化。本文描述的解决方案是为了克服现有VPLS组播解决方案中的一部分局限性。其中描述了在SP网络中利用组播树来实现VPLS组播的过程。该解决方案允许在多个VPLS实例间共享一个这样一棵组播树。此外,本文提出的解决方案还允许SP网络中的一棵单独的组播树承载来自一个或多个VPLS实例的,仅仅属于指定的一个或多个IP组播流集合的流量。
VPLS;组播;组播树;IP组播流
IETF RFC4761和IETF RFC4762给出了VPLS技术的具体协议要求。在以上两个标准中,使用以太网的洪泛技术支持组播业务[1-2],但这种方法是通过VPLS相连的PE站点上进行入口复制来实现VPLS组播,这种方法对于带宽资源要求高,分发范围广的组播业务限制了使用规模。针对VPLS技术对组播业务支持的限制,本文提出了在SP网络中采用组播树来优化VPLS组播功能。
1 聚合组播分发树原理
1.1 组播分发树
VPLS组播体系构架如图1所示。使用这种组播树的好处是当组播数据流的带宽很大或者需要扩展入口PE复制组播包的数目时,可以通过组播树的分支节点承担必要的流量复制需求,但同时也带来了SP网络需要建立组播树并且维护这些状态产生的开销。
图1 VPLS组播体系构架Fig.1 System architecture of VPLS multicast
图2 描述了VPLS实例使用MPLS树时VPLS IP组播包进入和离开SP网络的过程。接收方PE查找MPLS树的外层标签,并确定用来查找MPLS内层标签的转发表[3]。这个表示根据标签空间来确定的。在树的一个根节点的范畴内内部标签是唯一的(因为内部标签由根节点分配,不需要与其它节点协商)。跨越多个根节点时内部标签不唯一。识别某个VPLS要知道其标签,以及标签唯一的环境。外层MPLS标签提供了这个环境。
图2 组播包进入与离开SP网络示意图Fig.2 Schematic plot describing the process of the multicast packet in the ingress PE and the egress PE of the SP network
去掉外层标签,接收方PE查找内层标签来确定转发组播数据包的VSI。然后去掉内层标签转发包。
在VPLS中实施组播技术,将面临比传统IP组播更多的问题。因为需要大量的控制信令来维护网络中的组播转发状态,这就加重了网络中的处理负担。引入基于聚合树的处理机制后,虽然通过状态的聚合可以减少维护开销,但流量容易发送到没有接收请求的节点处。故转发状态的聚合程度越高,需要维护的组播转发状态树数目就越少,但带宽的利用率却大幅下降。下面将研究如何利用聚合选择树实现VPLS网络中组播的优化问题。
1.2 多VPLS聚合
聚合可以使得运营商在P路由器上维护较少的转发和控制面状态。聚合到同一棵树上的VPLS数目称为 “聚合因子”。当采用包含树时,以PE为根节点的包含树的数目和下面的公式成比例:
PE上VPLS实例数/聚合因子
这种情况下,由P路由器来维护的状态和下面的公式成比例:
(PE上平均VPLS实例数 /聚合因子)*PE数目/穿越P路由器的组播树平均数量
因此P路由器维护的状态与VPLS实例的数目不是线性增长关系。
采用聚合技术时,必须提供机制保证树的出口PE可以解复用聚合树上的流量。通过在P组播树的根节点采用MPLS上游标签分配机制,为每个流分配一个MPLS标签,出口PE使用该标签实现聚合流量的解复用。解复用标签可以通过BGP协议由聚合树的根节点向叶子PE发布[4]。
2 利用聚合选择树优化组播
本文采用的运营商组播分发树有两种类型[5],一种是以一个PE为根的组播分发树承载一个或多个VPLS的所有流量,称为包含树(Inclusive Tree),当这棵树从多个VPLS承载组播数据流时可以称为聚合包含树 (Aggregate Inclusive Tree)。VPLS的所有成员都需要加入此包含树。这意味着CE会收到不需要的组播数据。一种是以一个PE为根的组播分发树承载一个或多个VPLS的一个或几个特定IP组播的流量,那么这棵树称为选择树(Selective Tree),只有需要接收这些组播数据流的PE设备加入选择树,从而PE和CE设备不会收到不需要的组播数据流,当这些IP组播数据流的接收者来自不同的 VPLS时可以称为聚合选择树(Aggregate Selective Tree)。
2.1 利用聚合选择树优化组播流量
为了把组播流量传送到不同的PE节点,采用洪泛的方式,建立一棵包含树。采用包含树的优点是:1)降低网络中为了维护组播树而造成的巨大开销,因为一棵包含树是所有PE节点的全覆盖;2)包含树的建立时间较短,能满足实时组播业务的需要。但是这种处理方式也带来了一个严重的问题,流量发送到了所有的PE节点。在实现包含树的时候,通过计算最小生成树,可以节省网络中的资源开销。
当利用包含树发送某个特定的组播业务时,可能某些PE不想接受该业务的流量,且该业务的流量又很大,这对带宽资源是一种极大的浪费。为了优化流量,还需要把这个VPLS的特定组播业务切换到选择树上。还存在一种组播树聚合的场景,用来减少状态的维护。可以预定义一个门限值bth,由连到某个特定组播业务的组播源的PE来进行显示跟踪,确定是否存在伪浪费带宽:如果不需要流量的PE的流量总和大于阈值bth,这个VPLS的特定组播业务将切换到选择树。
切换特定的(C-S,C-G)流到选择树,根节点需要确定需要接收该流量的出口PE。如下的3种场景,源PE可以进行显示跟踪(C-S,C-G)流来发现IP组播组成员:1)如果是源发起的组播树的建立,例如,RSVP-TE P2MP隧道,源PE在建立选择树之前需要确定树中的叶子节点;2)如果以一个PE为根的组播分发树承载IP组播组的流量,并且这些IP组播数据流的接收者属于多个VPLS,那么入口PE需要了解哪些PE有这些组的接收者;3)如果采用入口复制并且源PE仅向需要接收此(C-S,C-G)的PE发送(C-S,C-G)。
源PE可能在确定将组播业务要切换到选择树之后才显示跟踪(C-S,C-G)流,也可能一直都在显示跟踪(C-S,C-G)流。根节点PE必须通知树中的叶子节点:(C-S,C-G)流已经绑定在选择树上。如果选择树是由源发起建立的,那么这棵树可能在叶子节点接收到IP组播流与选择树的绑定关系之前就已经建立,也可能在叶子节点接收到IP组播流与选择树的绑定关系之后建立,但是只有叶子节点接收到IP组播流与选择树的绑定关系并且这棵树已经建立之后,叶子节点才能切换流量到选择树。组播树的源PE与叶子PE都要参与到组播树的切换,源PE需要确定何时通过选择树发送数据,叶子PE需要确定何时从选择树接收数据。
当源PE确定建立选择树时,通常使用BGP协议来通过(C-S,C-G)流与树的绑定关系。当源PE向叶子PE通告(CS,C-G)流与树绑定关系,并且等待了一段预先设置的时间之后,源PE开始通过选择树发送数据,并且不再使用原来的包含树来传这个组播流量。当叶子节点接收到这个绑定关系之后,并且这些PE需要接收此组播数据流,那么他们就建立选择树。
2.2 VPLS组播/广播/未知单播数据包的处理
在VPLS网络中,数据可以分为:广播报文,未知报文,组播报文和单播报文。在支持包含树和选择树的PE设备上,对广播报文,未知报文和组播报文的转发规则如图3所示。
图3 PE设备上对包的转发流程图Fig.3 Flow char of forwarding the data packet in PE
如果某个PE接受到的VPLS包的目的MAC地址是组播地址,可以使用组播树来转发这个包。如果这个包是IP组播包,并且存在选择树,那么使用这棵选择树来转发这个包。否则如果存在包含树,那么使用包含树来转发这个包。
如果VPLS包的目的MAC地址是广播地址,就会广播这个包。如果已经存在包含树,那么PE使用这棵树来广播它:如果不存在包含树,那么PE通过多条PW广播它,根据IETF RFC4761/IETF RFC4762定义的规则传输。
如果VPLS包的目的MAC地址是未知单播地址,那么这个包就会转发给VPLS中的所有PE。可以使用包含树转发未知单播包给所有的PE。这种情况下接收方PE需要支持MAC地址学习。为了完成MAC学习,接收方PE通过VPLS包就能确定发送方PE。MPLS组播树技术允许出口PE从接收到的MPLS包来确定发送方PE。
当接收方PE通过组播树接收到含有源MAC地址的未知单播VPLS包时,接收方PE确定到发送方PE的PW。接收方PE产生目的地址与刚学到的源地址相同的转发状态,那么到发送方PE的PW就确定了。
3 仿真实验
为了仿真本文中的优化方案,VPLS网络采用拓扑随机生成模型[6]。在随机生成的测试平台上,我们仿真一个中等规模的服务提供商网络。该网络中,共有23个节点(13个PE节点,10个P节点),39条物理连接。共有10个VPLS VSI,每个VSI中共有200个组播组的发送请求。由于不同VSI中的组地址是可以重叠的,因此,共可以产生2000个组播组。假设组的建立请求符合泊松分布,且请求的到达速率为λ,组的生存时间成指数分布,均值为μ-1。因此,组的并发均值为10λ/μ。通过调节λ,μ,实验中并发的组数维持在1 600个左右。整个实验中的组数超过了1800个。
试验中共设置了3个不同的带宽门限值,bth=0.05,0.1和0.2。从图4中可以看出,设置的门限值越小,需要维护的组播状态数就越多,从而网络中需要维护转发状态的开销就越大,但带宽浪费较小。如果门限值设置的较大,则带宽浪费较多,但需要维护的状态数会减少。如果将门限值设置在20%,那么维护980棵组播树就会造成大约13%的带宽浪费,这比理论上的期望值要好得多。
图4 带宽浪费与树的数目之间的关系Fig.4 The relation of percent of bandwidth waste and number of multicast trees
图5 是文中所述的聚合因子。可以看出,当bth=0.05,并发组数为1200的时候,获得的聚合因子为AF=2。但是,在同等条件下,如果设置的门限值bth=0.20,则可以获得的聚合因子为AF=2.6。因此,要想在带宽与聚合因子之间取得折衷,预设的门限值显得很重要。聚合因子越高,带宽浪费越严重,但开销却会减小。
图5 聚合因子与并发组之间的关系Fig.5 The relation of aggregation factor and number of concurrent groups
4 结束语
在研究了实现组播技术的时候,VPLS会面临一个问题:即如何保持带宽在高利用率的同时减少网络中需要维护的组播状态数。本文提出了在VPLS网络中通过应用聚合的方法来减少组播状态数,以降低网络中组播树的维护开销。但是,聚合的引入会造成网络带宽的浪费。文中的研究集中地阐述了如何在组播状态数与带宽利用方面寻求一个较好的折衷点。通过仿真实验,就VPLS网络中关于组播的几个重要参数如:并发组播树、带宽浪费、聚合因子以及节点中的平均转发条目等之间的关系提供了一个理论上的依据。结果表明,在VPLS组播中采用聚合组播树可以实现性能上的优化。
[1]IETF RFC4761-2007,Virtual Private LAN Service(VPLS) Using BGP for Auto-Discovery and Signaling[S].
[2]IETF RFC4762-2007,Virtual Private LAN Service(VPLS) Using Label Distribution Protocol(LDP)Signaling[S].
[3]佩佩恩雅克 I,吉查德J,等.思科出版社[M].田果,刘丹东,沈铮,等译.北京:人民邮电出版社,2010.
[4]IETF RFC6514-2012,BGP Encodings and Procedures for M-ulticast in MPLS BGP IP VPNs[S].2012.
[5]IETF RFC7117-2014,Multicast in Virtual Private LAN Service(VPLS)[S].2014.
[6]Ximing Dong,Shaohua Yu.Deliver Multicast Traffic over VPLS Domain Using Aggregated Multicast Trees[C]//Proceedings of Advanced International Conference on Telecommunications,2006:59-65.
Research on using multicast tree to optim ize VPLS multicast
LI Lei1,2,CHENG You-qing1,2
(1.State Key Laboratory of Optical Communication Technologies and Networks,Wuhan 430074,China;2.Wuhan Research Institute of Post and Telecommunications,Wuhan 430074,China)
RFCs 4761 and 4762 describe a solution for Virtual Private LAN Service(VPLS)multicast that relies on the use of point-to-point or multipoint-to-point unicast Label Switched Paths (LSPs)for carrying multicast traffic.This solution has certain limitations for certain VPLS multicast traffic profiles.For example,it may result in highly non-optimal bandwidth utilization when a large amount of multicast traffic is to be transported.This document describes solutions for overcoming a subset of the limitations of the existing VPLS multicast solution.It describes procedures for VPLS multicast that utilize multicast trees in the service provider (SP)network.The solution described in this document allows sharing of one such multicast tree among multiple VPLS instances.Furthermore,the solution described in this document allows a single multicast tree in the SP network to carry traffic belonging only to a specified set of one or more IP multicast streams from one or more VPLS instances.
VPLS;multicast;multicast tree;IP multicast streams
TN915
A
1674-6236(2015)10-0155-04
2014-09-04 稿件编号:201409036
李 磊(1987—),男,湖北宜昌人,硕士,工程师。研究方向:通信与信息系统。