组播路由的切换方法及装置的制作方法

文档序号:7695405阅读:149来源:国知局
专利名称:组播路由的切换方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种组播路由的切换方法及装置。
背景技术
随着通信技术的不断发展,IP通信技术在传统的单播方式和广播方式的 基础上出现了组播方式。IP组播是指在IP网络中将数据包以尽力传送
(best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组 播组(multicast group) 。 IP组播的基本思想是,源主机只发送一份数据, 这份数据中的目的地址为组播组地址;组播组中的所有接收者都可接收到同 样的数据拷贝,并且只有组播组内的目标主机可以接收该数据,网络中的其 他主机不能接收该数据。IP组播技术有效地解决了单点发送多点接收的问题, 实现了 IP网络中单点到多点的高效数据传送,能够大量节约网络带宽、降低 网络负载,因此,IP组播技术在各个信息服务领域中得到了越来越广泛的应 用。
在现有技术中,稀疏才莫式协议无关组播(Protocol Independent Multicast-Parse Mode, PIM-SM )和特定源组播(Source-Specif ic Multicast: SSM)是两种常用的域内组播模式,都是通过建立组播分发树来进行组播数据 包的转发。在接收端的共享网段上,有多台路由器同时存在的情况下,如果 都向此网段转发数据,则选举出唯——台路由器作为此网络段的指定路由器 (Designated Router, DR),由该DR负责向此网段转发数据;在源端的共 享网段上,同样也选举出唯一的DR来负责向汇聚点(Rendezvous Point, RP ) 发送注册报文;如果接口都不能使用PIM SM/SSM的情况,通过组管理协议(Internet Group Management Protocol Internet, IGMP)机制选举一个查 询器,由它来负责向此网段转发数据。
发明人在实现本发明的过程中,发现现有技术至少存在如下缺陷 1 )组播源和组播接收者通过二层交换机和路由器相连,路由器不会向与 交换机相连的接口发布路由,甚至此接口都不配置单播路由协议。在接收端, 当DR失去到源的路由时,DR就不能向源方向发送加入分发树的请求,而其 余的路由器虽然能接收到接收者发送来的IGMP加入(需要指出的是,此处以 及本发明的后续内容仅以IPv4为例进行说明,本发明的技术方案在IPv6中 同样适用),但由于其不是DR,也不会向上游发送加入组播分发树的请求, 从而使组播流中断。同样,在源端,DR失去到RP的路由,该DR就不能向RP 发送注册报文,而其余的路由器也因其不是DR,也不会向RP发送注册报文, 导致数据断流,用户无法实现点播。
2)虽然在现有技术中,为了避免上述问题,运营商可以在用户侧接口配 置单播协议,发布单播路由,DR通过备份DR来学习路由,但这样用户侧网 络将出现单播路由,对安全造成一定的影响,且无法解决单播路由协议本身 出现故障的场景。

发明内容
本发明实施例提供一种组播路由的切换方法及装置,解决源或汇聚点不 可达导致的数据断流的问题,并且不需要在用户侧接口配置单播协议,发布 单播路由。
本发明实施例提供了一种组播路由的切换方法,包括 判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
若所述主指定路由器的源或汇聚点不可达,则所述主指定路由器向备份 指定路由器发送指示报文,根据所述指示报文,将所述备份指定路由器切换
为主指定路由器;或者若所述查询器的源或汇聚点不可达,则所述查询器向非查询器发送指示 报文,根据所述指示报文,将所述非查询器切换为查询器。
本发明实施例还提供了另 一种组播路由的切换方法,包括
判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达; 若所述主指定路由器的源或汇聚点不可达,则将有本地接收者加入的下
游接口设置为上游接口,并通过所述上游接口发送加入报文;或者
若所述查询器的源或汇聚点不可达,则将有本地接收者加入的下游接口
设置为上游接口,并通过所述上游接口发送加入报文。
本发明实施例提供了一种组播路由的切换装置,包括
第一判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源
或汇聚点是否可达;
报文发送模块,用于当所述第 一判断模块的判断结果为主指定路由器的 源或汇聚点不可达时,向备份指定路由器发送指示报文,或者当所述第一判 断^f莫块的判断结果为查询器的源或汇聚点不可达时,向所述非查询器发送指 示报文;
切换模块,用于根据所述报文发送模块发送的所述指示报文,将备份指 定路由器切换为主指定路由器,或将非查询器切换为查询器。 本发明实施例还提供了另 一种组播路由的切换装置,包括 第二判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源
或汇聚点是否可达;
设置模块,用于当所述第二判断模块的判断结果为所述主指定路由器的 源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并向 所述上游接口发送加入报文,或者所述查询器的源或汇聚点不可达,将有本 地接收者加入的下游接口设置为上游接口 ,并向所述上游接口发送加入报文。
本发明实施例提供了 一种组播路由的切换方法及装置,通过判断源或汇 聚点不可达,对主指定路由器或查询器进行切换,或者改变路由路径,解决了源或汇聚点不可达导致的数据断流问题,并且不需要在用户侧接口配置单 播协议,发布单播路由。


图1为本发明组播路由的切换方法实施例一的流程图; 图2为本发明组播路由的切换方法实施例二的流程图; 图3为本发明组播路由的切换方法实施例三的示意图; 图4为本发明组播路由的切换方法实施例四的流程图; 图5为本发明组播路由的切换方法实施例四中指示报文的报文格式示意
图6为本发明组播路由的切换方法实施例五的示意图; 图7为本发明组播路由的切换方法实施例六的流程图; 图8为本发明组播路由的切换装置实施例一的结构示意图; 图9为本发明组播路由的切换装置实施例二的结构示意图。
具体实施例方式
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
图1为本发明组播路由的切换方法实施例一的流程图,如图l所示,本 实施例提供的组播路由的切换方法包括
101,判断主指定路由器的源或汇聚点,或查询器的源或汇聚点是否可达, 如果是,则结束组播路由的切换流程,否则执行102。
其中,在本发明实施例中,主指定路由器以DR,查询器以组管理 (Internet Group Management Protocol, IGMP)查询器,备份指定路由 器以备份指定路由器(Backup Designed Router, BDR),非查询器以非 IGMP查询器为例进行说明。本实施例对应于两种不同的应用环境,当接口配置PIM SM/SSM,则101具体为判断主指定路由器的源或RP是否可达, 如果主指定路由器的源或RP可达,则结束组播路由的切换流程,如果主指 定路由器的源或RP不可达,则执行102,其中,对于PIM SSM,则只需判断 主指定路由器的源是否可达;当接口不配置PIM SM/SSM,则101具体为 判断IGMP查询器的源或RP是否可达,如果IGMP查询器的源或RP可达,则 结束组播路由的切换流程,如果IGMP查询器的源或RP不可达,则执行102。 在判断主指定路由器或查询器的某个源或RP是否可达时,源或RP不可达 的情况包括单播协议出现故障或者指定的单播路由丟失等,当出现上述情 况,则判断该源或RP不可达。
102, 主指定路由器向备份指定路由器发送指示报文,或者查询器向非查 询器发送指示报文。
路由的切换过程是通过报文的发送来启动的,具体地,当主指定路由器 的源或汇聚点不可达,备份指定路由器向主指定路由器发送指示报文;或者 当查询器的源或汇聚点不可达时,非查询器向查询器发送指示报文。
103, 根据指示报文,将备份指定路由器切换为主指定路由器,或者将非 查询器切换为查询器。
在本发明实施例中,备份指定路由器以BDR,非查询器以非IGMP查询 器为例进行说明。当接口配置PIMSM/SSM,则103具体为根据收到的指 示报文,将备份指定路由器切换为主指定路由器;当接口不配置PIM SM/ SSM, 则103具体为根据收到的指示报文,将非组管理查询器切换为组管理查 询器。
对于PIM-SM和PIM-SSM这两种域内组播模式,在转发组播数据包时, 为避免接收端共享网段上的多台路由器同时向此网段转发数据,需要在多 台路由器中选举出一台路由器作为该网段的DR,由它负责此网段的数据转 发。对于SM,其建立RPT树的过程为路由器通过IGMP 了解到某个直连网 段有接收者加入某个组播组G;接收者DR查找到RP的RPF邻居(即到RP的单播下一跳,并且是PIM邻居),向其发送",G)加入;(、G)沿着从接 收者DR到RP的路径逐跳扩散,沿途路由器都创建相应的(*,0项,将接收 到加入的报文的接口加入出接口列表,成为RPT树的节点;源DR接收到 组播源的数据,封装到注册报文,单播发送给RP; RP接收到注册报文, 解封装里面的组播数据报文,并沿共享树转发。但共享树并不一定是到源 的最优路径,当从RPT上的数据超过配置的阈值时,接收者DR发起从RPT 到SPT的切换过程,其过程为接收者DR查找到源的RPF邻居(即到源 的单播下一跳,并且是PIM邻居)并向其发送(S,G)加入;(S,G)沿着从接 收者DR到源DR的路径逐跳扩散,沿途路由器创建(S,G)项,并将接收到 (S,G)加入的接口加入到(S,G)项的出接口列表,沿途路由器成为SPT树的 节点;源DR沿SPT树转发数据;接收者DR从SPT树上接收到数据,向到 RP的RPF邻居发送(S,G)RPT剪枝消息,数据停止从RPT树上转发。对于 SSM,接收端路由器通过IGMPv3协议学习到源的信息,并且向源发送(S,G) 加入建立SPT树进行转发。
具体地,102可以具体为主指定路由器将P頂接口设置为SILENT状态, 主指定路由器向备份指定路由器发送HOLDTIME为0的HELLO报文;或者查询 器将PIM接口设置为SILENT状态,查询器向非查询器发送HOLDTIME为0的 HELLO报文。即切换前的主指定路由器不再收发PIM协议报文,由主指定路 由器变为普通路由器器,即不再承担组播组中主指定路由器的转发数据的职 责;或者切换前的查询器不再收发PIM协议报文,由查询器变为非查询器, 即不再承担组播组中查询器的转发数据的职责。
进一步地,103可以具体为备份指定路由器收到指示报文后,删除备份 指定路由器的邻居信息,并通过上游接口发送加入报文;或者非查询器收到 指示报文后,删除非查询器的查询器信息,并通过上游接口发送加入报文。 即备份指定路由器收到指示报文后,删除该备份路由器的邻居信息,将自身 变为主指定路由器,并通过上游接口发送加入报文,加入"t艮文可以为PIM JOIN报文,新的主指定路由器(即切换前原有的备份指定路由器)通过向上游发 送加入报文,将上游数据向新的主指定路由器所在的共享网段中转发。或者 非查询器收到指示报文后,删除该非查询器的邻居信息,将自身变为查询器,
并通过上游接口发送加入报文,加入报文可以为PIM J0IN报文,新的查询器 (即切换前原有的非查询器)通过向上游发送加入报文,将上游数据向新的 查询器所在的共享网段中转发。
在103之后,还可以包括当主指定路由器的源或汇聚点恢复可达后, 将切换前的主指定路由器的PIM接口退出SILENT状态,发送HELLO报文,重 新选举主指定路由器。或者当查询器的源或汇聚点恢复可达后,将切换前的 查询器的PIM接口退出SILENT状态,发送HELLO才艮文,重新选举查询器。
或者,除上述技术方案外,102还可以具体为主指定路由器向备份指定 路由器发送指定路由器操作报文,在指定路由器操作报文中携带源或汇聚点 的信息;备份指定路由器根据源或汇聚点的信息查找备份指定路由器中存储 的组播路由的表项。或者查询器向非查询器发送指定路由器操作报文,在指 定路由器操作报文中携带源或汇聚点的信息;非查询器根据源或汇聚点的信 息查找非查询器中存储的组播路由的表项。即在备份指定路由器接收到的指 示报文中携带有源或汇聚点的信息,该信息用于指示该源或汇聚点的组播地 址以及对应的组播路由的表项信息,其中包括主指定路由器出现故障的单播 路由对应的源或RP的表项信息,备份指定路由器根据该信息查找备份指定路 由器存储的该源或汇聚点组播路由的表项,将其中使用该源或汇聚点的组播 路由的表项的下游接口的状态设置为主指定路由器。或者在非查询器接收到 的指示报文中携带有源或汇聚点的信息,该信息用于指示该源或汇聚点的组 播地址以及对应的组播路由的表项信息,其中包括查询器中出现故障的单播 路由对应的源或RP的表项信息,非查询器根据该信息查找非查询器中存储的 该源或汇聚点组播路由的表项,将其中使用该源或汇聚点的组播路由的表项 的下游接口的状态设置为查询器。进一步地,103还可以具体为主指定路由器或查询器向备份指定路由 器或非查询器发送指示报文;备份指定路由器或非查询器根据指示报文,将 备份指定路由器或非查询器中使用该源或汇聚点的组播路由的表项的下游接 口的状态设置为主指定路由器或查询器,并通过上游接口发送加入报文。路 由的切换过程同样是通过报文的发送来启动的,即备份指定路由器向主指定 路由器发送指示报文,或者非查询器向查询器发送指示报文。备份路由器或 非查询器根据接收到的指示报文中携带的源或汇聚点的信息,将备份指定路 由器或非查询器中使用已出现故障的组播路由的表项的下游接口的状态设置 为主指定路由器或查询器,即用备份指定路由器或非查询器中的接口来代替 主指定路由器或查询器中出现故障的组播路由的源或RP所对应的接口 ,而不 是将主指定路由器或查询器的所有接口均作替换。
在103之后,还可以包括当所述源或汇聚点恢复可达后,切换前的主 指定路由器向备份指定路由器发送指定路由器操作报文,取消备份指定路由 器中使用源或汇聚点的组播路由的表项的下游接口的状态;或者当所述源或 汇聚点恢复可达后,切换前的查询器向所述备份非查询器发送所述指定路由 器操作报文,取消所述非查询器中使用所述源或汇聚点的组播路由的表项的 下游接口的状态。具体地,当源或汇聚点恢复可达后,主指定路由器向备份 指定路由器发送指定路由器操作报文,备份指定路由器根据指定路由器恢复 报文取消备份指定路由器中使用源或汇聚点的组播路由的表项的下游接口的 主指定路由器或查询器状态,并删除出接口。或者查询器向非查询器发送指 定路由器操作报文,非查询器根据指定路由器恢复报文取消非查询器中使用 源或汇聚点的组播路由的表项的下游接口的查询器状态,并删除出接口 。
再进一步地,指定路由器操作报文包括第一字段和第二字段,第一字段 用于标识路由类型,例如标识该路由是到源的路由还是到汇聚点的路由,第 二字段用于标识报文类型,例如标识该报文具体为指定路由器删除报文(DR CANCEL报文)或者为指定路由器恢复报文(DR RESTORE报文)。更进一步地,在101之前,还可以包括才艮据双向转发^企测协议
(Bidirectional Forwarding Detection, BFD)判断源或RP是否可达,即才艮 据BFD检测源或RP的可达性。源或RP的可达性是指源或RP的单播路由正常, 未丢失,或者单播协议正常,未出现故障。BFD检测出到源或RP不可达时, 通知组纟番协议;组播协议处理这部分表项,利用发送HOLDTIME为0的HELLO 报文或者发送使得该表项的出接口进入SILENT状态,并通知BDR (或非IGMP 查询器,下同)来负责转发;BDR处理相应的表项,成为DR并负责转发数据。
本实施例提供了 一种组播路由的切换方法,通过判断源或汇聚点不可达, 对主指定路由器或查询器进行切换,解决了源或汇聚点不可达导致的数据断 流问题,并且不需要在用户侧接口配置单播协议,发布单播路由。
图2为本发明组播路由的切换方法实施例二的流程图,如图2所示,本 实施例提供的组播路由的切换方法是以实施例一为基础的具体的技术方案之 一,包括
201,判断DR的源或RP是否可达,如果是,则结束本流程,否则执行
202。
在进行组播数据转发前,在组播组的多个路由器中选举出 一 台路由器作 为DR来负责数据转发。根据BFD检测该DR的源或RP的可达性,BFD检测出 某个源或RP不可达时,即判断该源或RP是否可达,包括单播协议出现故障 或者指定的单播路由丢失等。
需要指出的是,本实施例以接口配置PIM SM/SSM的情况为例来进行说明, 对于接口未配置PIMSM/SSM的情况,只是将主指定路由器(即本实施例中的 DR)用IGMP查询器,备份指定路由器(即本实施例中的BDR)用非IGMP查 询器来代替即可。在本实施例的后续流程以及后续的其它实施例中情况类似, 不再赘述。
202, DR向BDR发送HELL(H艮文。
经过检测判断,该单播协议出现故障或者某个源或RP不可达时,则通过内部网关十办i义(Interior Gateway Protocol, IGP)与PIM 4关动,DR向 BDR发送HOLDTIME为0的HELLO才艮文,即将PIM接口自动置为SILENT状 态,不再收发PIM协议报文,当前DR通过发送HOLDTIME为0的HELLO报文 将此事件告知BDR。
203, BDR接收到HELLO报文后,将自身切换为DR。
BDR根据DR发送的HOLDTIME为0的HELLO报文,删除自身的邻居信息, 即删除BDR原有的邻居接口,将自己变为DR,此时的当前DR为BDR,并通过 上游接口发送加入报文,此处具体为PIM JOIN报文,把数据从上游接口引下 来进行数据转发。
204,当该源或汇聚点恢复可达后,重新选举DR。
当原有DR的源或RP恢复可达后,原有DR的单播路由恢复正常,原有 DR退出SILENT状态,再次发送HELLO报文,向其邻居节点宣告自身的状态 信息,组播组中的各成员获取该信息后,根据DR的选举规则重新选举DR。
本实施例提供了一种组播路由的切换方法,当某个源或RP不可达后, 通过将备份路由器切换为指定路由器,解决了某个源或RP不可达导致的 数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由, 达到了保障安全的目的,又能为组播提供冗余备份机制。
图3为本发明组^番路由的切换方法实施例三的示意图,如图3所示,本 实施例是在上述实施例二的基础上,执行实施例二中的201 ~ 204所完成的具 体的实施过程。
在本实施例的示意图中,Source为组播源,User为接受者,RTC/RTD和 接收者相连的接口配置IGMP。所有接口均配置PIMSM, RTA、 RTB、 RTC和RTD 为组播组中的路由器,RTA/RTB/RTC/RTD和用户侧相连的接口不配置任何单 播协议,也不向用户侧发布单播路由,RTB和RTD分别为其在所在网段的DR。
如图3所示,在本实施例的实施过程中,包含如下几种具体的场景当 源端DR失去到RP的路由,即RP不可达时,如果只有一个RP, RTB的接口发送H0LDTIME为Q的HELLO报文,进入到SILENT状态,不再4妄收和发送PIM 协议才艮文;当RTA收到此HELLO才艮文后,删除邻居信息,成为DR,添加注册 出接口,给RP发送注册报文;在故障恢复之后,RTB恢复正常,退出SILENT 状态,发送HELLO报文,重新进行DR选举。当接收端DR失去到RP的路由, 即RP不可达时,如果通过RPT进行转发,且只有一个RP, RTD的4妾口向RTC 发送HOLDTIME为0的HELLO报文;RTC接收到报文后成为DR,添加出接口 , 给朝向RP的上游发送PIM JOIN报文,把数据引下来进行转发。如果通过SPT 进行转发,且只有一个组播源,同样由RTD发送HOLDTIME为0的HELLO报文; RTC接收到报文成为DR,后续的流程与上述两个场景类似。
需要指出的是,对于所有接口配置PIMSSM, RTC/RTD和接收者相连的接 口配置IGMP的情况,直接通过SPT进行转发,不需要RP,当只有一个组播 源时,实施过程与上述场景类似;类似地,对于RTC/RTD和接收者相连的接 口只配置IGMP,其他接口均配置PIM SM/SSM的情况,由共享网段上的路由 器选举出一个IGMP查询器来负责此网段的数据转发(例如RTD),当只有一个 组播源或者RP时,其实施过程与上述场景也类似,只是RTD作为IGMP查询 器而不是DR,在此不再赘述。
本实施例提供了一种具体的组播路由的切换方法,当某个源或RP不 可达后,通过将备份路由器切换为指定路由器,解决了源或DR不可达导 致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路 由,达到了保障安全的目的,又能为组播提供冗余备份机制。
图4为本发明组播5^由的切换方法实施例四的流程图,如图4所示,本 实施例提供的组播路由的切换方法是以实施例一为基础的具体的技术方案之 二,包括
401,判断DR的源或RP是否可达,如果是,则结束本流程,否则执行
402。
根据BFD检测该DR的源或RP的可达性,BFD检测出某个源或RP不可达时,可以具体为单播协议出现故障或者指定的单播路由丟失等。
需要指出的是,本实施例以接口配置PIM SM/SSM的情况为例来进行说明, 对于接口未配置PIMSM/SSM的情况,只是将主指定路由器(即本实施例中的 DR)用IGMP查询器,备份指定路由器(即本实施例中的BDR)用非IGMP查 询器来代替即可。在本实施例的后续流程以及后续的其它实施例中情况类似, 不再赘述。
402, DR向BDR发送DR CANCEL/RESTORE冲艮文。
判断DR的某个源或RP的单播路由出现故障之后,DR向BDR发送一个 DR CANCEL/RESTORE才艮文。具体地,图5为本发明组播路由的切换方法实 施例四中指示报文的格式示意图,如图5所示,DR CANCEL/RESTORE报文类 型为9,携带RP或源的单播地址,其中Encoded-Source Address为PIM协 议中定义。DR CANCEL/RESTORE才艮文包括第一字^:和第二字^a,第一字段用 于标识路由类型,第二字段用于标识报文类型,具体地,第一字段为图5中 的SIWIR字段,第二字段为图5中的Rsrvd字段。当S为1时,表示为到源 的路由,当S为O时,表示为到RP的路由;当Rsrvd为0时,表示该报文为 DR CANCEL报文,当Rsrvd为1时,表示该报文为DR RESTORE报文。
具体地,402中DR向BDR发送的DR CANCEL/RESTORE才艮文为DR CANCEL 报文。经过检测判断,该单播协议出现故障或者某个源或RP的单播路由丢失, 则DR向BDR发送DR CANCEL/RESTORE报文,并在报文中携带RP信息。
403, BDR根据接收到的DR CANCEL/RESTORE报文,将BDR中使用该源或 RP的组播路由的表项的下游接口设置为DR。
BDR接收到DR CANCEL报文后,根据此报文中携带的RP信息在BDR中查 找使用该源或RP的组播路由的表项,将BDR中使用已出现故障的组播路由的 表项的下游接口的状态设置为DR,即用BDR中的这些接口来代替DR中出现 故障的组播路由的源或RP所对应的接口 ,而不是将DR的所有接口均作替换。 BDR将下游变为DR状态,添加注册出接口或出接口,给朝向源或RP的上游发送加入报文,该加入报文具体为PIM JOIN报文,把数据从上游接口引下来
在BDR所在的共享网段中转发。
404,当源或RP恢复可达后,BDR取消表项的DR状态。
当原有DR的源或RP恢复可达后,原有DR的单播路由恢复正常,原有 DR向再次向BDR发送DR CANCEL/RESTORE才艮文,404中的DR CANCEL/RESTORE 净艮文具体为DR RESTORE报文。BDR接收到DR的通知后,取消表项的DR状态, 删除注册出接口或删除出接口,继续由原有DR进行转发。
本实施例提供了一种组播路由的切换方法,当某个源或RP不可达后, 通过将组播路由的表项的下游接口设置为指定路由器,解决了某个源或RP 不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发 布单播路由,达到了保障安全的目的,又能为组播提供冗余备份机制。
图6为本发明组播路由的切换方法实施例五的示意图,如图6所示,本 实施例是在上述实施例四的基础上,执行实施例四中的401 ~ 404所完成的具 体的实施过程。
在本实施例的示意图中,Source为组播源,User为接受者,RTC/RTD和 接收者相连的接口配置IGMP。所有接口均配置PIMSM, RTA、 RTB、 RTC和RTD 为组播组中的路由器,RTA/RTB/RTC/RTD和用户侧相连的接口不配置任何单 播协议,也不向用户侧发布单播路由,RTB和RTD分别为其在所在网段的DR。
如图6所示,在本实施例的实施过程中,包含如下几种具体的场景当 源端DR失去到RP的路由,即RP不可达时,如果有多个RP,且只有其中一 部分RP的单插-路由出现故障,RTB的接口发送带有RP信息的DR CANCEL报 文;当RTA收到此报文后,查找使用此RP的表项,将上游接口变为DR状态, 添加注册出接口,给RP发送注册报文;在故障恢复,即RP恢复可达之后, RTB发送DR RESTORE报文通知RTA, RTA取消表项的DR状态,删除注册出接 口 。当接收端DR失去到RP的路由,即RP不可达时,如果通过RPT进行转发, 且有多个RP,当只有其中一部分RP的单播路由出现故障后,RTD的接口发送携带有RP的DR CANCEL报文;RTC接收到报文后,查找使用此RP的表项, 将下游接口变为DR状态,添加出接口,给朝向RP的上游发送PIM J0IN^艮文, 把数据引下来进行转发。如果通过SPT进行转发,且有多个组播源,当只有 其中一部分RP的单播路由出现故障后,同样由RTD发送DR CANCEL报文;RTC 接收到报文将下游变为DR状态,后续的流程与上述两个场景类似。
需要指出的是,对于所有接口配置PIMSSM, RTC/RTD和接收者相连的接 口配置IGMP的情况,直接通过SPT进行转发,不需要RP,当有多个组播源 时,且只有其中一部分RP的单播路由出现故障后,实施过程与上述场景类似; 类似地,对于RTC/RTD和接收者相连的接口只配置IGMP,其他接口均配置PIM SM/SSM的情况,由共享网段上的路由器选举出一个IGMP查询器来负责此网 段的数据转发(例如RTD),当有多个组播源或者RP时,且只有其中一部分RP 的单播路由出现故障后,其实施过程与上述场景也类似,只是RTD作为IGMP 查询器而不是DR,在此不再赘述。
本实施例提供了一种具体的组播路由的切换方法,当某个源或RP不 可达后,通过将组播路由的表项的下游接口设置为指定路由器,解决了某 个源或RP不可达导致的数据断流问题,并且不需要在用户侧接口配置单 播协议,发布单播路由,达到了保障安全的目的,又能为组播提供冗余备 份机制。
图7为本发明组播路由的切换方法实施例六的流程图,如图7所示,本 实施例提供的组播路由的切换方法包括
701,判断主指定路由器源或RP,或者查询器的源或RP是否可达,如果 是,则结束组播路由的切换流程,否则执行702。
本实施例同实施例一类似,对应于两种不同的应用环境,当接口配置 PIMSM/SSM,则701具体为判断主指定路由器的源或RP是否可达,如果 主指定路由器的源或RP可达,则结束组播路由的切换流程,如果主指定路 由器的源或RP不可达,则执行702,其中,对于接口配置PIM SSM的情况,只需判断主指定路由器的源是否可达;当接口不配置PIM SM/SSM,则701 具体为判断查询器(查询器可以具体为IGMP查询器,下同)的源或RP 是否可达,如果查询器的源或RP可达,则结束组播路由的切换流程,如果查 询器的源或RP不可达,则执行702。在判断主指定路由器或查询器的某个 源或RP是否可达时,源或RP不可达的情况包括单播协议出现故障或者指 定的单播路由丟失等,当出现上述情况,则判断该源或RP不可达。
702,将有本地接收者加入的下游接口设置为上游接口 。
该实施例对应的情况为当到源或RP不可达时,存在本地接受者的下游接 口,即收到过IGMP的加入,则将该下游接口设置为上游接口。在将有本地接 收者的下游接口设置为上游接口后,向该上游接口发送加入报文,即发送PIM JOIN报文。上游接口 (即有本地接收者的下游接口 )根据接收到的PIMJOIN 报文进行数据转发,即当在路由器上检测到某个源或RP不可达后,由于存在 有本地接收者接入的下游接口 ,则将该路由设置为缺省路由,将数据从该上 游接口上进行转发。
进一步地,在701之前,还包括根据BFD检测源或RP的可达性。源或 RP的可达性是指源或RP的单播路由正常,单播路由未丟失,或者单播协议 未出现故障,如果某个源或RP的单播协议出现故障或者指定的单播路由丟 失,则判断该源或RP不可达。
同上述实施例二 实施例五类似,本实施例提供的701 ~ 702在具体实施 过程中也包含多种应用场景的情况。对于接口配置PIMSM的情况,当接收端 DR到RP不可达时,如果进行RPT转发,不管只有一个RP,还是有多个RP的 情况,当RP不可达时,如果还有本地接收者,则向有本地接收者的接口发送 PIM JOIN报文,将此路由作为缺省路由;当接收端DR到源不可达时,如果 通过SPT进行转发,不管只有一个RP,还是有多个RP的情况,当RP不可达 时,如果还有本地接收者,则与上述方案类似。对于接口配置PIM SSM的情 况,不管只有一个组播源,还是有多个组播源的情况,当源不可达时,如果还有本地接收者,则与上述方案类似,此处不再赘述。
本实施例提供了另一种组播路由的切换方法,当某个源或RP不可达 后,如果存在有本地接收者的接口 ,通过改变路由路径,解决了某个源或 RP不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议, 发布单播路由。
图8为本发明组播路由的切换装置实施例一的结构示意图,如图8所示, 本实施例提供的组播路由的切换装置包括第一判断模块101、报文发送模 块102和切换模块103,其中,第一判断模块101用于判断主指定路由器的 源或汇聚点,或查询器的源或汇聚点是否可达;报文发送模块102用于当第 一判断模块101的判断结果为主指定路由器的源或汇聚点不可达时,向备份 指定路由器发送指示报文,或者当第一判断模块101的判断结果为查询器的 源或汇聚点不可达时,向非查询器发送指示报文;切换模块103用于根据报 文发送模块102发送的指示报文将备份指定路由器切换为主指定路由器,或 根据报文发送模块102发送的指示报文将非查询器切换为查询器。
进一步地,切换模块103可以用于收到报文发送模块102发送的指示报 文后,删除备份指定路由器的邻居信息,并通过上游接口发送加入报文;或 者收到报文发送模块102发送的指示报文后,删除非查询器的查询器信息, 并通过上游接口发送加入4艮文。
更进一步地,本实施例提供的组播路由的切换装置还可以包括路由恢 复模块,用于当第一判断模块101的判断结果为源或汇聚点恢复可达后,将 切换前的主路由器的PIM接口退出SILENT状态;或者当第一判断模块101的 判断结果为源或汇聚点恢复可达后,将切换前的查询器的PIM接口退出 SILENT状态。
或者,除上述结构外,本实施例提供的组播路由的切换装置中的切换模 块103还可以具体用于根据报文发送模块102发送的指示报文,将备份指定 路由器中使用源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器,并通过上游接口发送加入报文;或者根据报文发送模块102发送的 指示报文,将非查询器中使用源或汇聚点的组播路由的表项的下游接口的状 态设置为查询器,并通过上游接口发送加入报文。
更进一步地,本实施例提供的组播路由的切换装置还可以包括路由恢 复模块,用于当所述第一判断模块的判断结果为源或汇聚点恢复可达后,主 指定路由器向备份指定路由器发送指定路由器操作报文,取消备份路由器中 使用所述源或汇聚点的组播路由的表项的下游接口的状态;或者查询器向非 查询器发送指定路由器操作报文,取消非查询器中使用所述源或汇聚点的组 播路由的表项的下游接口的状态。
本实施例提供了 一种组播路由的切换装置,通过设置第 一 判断模块、 报文发送模块和切换模块,解决了某个源或RP不可达导致的数据断流问 题,并且不需要在用户侧接口配置单播协议,发布单播路由,达到了保障 安全的目的。
图9为本发明组播路由的切换装置实施例二的结构示意图,如图9所示, 本实施例提供的组播路由的切换装置包括第二判断模块201和设置模块 202,其中,第二判断模块201用于判断主指定路由器的源或汇聚点,或查询 器的源或汇聚点是否可达;设置模块202用于根据第二判断模块201的判断 结果为主指定路由器的源或汇聚点不可达,将有本地接收者加入的下游接口 设置为上游接口,并通过所述上游接口发送加入报文;或者当所述第二判断 模块的判断结果为查询器的源或汇聚点是否不可达,将有本地接收者加入的 下游接口设置为上游接口 ,并向所述上游接口发送加入报文。
本实施例提供了另外 一种组播路由的切换装置,通过设置第二判断模 块和设置模块,解决了某个源或RP不可达导致的数据断流问题,并且不 需要在用户侧接口配置单播协议,发布单播路由。
通过上述实施例可以看出,本发明实施例提供的组播路由的切换方法 及装置,通过判断源或汇聚点不可达,对主指定路由器或查询器进行切换,或者改变路由路径,解决了某个源或汇聚点不可达导致的数据断流问题, 并且不需要在用户侧接口配置单播协议,发布单播路由。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其
限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述实施例所记载的技术方案进行修改,或者 对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术 方案的本质脱离本发明实施例技术方案的精神和范围。
权利要求
1、一种组播路由的切换方法,其特征在于,包括判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;若所述主指定路由器的源或汇聚点不可达,则所述主指定路由器向备份指定路由器发送指示报文,根据所述指示报文,将所述备份指定路由器切换为主指定路由器;或者若所述查询器的源或汇聚点不可达,则所述查询器向非查询器发送指示报文,根据所述指示报文,将所述非查询器切换为查询器。
2、 根据权利要求1所述的方法,其特征在于,所述主指定路由器向备份 指定路由器发送指示报文,或者所述查询器向非查询器发送指示报文,具体 为所述主指定路由器将PIM接口设置为SILENT状态,所述主指定路由器向 所述备份指定路由器发送H0LDTIME为0的HELLO报文;或者所述查询器将PIM接口设置为SILENT状态,所述查询器向非查询器发送 H0LDTIME为0的HELLO才艮文。
3、 根据权利要求1所述的方法,其特征在于,所述主指定路由器向备份 指定路由器发送指示报文,或者所述查询器向非查询器发送指示报文,具体 为所述主指定路由器向所述备份指定路由器发送指定路由器操作报文,在 所述指定路由器操作报文中携带所述源或汇聚点的信息;所述备份指定路由 器根据所述源或汇聚点的信息查找所述备份指定路由器中存储的组播路由的 表项;或者所述查询器向所述非查询器发送指定路由器操作报文,在所述指定路由 器操作报文中携带所述源或汇聚点的信息;所述非查询器根据所述源或汇聚点的信息查找所述非查询器中存储的组 播路由的表项。
4、 根据权利要求1所述的方法,其特征在于,所述将备份指定路由器切换为主指定路由器,或者所述将非查询器切换为查询器,具体为所述备份指定路由器收到所述指示报文后,删除所述备份指定路由器的邻居信息,并通过上游接口发送加入报文;或者所述非查询器收到所述指示报文后,删除所述非查询器的查询器信息,并通过上游接口发送加入报文。
5、 根据权利要求l所述的方法,其特征在于,所述将备份指定路由器切 换为主指定路由器,或者所述将非查询器切换为查询器,具体为所述备份指定路由器根据所述指示报文,将所述备份指定路由器中使用 所述源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器, 并通过上游接口发送加入报文;或者所述非查询器根据所述指示报文,将所述非查询器中使用所述源或汇聚 点的组播路由的表项的下游接口的状态设置为查询器,并通过上游接口发送 加入才艮文。
6、 根据权利要求4所述的方法,其特征在于,还包括当所述源或汇聚 点恢复可达后,将所述切换前的主指定路由器的PIM接口退出所述SILENT状 态;或者当所述源或汇聚点恢复可达后,将所述切换前的查询器的PIM接口退出 所述SILENT状态。
7、 根据权利要求5所述的方法,其特征在于,还包括当所述源或汇聚 点恢复可达后,切换前的主指定路由器向所述备份指定路由器发送所述指定 路由器操作报文,取消所述备份指定路由器中使用所述源或汇聚点的组播路 由的表项的下游接口的状态;或者当所述源或汇聚点恢复可达后,切换前的查询器向所述备^^非查询器发 送所述指定路由器操作报文,取消所述非查询器中使用所述源或汇聚点的组 播路由的表项的下游接口的状态。
8、 根据权利要求5或7所述的方法,其特征在于,所述指定路由器操作报文包括第一字段和第二字段,所述第一字段用于标识路由类型,所述第二 字段用于标识报文类型。
9、 根据权利要求1所述的方法,其特征在于,还包括根据双向转发检 测协议检测所述源或所述汇聚点的可达性,根据检测结果判断所述源或汇聚 点是否可达。
10、 一种组播路由的切换方法,其特征在于,包括 判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达; 若所述主指定路由器的源或汇聚点不可达,则将有本地接收者加入的下游接口设置为上游接口,并通过所述上游接口发送加入纟艮文;或者若所述查询器的源或汇聚点不可达,则将有本地接收者加入的下游接口 设置为上游接口,并通过所述上游接口发送加入报文。
11、 根据权利要求10所述的组播路由的切换方法,其特征在于,还包括 根据双向转发检测协议判断所述源或汇聚点是否可达。
12、 一种组播路由的切换装置,其特征在于,包括 第一判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;报文发送模块,用于当所述第 一判断模块的判断结果为主指定路由器的 源或汇聚点不可达时,向备份指定路由器发送指示报文,或者当所述第一判 断模块的判断结果为查询器的源或汇聚点不可达时,向所述非查询器发送指 示报文;切换模块,用于根据所述报文发送模块发送的所述指示报文,将备份指 定路由器切换为主指定路由器,或将非查询器切换为查询器。
13、 根据权利要求12所述的组播路由的切换装置,其特征在于,所述切 换模块用于收到所述报文发送模块发送的所述指示报文后,删除所述备份指 定路由器的邻居信息,并通过上游接口发送加入报文,或者删除所述非查询器的查询器信息,并通过上游接口发送加入^^文。
14、 根据权利要求12所述的组播路由的切换装置,其特征在于,所述切 换模块用于根据所述报文发送模块发送的所述指示报文,将所述备份指定路 由器中使用所述源或汇聚点的组播路由的表项的下游接口的状态设置为主指 定路由器,并通过上游接口发送加入报文,或者将所述非查询器中使用所述 源或汇聚点的组播路由的表项的下游接口的状态设置为查询器,并通过上游 才妻口发送加入4艮文。
15、 根据权利要求13所述的组播路由的切换装置,其特征在于,还包括 路由恢复模块,用于当所述第一判断模块的判断结果为所述源或汇聚点恢复可达后,将所述切换前的主路由器的PIM接口退出所述SILENT状态,或 者将所述切换前的查询器的PIM接口退出所述SILENT状态。
16、 根据权利要求14所述的组播路由的切换装置,其特征在于,还包括 路由恢复模块,用于当所述第 一判断模块的判断结果为所述源或汇聚点恢复可达后,所述主指定路由器向所述备份指定路由器发送指定路由器操作 报文,取消所述备份指定路由器中使用所述源或汇聚点的组播路由的表项的 下游接口的状态,或者所述查询器向所述非查询器发送指定路由器操作报文, 取消所述非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状 态。
17、 一种组播路由的切换装置,其特征在于,包括 第二判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;设置模块,用于当所述第二判断模块的判断结果为所述主指定路由器的 源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并向 所述上游接口发送加入报文,或者所述查询器的源或汇聚点不可达,将有本 地接收者加入的下游接口设置为上游接口 ,并向所述上游接口发送加入报文。
全文摘要
本发明实施例公开了一种组播路由的切换方法及装置,其中组播路由的切换方法包括判断主指定路由器的源或汇聚点,或查询器的源或汇聚点是否可达,如果否,则所述主指定路由器或者查询器向备份指定路由器或非查询器发送指示报文,根据指示报文,将备份指定路由器或非查询器切换为主指定路由器或查询器。其中组播路由的切换装置包括第一判断模块用于判断主指定路由器或查询器的源或汇聚点是否可达;报文发送模块,用于当所述第一判断模块的判断为否时,向所述备份指定路由器或非查询器发送指示报文;切换模块,用于将备份指定路由器或非查询器切换为主指定路由器或查询器。本发明实施例解决了源或汇聚点不可达导致的数据断流问题。
文档编号H04L12/56GK101610200SQ200810115250
公开日2009年12月23日 申请日期2008年6月19日 优先权日2008年6月19日
发明者段少雄 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1