一种实现vpn组播的方法

文档序号:7970244阅读:261来源:国知局
专利名称:一种实现vpn组播的方法
技术领域
本发明涉及一种组播方法,特别是一种在组播域中实现VPN组播的方法。属通信领域。
背景技术
网络中,每个用户接入点称作一个站点(Site)。VPN(虚拟专用网)网络中包括如下实体运营商边界路由器(Provider Edge Router,简称PE)用于在运营商骨干网中为用户提供网络接口、存储虚拟路由(VirtualRouting Forwarding Instance,简称VRF)转发、处理VPN-IPv4路由、接入位于各个站点的VPN子网,是VPN的主要实现部分;用户边界路由器(Customer Edge Router,简称CE),用户VPN站点中接入运营商骨干网的网络接口,汇聚本站点的私网路由,发布和接收用户网络路由;运营商网络核心路由器(简称P路由器),承担着所有数据包在骨干网中转发的任务;每个站点的VPN用户经用户边界路由器CE连接本地运营商边界路由器PE,并在PE上对应特定的存储虚拟路由VRF。VRF上配置一些策略,规定该站点的路由器可以接收哪些站点的路由信息,可以向外发布那些路由信息。每个PE根据BGP(边界网关协议)的扩展信息进行路由计算,生成每个相关VPN的路由表。运营商边界路由器PE设备维护多个路由表,支持动态路由协议的多实例。
运营商网络是用于传递不同站点的组播数据包的公网网络。其中,包括公网组播组(简称P-Group),公网组播分发树(简称P-Tree)。
用户的私网是一个独立的、自治的IPv4网络系统。其中,包括私网组播组(简称C-Group),私网组播分发树(简称C-Tree)。
组播VPN可以以多种形式方案实现,如单播方案(简称GRE Tunnel)是在用户VPN网络的所有CE之间建立组播的全连接关系,完成点对点的隧道连接。这种方案存在着严重的效率问题,每改变其中的一个CE,其它所有的都需要重新配置,因此系统的扩展性能很差。
组播域方案(Multicast-Domain,简称MD),是通过在现有的运营商网络中为每个VPN建立并维护一个组播域来实现的。它实质上是一个多端口隧道,每一个PE路由器都是这个隧道的一个端口,从任何端口进入的数据都会在该端口以外的其它端口上流出,所以用户可以简单的把该组播域看作是一个网络切换器(LAN Switch)。这种方案中,组播数据在骨干网组播域路由器中采用洪泛的方式传送,数据转发不是最优转发,会到达没有私网接收者的路由器,然后被丢弃掉,这在一定程度上浪费了骨干网中的网络带宽,也增加了路由器的处理负荷。
组播域(MD)改进方案,当组播域中某个VPN的某个组播组数据传输量超过一定的阈值时,采用VPN-IP PIM方案会为该组播组建立一个动态的组播分发树(Multicast Distribution Tree,简称MDT),组播流量可以沿着这条动态MDT优化路径流动。这样既能减小运营商管理公网中组播路由的负担,同时也为高速的组播数据传输提供了保障。事实上,这种为VPN建立动态MDT的方案仍然存在着一定的局限性,因为在运营上网络中需要支持的VPN数目很多,而且每个VPN中又有很多动态MDT,所以采用改进的组播域方法时公网中组播路由表项依然很多;同时,在这种方案当中只能检测公网组播组中流量大的情况,而对站点分布稀疏所造成的缺憾却不能很好的处理。
在现有VPN组播方案中,改进的组播域方案是采用对流量的检测,其路由表项完全可控,同时又能针对特定的数据源进行优化传输的优势获得了大多数研究者的认可。但是,改进的组播域方案只考虑了某个源发送速率高的问题,而没有考虑站点分布稀疏的问题,而这时的带宽浪费依然是非常大的。

发明内容
本发明所要解决的技术问题在于针对现有技术中的不足,提供一种在组播域中实现VPN组播的方法,该方法考虑到接收成员分布稀疏的情况,针对该情况,引入了覆盖度检测的概念,根据覆盖度的大小来确定P-Tree,减少了带宽的浪费。
为此,本发明提供了一种在组播域中实现VPN组播的方法,包括如下步骤步骤1、VPN网络侧按照如下公式,对当前组播组中接收成员的覆盖度进行计算 其中,PEs为运营商边界路由器;C-Group为私网组播组;P-Tree为公网组播分发树;步骤2、VPN网络侧判断该覆盖度的数值是否小于预先设定的覆盖度阈值,如果是,则执行步骤3;如果否,则结束;步骤3、VPN网络侧建立大于等于预先设定的覆盖度阈值的一个公网组播分发树。
本发明针对改进的MD方案,提出了一个新的覆盖度的概念,通过覆盖度的检测,减少了现有技术中对接收成员站点分布稀疏所造成的带宽浪费,在覆盖度不满足条件的情况下,通过选择或新建一个P-Tree的方法,使得满足覆盖度的要求,就避免了接收成员站点分布稀疏的情况,减少了带宽的浪费。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明第一实施例的流程图;图2为本发明第一实施例中步骤1的具体流程图;图3为本发明第一实施例中步骤3的具体流程图;图4为本发明的一个较佳实施例的流程图。
具体实施例方式
下面首先介绍一下本发明所涉及的相关术语。
组管理路由器为进行管理和维护工作并用于完成映射功能的路由器。组管理路由器是相对于每个C-Group来说的。如,切换到公网中的私网组播组(C-Group),需要为其选择一个公网组播分发树(P-Tree)作为它的分发树。组管理路由器就是监督和管理C-Group,为其建立分发树P-Tree,并通知C-Group的其它接收者运营商边界路由器PE切换到该P-Tree上。一个路由器实体可能包含了很多的组管理路由器,这些组管理路由器可以共享该路由器的分发树,或者向该路由器申请新建一棵分发树。我们也用组管理路由器来表示一个包含组管理路由器的路由器实体。在实际中,组管理路由器可以由其它功能实体来承担,例如,PE路由器。
覆盖度是指当私网组播组(C-Group)的接收者PE成员都是P-Tree的PE成员时(也就是说两者是子集与原集的关系),C-Group对P-Tree的覆盖程度。其值为
之间的一个实数值。如果采用某个P-Tree来分发该C-Group的数据包,覆盖度越小,则表示带宽浪费程度越大。其公式如下 其中,PEs为运营商边界路由器;C-Group为私网组播组;P-Tree为公网组播分发树。
组播域为每个VPN所配置的一棵的分发树,它是一棵静态共享树,包括了VPN的所有PE成员,所有的C-Group默认使用这棵树分发数据,一些VPN的控制消息也在这棵树中进行分发。
实施例1图1为本发明第一实施例的流程图。如图1所示,本发明包括如下步骤步骤1、VPN网络侧按照如下公式,对当前组播组中接收成员的覆盖度进行计算 其中,PEs为运营商边界路由器;C-Group为私网组播组;P-Tree为公网组播分发树;步骤2、VPN网络侧判断该覆盖度的数值是否小于预先设定的覆盖度阈值,如果是,则执行步骤3;如果否,则结束;步骤3、VPN网络侧建立大于等于预先设定的覆盖度阈值的一个公网组播分发树。
步骤3为选用一个满足大于等于覆盖度阈值的,并能覆盖当前组播组所有接收成员的现有的公网组播分发树,或者为当前组播组所有接收成员新建一个公网组播分发树。
实施例2图2为本发明第一实施例中步骤1的具体流程图。本实施例与实施例1的区别仅在于,将实施例1中的步骤1具体细化,其余步骤同实施例1。如图2所示,步骤1具体为步骤11、所述VPN网络侧中的组管理路由器周期性的在组播域中发送覆盖度查询消息,用于查询当前的接收者PEs列表;步骤12、VPN中收到查询消息的路由器确定发出所述查询消息的所述组管理路由器;步骤13、收到查询消息的路由器判断所述查询消息的类型,如果是查询所有组,则执行步骤14;如果是查询部分组,则执行步骤17;
步骤14、收到查询消息的路由器把其路由转发表中属于所述组管理路由器管理的组播组地址全部发回到所述组管理路由器;步骤15、所述组管理路由器收集到所述的响应消息,经过统计得出所查询的组的接收成员列表;步骤16、所述组管理路由器分析统计结果,计算出当前每个组的覆盖度,按照如下公式 其中,PEs为运营商边界路由器,C-Group为私网组播组,P-Tree为公网组播分发树;然后结束;步骤17、收到查询消息的路由器确认所要查询的组,如果自己连接有该组的接收成员,则将该组地址发回到所述组管理路由器。
实施例3图3为本发明第一实施例中步骤3的具体流程图。本实施例与实施例1的区别仅在于将步骤3进行具体细化,如图3所示,步骤3的具体步骤为步骤31、VPN网络侧现有P-Tree中,是否有大于等于覆盖度阈值的,并能覆盖当前组播组所述接收成员的现有P-Tree,如果是,则执行步骤32;如果否,则执行步骤34;步骤32、选择一个大于等于覆盖度阈值的现有P-Tree分发信息;然后结束;步骤33、为当前组播组中所有接收成员新建一个P-Tree。
实施例4图4为本发明的一个较佳实施例的流程图。如图4所示,本发明包括如下步骤步骤11、所述VPN网络侧中的组管理路由器周期性的在组播域中发送覆盖度查询消息,用于查询当前的接收者PEs列表;
步骤12、VPN中收到查询消息的路由器确定发出所述查询消息的所述组管理路由器;步骤13、收到查询消息的路由器判断所述查询消息的类型,如果是查询所有组,则执行步骤14;如果是查询部分组,则执行步骤17;步骤14、收到查询消息的路由器把其路由转发表中属于所述组管理路由器管理的组播组地址全部发回到所述组管理路由器;步骤15、所述组管理路由器收集到所述的响应消息,经过统计得出所查询的组的接收成员列表;步骤16、所述组管理路由器分析统计结果,计算出当前每个组的覆盖度,按照如下公式 其中,PEs为运营商边界路由器,C-Group为私网组播组,P-Tree为公网组播分发树;然后结束;步骤17、收到查询消息的路由器确认所要查询的组,如果自己连接有该组的接收成员,则将该组地址发回到所述组管理路由器;步骤2、VPN网络侧判断该覆盖度是否小于预先设定的覆盖度阈值,如果是,则执行步骤3;如果否,则结束;步骤31、VPN网络侧现有P-Tree中,是否有大于等于覆盖度阈值的,并能覆盖当前组播组所述接收成员的现有P-Tree,如果是,则执行步骤32;如果否,则执行步骤34;步骤32、选择一个大于等于覆盖度阈值的现有P-Tree分发信息;然后结束;步骤33、为当前组播组中所述接收成员新建一个P-Tree。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种在组播域中实现VPN组播的方法,其特征在于,包括如下步骤步骤1、VPN网络侧按照如下公式,对当前组播组中接收成员的覆盖度进行计算 其中,PEs为运营商边界路由器;C-Group为私网组播组;P-Tree为公网组播分发树;步骤2、VPN网络侧判断该覆盖度的数值是否小于预先设定的覆盖度阈值,如果是,则执行步骤3;如果否,则结束;步骤3、VPN网络侧建立大于等于预先设定的覆盖度阈值的一个公网组播分发树。
2.根据权利要求1所述的在组播域中实现VPN组播的方法,其特征在于,所述步骤1具体为步骤11、所述VPN网络侧中的组管理路由器周期性的在组播域中发送覆盖度查询消息,用于查询当前的接收者PEs列表;步骤12、VPN中收到查询消息的路由器确定发出所述查询消息的所述组管理路由器;步骤13、收到查询消息的路由器判断所述查询消息的类型,如果是查询所有组,则执行步骤14;如果是查询部分组,则执行步骤17;步骤14、收到查询消息的路由器把其路由转发表中属于所述组管理路由器管理的组播组地址全部发回到所述组管理路由器;步骤15、所述组管理路由器收集到所述的响应消息,经过统计得出所查询的组的接收成员列表;步骤16、所述组管理路由器分析统计结果,计算出当前每个组的覆盖度,按照如下公式 其中,PEs为运营商边界路由器,C-Group为私网组播组,P-Tree为公网组播分发树;然后结束;步骤17、收到查询消息的路由器确认所要查询的组,如果自己连接有该组的接收成员,则将该组地址发回到所述组管理路由器;然后执行步骤15。
3.根据权利要求3所述的在组播域中实现VPN组播的方法,其特征在于,所述步骤3为选用一个满足大于等于覆盖度阈值的,并能覆盖当前组播组所有接收成员的现有的公网组播分发树,或者为当前组播组所有接收成员新建一个公网组播分发树。
4.根据权利要求1所述的在组播域中实现VPN组播的方法,其特征在于,所述步骤3具体为步骤31、VPN网络侧现有P-Tree中,是否有大于等于覆盖度阈值的,并能覆盖当前组播组所述接收成员的现有P-Tree,如果是,则执行步骤32;如果否,则执行步骤34;步骤32、选择一个大于等于覆盖度阈值的现有P-Tree分发信息;然后结束;步骤33、为当前组播组中所述接收成员新建一个P-Tree。
全文摘要
本发明涉及一种在组播域中实现VPN组播的方法,包括VPN网络侧对当前组播组中接收成员的覆盖度进行计算;VPN网络侧判断该覆盖度的数值是否小于预先设定的覆盖度阈值,如果是,则VPN网络侧建立大于等于预先设定的覆盖度阈值的一个公网组播分发树。本发明通过覆盖度的计算,在覆盖度不满足条件的情况下,通过选择或新建一个P-Tree的方法,使得满足覆盖度的要求,就避免了接收成员站点分布稀疏的情况,减少了带宽的浪费。
文档编号H04L12/56GK1964309SQ20061014116
公开日2007年5月16日 申请日期2006年10月13日 优先权日2006年10月13日
发明者林华生, 陆慧梅, 孙少陵, 向勇, 刘鸿, 高建敏 申请人:中国移动通信集团公司, 清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1