双向协议无关组播网络中组播转发表项建立方法及设备的制作方法

文档序号:7626941阅读:161来源:国知局
专利名称:双向协议无关组播网络中组播转发表项建立方法及设备的制作方法
技术领域
本发明涉及组播技术领域,具体涉及双向协议无关组播(PIM, ProtocolIndependent Multicast)网络中组播转发表项建立方法及设备。
背景技术
双向协议无关组播(PIM,Protocol Independent Multicast)协议假设组播源同时也是接收者,适用于视频会议等场景。但实际组网中,组播源到汇合点(RP,Rendezvous Point)的路径上不一定有接收者,但为了流量能顺利转发,组播源到RP的路径上需要建立对应组的转发表项才能转发组播流量。图1给出了一个现有的双向PIM的组网示例图,如图1所示,组网中存在2个接收者,根据双向PIM协议,(*,G)表项的反向路径转发(RPF,Reverse Path Forwarding)接口为到RP最近的接口,组播流会首先发送到RP,再转发给接收者。接收者到RP的(*,G)表项由因特网组管理协议(IGMP, Internet Group Management Protocol)和PIM加入报文触发建立,用于转发组播流。发送者到RP也需要通过(*,G)表项来转发组播流,不能采用传统的PIM-稀疏模式(SM,Sparse Mode)和PIM-密集模式(DM,Dense Mode)的单播方式,影响效率。目前业界采用流驱动的方式在组播源到RP的链路上建立(*,G)表项。流驱动方式对设备会造成较大的冲击,并且在表项建立后才能转发,需要设备缓存等待,存在延时和丢包的可能。

发明内容
本发明提供双向PIM网络中组播转发表项建立方法及设备,以提高双向PIM转发效率。本发明的技术方案是这样实现的一种双向协议无关组播PIM网络中组播转发表项建立方法,该方法包括双向PIM组播源的直连设备接收组播源发来的针对组播组G的第一协议报文,根据该协议报文建立(*,G)表项,该表项的出接口为直连设备的反向路径转发RPF接口,并从所述RPF接口向汇合点RP方向发送第二协议报文,所述第二协议报文用于指示上游设备建立(*,G)表项,该表项的出接口为上游设备的RPF接口 ;其中,第一协议报文为双向PIM组播源在发送针对所述组播组G的组播流前发出的。所述第一协议报文为=IGMPvl报告报文,其中,该报文的Unused字段表示该报文用于指示直连设备建立出接口为RPF接口的(*,G)表项。所述第二协议报文为PIM加入报文,其中,该报文的第二个Reserved字段表示该报文用于指示上游设备建立出接口为RPF接口的(*,G)表项。一种双向PIM网络中组播转发表项建立方法,该方法包括上游设备接收双向PIM组播源的直连设备发来的针对组播组G的第二协议报文,根据该协议报文建立(*,G)表项,该表项的出接口为该上游设备的RPF接口,并从所述RPF 接口向RP方向转发第二协议报文。所述第二协议报文为PIM加入报文,其中,该报文的第二个Reserved字段表示该报文用于指示所述上游设备建立出接口为RPF接口的(*,G)表项。一种双向PIM组播源的直连设备,位于双向PIM组播源与RP之间的路径上,该设备包括协议报文收发模块接收双向PIM组播源发来的针对一个组播组G的第一协议报文,将该报文发送给表项建立模块,同时从自身的RPF接口向RP方向发出第二协议报文,所述第二协议报文用于指示上游设备建立(*,G)表项,该表项的出接口为上游设备的RPF接口 ;其中,第一协议报文为双向PIM组播源在发送针对所述组播组G的组播流前发出的;表项建立模块接收协议报文收发模块发来的第一协议报文,根据该报文建立 (*,G)表项,该表项的出接口为本设备的RPF接口。一种上游设备,位于双向PIM组播源的直连设备与RP之间的路径上,该上游设备包括协议报文收发模块接收来自双向PIM组播源的直连设备方向的针对一个组播组 G的第二协议报文,将该报文发送给表项建立模块,同时从自身的RPF接口向RP方向转发第二协议报文;

表项建立模块接收协议报文收发模块发来的第二协议报文,根据该协议报文建立(*,G)表项,该表项的出接口为本设备的RPF接口。一种双向PIM组播源,包括第一模块,用于在要发出针对一个组播组G的组播流前,发出一个针对该组播组G的第一协议报文,该报文用于指示该报文的接收设备建立出接口为RPF接口的(*,G)表项。 与现有技术相比,本发明中,双向PIM组播源在发送针对一个组播组G的组播流前先发出一个针对组播组G的第一协议报文,以触发该组播源与RP之间的设备建立(*,G)表项,从而避免了大量数据报文对设备的周期性的冲击,且不需要设备缓存等待,降低了延时和丢包的可能性;同时通过控制报文而不是组播流来建立(*,G)表项,使得表项的建立更高效、可控,当设备异常时也可加速表项的清除。


图1为现有的双向PIM的组网示例图;图2为本发明实施例提供的双向PIM网络中组播转发表项建立方法的流程图;图3为本发明实施例提供的双向PIM组播源的直连设备的组成图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图2为本发明实施例提供的双向PIM网络中组播转发表项建立方法的流程图,如图2所示,其具体步骤如下步骤201 双向PIM组播源在发送针对一个组播组G的组播流前,发出一个IGMPvl 报告(Iteport)报文,该报文中携带组播组G地址,同时携带双向PIM组播源的IGMP加入指示。本实施例中,组播源在启动一个双向PIM应用,如启动一个视频会议时,就立即发出一个IGMPvlIteport报文。IGMPvIR印ort报文的格式如下01234567012345670123456701234567012 3 4 5 6 7 0+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-I Version TypeUnusedChecksum+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-IGroup Address+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-本实施例中,各字段的含义及取值如下Version IGMP版本号,这里,取值为1,表示为IGMPvl ;Type 报文类型,这里,取值为0x2,表示为查询报文;Unused 该字段在现有的IGMPvl Report报文中为未使用字段,本实施例中,使用该字段表示双向PIM组播源的IGMP加入,这里,可取值为0x07。步骤202 JGMPvl Report报文到达组播源的直连设备,该设备根据该报文建立 (*,G)表项,同时将自身的RPF接口添加为该表项的出接口,并将该出接口的属性设为 IGMPvl*,并从自身的RPF接口发送PIM加入(Join)报文,PIM Join报文携带组播组G地址。这里将出接口的属性设为IGMPvl*是为了和现有表项出接口的属性进行区分,当然如果不作区分,和现有出接口的属性设置一致也没有问题。本实施例中,为了将PIM Join报文与现有的PIM Join报文相区别,需要对PIM Join报文进行修改,具体如下PIM Join报文的格式如下01234567012345670123456701234567012 3 4 5 6 7 0+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-I PIM Ver | Type | Reserved |Checksum+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-IEncoded-Unicast-Upstream Neighbor Address+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-I Reserved| Num groups |Holdtime+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-本实施例中,使用第二个Reserved字段即,Num groups之前的Reserved字段表示该PIM Join报文是由扩展的IGMPvl R印ort报文触发的,这里,可取值为0x07。步骤203 组播源的直连设备的上游设备接收PIM Join报文,根据该报文建立(*, G)表项,同时将自身的RPF接口添加为该表项的出接口,并将该出接口的属性设为Pnf,并从自身的RPF接口发送PIM Join报文,PIMJoin报文携带组播组G地址。
这里的“组播源的直连设备的上游设备”指的是从组播源的直连设备到RP所途经的第一台设备。对于从组播源的直连设备到RP所途经的任一设备,该设备接收到PIMJoin报文后,都会进行步骤203的处理,PIM Join报文最终会到达RP。当然,这里出接口的属性和现有的出接口的属性设置一致也没有问题。本步骤中的PIM Join报文与步骤202相同,需要将第二个Reserved字段表示为该报文是由扩展的IGMPvl R印ort报文触发的,可取值为0x07。步骤204 =RP 接收 PIM Join 报文。 本实施例中应用IGMPvl R印ort报文以及PIM Join报文来指示组播源的加入是一种比较优的实施方式,可以和现有的组播协议达到比较好的融合。如果仅从实现本发明的目的来看,也可以不使用IGMPvl Report报文和PIMJoin报文,只要该报文能够被接收该报文的设备所识别,并且根据该报文建立以RPF为出接口的(*,G)表项即可。所以,完全可以自定义一种协议报文来完成上述作用。此后,当组播源发送针对组播组G的组播流后,在组播源到RP路径上的设备就根据建立的(*,G)表项进行组播流的转发。具体地,组播源发送的组播流到达上游的各个运行双向PIM协议的设备时,这些设备根据组播组G对应的(*,G)表项的出接口,将组播流从 RPF接口转发出去,最终组播流到达了 RP。现有的采用流驱动方式生成双向PIM的(*,G)表项的情况下,假如组播源异常挂断,(*,G)表项需要等待210s老化。本发明实施例中,使用IGMPvl报文生成(*,G)表项, 假如组播源异常挂断,(*,G)表项的老化时间能缩短到120s。图3为本发明实施例提供的双向PIM组播源的直连设备的组成图,该直连设备位于双向PIM组播源与RP之间的路径上,如图3所示,其主要包括协议报文收发模块31、表项建立模块32、表项存储模块33和流转发模块34,其中协议报文收发模块31 接收来自双向PIM组播源侧的针对一个组播组G的双向 PIM组播源IGMP加入报文,将该报文发送给表项建立模块32,同时从本设备的RPF接口发出双向PIM组播源PIM加入报文,其中,所述双向PIM组播源IGMP加入报文为双向PIM组播源在发送针对所述组播组G的组播流前发出的。表项建立模块32 接收协议报文收发模块31发来的针对组播组G的双向PIM组播源IGMP加入报文,根据该报文建立(*,G)表项,将本设备的RPF接口添加为该表项的出接口,将(*,G)表项保存到表项存储模块33中。表项存储模块33 存储(*,G)表项。流转发模块34 接收双向PIM组播源发来的组播流,在表项存储模块33中查找该组播流对应的(*,G)表项,根据该(*,G)表项的出接口,将该组播流转发出去。以下给出本发明实施例提供的上游设备的组成,该上游设备位于双向PIM组播源的直连设备与RP之间的路径上,该上游设备主要包括协议报文收发模块、表项建立模块、 表项存储模块和流转发模块,其中协议报文收发模块接收来自双向PIM组播源的直连设备方向的针对一个组播组 G的双向PIM组播源PIM加入报文,将该报文发送给表项建立模块,同时从本设备的RPF接口转发该报文。
表项建立模块接收协议报文收发模块发来的针对组播组G的双向PIM组播源 PIM加入报文,根据该报文建立(*,G)表项,将本设备的RPF接口添加为该表项的出接口, 将(*,G)表项保存到表项存储模块中。 表项存储模块存储(*,G)表项。流转发模块接收双向PIM组播源发来的组播流,在表项存储模块中查找该组播流对应的(*,G)表项,根据该(*,G)表项的出接口,将该组播流转发出去。以下给出本发明实施例提供的双向PIM组播源的组成,该双向PIM组播源包括第一模块,用于在要发出针对一个组播组G的组播流前,发出一个针对该组播组G的双向PIM 组播源加入报文。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种双向协议无关组播PIM网络中组播转发表项建立方法,其特征在于,该方法包括双向PIM组播源的直连设备接收组播源发来的针对组播组G的第一协议报文,根据该协议报文建立(*,G)表项,该表项的出接口为直连设备的反向路径转发RPF接口,并从所述RPF接口向汇合点RP方向发送第二协议报文,所述第二协议报文用于指示上游设备建立 (*,G)表项,该表项的出接口为上游设备的RPF接口 ;其中,第一协议报文为双向PIM组播源在发送针对所述组播组G的组播流前发出的。
2.根据权利要求1所述的方法,其特征在于,所述第一协议报文为=IGMPvl报告报文, 其中,该报文的Unused字段表示该报文用于指示直连设备建立出接口为RPF接口的(*,G) 表项。
3.根据权利要求1所述的方法,其特征在于,所述第二协议报文为PIM加入报文,其中,该报文的第二个Reserved字段表示该报文用于指示上游设备建立出接口为RPF接口的 (*,G)表项。
4.一种双向PIM网络中组播转发表项建立方法,其特征在于,该方法包括上游设备接收双向PIM组播源的直连设备发来的针对组播组G的第二协议报文,根据该协议报文建立(*,G)表项,该表项的出接口为该上游设备的RPF接口,并从所述RPF接口向RP方向转发第二协议报文。
5.根据权利要求4所述的方法,其特征在于,所述第二协议报文为PIM加入报文,其中,该报文的第二个Reserved字段表示该报文用于指示所述上游设备建立出接口为RPF接口的(*,G)表项。
6.一种双向PIM组播源的直连设备,位于双向PIM组播源与RP之间的路径上,其特征在于,该设备包括协议报文收发模块接收双向PIM组播源发来的针对一个组播组G的第一协议报文,将该报文发送给表项建立模块,同时从自身的RPF接口向RP方向发出第二协议报文,所述第二协议报文用于指示上游设备建立(*,G)表项,该表项的出接口为上游设备的RPF接口 ;其中,第一协议报文为双向PIM组播源在发送针对所述组播组G的组播流前发出的;表项建立模块接收协议报文收发模块发来的第一协议报文,根据该报文建立(*,G) 表项,该表项的出接口为本设备的RPF接口。
7.—种上游设备,位于双向PIM组播源的直连设备与RP之间的路径上,其特征在于,该上游设备包括协议报文收发模块接收来自双向PIM组播源的直连设备方向的针对一个组播组G的第二协议报文,将该报文发送给表项建立模块,同时从自身的RPF接口向RP方向转发第二协议报文;表项建立模块接收协议报文收发模块发来的第二协议报文,根据该协议报文建立 (*,G)表项,该表项的出接口为本设备的RPF接口。
8.一种双向PIM组播源,其特征在于,包括第一模块,用于在要发出针对一个组播组 G的组播流前,发出一个针对该组播组G的第一协议报文,该报文用于指示该报文的接收设备建立出接口为RPF接口的(*,G)表项。
全文摘要
本发明公开了双向协议无关组播网络中组播转发表项建立方法及设备。方法包括双向PIM组播源的直连设备接收来自该组播源的针对组播组G的第一协议报文,根据该协议报文建立(*,G)表项,该表项的出接口为直连设备的RPF接口,并从所述RPF接口向RP方向发送第二协议报文,所述第二协议报文用于指示上游设备建立(*,G)表项,该表项的出接口为上游设备的RPF接口;其中,第一协议报文为双向PIM组播源在发送针对所述组播组G的组播流前发出的。本发明提高了双向PIM转发效率。
文档编号H04L12/56GK102158405SQ20111008025
公开日2011年8月17日 申请日期2011年3月31日 优先权日2011年3月31日
发明者周迪, 沈岭 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1