组播源的注册、组播路径的建立方法及装置制造方法
【专利摘要】本发明公开了组播源的注册、组播路径的建立方法及装置,包括:组播源所属的指定路由器DR在接收到组播源的组播报文后,为组播报文封装组播报头,组播报头的目的地址为组播地址,源地址为组播源的代理转交地址,并在为组播报文封装组播报头后将组播报文封装为注册报文,发送到汇集点。本发明在PMIPv6域中以组播源的代理转交地址,提供的建立组播路径的方法可以提高组播路由效率和组播性能。
【专利说明】组播源的注册、组播路径的建立方法及装置【技术领域】
[0001]本发明涉及移动通信领域,尤其涉及一种组播源的注册、组播路径的建立方法及
装直。
【背景技术】
[0002]组播的出现是为了解决传统单播路由在处理组通信时出现的效率问题。随着无线和移动技术的发展,在移动过程中获取组播服务成为了一个研究热点,移动组播由传统固定组播发展而来,为移动用户提供诸如移动视频会议、移动在线游戏等多种应用,可有效提高数据传输效率。移动组播需要解决两个基本问题:一是组成员关系管理,二是组成员位置管理。当前组成员关系管理一般米用Internet组管理协议IGMP(全称为InternetGroup ManagementProtocol)/组播侦听者发现协议 MLD(全称为 Multicast ListenerDiscoveryProtocol)等协议,而组成员位置管理则采用移动IP等移动性管理协议。
[0003]IP组播业务模型分为两种:任意源组播ASM(全称为Any-SourceMulticast)和特定源组播SSM (全称为Source-Specific Multicast)。ASM模型使用一个组播地址来标识一个组播组,每个组播组可以有任意多个组播源和接收者,需要利用汇集点(RP,全称为Rendezvous Point)进行共享树(RPT,全称为Rendezvous Point Tree)的建立,并且通过组播源注册机制建立最短路径树SPT (全称为Shortest Path Tree), ASM模型适用于多方参加的视频会议及P2P游戏等,这样多个组播源将数据发到相同的组(即是多对多)。SSM和MLDv2/IGMPv3相结合,使用组播地址G和组播源地址S来标识一个组播会话,也称为一个频道,每个频道只能有一个指定源和任意多个接收者。在SSM模型中不需要选择汇集点RP和维护共享树(RPT),不需要进行组播源注册,从而在网络内直接构建以组播源S为根、以接收者为叶子的SPT,省去了 PIM-SM中先建立共享树再从共享树向最短路径树切换的过程,从而能够从一开始就沿最短路径树转发数据,SSM特别适合于点到多点的组播服务,如网络娱乐频道、网络新闻频道、网络体育频道等业务。
[0004]为了处理同一路由器在不同接口上收到的来自不同对端的相同组播信息,需要对组播报文的入接口进行逆向路径转发RPF(全称为Reverse PathForwarding)检查,以决定转发还是丢弃该报文。
[0005]对于移动组播,IETF在MULHM0B工作组致力于研究基于PMIPv6的移动组播机制,目前提出了一种基本解决方案,下面结合附图介绍该方案的实现过程。如图1所示,组播源MNl (Mobile Node,移动节点)和组播侦听者MN2分别附着于MAGl (Mobile AccessGateway,移动接入网关)和MAG2,组播源MNl向组播组发送组播报文,MN2侦听发往组播组的组播数据,S-HoA代表丽I的家乡地址。在ASM模型下,丽2通过MLD报文通知与其直连的DR2(MAG2)申请加入组播组,DR2 (Designated Router,指定路由器)向该组所对应的RP方向逐跳发送加入报文,从DR2到RP所经过的路由器就形成了 RPT的分支,这些路由器都在其转发表中生成了(*,G)表项,这里的表示来自任意组播源,RPT以RP为根,以DR2为叶子。当组播源丽I向组播组发送了一个组播报文时,与组播源直连的DRl (MAGl)在收到该报文后,就将其封装成注册报文,并通过单播方式发送给相应的RP,当RP收到该报文后,一方面解封装注册报文并将封装在其中的组播报文沿着RPT转发给接收者,另一方面向组播源方向逐跳发送(S-HoA,G)加入报文,由于PMIPv6路由的特殊性,该加入报文被路由到LMA(Local MobilityAnchor,本地移动锚点),最后通过LMA-MAGl之间的PMIPv6双向隧道发送到MAG1,这样,从RP到LMA所经过的路由器就形成了 SPT分支,这些路由器都在其转发表中生成了(S-HoA,G)表项,SPT以组播源的LMA为根,以RP为叶子,从LMA到组播源侧的DRl (MAGl)的组播路径是PMIPv6隧道。
[0006]为了增强PM-SM中RP节点的可靠性,以及对网络中组播流量进行分担,可在网络中选取若干RP节点,运行Anycast-RP,达到冗余备份,负载分担的目的。如图2所示,距离MNl、MN2 和 MN3 最近的 RP 节点分别是 RPl、RP2 和 RP3, RPl、RP2 和 RP3 组成 Anycast-RPSet, Anycast-RP Set中的每一个路由器都在环回口上配置相同的RP地址,并同时配置一全网唯一的本地地址与Set内的其他路由器交互。组播侦听者丽2和丽3分别向拓扑最近的RP2和RP3方向发送组成员加入消息,组播源丽I向拓扑最近的RPl节点进行组播源注册,DRl (MAGl)将注册报文发送给RP1,RPl收到DRl发送的注册报文后,解封装注册报文,并进行重新封装后向Set内的其他路由器转发,源地址设置为自身的本地地址,目的地址设置为对端路由器的本地地址,于是RP2和RP3都感知到了组播源MNl的存在,RP2和RP3一方面解封装注册报文并沿着各自RPT的方向将组播报文分别转发给侦听者MN2和MN3,另一方面向组播源丽I的方向发起SPT树的建立,并向RPl发送注册停止报文,SPT树以LMA为根,从LMA到组播源侧的DRl (MAGl)的组播路径是PMIPv6隧道。
[0007]如图3所示,MN4是另一个PM-SM域的组播侦听者,域间使用MBGP互联。在ASM模型下,与MN4直连的DR4 (MAG4)通过Embedded RP机制感知到跨域的RP信息,EmbeddedRP使用基于扩展单播前缀的组播地址,在该组播地址中携带RP地址,从而达到让整网学习到RP地址的目的。
[0008]对于上述三种场景的SSM模型,组播侦听者(MN2、丽3、MN4)通过MLDv2报文向与其直连的DR报告自己对来自组播源丽1、发往组播组的信息感兴趣,DR向组播源丽I的方向逐跳发送频道(Channel)的订阅报文(Subscribe Message),沿途所有路由器上都创建(S-HoA7G)表项,从而在网络内构建了一棵以LMA为根、以接收者侧的DR(DR2、DR3、DR4)为叶子的SPT,从LMA到组播源侧DR(MAGl)的组播路径是PMIPv6隧道。
[0009]综上所述,所有PM路由器以组播源MNl的家乡地址S-HoA构建组播树,组播数据都需要通过PMIPv6隧道先到达LMA后,然后沿着组播树分发到所有组播侦听者,LMA成为组播数据的固定锚点,组播转发路径不是最短路径,降低了路由效率,尤其当网络趋于扁平化后,所有移动节点的位置远离其锚点LMA时,组播转发路径将存在更严重的路径迂回,引起较大的数据传输时延,另一方面,大量组播的控制报文和组播数据报文汇聚到LMA,使LMA成为性能瓶颈,容易引发单点故障,影响组播业务体验。
【发明内容】
[0010]本发明要解决的技术问题是提供一种组播源的注册、组播路径的建立方法及装置,能够解决必需经由本地移动锚点的非最短SPT路径造成的路由效率低的问题。
[0011]为解决上述技术问题,本发明的一种组播源的注册方法,包括:[0012]组播源所属的指定路由器DR在接收到组播源的组播报文后,为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址,并在为组播报文封装组播报头后将组播报文封装为注册报文,发送到汇集点。
[0013]进一步地,所述组播源所属的DR为组播源所属的移动接入网关MAG,所述组播源的代理转交地址为组播源所属的MAG的地址。
[0014]进一步地,将组播报文封装为注册报文,发送到汇聚点,包括:
[0015]组播源所属的MAG将组播报文封装为注册报文后,通过单播方式将注册报文发送给汇聚点,所述注册报文的外层封装的源地址为所述MAG的地址,目的地址为所述汇聚点的地址。
[0016]进一步地,将组播报文封装为注册报文,发送到汇聚点,包括:
[0017]组播源所属的MAG将组播报文封装为注册报文后,通过任播方式发送所述注册报文,所述注册报文的外层封装的源地址为所述组播源所属的MAG的地址,目的地址为任播-汇集点集合的任播地址。
[0018]进一步地,一种组播报文的转发方法,包括:
[0019]组播侦听者所属的指定路由器DR在接收到汇集点发送的组播报文后,解除所述组播报文的组播报头,将原始的组播报文发送给组播侦听者,其中,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址。
[0020]进一步地,一种组播路径的建立方法,包括:
[0021]汇集点在接收到组播源所属的指定路由器DR发送的注册报文后,解除注册报文的外层封装,得到内层的组播报头,所述组播报头的源地址为组播源的代理转交地址S-pCoA,目的地址为组播地址G ;
[0022]所述汇集点向组播源所属的DR发送加入报文,在所述汇集点与组播源所属的DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器生成(S-pCoA,G)组播转发表项。
[0023]进一步地,所述组播源所属的DR为所述组播源所属的移动接入网关MAG,所述组播源的代理转交地址为组播源所属的MAG的地址。
[0024]进一步地,一种组播报文的转发方法,包括:
[0025]组播源所属的指定路由器DR在接收到组播源发送的组播报文后,为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA,根据所生成的(S-pCoA,G)组播转发表项转发封装组播报头后的组播报文,所述组播报文沿最短路径树SPT分支到达汇集点,所述SPT分支途经过的路由器均根据生成的(S-pCoA, G)组播转发表项对所述封装组播报头后的组播报文进行转发。
[0026]进一步地,一种组播路径的建立方法,包括:
[0027]组播侦听者所属的指定路由器DR在接收到组播侦听者发送的申请加入频道的消息后,从本地移动锚点LMA查询得到组播源的代理转交地址S-pCoA,生成(S-pCoA,组播地址G)组播转发表项;
[0028]组播侦听者所属的DR向频道(S_pCoA,G)对应的组播源方向逐跳发送频道订阅报文,在组播侦听者所属的DR与组播源所属的DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。[0029]进一步地,一种组播报文的转发方法,包括:
[0030]组播源所属的指定路由器DR在接收到组播源的组播报文后,为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0031]所述组播源所属的DR根据所生成的(S-pCoA,G)组播转发表项,通过与组播侦听者所属的DR之间的最短路径树SPT分支,将封装组播报头后的组播报文转发到组播侦听者所属的DR。
[0032]进一步地,还包括:
[0033]所述组播侦听者所属的DR在接收到组播报文后,查询所生成的(S-pCoA,G)组播转发表项进行逆向路径转发RPF检查,检查通过后,解除所述组播报文的组播报头,根据所生成的(组播源的家乡地址S-HoA,G)转发表项,将原始的组播报文发送给组播侦听者。
[0034]进一步地,一种组播源的注册方法,包括:
[0035]组播源所属的指定路由器DR将组播源的家乡地址和代理转交地址的绑定关系注册到边界组播路由器BMR,完成组播源的家乡地址和代理转交地址的绑定关系的注册。
[0036]进一步地,还包括,在所述组播源发生移动时,所述组播源移动到的DR将所述组播源更新的代理转交地址和家乡地址的绑定关系注册到所述BMR。
[0037]进一步地,一种组播报文的转发方法,包括:
[0038]边界组播路由器BMR接收汇集点RP发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址;
[0039]所述BMR根据组播源的代理转交地址查找组播源的家乡地址和代理转交地址的绑定关系,根据组播源的家乡地址查找组播转发表项,在组播转发表项对应的出接口信息指示需要向域外转发时,解封装所述组播报文的外层组播报头,并根据组播转发表项对应的出接口信息,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的指定路由器DR。
[0040]进一步地,一种组播路径的建立方法,包括:
[0041]边界组播路由器BMR在接收到组播源域外的组播侦听者发送的订阅报文后,根据订阅报文中的组播源的家乡地址查找组播源的家乡地址和代理转交地址S-pCoA的绑定关系,得到组播源的S-pCoA,生成(S-pCoA,组播组地址G)组播转发表项;
[0042]所述BMR向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,在所述BMR与组播源所属的指定路由器DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
[0043]进一步地,所述BMR生成的(S_pCoA,G)组播转发表项对应的出接口列表为BMR接收频道订阅报文的接口。
[0044]进一步地,一种组播报文的转发方法,包括:
[0045]边界组播路由器BMR接收组播源所属的指定路由器DR发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0046]所述BMR解封装所述组播报文的外层组播报头,查询所生成的(S_pCoA,G)组播转发表项,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的DR。[0047]进一步地,还包括:
[0048]所述BMR解封装所述组播报文的外层组播报头之前,查询所述(S_pCoA,G)组播转发表项,进行逆向路径转发RPF检测,检查通过后,解封装所述组播报文的外层组播报头。
[0049]进一步地,所述BMR接收组播源所属的MAG发送的封装有组播报头的组播报文,包括:
[0050]所述组播源所属的DR在接收到组播源发送的组播报文后,为所述组播报文封装所述组播报头,并根据所生成的(S-pCoA,G)组播转发表项,通过与所述BMR之间的最短路径树SPT分支,将所述封装组播报头后的组播报文发送到所述BMR。
[0051]进一步地,一种组播源的注册方法,包括:
[0052]组播源所属的指定路由器DR接收到所述组播源的组播报文后,将组播报文封装为注册报文,将注册报文发送给汇集点RP,所述注册报文中携带所述组播源的代理转交地址和路径建立标志位,所述路径建立标志位用于指示所述RP根据组播源的代理转交地址建立与组播源所属的DR之间的最短路径树SPT分支。
[0053]进一步地,还包括:
[0054]所述RP在接收到所述注册报文后,根据所述路径建立标志位,保存注册报文中携带的组播源的代理转交地址与组播源的家乡地址的绑定关系。
[0055]进一步地,一种组播路径的建立方法,包括:
[0056]汇集点RP在接收到组播侦听者的注册报文后,向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,所述P頂加入属性中携带组播源的代理转交地址,触发所述组播源所属的指定路由器DR和加入报文经过的路由器根据PIM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
[0057]进一步地,一种组播路径的建立方法,包括:
[0058]组播侦听者所属的指定路由器DR在接收到组播侦听者发送的申请加入频道的消息后,向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,所述PM加入属性中携带组播源的代理转交地址,触发所述组播源所属的DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
[0059]进一步地,还包括:
[0060]所述组播源所属的DR在接收到组播源发送的组播报文后,通过与所述组播侦听者所属的DR之间的SPT分支,将组播报文转发给所述组播侦听者所属的DR,其中,所述SPT分支沿途的路由器均根据所述组播源的代理转交地址进行逆向路径转发RPF检查。
[0061]进一步地,一种组播路径的建立方法,包括:
[0062]本地移动锚点LMA在接收到组播源域外的组播侦听者发送的频道订阅报文后,根据组播源的家乡地址从本地绑定缓存表项中查找得到组播源的家乡地址对应的代理转交地址;
[0063]所述LMA在所述频道订阅报文中添加独立组播协议PM加入属性,所述PM加入属性中携带组播源的代理转交地址,向组播源方向逐跳发送添加PIM加入属性的频道订阅报文,触发组播源所属的指定路由器DR和频道订阅报文经过的路由器根据组播源的代理转交地址进行RPF检查,完成与组播源所属的DR之间最短路径树SPT分支的建立。
[0064]进一步地,还包括:
[0065]所述组播源所属的DR在接收到组播源发送的组播报文后,通过与所述LMA之间的SPT分支将所述组播报文转发到所述LMA,其中,所述SPT分支沿途的路由器均根据组播源的代理转交地址进行RPF检查并转发所述组播报文;
[0066]所述LMA在接收到所述组播报文后,将组播报文转发给组播侦听者所属的DR。
[0067]进一步地,一种组播源的注册装置,包括:接收单元、封装单元和发送单元,其中:
[0068]所述接收单元,用于接收组播源的组播报文;
[0069]所述封装单元,用于为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址,并在为组播报文封装组播报头后将组播报文封装为注册报文;
[0070]所述发送单元,用于将所述注册报文发送到汇集点。
[0071]进一步地,所述组播源的代理转交地址为组播源所属的移动接入网关MAG的地址。
[0072]进一步地,一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0073]所述接收单元,用于接收汇集点发送的组播报文;
[0074]所述解封装单元,用于解除所述组播报文的组播报头,得到原始的组播报文,其中,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址;
[0075]所述发送单元,用于将所述原始的组播报文发送给组播侦听者。
[0076]进一步地,一种组播路径的建立装置,包括:接收单元、解封装单元和发送单元,其中:
[0077]所述接收单元,用于接收组播源所属的指定路由器DR发送的注册报文;
[0078]所述解封装单元,用于解除注册报文的外层封装,得到内层的组播报头,所述组播报头的源地址为组播源的代理转交地址S-pCoA,目的地址为组播地址G ;
[0079]所述发送单元,用于向组播源所属的DR发送加入报文,在与组播源所属的DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器生成(S-pCoA,G)组播转发表项。
[0080]进一步地,一种组播报文的转发装置,包括:接收单元、封装单元和发送单元,其中:
[0081]所述接收单元,用于接收组播源发送的组播报文;
[0082]所述封装单元,用于为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0083]所述发送单元,用于根据所生成的(S-pCoA,G)组播转发表项转发封装组播报头后的组播报文,所述组播报文沿最短路径树SPT分支到达汇集点,所述SPT分支途经过的路由器均根据生成的(S-pCoA,G)组播转发表项对所述封装组播报头后的组播报文进行转发。
[0084]进一步地,一种组播路径的建立装置,包括:接收单元、表项生成单元和发送单元,其中:[0085]所述接收单元,用于接收组播侦听者发送的申请加入频道的消息;
[0086]所述表项生成单元,用于从本地移动锚点LMA查询得到组播源的代理转交地址S-pCoA,生成(S-pCoA,组播地址G)组播转发表项;
[0087]所述发送单元,用于向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,与组播源所属的指定路由器DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
[0088]进一步地,一种组播报文的转发装置,包括:接收单元、封装单元和发送单元,其中:
[0089]所述接收单元,用于接收组播源的组播报文;
[0090]所述封装单元,用于为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0091]所述发送单元,用于根据所生成的(S-pCoA,G)组播转发表项,通过与组播侦听者所属的指定路由器DR之间的最短路径树SPT分支,将封装组播报头后的组播报文转发到组播侦听者所属的DR。
[0092]进一步地,一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0093]所述接收单元,用于接收组播报文;
[0094]所述解封装单元,用于查询所生成的(S-pCoA,G)组播转发表项进行逆向路径转发RPF检查,检查通过后,解除所述组播报文的组播报头,得到原始的组播报文;
[0095]所述发送单元,用于根据所生成的(组播源的家乡地址S-HoA,G)转发表项,将原始的组播报文发送给组播侦听者。
[0096]进一步地,一种组播源的注册装置,包括:注册单元,其中:
[0097]所述注册单元,用于将组播源的家乡地址和代理转交地址的绑定关系注册到边界组播路由器BMR,完成组播源的家乡地址和代理转交地址的绑定关系的注册。
[0098]进一步地,一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0099]所述接收单元,用于接收汇集点RP发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址;
[0100]所述解封装单元,用于根据组播源的代理转交地址查找组播源的家乡地址和代理转交地址的绑定关系,根据组播源的家乡地址查找组播转发表项,在组播转发表项对应的出接口信息指示需要向域外转发时,解封装所述组播报文的外层组播报头;
[0101]所述发送单元,用于根据组播转发表项对应的出接口信息,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的指定路由器DR。
[0102]进一步地,一种组播路径的建立装置,包括:接收单元、表项生成单元和发送单元,其中:
[0103]所述接收单元,用于接收组播源域外的组播侦听者发送的订阅报文;
[0104]所述表项生成单元,用于根据订阅报文中的组播源的家乡地址查找组播源的家乡地址和代理转交地址S-pCoA的绑定关系,得到组播源的S-pCoA,生成(S-pCoA,组播组地址G)组播转发表项;[0105]所述发送单元,用于向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,与组播源所属的指定路由器DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
[0106]进一步地,一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0107]所述接收单元,用于接收组播源所属的指定路由器DR发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0108]所述解封装单元,用于解封装所述组播报文的外层组播报头;
[0109]所述发送单元,用于查询所生成的(S-pCoA,G)组播转发表项,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的DR。
[0110]进一步地,一种组播源的注册装置,包括:接收单元、封装单元和发送单元,其中:
[0111]所述接收单元,用于接收组播源的组播报文;
[0112]所述封装单元,用于将组播报文封装为注册报文;
[0113]所述发送单元,用于将注册报文发送给汇集点RP,所述注册报文中携带所述组播源的代理转交地址和路径建立标志位,所述路径建立标志位用于指示所述RP根据组播源的代理转交地址建立与组播源所属的指定路由器DR之间的最短路径树SPT分支。
[0114]进一步地,一种组播路径的建立装置,包括:接收单元和发送单元,其中:
[0115]所述接收单元,用于接收组播侦听者的注册报文;
[0116]所述发送单元,用于向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,所述P頂加入属性中携带组播源的代理转交地址,触发所述组播源所属的指定路由器DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
[0117]进一步地,一种组播路径的建立装置,包括:接收单元和发送单元,其中:
[0118]所述接收单元,用于接收组播侦听者发送的申请加入频道的消息;
[0119]所述发送单元,用于向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,所述P頂加入属性中携带组播源的代理转交地址,触发所述组播源所属的指定路由器DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
[0120]进一步地,一种组播路径的建立装置,包括:接收单元、查询单元和发送单元,其中:
[0121]所述接收单元,用于接收组播源域外的组播侦听者发送的频道订阅报文;
[0122]所述查询单元,用于根据组播源的家乡地址从本地绑定缓存表项中查找得到组播源的家乡地址对应的代理转交地址,在所述频道订阅报文中添加独立组播协议PM加入属性,所述PM加入属性中携带组播源的代理转交地址;
[0123]所述发送单元,用于向组播源方向逐跳发送添加PM加入属性的频道订阅报文,触发组播源所属的指定路由器DR和频道订阅报文经过的路由器根据组播源的代理转交地址进行RPF检查,完成与组播源所属的DR之间最短路径树SPT分支的建立。
[0124]综上所述,本发明在PMIPv6域中以组播源的代理转交地址,提供的建立组播路径的方法可以提高组播路由效率和组播性能。
【专利附图】
【附图说明】
[0125]图1是现有技术中PMIPv6部署域内组播的场景示意图;
[0126]图2是现有技术中PMIPv6部署Anycast-RP域内组播的场景示意图;
[0127]图3是现有技术中PMIPv6部署域间组播的场景示意图;
[0128]图4是本发明组播源的注册方法实施例一的流程图;
[0129]图5是本发明组播源的注册方法实施例二的流程图;
[0130]图6是本发明组播报文的转发方法实施例三的流程图;
[0131]图7是本发明组播路径的建立方法实施例四的流程图;
[0132]图8是本发明组播报文的转发方法实施例五的流程图;
[0133]图9是本发明在SSM模型下组播路径的建立方法实施例六的流程图;
[0134]图10是本发明在SSM模型下组播报文的转发方法实施例七的流程图;
[0135]图11是本发明组播源的注册方法实施例八的流程图;
[0136]图12是本发明ASM模型下跨域组播报文的转发方法实施例九的流程图;
[0137]图13是本发明SSM模型下跨域组播路径的建立方法实施例十的流程图;
[0138]图14是本发明SSM模型下跨域组播报文的转发方法实施例十一的流程图;
[0139]图15是本发明组播源的注册方法实施例十二的流程图;
[0140]图16是本发明组播报文的转发方法实施例十三的流程图;
[0141]图17是本发明组播路径的建立方法实施例十四的流程图;
[0142]图18是本发明组播报文的转发方法实施例十五的流程图;
[0143]图19是本发明Anycast-RP组播源的注册方法实施例十六的流程图;
[0144]图20是本发明在SSM模型下组播路径的建立方法实施例十七的流程图;
[0145]图21是本发明在SSM模型下组播报文的转发方法实施例十八的流程图;
[0146]图22是本发明SSM模型跨域组播路径的建立方法实施例十九的流程图;
[0147]图23是本发明SSM模型下跨域组播报文的转发方法实施例二十的流程图;
[0148]图24是本发明的一种组播源的注册装置的架构图;
[0149]图25是本发明的一种组播路径的建立装置的架构图。
【具体实施方式】
[0150]实施例一:
[0151]图4是本实施方式的组播源的注册方法,丽I为附着在MAGl下的组播源,MAGl作为丽I的DR。如图4所示,具体包括以下步骤:
[0152]步骤401,组播源MNl向组播组发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0153]步骤402,与丽I直连的MAGl收到该组播报文后,封装另外一层组播报头,封装报头的目的地址为原始组播报文的组播地址G,源地址设置为MNl的代理转交地址S-pCoA,即MAGl的地址。
[0154]步骤403,MAG1将修改后的组播报文封装成注册报文,并通过单播方式发送给RP,此时的注册报文包含两层封装,外层按照PM协议进行单播封装,源地址为MAGl的地址,目的地址为RP的地址;内层按照步骤402的方式进行组播封装,源地址为MNl的代理转交地址S-pCoA,即MAGl的地址,目的地址为组播地址G。
[0155]本实施例通过以上步骤,源端DR向RP注册当前活跃的组播源,从RP的角度看,当前的组播源地址是S-pCoA。
[0156]实施例二:
[0157]图5是本实施方式的Anycast-RP组播源的注册方法,网路部署示意图参见图2,距离 MNl、MN2 和 MN3 最近的 RP 分别是 RPl、RP2 和 RP3, RPl、RP2 和 RP3 组成 Anycast-RPSet, Anycast-RP Set中的每一个路由器都在环回口上配置相同的RPA地址(Anycast-RPadress),并同时配置一全网唯一的本地地址与Set内的其他路由器交互。如图5所不,具体包括以下步骤:
[0158]步骤501?步骤502,同步骤401?步骤402,此处不再赘述。
[0159]步骤503,MAGl通过任播方式发送封装后的注册报文,报文的源地址为MAGl的地址,目的地址为Anycast-RP Set的任播地址RPA。
[0160]步骤504,离MAGl拓扑最近的RPl收到注册报文后,向Anycast-RP Set内的其他路由器转发该注册报文,报文的源地址设置为RPl的本地地址,目的地址设置为RP2的本地地址。
[0161]步骤505,RPl向RP3转发注册报文,报文的源地址设置为RPl的本地地址,目的地址设置为RP3的本地地址。
[0162]值得说明的是,步骤504与步骤505没有严格的先后顺序。
[0163]通过上述实施例二所述的方法,RPl、RP2和RP3都感知到了组播源丽I的存在,并保存了丽I的家乡地址和代理转交地址的绑定关系,RP2和RP3据此向组播源丽I发起SPT路径的建立,具体的SPT路径建立方法和报文转发方法参见以下实施例。
[0164]实施例三:
[0165]图6是本实施方式的组播报文的转发方法,以IPv6PM云图代表从RP到MAG2所经过的PIM路由器。如图6所示,组播转发具体包含以下步骤:
[0166]步骤601?步骤603,即组播源的注册过程,同步骤401?步骤403,此处不再赘述。
[0167]步骤604a,丽2通过MLD报文通知与其直连的DR2 (即MAG2)加入组播组。
[0168]步骤604b?步骤604c,MAG2向组播组对应的RP方向逐跳发送(*,G)加入报文,从DR到RP所经过的路由器就形成了 RPT分支,这些路由器都生成了(*,G)转发表项,
表示来自任意组播源,G表示组播地址。RPT以RP为根,以DR为叶子。
[0169]值得说明的是,组播源注册(即步骤601?步骤603)和RPT建立(即步骤604)没有严格的先后顺序。
[0170]步骤605,RP收到来自MAGl的单播注册报文后,解除外层单播封装。
[0171]解除外层封装后的组播报文还带有内层组播封装,内层组播报头的源地址为丽I的代理转交地址S-pCoA,即MAGl的地址,目的地址为组播地址G。
[0172]步骤606?步骤607,RP将带有一层组播封装的组播报文沿着RPT的方向发往接收者侧的DR,即丽2附着的MAG2。[0173]步骤608,MAG2收到带有一层组播封装的组播报文后,解除组播报头,还原原始的组播报文(源地址为组播源MNl的家乡地址S-HoA,目的地址为组播组的组播地址G)。
[0174]步骤609,MAG2将解除组播封装后的组播报文发送给接收者MN2。
[0175]通过以上实施例,所有从组播源MNl发往组播组的组播报文都必须先由组播源侧MAGl添加一层组播封装后再封装成注册报文发往RP,由RP解除注册封装后沿着RPT分发给MN2附着的MAG2,最后由MAG2解除组播封装后转发给MN2,RP是所有组播数据必经的中转站。PIM-SM允许由RP或接收者侧的DR发起SPT切换,本发明的SPT切换方案见以下实施例四。
[0176]实施例四:
[0177]图7是本实施方式的组播路径的建立方法,以IPv6P頂云图代表从RP到组播源MNl所经过的路由器。按照实施例一和二的方法完成组播源的注册后,RP可以选择发起SPT切换,如图7所示,具体包括以下步骤:
[0178]步骤701?步骤705:RP收到来自MAGl的注册报文后,由于注册报文封装的组播报头的源地址是MNl的代理转交地址S-pCoA,所以从RP的角度看,当前注册的组播源的地址是S-pCoA。于是RP向组播源的方向发送(S-pCoA,G)加入报文,并最终到达组播源侧DR(即MAG1),沿途经过的所有路由器在其转发表中都生成了(S-pCoA,G)组播转发表项,从而在MAGl与RP之间建立起SPT分支,后续的组播报文都直接沿该分支到达RP。
[0179]通过以上实施例,在MAGl与RP之间建立起了 SPT分支。
[0180]实施例五:
[0181]图8是本实施方式的组播报文的转发方法,当RP完成SPT切换后组播报文的转发方法如图8所示,具体包含以下步骤:
[0182]步骤801,组播源MNl向组播组发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0183]步骤802,与丽I直连的MAGl收到该组播报文后,封装另外一层组播报头,所述组播报头的目的地址为原始组播报文的组播地址G,源地址设置为丽I的代理转交地址S-pCoAο
[0184]步骤803,MAGl依据(S_pCoA,G)组播转发表项对封装后的组播报文进行转发,所述报文沿着SPT路径到达RP,沿途经过的所有路由器都依据(S-pCoA,G)组播转发表项对所述报文进行转发。
[0185]步骤804,RP将所述封装后的组播报文沿着RPT路径转发至MAG2,沿途经过的所有路由器都依据(*,G)转发表项对所述报文进行转发。
[0186]步骤805,MAG2收到带有一层组播封装的组播报文后,解除组播封装,还原原始的组播报文(源地址为组播源MNl的家乡地址S-HoA,目的地址为组播组的组播地址G)。
[0187]步骤806,MAG2将解除组播封装后的组播报文发送给接收者MN2。
[0188]实施例一?实施例五针对ASM模型提出了 一种组播路径的建立方法和组播报文的转发方法,对于SSM模型的组播路径建立方法见实施例六。
[0189]实施例六:
[0190]图9是本实施方式在SSM模型下组播路径的建立方法,具体包含以下步骤:
[0191 ] 步骤901,丽2借助MLDv2向MAG2报告自己对来自组播源丽I,发往组播组的信息感兴趣,申请加入频道(S-HoA,G),S-HoA代表组播源MNl的家乡地址,G代表组播地址。
[0192]步骤902,MAG2根据组播源丽I的家乡地址S-HoA向LMA查询丽I的代理转交地址 S-pCoA。
[0193]步骤903,MAG2在其组播转发表中同时生成(S_HoA,G)表项和(S_pCoA,G)表项,具体如下:
[0194]MAG2通过MLDv2协议掌握了频道(S_HoA,G)的接收者信息后,在其转发表中生成(S-HoA, G)表项,出接口列表即MAG2接收频道订阅报文的接口 ;
[0195]MAG2在其转发表中生成(S_pCoA,G)表项,出接口列表从(S_HoA,G)表项的出接口列表中拷贝。
[0196]步骤904,MAG2向频道(S_pCoA,G)对应的组播源方向逐跳发送频道订阅报文。
[0197]步骤905?步骤906,沿途所有的IPv6P頂路由器都向频道(S_pCoA,G)对应的组播源方向逐跳发送频道订阅报文,并在其转发表中生成(S-pCoA,G)表项。
[0198]步骤907,MAGl收到来自上游路由器的频道订阅报文后,在其转发表中生成(S-pCoA, G)表项。
[0199]通过以上实施例,在MAGl与MAG2之间依据组播源的代理转交地址建立起了 SPT分支。
[0200]实施例七:
[0201]图10是本实施方式在SSM模型下的组播报文的转发方法,具体包含以下步骤:
[0202]步骤1001,组播源丽I向组播组发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0203]步骤1002,与丽I直连的MAGl收到该组播报文后,封装另外一层组播报头,所述组播报头的目的地址为原始组播报文的组播地址G,源地址设置为丽I的代理转交地址S-pCoA,然后查询(S-pCoA,G)组播转发表项,如果出接口列表不为空,则对所述封装后的组播报文进行转发。
[0204]步骤1003,沿途经过的所有路由器都依据(S-pCoA,G)组播转发表项对所述封装后的组播报文进行转发,即沿着实施例六中建立的SPT路径进行转发。
[0205]步骤1004,MAG2收到带有一层组播封装的组播报文后,查询(S_pCoA,G)组播转发表项进行RPF(Reverse Path Forwarding,逆向路径转发)检查,检查通过后解除组播报头,还原原始的组播报文(源地址为组播源MNl的家乡地址S-HoA,目的地址为组播组G的组播地址)。
[0206]步骤1005,MAG2查询(S_HoA,G)转发表项,将原始组播报文转发给组播侦听者MN2。
[0207]如图3,MN4是另一个PM-SM域的组播侦听者,域间使用MBGP互联,与MN4直连的DR可以是MAG也可以是普通的组播路由器,MN4可以是PMIPv6节点也可以是普通的固定节点。两个PIM域之间通过BMR(BorderMulticast Router,边界组播路由器)互联,BMR可以单独部署也可以与LMA合设,丽2和MN4都需要侦听组播源丽I发出的组播数据。对于ASM模型,按照实施例一?实施例四提供的方法,从RP发往叶子节点(MAG2和MAG4)的报文为带有一层组播封装的组播报文,MAG2执行解封装后将组播报文转发给MN2,如果与MN4直连的是普通的组播路由器,则不具备解封装的功能,为了解决该问题,参见实施例八和实施例九。对于SSM模型,如果DR4无法查询到组播源MNl的代理转交地址,则在PM域2中只能依据MNl的家乡地址建立SPT路径,在这种场景下如何在PM域I中依据MNl的代理转交地址建立SPT路径,参见实施例八、实施例十和实施例1^一。
[0208]实施例八:
[0209]图11是本实施方式的组播源向BMR注册地址绑定关系的方法,具体包含以下步骤:
[0210]步骤1101,在组播源丽I向一个组播组发送组播报文之前,MNl首先向BMR注册其家乡地址和代理转交地址之间的绑定关系。与MNl直连的路由器MAGl向BMR发送地址绑定注册请求消息,消息中包含组播源MNl的家乡地址、代理转交地址、安全关联以及生存时间等信息。当组播源发生移动时,也需要向BMR注册新的地址信息。
[0211]步骤1102,BMR收到MAGl的绑定注册请求消息后,向MAGl发送绑定注册应答消息,指示注册成功。
[0212]值得说明的是,当BMR与LMA合设时,可以省去上述的注册过程,直接使用LMA本地保存的BCE (binding cache entry,绑定缓存表项)。
[0213]实施例九:
[0214]图12是本实施方式在ASM模型下跨域组播报文的转发方法,按照实施例一~实施例三的方法完成组播源注册和SPT树的建立,RPT树的建立依据现有技术。组播报文的转发方法包含以下步骤:
[0215]步骤1201~步骤1203,同步骤801~步骤803,此处不再赘述。
[0216]步骤1204,RP将组播报文沿着RPT路径转发,所述组播报文带有一层组播封装,沿途经过的所有路由器都依据(*,G)转发表项对所述报文进行转发,并路由到BMR。
[0217]步骤1205,BMR收到带有组播封装的组播报文后,根据组播源丽I的代理转交地址查找绑定关系,据此判断组播报文来自MN1,查找(*,G)组播转发表项,并依据出接口信息判断所述组播报文需要向域外转发,则对所述组播报文进行解封装。
[0218]步骤1206,BMR将解封装后的组播报文沿着RPT路径转发,所述组播报文即MNl发出的原始组播报文,组播报文最终路由到MN4的直连DR路由器DR4。
[0219]步骤1207,DR4将原始的组播报文转发给侦听者MN4。
[0220]实施例十:
[0221]图13是本实施方式在SSM模型下跨域的组播路径的建立方法,具体包含以下步骤:
[0222]步骤1301,MN4借助MLDv2向DR4报告自己对来自组播源丽I,发往组播组的信息感兴趣,申请加入频道(S-HoA,G),S-HoA代表组播源MNl的家乡地址,G代表组播地址。
[0223]步骤1302,DR4在其组播转发表中生成(S_HoA,G)表项。
[0224]步骤1303,DR4向频道(S_HoA,G)对应的组播源方向逐跳发送频道订阅报文,并路由至BMR。
[0225]步骤1304,BMR收到频道(S_HoA,G)的订阅报文后,根据S-HoA查找绑定关系,得到组播源的家乡地 址S-HoA对应的代理转交地址。
[0226]步骤1305,BMR在其组播转发表中生成(S_HoA,G)表项和(S_pCoA,G)表项,具体如下:[0227]BMR依据频道(S-HoA,G)的订阅报文在其转发表中生成(S_HoA,G)表项,出接口列表即BMR接收频道订阅报文的接口 ;
[0228]BMR在其转发表中生成(S_pCoA,G)表项,出接口列表从(S_HoA,G)表项的出接口列表中拷贝。
[0229]步骤1306,BMR向频道(S_pCoA,G)对应的组播源方向逐跳发送频道订阅报文,沿途所有的IPv6PM路由器都在其转发表中生成(S-pCoA,G)表项,订阅报文最终路由至MAGl。
[0230]步骤1307,MAGl收到来自上游路由器的频道订阅报文后,在其转发表中生成(S-pCoA, G)表项。
[0231]实施例1^一:
[0232]图14是本实施方式在SSM模型下跨域的组播报文的转发方法,具体包含以下步骤:[0233]步骤1401,组播源丽I向组播组发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0234]步骤1402,与丽I直连的MAGl收到该组播报文后,封装另外一层组播报头,所述组播报头的目的地址为原始组播报文的组播地址G,源地址设置为丽I的代理转交地址S-pCoAο
[0235]步骤1403,MAGl依据(S_pCoA,G)组播转发表项对封装后的组播报文进行转发,所述报文沿着SPT路径到达BMR,沿途经过的所有路由器都依据(S-pCoA,G)组播转发表项对所述报文进行转发。
[0236]步骤1404,BMR收到带有组播封装头的组播报文后做如下处理:
[0237]查询(S-pCoA,G)组播转发表项进行RPF检查,检查通过后解除组播报头,还原原始的组播报文。
[0238]步骤1405,BMR查询(S_HoA,G)组播转发表项,依据出接口列表转发解除封装后的组播报文,所述组播报文沿着SPT路径到达DR4,沿途经过的所有路由器都依据(S-HoA,G)组播转发表项对所述组播报文进行转发。
[0239]步骤1406,DR4将原始组播报文转发至MN4。
[0240]值得说明的是,如果BMR与LMA合设,则由LMA查询本地BCE表项得到组播源的代理转交地址。
[0241]实施例十二:
[0242]图15是本实施方式的组播源注册方法,丽I为附着在MAGl下的组播源,MAGl作为丽I的DR。如图15所示,具体包括以下步骤:
[0243]步骤1501,组播源丽I向组播组G发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0244]步骤1502,与丽I直连的MAGl收到该组播报文后,就将其封装成注册报文,通过扩展注册报文携带组播源MNl的地址信息,所述地址信息包含组播源的代理转交地址和路径建立标志位等,所述路径建立标志位用来指示RP依据代理转交地址建立SPT路径。
[0245]步骤1503,MAGl将扩展后的注册报文通过单播方式发送给RP,源地址为MAGl的地址,目的地址为RP的地址。[0246]步骤1504,RP收到注册报文后,根据报文中携带的丽I的地址信息,保存丽I的家乡地址和代理转交地址的绑定关系。
[0247]值得说明的是,注册报文中携带的组播源相关的地址信息不限于本实施例给出的信息,还可以携带除组播源的代理转交地址之外的地址信息,比如其他路由器的地址信息,用来指定SPT路径需要经过的路由器。
[0248]实施例十三:
[0249]图16是本实施方式的组播报文的转发方法,以IPv6P頂云图代表从RP到MAG2所经过的PIM路由器。如图16所示,组播转发具体包含以下步骤:
[0250]步骤1601?步骤1604,即组播源的注册过程,同步骤1501?步骤1504,此处不再赘述。
[0251]步骤1605a,丽2通过MLD报文通知与其直连的DR2 (即MAG2)加入组播组。
[0252]步骤1605b?步骤1605c,MAG2向组播组对应的RP方向逐跳发送(*,G)加入报文,从DR到RP所经过的路由器就形成了 RPT分支,这些路由器都生成了(*,G)转发表项,
表示来自任意组播源。RPT以RP为根,以DR为叶子。
[0253]值得说明的是,组播源注册(即步骤1601?步骤1604)和RPT建立(即步骤1605)没有严格的先后顺序。
[0254]步骤1606,RP收到来自MAGl的单播注册报文后,解除注册封装后沿着RPT的方向将组播报文逐跳发送到MAG2。
[0255]步骤1607,MAG2将组播报文发送给接收者丽2。
[0256]实施例十四:
[0257]图17是本实施方式的组播路径的建立方法,以IPv6PM云图代表从RP到组播源丽I所经过的路由器。具体包括以下步骤:
[0258]步骤1701,当RP收到MAG2的注册报文后,一方面解封装注册报文并将封装在其中的组播报文沿着RPT转发给接收者,另一方面向组播源方向逐跳发送带有PM加入属性(PIM Join Attributes,PM加入属性)的加入报文,PM加入属性设置为注册报文中携带的组播源的代理转交地址S-pCoA。RP依据S-pCoA地址的路由确定发送加入报文的出接口和下一跳。
[0259]步骤1702,RP向MAGl逐跳发送加入报文,沿途经过的所有路由器都根据PM加入属性中的S-pCoA地址进行RPF检查,从而在MAGl与RP之间根据S-pCoA地址建立起SPT分支,后续的组播报文都直接沿该分支到达RP。
[0260]实施例十五:
[0261]图18是本实施方式的组播报文的转发方法,当RP完成SPT切换后组播报文转发方法如图18所示,具体包含以下步骤:
[0262]步骤1801,组播源MNl向组播组发送组播报文,报文的目的地址为组播组G的组播地址,源地址为丽I的家乡地址S-HoA。
[0263]步骤1802,与丽I直连的MAGl收到该组播报文后,沿着实施例十四建立的SPT路径转发到RP。
[0264]步骤1803,RP收到所述组播报文后,沿着RPT路径转发到MAG2。
[0265]步骤1804,MAG2将组播报文发送给接收者丽2。[0266]实施例十六:
[0267]图19是本实施方式的Anycast-RP组播源的注册方法,网路部署示意图参见图2,距离 MNl、MN2 和 MN3 最近的 RP 分别是 RPl、RP2 和 RP3, RPl、RP2 和 RP3 组成 Anycast-RPSet, Anycast-RP Set中的每一个路由器都在环回口上配置相同的RPA地址(Anycast-RPadress),并同时配置一全网唯一的本地地址与Set内的其他路由器交互。如图19所示,具体包括以下步骤:
[0268]步骤1901和步骤1902,同步骤1501和步骤1502,此处不再赘述。
[0269]步骤1903,MAG1通过任播方式发送扩展后的注册报文,报文的源地址为MAGl的地址,目的地址为Anycast-RP Set的任播地址RPA。
[0270]步骤1904,离MAGl拓扑最近的RPl收到注册报文后,做如下处理:
[0271]根据报文中携带的MNl的地址信息,保存MNl的家乡地址和代理转交地址的绑定关系;
[0272]向Anycast-RP Set内的其他路由器转发注册报文。
[0273]步骤1905,RPl向RP2转发注册报文,报文的源地址设置为RPl的本地地址,目的地址设置为RP2的本地地址。
[0274]步骤1906,RP2收到从RPl转发的注册报文后,做如下处理:
[0275]根据报文中携带的MNl的地址信息,保存MNl的家乡地址和代理转交地址的绑定关系;
[0276]将封装在其中的组播报文沿着RPT转发给接收者MN2。
[0277]步骤1907,RPl向RP3转发注册报文,报文的源地址设置为RPl的本地地址,目的地址设置为RP3的本地地址。
[0278]步骤1908,RP3收到从RPl转发的注册报文后,做如下处理:
[0279]根据报文中携带的MNl的地址信息,保存MNl的家乡地址和代理转交地址的绑定关系;
[0280]将封装在其中的组播报文沿着RPT转发给接收者MN3。
[0281]值得说明的是,步骤1905?步骤1906与步骤1907?步骤1908没有严格的先后顺序。
[0282]通过上述实施例十六所述的方法,RPURP2和RP3都感知到了组播源丽I的存在,并保存了 MNl的家乡地址和代理转交地址的绑定关系,RP2和RP3据此向组播源MNl发起SPT路径的建立,具体的SPT路径建立方法和报文转发方法参见实施例十三、实施例十四和实施例十五提供的方法。
[0283]值得说明的是,实施例十二?实施例十六提供的方法同样适用于跨域场景,由于不需要对embedded RP机制进行修改,此处不再赘述。
[0284]实施例十七:
[0285]图20是本实施方式在SSM模型下的组播路径的建立方法,具体包含以下步骤:
[0286]步骤2001,丽2借助MLDv2向MAG2报告自己对来自组播源丽I,发往组播组的信息感兴趣,申请加入频道(S-HoA,G),S-HoA代表组播源MNl的家乡地址,G代表组播地址。
[0287]步骤2002,MAG2根据组播源丽I的家乡地址S-HoA向LMA查询丽I的代理转交地址 S-pCoA。[0288]步骤2003,MAG2向组播源方向逐跳发送带有PM加入属性(PM JoinAttributes,PM加入属性)的加入报文,PM加入属性中携带组播源的代理转交地址S-pCoA。沿途经过的所有路由器都根据S-pCoA进行RPF检查,从而在MAG2与MAGl之间根据S-pCoA地址建立起SPT分支,后续的组播报文都直接沿该分支到达MAG2。
[0289]实施例十八:
[0290]图21是本实施方式在SSM模型下组播报文的转发方法,具体包含以下步骤:
[0291]步骤2101,组播源MNl向组播组G发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0292]步骤2102,与MNl直连的MAGl收到该组播报文后,沿着实施例十七建立的SPT路径转发到MAG2,沿途经过的所有路由器都根据S-pCoA进行RPF检查。
[0293]步骤2103,MAG2将组播报文发送给接收者丽2。
[0294]实施例十九:
[0295]如图3,MN4是另一个PM-SM域的组播侦听者,域间使用MBGP互联,与MN4直连的DR组播路由器可以是MAG也可以是普通的组播路由器,MN4可以是PMIPv6节点也可以是普通的固定节点。当与MN4直连的路由器可以查询到组播源的代理转交地址时,按照实施例六和实施例七的方法建立SPT路径并进行报文转发,否则,当与MN4直连的路由器不能获知组播源的代理转交地址时,按照本实施例十九提供的方法建立SPT路径,图22是本发明在SSM模型下跨域建立SPT路径的方法实施例十九,具体包含以下步骤:
[0296]步骤2201,MN4借助MLDv2向DR4报告自己对来自组播源丽I,发往组播组的信息感兴趣,申请加入频道(S-HoA,G),S-HoA代表组播源MNl的家乡地址,G代表组播地址。
[0297]步骤2202,DR4向频道(S_HoA,G)逐跳发送频道订阅报文,依据PMIPv6的策略路由,频道(S-HoA,G)的订阅报文被逐跳发送到LMA,沿途所经过的路由器都根据S-HoA地址建立SPT路径。
[0298]步骤2203,LMA根据S-HoA查找本地绑定缓存表项BCE,得到组播源的家乡地址S-HoA对应的代理转交地址S-pCoA。
[0299]步骤2204,LMA对频道订阅报文进行修改,在订阅报文中携带PM加入属性(PMJoin Attributes), PIM加入属性中携带组播源的代理转交地址S-pCoA。LMA向组播源方向逐跳发送带有PM加入属性的订阅报文,沿途经过的所有路由器都根据S-pCoA进行RPF检查,从而在LMA与MAGl之间建立起基于S-pCoA地址的SPT路径。
[0300]实施例二十:
[0301]图23是本实施方式在SSM模型下跨域组播报文的转发方法,具体包含以下步骤:
[0302]步骤2301,组播源丽I向组播组发送组播报文,报文的目的地址为组播组的组播地址G,源地址为丽I的家乡地址S-HoA。
[0303]步骤2302,与MNl直连的MAGl收到该组播报文后,沿着实施例十九建立的SPT路径转发到LMA,沿途经过的所有路由器都根据S-pCoA进行RPF检查并转发组播报文。
[0304]步骤2303,LMA沿着实施例十九建立的SPT路径继续转发组播报文到DR4,沿途经过的所有路由器都根据S-HoA进行RPF检查并转发组播报文。
[0305]步骤2304,DR4将组播报文转发至MN4。
[0306]值得说明的是,实施例八和实施例九假定PM SM I与PM SM 2互联的区域边界路由器是LMA,实际部署是也可以指定一台普通的组播路由器作为区域边界路由器,此时,实施例十九和实施例二十同样适用于该部署场景,但是需要在所述组播路由器上维护组播源的地址绑定关系。
[0307]本实施方式针对PMIPv6的场景,提出了一种基于代理转交地址的SPT路径建立方法。本方案中的技术方案同样适用于代理移动IPv4的场景,本领域的技术人员可以根据本方案实施例中的技术方案,并结合本领域的现有技术方案即可实现。
[0308]如图24所示,本实施方式还提供了一种组播源的注册装置,包括:接收单元、封装单元和发送单元,其中:
[0309]接收单元,用于接收组播源的组播报文;
[0310]封装单元,用于为组播报文封装组播报头,组播报头的目的地址为组播地址,源地址为组播源的代理转交地址,并在为组播报文封装组播报头后将组播报文封装为注册报文;
[0311 ] 发送单元,用于将注册报文发送到汇集点。
[0312]组播源的代理转交地址为组播源所属的移动接入网关MAG的地址。
[0313]发送单元,具体用于通过单播方式将注册报文发送给汇聚点,注册报文的外层封装的源地址为MAG的地址,目的地址为汇聚点的地址或者,通过任播方式发送注册报文,注册报文的外层封装的源地址为组播源所属的MAG的地址,目的地址为任播-汇集点集合的任播地址。
[0314]本实施方式还提供了一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0315]接收单元,用于接收汇集点发送的组播报文;
[0316]解封装单元,用于解除组播报文的组播报头,得到原始的组播报文,其中,组播报头的目的地址为组播地址,源地址为组播源的代理转交地址;
[0317]发送单元,用于将原始的组播报文发送给组播侦听者。
[0318]如图25所示,本实施方式还提供了一种组播路径的建立装置,包括:接收单元、解封装单元和发送单元,其中:
[0319]接收单元,用于接收组播源所属的指定路由器DR发送的注册报文;
[0320]解封装单元,用于解除注册报文的外层封装,得到内层的组播报头,组播报头的源地址为组播源的代理转交地址S-pCoA,目的地址为组播地址G ;
[0321]发送单元,用于向组播源所属的DR发送加入报文,在与组播源所属的DR之间建立最短路径树SPT分支,SPT分支沿途所经过的路由器生成(S-pCoA,G)组播转发表项。
[0322]组播源所属的DR为组播源所属的移动接入网关MAG,组播源的代理转交地址为组播源所属的MAG的地址。
[0323]本实施方式提供的另一种组播报文的转发装置,包括:接收单元、封装单元和发送单元,其中:
[0324]接收单元,用于接收组播源发送的组播报文;
[0325]封装单元,用于为组播报文封装组播报头,组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0326]发送单元,用于根据所生成的(S-pCoA,G)组播转发表项转发封装组播报头后的组播报文,组播报文沿最短路径树SPT分支到达汇集点,SPT分支途经过的路由器均根据生成的(S-pCoA,G)组播转发表项对封装组播报头后的组播报文进行转发。
[0327]本实施方式提供的另一种组播路径的建立装置,包括:接收单元、表项生成单元和发送单元,其中:
[0328]接收单元,用于接收组播侦听者发送的申请加入频道的消息;
[0329]表项生成单元,用于从本地移动锚点LMA查询得到组播源的代理转交地址S-pCoA,生成(S-pCoA,组播地址G)组播转发表项;
[0330]发送单元,用于向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,与组播源所属的指定路由器DR之间建立最短路径树SPT分支,SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
[0331]本实施方式提供的另一种组播报文的转发装置,包括:接收单元、封装单元和发送单元,其中:
[0332]接收单元,用于接收组播源的组播报文;
[0333]封装单元,用于为组播报文封装组播报头,组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0334]发送单元,用于根据所生成的(S-pCoA,G)组播转发表项,通过与组播侦听者所属的指定路由器DR之间的最短路径树SPT分支,将封装组播报头后的组播报文转发到组播侦听者所属的DR。
[0335]本实施方式提供的另一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0336]接收单元,用于接收组播报文;
[0337]解封装单元,用于查询所生成的(S_pCoA,G)组播转发表项进行逆向路径转发RPF检查,检查通过后,解除组播报文的组播报头,得到原始的组播报文;
[0338]发送单元,用于根据所生成的(组播源的家乡地址S-HoA,G)转发表项,将原始的组播报文发送给组播侦听者。
[0339]本实施方式提供的另一种组播源的注册装置,包括:注册单元,其中:
[0340]注册单元,用于将组播源的家乡地址和代理转交地址的绑定关系注册到边界组播路由器BMR,完成组播源的家乡地址和代理转交地址的绑定关系的注册。
[0341]注册单元,还用于在组播源发生移动时,将组播源更新的代理转交地址和家乡地址的绑定关系注册到BMR。
[0342]本实施方式提供的另一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0343]接收单元,用于接收汇集点RP发送的封装有组播报头的组播报文,组播报头的目的地址为组播地址,源地址为组播源的代理转交地址;
[0344]解封装单元,用于根据组播源的代理转交地址查找组播源的家乡地址和代理转交地址的绑定关系,根据组播源的家乡地址查找组播转发表项,在组播转发表项对应的出接口信息指示需要向域外转发时,解封装组播报文的外层组播报头;
[0345]发送单元,用于根据组播转发表项对应的出接口信息,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的指定路由器DR。[0346]本实施方式提供的另一种组播路径的建立装置,包括:接收单元、表项生成单元和发送单元,其中:
[0347]接收单元,用于接收组播源域外的组播侦听者发送的订阅报文;
[0348]表项生成单元,用于根据订阅报文中的组播源的家乡地址查找组播源的家乡地址和代理转交地址S-pCoA的绑定关系,得到组播源的S-pCoA,生成(S-pCoA,组播组地址G)组播转发表项;
[0349]发送单元,用于向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,与组播源所属的指定路由器DR之间建立最短路径树SPT分支,SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
[0350](S-pCoA, G)组播转发表项对应的出接口列表为接收频道订阅报文的接口。
[0351]本实施方式提供的另一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中:
[0352]接收单元,用于接收组播源所属的指定路由器DR发送的封装有组播报头的组播报文,组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;
[0353]解封装单元,用于解封装组播报文的外层组播报头;
[0354]发送单元,用于查询所生成的(S-pCoA,G)组播转发表项,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的DR。
[0355]解封装单元,还用于解封装组播报文的外层组播报头之前,查询(S-pCoA,G)组播转发表项,进行逆向路径转发RPF检测,检查通过后,解封装组播报文的外层组播报头。
[0356]本实施方式提供的另一种组播源的注册装置,包括:接收单元、封装单元和发送单元,其中:
[0357]接收单元,用于接收组播源的组播报文;
[0358]封装单元,用于将组播报文封装为注册报文;
[0359]发送单元,用于将注册报文发送给汇集点RP,注册报文中携带组播源的代理转交地址和路径建立标志位,路径建立标志位用于指示RP根据组播源的代理转交地址建立与组播源所属的指定路由器DR之间的最短路径树SPT分支。
[0360]RP在接收到注册报文后,根据路径建立标志位,保存注册报文中携带的组播源的代理转交地址与组播源的家乡地址的绑定关系。
[0361]本实施方式提供的另一种组播路径的建立装置,包括:接收单元和发送单元,其中:
[0362]接收单元,用于接收组播侦听者的注册报文;
[0363]发送单元,用于向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,PM加入属性中携带组播源的代理转交地址,触发组播源所属的指定路由器DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
[0364]本实施方式提供的另一种组播路径的建立装置,包括:接收单元和发送单元,其中:
[0365]接收单元,用于接收组播侦听者发送的申请加入频道的消息;
[0366]发送单元,用于向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,PM加入属性中携带组播源的代理转交地址,触发组播源所属的指定路由器DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
[0367]组播源所属的DR在接收到组播源发送的组播报文后,通过与组播侦听者所属的DR之间的SPT分支,将组播报文转发给组播侦听者所属的DR,其中,SPT分支沿途的路由器均根据组播源的代理转交地址进行逆向路径转发RPF检查。
[0368]本实施方式提供的另一种组播路径的建立装置,包括:接收单元、查询单元和发送单元,其中:
[0369]接收单元,用于接收组播源域外的组播侦听者发送的频道订阅报文;
[0370]查询单元,用于根据组播源的家乡地址从本地绑定缓存表项中查找得到组播源的家乡地址对应的代理转交地址,在频道订阅报文中添加独立组播协议PM加入属性,PM加入属性中携带组播源的代理转交地址;
[0371]发送单元,用于向组播源方向逐跳发送添加PM加入属性的频道订阅报文,触发组播源所属的指定路由器DR和频道订阅报文经过的路由器根据组播源的代理转交地址进行RPF检查,完成与组播源所属的DR之间最短路径树SPT分支的建立。
[0372]组播源所属的DR在接收到组播源发送的组播报文后,通过SPT分支将组播报文转发到接收单元,其中,SPT分支沿途的路由器均根据组播源的代理转交地址进行RPF检查并转发组播报文;
[0373]接收单元在接收到组播报文后,将组播报文转发给组播侦听者所属的DR。
[0374]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0375]当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
[0376]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
【权利要求】
1.一种组播源的注册方法,包括: 组播源所属的指定路由器DR在接收到组播源的组播报文后,为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址,并在为组播报文封装组播报头后将组播报文封装为注册报文,发送到汇集点。
2.如权利要求1所述的方法,其特征在于,所述组播源所属的DR为组播源所属的移动接入网关MAG,所述组播源的代理转交地址为组播源所属的MAG的地址。
3.如权利要求2所述的方法,其特征在于,将组播报文封装为注册报文,发送到汇聚点,包括: 组播源所属的MAG将组播报文封装为注册报文后,通过单播方式将注册报文发送给汇聚点,所述注册报文的外层封装的源地址为所述MAG的地址,目的地址为所述汇聚点的地址。
4.如权利要求2所述的方法,其特征在于,将组播报文封装为注册报文,发送到汇聚点,包括: 组播源所属的MAG将组播报文封装为注册报文后,通过任播方式发送所述注册报文,所述注册报文的外层封装的源地址为所述组播源所属的MAG的地址,目的地址为任播-汇集点集合的任播地址。
5.一种组播报 文的转发方法,包括: 组播侦听者所属的指定路由器DR在接收到汇集点发送的组播报文后,解除所述组播报文的组播报头,将原始的组播报文发送给组播侦听者,其中,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址。
6.—种组播路径的建立方法,包括: 汇集点在接收到组播源所属的指定路由器DR发送的注册报文后,解除注册报文的外层封装,得到内层的组播报头,所述组播报头的源地址为组播源的代理转交地址S-pCoA,目的地址为组播地址G ; 所述汇集点向组播源所属的DR发送加入报文,在所述汇集点与组播源所属的DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器生成(S-pCoA,G)组播转发表项。
7.如权利要求6所述的方法,其特征在于,所述组播源所属的DR为所述组播源所属的移动接入网关MAG,所述组播源的代理转交地址为组播源所属的MAG的地址。
8.—种组播报文的转发方法,包括: 组播源所属的指定路由器DR在接收到组播源发送的组播报文后,为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA,根据所生成的(S-pCoA,G)组播转发表项转发封装组播报头后的组播报文,所述组播报文沿最短路径树SPT分支到达汇集点,所述SPT分支途经过的路由器均根据生成的(S-pCoA, G)组播转发表项对所述封装组播报头后的组播报文进行转发。
9.一种组播路径的建立方法,包括: 组播侦听者所属的指定路由器DR在接收到组播侦听者发送的申请加入频道的消息后,从本地移动锚点LMA查询得到组播源的代理转交地址S-pCoA,生成(S-pCoA,组播地址G)组播转发表项;组播侦听者所属的DR向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,在组播侦听者所属的DR与组播源所属的DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
10.一种组播报文的转发方法,包括: 组播源所属的指定路由器DR在接收到组播源的组播报文后,为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ; 所述组播源所属的DR根据所生成的(S-pCoA,G)组播转发表项,通过与组播侦听者所属的DR之间的最短路径树SPT分支,将封装组播报头后的组播报文转发到组播侦听者所属的DR。
11.如权利要求10所述的方法,其特征在于,还包括: 所述组播侦听者所属的DR在接收到组播报文后,查询所生成的(S-pCoA,G)组播转发表项进行逆向路径转发RPF检查,检查通过后,解除所述组播报文的组播报头,根据所生成的(组播源的家乡地址S-HoA,G)转发表项,将原始的组播报文发送给组播侦听者。
12.—种组 播源的注册方法,包括: 组播源所属的指定路由器DR将组播源的家乡地址和代理转交地址的绑定关系注册到边界组播路由器BMR,完成组播源的家乡地址和代理转交地址的绑定关系的注册。
13.如权利要求12所述的方法,其特征在于,还包括,在所述组播源发生移动时,所述组播源移动到的DR将所述组播源更新的代理转交地址和家乡地址的绑定关系注册到所述BMR。
14.一种组播报文的转发方法,包括: 边界组播路由器BMR接收汇集点RP发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址; 所述BMR根据组播源的代理转交地址查找组播源的家乡地址和代理转交地址的绑定关系,根据组播源的家乡地址查找组播转发表项,在组播转发表项对应的出接口信息指示需要向域外转发时,解封装所述组播报文的外层组播报头,并根据组播转发表项对应的出接口信息,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的指定路由器DR0
15.—种组播路径的建立方法,包括: 边界组播路由器BMR在接收到组播源域外的组播侦听者发送的订阅报文后,根据订阅报文中的组播源的家乡地址查找组播源的家乡地址和代理转交地址S-pCoA的绑定关系,得到组播源的S-pCoA,生成(S-pCoA,组播组地址G)组播转发表项; 所述BMR向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,在所述BMR与组播源所属的指定路由器DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
16.如权利要求15所述的方法,其特征在于,所述BMR生成的(S-pCoA,G)组播转发表项对应的出接口列表为BMR接收频道订阅报文的接口。
17.—种组播报文的转发方法,包括: 边界组播路由器BMR接收组播源所属的指定路由器DR发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ;所述BMR解封装所述组播报文的外层组播报头,查询所生成的(S-pCoA,G)组播转发表项,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的DR。
18.如权利要求17所述的方法,其特征在于,还包括: 所述BMR解封装所述组播报文的外层组播报头之前,查询所述(S-pCoA,G)组播转发表项,进行逆向路径转发RPF检测,检查通过后,解封装所述组播报文的外层组播报头。
19.如权利要求17所述的方法,其特征在于,所述BMR接收组播源所属的MAG发送的封装有组播报头的组播报文,包括: 所述组播源所属的DR在接收到组播源发送的组播报文后,为所述组播报文封装所述组播报头,并根据所生成的(S-pCoA,G)组播转发表项,通过与所述BMR之间的最短路径树SPT分支,将所述封装组播报头后的组播报文发送到所述BMR。
20.一种组播源的注册方法,包括: 组播源所属的指定路由器DR接收到所述组播源的组播报文后,将组播报文封装为注册报文,将注册报文发送给汇集点RP,所述注册报文中携带所述组播源的代理转交地址和路径建立标志位,所述路径建立标志位用于指示所述RP根据组播源的代理转交地址建立与组播源所属的DR之间的最短路径树SPT分支。
21.如权利要求20所述的方法,其特征在于,还包括: 所述RP在接收到所述注册报文后,根据所述路径建立标志位,保存注册报文中携带的组播源的代理转交地址与组播源的家乡地址的绑定关系。
22.—种组播路径的建立方法,包括: 汇集点RP在接收到组播侦听者的注册报文后,向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,所述PM加入属性中携带组播源的代理转交地址,触发所述组播源所属的指定路由器DR和加入报文经过的路由器根据PIM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
23.一种组播路径的建立方法,包括: 组播侦听者所属的指定路由器DR在接收到组播侦听者发送的申请加入频道的消息后,向组播源方向逐跳发送带有独立组播协议PM加入属性的加入报文,所述PM加入属性中携带组播源的代理转交地址,触发所述组播源所属的DR和加入报文经过的路由器根据PIM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
24.如权利要求23所述的方法,其特征在于,还包括: 所述组播源所属的DR在接收到组播源发送的组播报文后,通过与所述组播侦听者所属的DR之间的SPT分支,将组播报文转发给所述组播侦听者所属的DR,其中,所述SPT分支沿途的路由器均根据所述组播源的代理转交地址进行逆向路径转发RPF检查。
25.一种组播路径的建立方法,包括: 本地移动锚点LMA在接收到组播源域外的组播侦听者发送的频道订阅报文后,根据组播源的家乡地址从本地绑定缓存表项中查找得到组播源的家乡地址对应的代理转交地址; 所述LMA在所述频道订阅报文中添加独立组播协议PM加入属性,所述PM加入属性中携带组播源的代理转交地址,向组播源方向逐跳发送添加PM加入属性的频道订阅报文,触发组播源所属的指定路由器DR和频道订阅报文经过的路由器根据组播源的代理转交地址进行RPF检查,完成与组播源所属的DR之间最短路径树SPT分支的建立。
26.如权利要求25所述的方法,其特征在于,还包括: 所述组播源所属的DR在接收到组播源发送的组播报文后,通过与所述LMA之间的SPT分支将所述组播报文转发到所述LMA,其中,所述SPT分支沿途的路由器均根据组播源的代理转交地址进行RPF检查并转发所述组播报文; 所述LMA在接收到所述组播报文后,将组播报文转发给组播侦听者所属的DR。
27.一种组播源的注册装置,包括:接收单元、封装单元和发送单元,其中: 所述接收单元,用于接收组播源的组播报文; 所述封装单元,用于为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址,并在为组播报文封装组播报头后将组播报文封装为注册报文; 所述发送单元,用于将所述注册报文发送到汇集点。
28.如权利要求27所述的装置,其特征在于,所述组播源的代理转交地址为组播源所属的移动接入网关MAG的地址。
29.—种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中: 所述接收单元,用于接收汇集点发送的组播报文; 所述解封装单元,用于解除所述组播报文的组播报头,得到原始的组播报文,其中,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址; 所述发送单元,用于将所述原始的组播报文发送给组播侦听者。
30.一种组播路径的建立装置,包括:接收单元、解封装单元和发送单元,其中: 所述接收单元,用于接收组播源所属的指定路由器DR发送的注册报文; 所述解封装单元,用于解除注册报文的外层封装,得到内层的组播报头,所述组播报头的源地址为组播源的代理转交地址S-pCoA,目的地址为组播地址G ; 所述发送单元,用于向组播源所属的DR发送加入报文,在与组播源所属的DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器生成(S-pCoA,G)组播转发表项。
31.一种组播报文的转发装置,包括:接收单元、封装单元和发送单元,其中: 所述接收单元,用于接收组播源发送的组播报文; 所述封装单元,用于为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ; 所述发送单元,用于根据所生成的(S-pCoA,G)组播转发表项转发封装组播报头后的组播报文,所述组播报文沿最短路径树SPT分支到达汇集点,所述SPT分支途经过的路由器均根据生成的(S-pCoA,G)组播转发表项对所述封装组播报头后的组播报文进行转发。
32.—种组播路径的建立装置,包括:接收单元、表项生成单元和发送单元,其中: 所述接收单元,用于接收组播侦听者发送的申请加入频道的消息; 所述表项生成单元,用于从本地移动锚点LMA查询得到组播源的代理转交地址S-pCoA,生成(S-pCoA,组播地址G)组播转发表项; 所述发送单元,用于向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,与组播源所属的指定路由器DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
33.一种组播报文的转发装置,包括:接收单元、封装单元和发送单元,其中: 所述接收单元,用于接收组播源的组播报文; 所述封装单元,用于为所述组播报文封装组播报头,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ; 所述发送单元,用于根据所生成的(S-pCoA,G)组播转发表项,通过与组播侦听者所属的指定路由器DR之间的最短路径树SPT分支,将封装组播报头后的组播报文转发到组播侦听者所属的DR。
34.一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中: 所述接收单元,用于接收组播报文; 所述解封装单元,用于查询所生成的(S-pCoA,G)组播转发表项进行逆向路径转发RPF检查,检查通过 后,解除所述组播报文的组播报头,得到原始的组播报文; 所述发送单元,用于根据所生成的(组播源的家乡地址S-HoA,G)转发表项,将原始的组播报文发送给组播侦听者。
35.一种组播源的注册装置,包括:注册单元,其中: 所述注册单元,用于将组播源的家乡地址和代理转交地址的绑定关系注册到边界组播路由器BMR,完成组播源的家乡地址和代理转交地址的绑定关系的注册。
36.一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中: 所述接收单元,用于接收汇集点RP发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址,源地址为组播源的代理转交地址; 所述解封装单元,用于根据组播源的代理转交地址查找组播源的家乡地址和代理转交地址的绑定关系,根据组播源的家乡地址查找组播转发表项,在组播转发表项对应的出接口信息指示需要向域外转发时,解封装所述组播报文的外层组播报头; 所述发送单元,用于根据组播转发表项对应的出接口信息,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的指定路由器DR。
37.一种组播路径的建立装置,包括:接收单元、表项生成单元和发送单元,其中: 所述接收单元,用于接收组播源域外的组播侦听者发送的订阅报文; 所述表项生成单元,用于根据订阅报文中的组播源的家乡地址查找组播源的家乡地址和代理转交地址S-pCoA的绑定关系,得到组播源的S-pCoA,生成(S-pCoA,组播组地址G)组播转发表项; 所述发送单元,用于向频道(S-pCoA,G)对应的组播源方向逐跳发送频道订阅报文,与组播源所属的指定路由器DR之间建立最短路径树SPT分支,所述SPT分支沿途所经过的路由器和组播源所属的DR生成(S-pCoA,G)组播转发表项。
38.一种组播报文的转发装置,包括:接收单元、解封装单元和发送单元,其中: 所述接收单元,用于接收组播源所属的指定路由器DR发送的封装有组播报头的组播报文,所述组播报头的目的地址为组播地址G,源地址为组播源的代理转交地址S-pCoA ; 所述解封装单元,用于解封装所述组播报文的外层组播报头; 所述发送单元,用于查询所生成的(S-pCoA,G)组播转发表项,将解封装后得到的原始组播报文发送到域外的组播侦听者所属的DR。
39.一种组播源的注册装置,包括:接收单元、封装单元和发送单元,其中: 所述接收单元,用于接收组播源的组播报文; 所述封装单元,用于将组播报文封装为注册报文; 所述发送单元,用于将注册报文发送给汇集点RP,所述注册报文中携带所述组播源的代理转交地址和路径建立标志位,所述路径建立标志位用于指示所述RP根据组播源的代理转交地址建立与组播源所属的指定路由器DR之间的最短路径树SPT分支。
40.一种组播路径的建立装置,包括:接收单元和发送单元,其中: 所述接收单元,用于接收组播侦听者的注册报文; 所述发送单元,用于向组播源方向逐跳发送带有独立组播协议PIM加入属性的加入报文,所述PIM加入属性中携带组播源的代理转交地址,触发所述组播源所属的指定路由器DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
41.一种组播路径的建立装置,包括:接收单元和发送单元,其中: 所述接收单元,用于接收组播侦听者发送的申请加入频道的消息; 所述发送单元,用于 向组播源方向逐跳发送带有独立组播协议PIM加入属性的加入报文,所述PIM加入属性中携带组播源的代理转交地址,触发所述组播源所属的指定路由器DR和加入报文经过的路由器根据PM加入属性中携带组播源的代理转交地址进行逆向路径转发RPF检查,完成与组播源所属的DR之间的最短路径树SPT分支的建立。
42.一种组播路径的建立装置,包括:接收单元、查询单元和发送单元,其中: 所述接收单元,用于接收组播源域外的组播侦听者发送的频道订阅报文; 所述查询单元,用于根据组播源的家乡地址从本地绑定缓存表项中查找得到组播源的家乡地址对应的代理转交地址,在所述频道订阅报文中添加独立组播协议PM加入属性,所述PM加入属性中携带组播源的代理转交地址; 所述发送单元,用于向组播源方向逐跳发送添加PIM加入属性的频道订阅报文,触发组播源所属的指定路由器DR和频道订阅报文经过的路由器根据组播源的代理转交地址进行RPF检查,完成与组播源所属的DR之间最短路径树SPT分支的建立。
【文档编号】H04W28/06GK103916905SQ201310003151
【公开日】2014年7月9日 申请日期:2013年1月6日 优先权日:2013年1月6日
【发明者】刘娟 申请人:中兴通讯股份有限公司