当前位置: 首页 > 技术资料 > 一种基于代理的BGP/MPLS VPN组播改进方案

一种基于代理的BGP/MPLS VPN组播改进方案

QooIC.com 新闻出处:电子市场 | 发布时间:2010/11/13 12:00:39

  1 引言


  近年来VPN(虚拟专用网)技术在Intenret范围内得到了广泛应用,而且随着VPN上应用种类的增多,组播技术在VPN环境中的需求也越来越大。BGP/MPLS VPN是一种基于网络的VPN,它可将路由器分为用户路由器(CE)、边缘路由器(PE)、核心路由器(P)3种[I]。它动态地建立隧道,采用虚拟路由器和VPN-1Pv4地址族来解决不同VPN共享相同地址空间的问题,采用MP-BGP(MultiProtocolE xtensionsfo rB GP4,多协议扩展BGP)来分发VPN路由[2l。它适用的规模大,易于配置,并具有很好的可扩展性,因此得到了众多厂商的青睐,且在NGN(Next Generation Network)中扮演着重要的角色。但是组播技术在BGP/MPLS VPN上的实施面临着很大的问题,其中之一就是可扩展性。


  虽然 BG P/MPLSV PN技术日趋成熟,但在BGP/MPLSV PN上的组播技术却刚刚起步,各种初步建立的方案在可扩展性等方面仍存在着很大的问题[31。研究并提出一种在BGP/MPLS VPN上的可扩展性好的组播方案成为目前急需解决的问题。


  2 现存组播方案可扩展性问题分析


  BGP/MPLSV PN上的组播仍然是一个比较新的研究领域,至今仍没有正式的标准文件出台。近年来,国内外许多研究者提出了多种在BGP/MPLS VPN上进行组播的草案,理论上实现了在BGP/MPLS VPN上进行组播并从一定程度上考虑了可扩展性。其中典型的方案有Rosen和Aggarwal等人提出的方案。


  2.1 Rosen方案


  2.1.1 Rosen方案概述


  Rosen方案假设SP网络和VPN内运行的组播协议为PIM,在此基础上它提出了一种组播域(MulticastD omainMD)模型。如果有一个13GP/MPLS VPN被配置成为组播VPN,则可以将这样一个VPN看作一个MD,该VPN内的PE路由器可以说成属于该MD。在这样一个MD上,存在且仅存在一棵PIM的默认组播分发树(Default-MDT),必要时切换成PIM的数据组播分发树(Data-MDT)。该VPN的组播数据会通过Default-MDT或Data-MDT隧道穿过SP网络送到接收者。当一个PE路由器上连接有多个组播VPN时,则该PE路由器属于多个MD,并且连接在多个位于SP网络上的MDT上。


  2.1.2 Rosen方案可扩展性分析


  制约Rosen方案可扩展性问题的因素有:OOP路由器上保持的组播状态数量持开销;③周期性的处理组播控制报文带来的开销;。Default-MDT到Data-MDT会随着VPN数目的增长和VPN里组播频道和组播成员的增长而增长。


  Rosen方案虽然在解决P路由器上需要存储的组播状态上有一定的提高,MPLSVPN上的组播可扩展性问题。


  2.2 Aggarwal方案


  2.2.1 Aggarwal方案概述


  Aggarwal方案是对Rosen方案的一种改进方案,从3个方面进行了改进:①用BGP协议来完成PIM邻居发现和保持:用BGP来替代PIM协议进行组播成员的发现和保持,减少了周期性处理PIM-Hello报文的开销;②将客户组播控制报文和数据流分离:使用PE-to-PE的MPLS隧道来发送组播控制报文给上游PE,使用聚合组播树分发数据,保证了一定的可靠性;③多个MVPN(组播虚拟专用网)共享一棵SP组播树:通过将SP内的多个P组播树的聚合,使得多个MVPN可以共享一棵SP组播树,以进一步减少P路由器上需保持的组播状态数。


  2.2.2 Aggarwal方案可扩展性分析


  制约Aggarwal方案可扩展性问题的因素有:OOP路由器上保持的组播状态数量;OPE路由器间的组播邻居保持开销;③周期性的处理组播控制报文带来的开销;(a)Default-MDT到Data-M91,的切换过程的开销。这些因素会随着VPN数目的增长和VPN里组播频道和组播成员的增长而增长。该方案中仍保留Rosen方案中的Default-MDT和Data-MD'I,两种组播树,在需要时可以进行切换。聚合树的建立需要特殊的发现过程,而聚合后的组播树要进行从Default-MDT到Data-MD'I,的切换意味着带来的开销要比Rosen方案中的切换带来的开销大得多。


  Aggarwal方案虽然在解决P路由器上需要存储的组播状态和PE间组播邻居保持上有一定的提高,也仍然未能很好的解决BGP/MPLS VPN上的可扩展性问题。


  3 基于代理的BGP/MPLS VPN组播方案


  BGP/MPLSV PN中存在着很大的组播需求,而当前的两种组播方案都没能很好的解决可扩展性问题。提出一种基于代理的BGP/MPLS VPN组播方案。


  3.1 方案概述


  为了使SP网络中P路由器需要保存的组播状态信息量减少,以提高组播的可扩展性,方案采用了一种代理机制,即让PE路由器作为客户VPN站点的组播代理,以使得客户VPN内的组播控制报文仅存在于客户站点内,而SP网络中的组播不受VPN站点增长和VPN站点内组播源数量增长的影响,从而解决了因P路由器保存组播状态产生的可扩展性问题。同时,方案采用MP-BGP发现VPN组播成员,并在扩展属性中携带客户VPN站点内的组播控制报文,通过MPLS核心网传递到各个BGP邻居(PE),从而解决了SP网络要运行组播协议带来的邻居保持和传递周期性组播控制报文开销问题,提高了组播的可扩展性。


  如果SP将一个BGP/MPLSV PN配置为组播VPN,则这个VPN中的所有PE路由器将会使用SP网络内一棵MPLS组播树(P-MMT)连接起来。同一个VPN中CE路由器和PE路由器构成组播邻居,而不同VPN站点的CE路由器之间不构成组播邻居。一个VPN被配置为支持组播之后,将使用MP-BGP来发现组播VPN成员和交换组播路由信息。所有的PE路由器都使用MP-BGP来相互通告它们的组播VPN成员,如此每个PE路由器将对网络上其他PE路由器的组播VPN成员有一个完整的了解。所有的PE路由器都使用MP-BGP来传递组播路由信息。各个PE路由器上PIM的VPN客户实例之间不构成路由邻居,客户组播控制报文如PIMJOIN/PRUNE将被代理转化成MP-BUP报文通过MPLS核心网转发。


  3.2 方案代理模型


  PE作为客户VPN站点的组播代理是指如下2种情况:


  (1)若VPN内的一个PE路由器与一个VPN客户站点内的组播源直接相连或者通过CE相连如图1所示,则该PE路由器将加人组播源S所在的组播组。对组播源S而言,该PE路由器将为该VPN其他客户站点的所有接收者作为代理接收者。而在SP的核心网中,该PE路由器将作为P-MMT的组播源,它将通过P2MP的LSP(Label Switch Protocol,标签交换协议)隧道发送组播数据给连有客户VPN接收者的PE路由器。


  (2)若V PN内的一个PE路由器与一个或一个以上的VPN组播接收者直接相连,或通过CE路由器相连。如图2所示。则该PE路由器将加人以(1)情况所述的PEs路由器为根的P-MMT,接收来自PEs的组播数据。对接收者Rr而言,PEr将作为代理组播源,它将接收来自Rr的JOIN/PRUNE组播控制报文,并发送组播数据给Rr。


  所有的代理PE将通过一个MPLS核心网中的P-MMT连接起来,如图3所示。在这种组播树中P路由器不需要知道VPN客户站点的任何信息。图3只是对于一个VPN,而且是只有一个组播源的情况。对于多个组播源、多个VPN的情况,PE路由器既可以作为PEs也可以作为PEr,也可以同时是PEs和PEr。


  应用了这种模型之后,每个客户站点可以构建一个独立的以代理源PEr为根的IP组播树,而不用关心其他客户站点的组播树的情况。


  3.3 方案特点


  通过上述对基于代理的组播方案的描述,可以将这一组播方案的特点概括为:①使用MP-BGP来发现VPN组播成员;②将组播控制报文局限在VPN客户站点范围内,在SP网络上采用MP-BGP的路由更新报文来传递·客户站点的组播请求;OO SP网络上多个VPN、多个组播频道可以使用一个MPLS P2MP的组播隧道传输数据;。VPN客户站点不需要进行改动,代。


  理组播对VPN客户站点是透明的。


  3.4 方案可扩展性分析图


  制约方案可扩展性问题的因素有:①P路由器上保持的组播标签数量;O PE路由器上需要存储的MVRF(Multicast VPN Routing & Forwarding,组播VPN路由转发表)条目;O PE路由器间的组播邻居保持开销。这些因素会随着VPN数目的增长和VPN里组播频道和组播成员的增长而增长。下面分别从这3个方面来分析基于代理的组播方案的可扩展性。


  假设一个SP网络上的PE路由器的数量为NPE,P路由器的总数为Np。


  (1)P路由器上保持的组播标签数量


  方案不在P路由器上存储常规的组播状态,取而代之的是要在P路由器上存储MPLSP 2MP所使用的组播标签。P路由器上存储的组播标签表示该P路由器在以PE为根或叶子的组播树上,而所有这些组播树的个数与连有VPN客户站点组播频道的PE的数目相等。


  假设第i个PE路由器连有VPN客户站点组播频道的概率为rs(i),则平均每个PE路由器连有VPN客户站点组播频道的概率为


  PE路由器上的MVRF表条目的数量是随着VPN数量和组播隧道的数量的增长而增长。但这一开销是不可避免的。随着网络路由器性能的提高,这一因素对方案的制约会越来越小。


  (3) PE路由器间的组播邻居保持开销


  方案不需要采用PIM协议的过程来发现和保持邻居,即不需要周期性接收、发送并处理PIM Hello报文。


  已经建立好组播邻居关系的两个PE,只要在BGP协议的Hold Timer时间内收到KEEP ALIVE报文就认为该邻居是存在的。当要新建邻居关系或者邻居要离开时只要通过BGP协议的路由UPDATE报文来通知对端即可。


  基于代理的组播方案中不存在PE路由器间进行组播邻居保持的开销,这对于可扩展性的提高有着很大作用。


  PE路由器上的MVRF表条目的数量是随着VPN数量和组播隧道的数量的增长而增长。但这一开销是不可避免的。随着网络路由器性能的提高,这一因素对方案的制约会越来越小。


  4 基于NS-2的可扩展性仿真实验


  P路由器上保持的组播状态数量是衡量BGP/MP1S VPN中的组播方案可扩展性重要因素。基于NS-2网络模拟器对3种组播方案分别从以下两个方面进行仿真测试:①测量当网络上VPN个数固定而组播组数目Nsc逐步增多的时候,P路由器上存储的组播状态数目的变化趋势。②当组播上分布的组播组数目固定,而VPN数目NvpN逐步增多的时候,P路由器上存储的组播状态数目的变化趋势。


  根据NS-2网络仿真模拟测试结果,分别得到了如图4、图5所示的P路由器上存储的组播状态数目变化趋势曲线图。


  图4、图5仿真实验结果表明:03种方案对于组播可扩展性都有提高,而以基于代理(Proxy)的方案为最优,Aggarwal次之,Rosen最差;)Rosen方案和瑰garwal方案对可扩展性的提高依赖于VPN的数目,当VPN数目超过一定限度时VPN上将不能再增加组播组。而基于Proxy的方案对VPN数目的增长没有依赖性,只要网络拓扑不发生变化,P路由器上的组播状态数目不会超出路由器的处理能力。③提出的基子代理的组播方案是可行的、有效的,并且它在可扩展性方面比Rosen方案和Aggarwal方案更优。


  5 结束语


  在分析现有两种VPN组播方案的基础上提出了一种基于代理的BGP/MPLSV PN组播改进方案。方案使用代理VPN组播路由器将VPN上的组播局限在客户站点范围内,服务提供商(SP)网络上采用基于MPLS的P2MP组播通道,有效地提高了组播在BGP/MPLS VPN上的可扩展性。最后在网络模拟器NS-2下对基于代理的组播方案进行实验验证,实验测试结果表明提出的组播方案可扩展性优于现有的两种组播方案。创新点在于提出了一种可扩展性好的BGP/MI'LS VPN组播改进方案,这种方案具有在实际的网络中进行进一步研究和推广的价值。