实现组播源到汇聚点注册的方法

文档序号:7941785阅读:167来源:国知局
专利名称:实现组播源到汇聚点注册的方法
技术领域
本发明涉及一种实现组播源到汇聚点注册的方法。
背景技术
IP组播路由技术实现了IP网络中点到多点的高效数据传送。由于能够有效地节约网络带宽、降低网络负载,IP组播路由技术在资源发现、多媒体会议、数据拷贝、实时数据传送、游戏和仿真等诸多方面都有广泛的应用。
IP地址中D类地址空间用于IP组播,每个D类地址用来标识一个组播组。互联网组管理协议(IGMP)在主机和组播路由器之间建立并且维护组播组成员关系信息。组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树,进行组播数据包转发。
组播路由协议分为域间协议和域内协议。域间协议包括MBGP、MSDP、BGMP等。域内协议包括PIM-SM、PIM-DM、DVM汇聚点、CBT等。域内协议可以主要分为两类。一类是稀疏模式组播路由协议,包括PIM-SM、CBT等;另一类是密集模式组播路由协议,包括PIM-DM、DVM汇聚点等。
协议无关组播-稀疏模式(简称PIM-SM)采用由组播信宿显式加入的机制来构建共享树,进行组播数据报文的分发。在满足一定条件下,组播数据接收者还可以切换到最短路径树。另外,PIM-SM是与单播路由协议无关的,它使用单播路由表进行逆向路径转发(RPF)检查,而不是依赖于特定的单播路由协议。
在PIM-SM域中,运行PIM-SM协议的路由器周期性的发送Hello消息,用以发现邻接的PIM路由器,并且负责在多路访问网络中进行指定路由器(指定路由器)的选举。这里,指定路由器负责为其直连组成员朝着组播分发树根节点的方向发送“加入/剪枝”消息,或是将直连组播源的数据发向组播分发树。
PIM-SM通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种以组G的汇聚点为根的共享树和以组播源S为根的最短路径树。PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护。
源主机向组发送组播数据时,源的数据被封装在注册消息内,并由其指定路由器单播至汇聚点。汇聚点再将源的解封装数据包沿着共享树转发到各个组成员。之后,汇聚点可以朝着源方向发送源特定的加入/剪枝消息,用以加入此源的最短路径树。这样源的数据包将沿着其最短路径树不加封装地发送到汇聚点。当第一个组播数据沿此树到达时,汇聚点向源的指定路由器发送注册-停止消息,以使指定路由器停止注册封装过程。此后,这个源的组播数据不再注册封装,而是先沿着源的最短路径树发送到汇聚点,再由汇聚点将其沿着共享树转发到各个组成员。若达到一定的数据传送速率,具有本地接收者的路由器也可以发送显式的加入消息来加入源的最短路径树,并对以汇聚点为中心的共享树进行适当的更新,例如删除相应的出接口等操作。
若汇聚点没有下游接收者或汇聚点已经加入(S,G)树并沿着最短路径树(SPT)接收组播数据包,则汇聚点发送注册停止消息停止源进行注册。收到注册-停止消息后,指定路由器停止发送注册消息。指定路由器为每个(S,G)项维护一个注册抑制定时器,在收到停止消息时启动。定时器运行期间,不进行注册,当其超时时,源的指定路由器又会向汇聚点单播注册消息。在注册抑制定时器超时前[检测-时间]秒(默认为5秒)向汇聚点发送空注册消息(注册消息标志位N被置位,且未封装数据),以避免向汇聚点发送不必要的数据,导致流量的突然增加。
现有技术方案被RFC2362定义。
方案一目前的PIM-SM协议必须要求汇聚点上保存所有组播域内的源组信息。而使用的方法是让连接源的指定路由器向汇聚点发送注册报文(封装数据的注册报文或者是空注册报文)。当汇聚点上已经存在了源组信息之后指定路由器也要周期性的向汇聚点发送,用以维持这个源组信息。
假设一个组播域内有10个源连接在一台路由器上,当连接源的指定路由器首次向汇聚点注册过之后,不论网络中是否存在这些组的接收者,也不论这些接收者是否加入到源的SPT上,指定路由器都将周期性的(默认为1分钟)向汇聚点发送10个空注册报文,汇聚点也将向指定路由器回10个注册停止报文。只要这10个源组一直是活动的这个周期性的发送注册和注册停止报文的就一直进行下去。
当10个源组不再发送数据时,指定路由器停止向这些组的汇聚点发送注册报文和空注册报文。汇聚点上一段时间没有收到指定路由器上发送来的注册报文后,将删除这些源组的信息。
方案二该方法是上述技术方案一的一个改进方案,由PIM-SM协议的草案指定路由器aft-ietf-pim-sm-v2-new-05定义。
主要改进点是汇聚点如果不需要某一组的组播数据,可以向指定路由器发送一个指定组的所有源(*,G)的注册停止报文。当指定路由器收到这个报文后就如同收到了所有(S,G)的注册停止报文一样。
方案一存在以下缺点1、汇聚点上只保存有当前域内活动源组的信息而并不知道这个源组是从哪个指定路由器注册过来的。
2、使用周期性的注册/注册停止报文来维持指定路由器到汇聚点的链路,导致网络上的传送很多的协议报文,增加了路由器的处理负担。
3、如果网络延迟或路由器处理时间过长,导致空注册报文丢失,则指定路由器又重新将组播数据封装到注册报文中,向汇聚点注册,增加了网络的负担。
方案二虽然可以减少注册停止报文的个数,但不能解决方案一的其它缺点。

发明内容
本发明的目的在于提供一种实现组播源到汇聚点注册的方法,以减少现有技术中大量空注册报文和注册停止报文在网络上的传输。
本发明包括下述步骤A、连接组播源的指定路由器将该源向组发送的第一个组播数据封装在注册消息内单播给对应的汇聚点,并至少记录组与所述汇聚点的对应关系;B、所述汇聚点收到注册消息后记录该指定路由器的地址,并将该地址与组播路由源组项相关联;C、所述汇聚点向所述指定路由器发送注册停止消息;D、所述指定路由器收到注册停止消息后停止注册封装,并通过心跳报文与汇聚点保持相互的关联信息,以及通过指定路由器向汇聚点发送注销报文,由汇聚点删除停止发送组播数据的对应的组播路由源组项信息。
根据上述方法所述指定路由器上还包括组播源与所述汇聚点的对应关系。
步骤C是指汇聚点由于没有下游接收者,直接给指定路由器发送注册停止消息,或者所述汇聚点加入源的最短路径树,并在收到第一个沿该最短路径树到达的数据时向指定路由器发送注册停止消息。
步骤D是指指定路由器和汇聚点每隔一定周期向对方发送一个心跳报文。
所述汇聚点每收到指定路由器的心跳报文则刷新与所述指定路由器相关联的信息。
如果所述的汇聚点在连续的复数个周期内未收到所述指定路由器的心跳报文则删除与该指定路由器的关联信息;如果所述指定路由器在连续的复数个周期内未收到所述汇聚点的心跳报文则删除与该汇聚点的关联信息。
指定路由器与汇聚点其中之一不支持心跳报文时,指定路由器则周期性的向汇聚点发送空注册报文以维持汇聚点上的源组信息。
本发明通过建立“指定路由器-汇聚点”对应关系,并以心跳报文维持该对应关系,减少了空注册报文和注册停止报文在网络上的传输,也避免因空注册报文丢失而造成的反复注册,以及减少路由器维护的状态和定时器,从而提高网络运行的稳定性和健壮性。


图1为本发明的流程图;图2为指定路由器向汇聚点注册示意图;图3为汇聚点向指定路由器发送注册停止报文的示意图;图4为指定路由器与汇聚点之间通过心跳报文维持联系的示意图;图5为指定路由器和汇聚点的对应关系图;图6为本发明的指定路由器向汇聚点发送注销消息的示意图。
具体实施例方式
本发明是一种高效实现PIM-SM协议中指定路由器(简称DR)向汇聚点(简称RP)注册的方法,称为注册--注销机制,用以替代现有技术的注册--注册停止机制。
参阅图1所示的流程图(1)参阅图2所示首先,连接组播源的指定路由器收到组播源发出的组播数据流后,将该源向组发送的第一个组播数据封装在注册消息内单播给对应的汇聚点,并至少记录组地址与所述汇聚点地址的对应关系。指定路由器同时也可记录源的地址信息,并将该信息与汇聚点的地址对应。
(2)汇聚点收到注册消息后记录该指定路由器的地址,将该地址与组地址信息和组播源的地址相关联。汇聚点再将源的解封装数据包沿着共享树转发到各个组成员。
(3)参阅图3所示,汇聚点向所述指定路由器发送注册停止消息。
汇聚点可以朝着源方向发送源特定的加入/剪枝消息,用以加入此源的最短路径树汇,并且集点在收到第一个沿该最短路径树到达的数据时向所述指定路由器发送注册停止消息;或者汇聚点由于没有下游接收者,直接给指定路由器发送注册停止消息;(4)参阅图4所示,指定路由器收到注册停止报文后停止注册封装过程,并通过心跳报文与汇聚点保持相互的关联信息,以及通过指定路由器向汇聚点发送注销报文,由汇聚点删除停止发送组播数据的对应的组播路由源组项信息。
上述的关联信息是指指定路由器一汇聚点关系,该关系是建立在组播源的直联路由器指定路由器和汇聚点之间的关系。
当指定路由器收到某个汇聚点发来的第一个注册停止报文后,向汇聚点单播一个心跳报文,汇聚点收到心跳报文后也向指定路由器回应一个心跳报文,这样指定路由器和汇聚点就建立了“指定路由器-汇聚点”关系。以后每隔一段时间后向对方发送一个心跳报文,默认可取值为60秒。
指定路由器-汇聚点心跳报文格式如下表0 1 2 3 4 5 6 78 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

类型=9报文类型代码为9;包含指定路由器和汇聚点的地址。
汇聚点每收到指定路由器发来的一个心跳报文就刷新与这个指定路由器相关联的源组信息。如果连续三个周期(默认180秒)没有收到对方发来的心跳报文就删除这个指定路由器-汇聚点关系,并且汇聚点删除与这个指定路由器相关联的所有源组信息。
指定路由器和汇聚点上保存的指定路由器-汇聚点关系及与源组信息的对应关系可参阅图5所示。
参阅图6所示的注销过程在建立了指定路由器-汇聚点关系的指定路由器上的某一组播源停止发送组播数据,并在其组播路由源组((S,G))项超时后,指定路由器向汇聚点单播一个注销报文。在汇聚点收到注销报文后,删除自己保留的(S,G)信息。
注销报文的格式如下表
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1516 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

类型=10报文类型代码为10;报文中包含要注销的源地址和组地址。
本发明还可以与原技术方案兼容,这样可以保证使用本方案的路由器和使用原技术方案的路由器在同一组播域内正常工作。
一台路由器上与指定路由器-汇聚点关系存在关联的组播源组用注册--注销机制维护其在指定路由器和汇聚点上的状态,无指定路由器-汇聚点关系对应的源组按原技术方案进行指定路由器向汇聚点的注册。
汇聚点上不支持注册--注销机制当指定路由器向汇聚点注册过后,汇聚点不向指定路由器发送心跳报文,指定路由器与汇聚点不能建立指定路由器-汇聚点关系。那么指定路由器就按原技术方案周期性的向汇聚点发送空注册报文以维持汇聚点上的源组信息。当指定路由器上的组播源不再发送组播数据后,指定路由器也不再向汇聚点发送注册报文,汇聚点上的源组信息经过一段时间就会正常超时。
指定路由器上不支持注册-注销机制当指定路由器向汇聚点发送注册报文后,汇聚点向指定路由器发送心跳报文,但指定路由器不向汇聚点发送心跳报文,指定路由器与汇聚点不能建立指定路由器-汇聚点关系。那么按原技术方案指定路由器周期性的向汇聚点发送空注册报文,汇聚点收到注册报文后按原技术方案回复注册停止报文。当指定路由器上的组播源不再发送组播数据后,指定路由器也不再向汇聚点发送注册报文,汇聚点上的源组信息经过一段时间就会正常超时。
权利要求
1.一种实现组播源到汇聚点注册的方法,其特征在于包括下述步骤A、连接组播源的指定路由器将该源向组发送的第一个组播数据封装在注册消息内单播给对应的汇聚点,并至少记录组与所述汇聚点的对应关系;B、所述汇聚点收到注册消息后记录该指定路由器的地址,并将该地址与组播路由源组项相关联;C、所述汇聚点向所述指定路由器发送注册停止消息;D、所述指定路由器收到注册停止消息后停止注册封装,并通过心跳报文与汇聚点保持相互的关联信息,以及通过指定路由器向汇聚点发送注销报文,由汇聚点删除停止发送组播数据的对应的组播路由源组项信息。
2.如权利要求1所述的方法,其特征在于所述指定路由器上还包括组播源与所述汇聚点的对应关系。
3.如权利要求1所述的方法,其特征在于步骤C是指汇聚点由于没有下游接收者,直接给指定路由器发送注册停止消息,或者所述汇聚点加入源的最短路径树,并在收到第一个沿该最短路径树到达的数据时向指定路由器发送注册停止消息。
4.如权利要求1所述的方法,其特征在于步骤D是指指定路由器和汇聚点每隔一定周期向对方发送一个心跳报文。
5.如权利要求4所述的方法,其特征在于所述汇聚点每收到指定路由器的心跳报文则刷新与所述指定路由器相关联的信息。
6.如权利要求1至5之一所述的方法,其特征在于如果所述的汇聚点在连续的复数个周期内未收到所述指定路由器的心跳报文则删除与该指定路由器的关联信息;
7.如权利要求1至5之一所述的方法,其特征在于如果所述指定路由器在连续的复数个周期内未收到所述汇聚点的心跳报文则删除与该汇聚点的关联信息。
8.如权利要求3所述的方法,其特征在于指定路由器与汇聚点其中之一不支持心跳报文时,指定路由器则周期性的向汇聚点发送空注册报文以维持汇聚点上的源组信息。
全文摘要
本发明公开了一种实现组播源到汇聚点注册的方法,该方法包括为连接组播源的指定路由器将该源向组发送的第一个组播数据封装在注册消息内单播给对应的汇聚点,并至少记录组与所述汇聚点的对应关系;所述汇聚点收到注册消息后记录该指定路由器的地址,并将该地址与组播路由源组项相关联;所述汇聚点向所述指定路由器发送注册停止消息;所述指定路由器收到注册停止消息后停止注册封装,并通过心跳报文与汇聚点保持相互的关联信息。本发明通过建立“指定路由器-汇聚点”对应关系,并以心跳报文维持该对应关系,减少了空注册报文和注册停止报文在网络上的传输,从而提高网络运行的稳定性和健壮性。
文档编号H04L12/18GK1503507SQ0215319
公开日2004年6月9日 申请日期2002年11月26日 优先权日2002年11月26日
发明者冯博, 冯 博 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1