CN101610200B - 组播路由的切换方法及装置 - Google Patents
组播路由的切换方法及装置 Download PDFInfo
- Publication number
- CN101610200B CN101610200B CN2008101152504A CN200810115250A CN101610200B CN 101610200 B CN101610200 B CN 101610200B CN 2008101152504 A CN2008101152504 A CN 2008101152504A CN 200810115250 A CN200810115250 A CN 200810115250A CN 101610200 B CN101610200 B CN 101610200B
- Authority
- CN
- China
- Prior art keywords
- source
- message
- convergent point
- designated router
- bdr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种组播路由的切换方法及装置,其中组播路由的切换方法包括:判断主指定路由器的源或汇聚点,或查询器的源或汇聚点是否可达,如果否,则所述主指定路由器或者查询器向备份指定路由器或非查询器发送指示报文,根据指示报文,将备份指定路由器或非查询器切换为主指定路由器或查询器。其中组播路由的切换装置包括:第一判断模块用于判断主指定路由器或查询器的源或汇聚点是否可达;报文发送模块,用于当所述第一判断模块的判断为否时,向所述备份指定路由器或非查询器发送指示报文;切换模块,用于将备份指定路由器或非查询器切换为主指定路由器或查询器。本发明实施例解决了源或汇聚点不可达导致的数据断流问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种组播路由的切换方法及装置。
背景技术
随着通信技术的不断发展,IP通信技术在传统的单播方式和广播方式的基础上出现了组播方式。IP组播是指在IP网络中将数据包以尽力传送(best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(multicast group)。IP组播的基本思想是,源主机只发送一份数据,这份数据中的目的地址为组播组地址;组播组中的所有接收者都可接收到同样的数据拷贝,并且只有组播组内的目标主机可以接收该数据,网络中的其他主机不能接收该数据。IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中单点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载,因此,IP组播技术在各个信息服务领域中得到了越来越广泛的应用。
在现有技术中,稀疏模式协议无关组播(Protocol IndependentMulticast-Parse Mode,PIM-SM)和特定源组播(Source-Specific 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来学习路由,但这样用户侧网络将出现单播路由,对安全造成一定的影响,且无法解决单播路由协议本身出现故障的场景。
发明内容
本发明实施例提供一种组播路由的切换方法及装置,解决源或汇聚点不可达导致的数据断流的问题,并且不需要在用户侧接口配置单播协议,发布单播路由。
本发明实施例提供了一种组播路由的切换方法,包括:
判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
若所述主指定路由器的源或汇聚点不可达,则所述主指定路由器向备份指定路由器发送指示报文,根据所述指示报文,将所述备份指定路由器切换为主指定路由器;或者
若所述查询器的源或汇聚点不可达,则所述查询器向非查询器发送指示报文,根据所述指示报文,将所述非查询器切换为查询器。
本发明实施例还提供了另一种组播路由的切换方法,包括:
判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
若所述主指定路由器的源或汇聚点不可达,则将有本地接收者加入的下游接口设置为上游接口,并通过所述上游接口发送加入报文;或者
若所述查询器的源或汇聚点不可达,则将有本地接收者加入的下游接口设置为上游接口,并通过所述上游接口发送加入报文。
本发明实施例提供了一种组播路由的切换装置,包括:
第一判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
报文发送模块,用于当所述第一判断模块的判断结果为主指定路由器的源或汇聚点不可达时,向备份指定路由器发送指示报文,或者当所述第一判断模块的判断结果为查询器的源或汇聚点不可达时,向所述非查询器发送指示报文;
切换模块,用于根据所述报文发送模块发送的所述指示报文,将备份指定路由器切换为主指定路由器,或将非查询器切换为查询器。
本发明实施例还提供了另一种组播路由的切换装置,包括:
第二判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
设置模块,用于当所述第二判断模块的判断结果为所述主指定路由器的源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并向所述上游接口发送加入报文,或者所述查询器的源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并向所述上游接口发送加入报文。
本发明实施例提供了一种组播路由的切换方法及装置,通过判断源或汇聚点不可达,对主指定路由器或查询器进行切换,或者改变路由路径,解决了源或汇聚点不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由。
附图说明
图1为本发明组播路由的切换方法实施例一的流程图;
图2为本发明组播路由的切换方法实施例二的流程图;
图3为本发明组播路由的切换方法实施例三的示意图;
图4为本发明组播路由的切换方法实施例四的流程图;
图5为本发明组播路由的切换方法实施例四中指示报文的报文格式示意图;
图6为本发明组播路由的切换方法实施例五的示意图;
图7为本发明组播路由的切换方法实施例六的流程图;
图8为本发明组播路由的切换装置实施例一的结构示意图;
图9为本发明组播路由的切换装置实施例二的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
图1为本发明组播路由的切换方法实施例一的流程图,如图1所示,本实施例提供的组播路由的切换方法包括:
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查询器为例进行说明。当接口配置PIM SM/SSM,则103具体为:根据收到的指示报文,将备份指定路由器切换为主指定路由器;当接口不配置PIM SM/SSM,则103具体为:根据收到的指示报文,将非组管理查询器切换为组管理查询器。
对于PIM-SM和PIM-SSM这两种域内组播模式,在转发组播数据包时,为避免接收端共享网段上的多台路由器同时向此网段转发数据,需要在多台路由器中选举出一台路由器作为该网段的DR,由它负责此网段的数据转发。对于SM,其建立RPT树的过程为:路由器通过IGMP了解到某个直连网段有接收者加入某个组播组G;接收者DR查找到RP的RPF邻居(即到RP的单播下一跳,并且是PIM邻居),向其发送(*,G)加入;(*,G)沿着从接收者DR到RP的路径逐跳扩散,沿途路由器都创建相应的(*,G)项,将接收到加入的报文的接口加入出接口列表,成为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可以具体为主指定路由器将PIM接口设置为SILENT状态,主指定路由器向备份指定路由器发送HOLDTIME为0的HELLO报文;或者查询器将PIM接口设置为SILENT状态,查询器向非查询器发送HOLDTIME为0的HELLO报文。即切换前的主指定路由器不再收发PIM协议报文,由主指定路由器变为普通路由器器,即不再承担组播组中主指定路由器的转发数据的职责;或者切换前的查询器不再收发PIM协议报文,由查询器变为非查询器,即不再承担组播组中查询器的转发数据的职责。
进一步地,103可以具体为备份指定路由器收到指示报文后,删除备份指定路由器的邻居信息,并通过上游接口发送加入报文;或者非查询器收到指示报文后,删除非查询器的查询器信息,并通过上游接口发送加入报文。即备份指定路由器收到指示报文后,删除该备份路由器的邻居信息,将自身变为主指定路由器,并通过上游接口发送加入报文,加入报文可以为PIM JOIN报文,新的主指定路由器(即切换前原有的备份指定路由器)通过向上游发送加入报文,将上游数据向新的主指定路由器所在的共享网段中转发。或者非查询器收到指示报文后,删除该非查询器的邻居信息,将自身变为查询器,并通过上游接口发送加入报文,加入报文可以为PIM JOIN报文,新的查询器(即切换前原有的非查询器)通过向上游发送加入报文,将上游数据向新的查询器所在的共享网段中转发。
在103之后,还可以包括:当主指定路由器的源或汇聚点恢复可达后,将切换前的主指定路由器的PIM接口退出SILENT状态,发送HELLO报文,重新选举主指定路由器。或者当查询器的源或汇聚点恢复可达后,将切换前的查询器的PIM接口退出SILENT状态,发送HELLO报文,重新选举查询器。
或者,除上述技术方案外,102还可以具体为主指定路由器向备份指定路由器发送指定路由器操作报文,在指定路由器操作报文中携带源或汇聚点的信息;备份指定路由器根据源或汇聚点的信息查找备份指定路由器中存储的组播路由的表项。或者查询器向非查询器发送指定路由器操作报文,在指定路由器操作报文中携带源或汇聚点的信息;非查询器根据源或汇聚点的信息查找非查询器中存储的组播路由的表项。即在备份指定路由器接收到的指示报文中携带有源或汇聚点的信息,该信息用于指示该源或汇聚点的组播地址以及对应的组播路由的表项信息,其中包括主指定路由器出现故障的单播路由对应的源或RP的表项信息,备份指定路由器根据该信息查找备份指定路由器存储的该源或汇聚点组播路由的表项,将其中使用该源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器。或者在非查询器接收到的指示报文中携带有源或汇聚点的信息,该信息用于指示该源或汇聚点的组播地址以及对应的组播路由的表项信息,其中包括查询器中出现故障的单播路由对应的源或RP的表项信息,非查询器根据该信息查找非查询器中存储的该源或汇聚点组播路由的表项,将其中使用该源或汇聚点的组播路由的表项的下游接口的状态设置为查询器。
进一步地,103还可以具体为:主指定路由器或查询器向备份指定路由器或非查询器发送指示报文;备份指定路由器或非查询器根据指示报文,将备份指定路由器或非查询器中使用该源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器或查询器,并通过上游接口发送加入报文。路由的切换过程同样是通过报文的发送来启动的,即备份指定路由器向主指定路由器发送指示报文,或者非查询器向查询器发送指示报文。备份路由器或非查询器根据接收到的指示报文中携带的源或汇聚点的信息,将备份指定路由器或非查询器中使用已出现故障的组播路由的表项的下游接口的状态设置为主指定路由器或查询器,即用备份指定路由器或非查询器中的接口来代替主指定路由器或查询器中出现故障的组播路由的源或RP所对应的接口,而不是将主指定路由器或查询器的所有接口均作替换。
在103之后,还可以包括:当所述源或汇聚点恢复可达后,切换前的主指定路由器向备份指定路由器发送指定路由器操作报文,取消备份指定路由器中使用源或汇聚点的组播路由的表项的下游接口的状态;或者当所述源或汇聚点恢复可达后,切换前的查询器向所述备份非查询器发送所述指定路由器操作报文,取消所述非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状态。具体地,当源或汇聚点恢复可达后,主指定路由器向备份指定路由器发送指定路由器操作报文,备份指定路由器根据指定路由器恢复报文取消备份指定路由器中使用源或汇聚点的组播路由的表项的下游接口的主指定路由器或查询器状态,并删除出接口。或者查询器向非查询器发送指定路由器操作报文,非查询器根据指定路由器恢复报文取消非查询器中使用源或汇聚点的组播路由的表项的下游接口的查询器状态,并删除出接口。
再进一步地,指定路由器操作报文包括第一字段和第二字段,第一字段用于标识路由类型,例如标识该路由是到源的路由还是到汇聚点的路由,第二字段用于标识报文类型,例如标识该报文具体为指定路由器删除报文(DRCANCEL报文)或者为指定路由器恢复报文(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的情况为例来进行说明,对于接口未配置PIM SM/SSM的情况,只是将主指定路由器(即本实施例中的DR)用IGMP查询器,备份指定路由器(即本实施例中的BDR)用非IGMP查询器来代替即可。在本实施例的后续流程以及后续的其它实施例中情况类似,不再赘述。
202,DR向BDR发送HELLO报文。
经过检测判断,该单播协议出现故障或者某个源或RP不可达时,则通过内部网关协议(Interior Gateway Protocol,IGP)与PIM联动,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。所有接口均配置PIM SM,RTA、RTB、RTC和RTD为组播组中的路由器,RTA/RTB/RTC/RTD和用户侧相连的接口不配置任何单播协议,也不向用户侧发布单播路由,RTB和RTD分别为其在所在网段的DR。
如图3所示,在本实施例的实施过程中,包含如下几种具体的场景:当源端DR失去到RP的路由,即RP不可达时,如果只有一个RP,RTB的接口发送HOLDTIME为0的HELLO报文,进入到SILENT状态,不再接收和发送PIM协议报文;当RTA收到此HELLO报文后,删除邻居信息,成为DR,添加注册出接口,给RP发送注册报文;在故障恢复之后,RTB恢复正常,退出SILENT状态,发送HELLO报文,重新进行DR选举。当接收端DR失去到RP的路由,即RP不可达时,如果通过RPT进行转发,且只有一个RP,RTD的接口向RTC发送HOLDTIME为0的HELLO报文;RTC接收到报文后成为DR,添加出接口,给朝向RP的上游发送PIM JOIN报文,把数据引下来进行转发。如果通过SPT进行转发,且只有一个组播源,同样由RTD发送HOLDTIME为0的HELLO报文;RTC接收到报文成为DR,后续的流程与上述两个场景类似。
需要指出的是,对于所有接口配置PIM SSM,RTC/RTD和接收者相连的接口配置IGMP的情况,直接通过SPT进行转发,不需要RP,当只有一个组播源时,实施过程与上述场景类似;类似地,对于RTC/RTD和接收者相连的接口只配置IGMP,其他接口均配置PIM SM/SSM的情况,由共享网段上的路由器选举出一个IGMP查询器来负责此网段的数据转发(例如RTD),当只有一个组播源或者RP时,其实施过程与上述场景也类似,只是RTD作为IGMP查询器而不是DR,在此不再赘述。
本实施例提供了一种具体的组播路由的切换方法,当某个源或RP不可达后,通过将备份路由器切换为指定路由器,解决了源或DR不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由,达到了保障安全的目的,又能为组播提供冗余备份机制。
图4为本发明组播路由的切换方法实施例四的流程图,如图4所示,本实施例提供的组播路由的切换方法是以实施例一为基础的具体的技术方案之二,包括:
401,判断DR的源或RP是否可达,如果是,则结束本流程,否则执行402。
根据BFD检测该DR的源或RP的可达性,BFD检测出某个源或RP不可达时,可以具体为单播协议出现故障或者指定的单播路由丢失等。
需要指出的是,本实施例以接口配置PIM SM/SSM的情况为例来进行说明,对于接口未配置PIM SM/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报文包括第一字段和第二字段,第一字段用于标识路由类型,第二字段用于标识报文类型,具体地,第一字段为图5中的S|W|R字段,第二字段为图5中的Rsrvd字段。当S为1时,表示为到源的路由,当S为0时,表示为到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。所有接口均配置PIM SM,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 JOIN报文,把数据引下来进行转发。如果通过SPT进行转发,且有多个组播源,当只有其中一部分RP的单播路由出现故障后,同样由RTD发送DR CANCEL报文;RTC接收到报文将下游变为DR状态,后续的流程与上述两个场景类似。
需要指出的是,对于所有接口配置PIM SSM,RTC/RTD和接收者相连的接口配置IGMP的情况,直接通过SPT进行转发,不需要RP,当有多个组播源时,且只有其中一部分RP的单播路由出现故障后,实施过程与上述场景类似;类似地,对于RTC/RTD和接收者相连的接口只配置IGMP,其他接口均配置PIMSM/SSM的情况,由共享网段上的路由器选举出一个IGMP查询器来负责此网段的数据转发(例如RTD),当有多个组播源或者RP时,且只有其中一部分RP的单播路由出现故障后,其实施过程与上述场景也类似,只是RTD作为IGMP查询器而不是DR,在此不再赘述。
本实施例提供了一种具体的组播路由的切换方法,当某个源或RP不可达后,通过将组播路由的表项的下游接口设置为指定路由器,解决了某个源或RP不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由,达到了保障安全的目的,又能为组播提供冗余备份机制。
图7为本发明组播路由的切换方法实施例六的流程图,如图7所示,本实施例提供的组播路由的切换方法包括:
701,判断主指定路由器源或RP,或者查询器的源或RP是否可达,如果是,则结束组播路由的切换流程,否则执行702。
本实施例同实施例一类似,对应于两种不同的应用环境,当接口配置PIM SM/SSM,则701具体为:判断主指定路由器的源或RP是否可达,如果主指定路由器的源或RP可达,则结束组播路由的切换流程,如果主指定路由器的源或RP不可达,则执行702,其中,对于接口配置PIM SSM的情况,只需判断主指定路由器的源是否可达;当接口不配置PIM SM/SSM,则701具体为:判断查询器(查询器可以具体为IGMP查询器,下同)的源或RP是否可达,如果查询器的源或RP可达,则结束组播路由的切换流程,如果查询器的源或RP不可达,则执行702。在判断主指定路由器或查询器的某个源或RP是否可达时,源或RP不可达的情况包括单播协议出现故障或者指定的单播路由丢失等,当出现上述情况,则判断该源或RP不可达。
702,将有本地接收者加入的下游接口设置为上游接口。
该实施例对应的情况为当到源或RP不可达时,存在本地接受者的下游接口,即收到过IGMP的加入,则将该下游接口设置为上游接口。在将有本地接收者的下游接口设置为上游接口后,向该上游接口发送加入报文,即发送PIMJOIN报文。上游接口(即有本地接收者的下游接口)根据接收到的PIM JOIN报文进行数据转发,即当在路由器上检测到某个源或RP不可达后,由于存在有本地接收者接入的下游接口,则将该路由设置为缺省路由,将数据从该上游接口上进行转发。
进一步地,在701之前,还包括:根据BFD检测源或RP的可达性。源或RP的可达性是指源或RP的单播路由正常,单播路由未丢失,或者单播协议未出现故障,如果某个源或RP的单播协议出现故障或者指定的单播路由丢失,则判断该源或RP不可达。
同上述实施例二~实施例五类似,本实施例提供的701~702在具体实施过程中也包含多种应用场景的情况。对于接口配置PIM SM的情况,当接收端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发送的指示报文后,删除非查询器的查询器信息,并通过上游接口发送加入报文。
更进一步地,本实施例提供的组播路由的切换装置还可以包括:路由恢复模块,用于当第一判断模块101的判断结果为源或汇聚点恢复可达后,将切换前的主路由器的PIM接口退出SILENT状态;或者当第一判断模块101的判断结果为源或汇聚点恢复可达后,将切换前的查询器的PIM接口退出SILENT状态。
或者,除上述结构外,本实施例提供的组播路由的切换装置中的切换模块103还可以具体用于根据报文发送模块102发送的指示报文,将备份指定路由器中使用源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器,并通过上游接口发送加入报文;或者根据报文发送模块102发送的指示报文,将非查询器中使用源或汇聚点的组播路由的表项的下游接口的状态设置为查询器,并通过上游接口发送加入报文。
更进一步地,本实施例提供的组播路由的切换装置还可以包括:路由恢复模块,用于当所述第一判断模块的判断结果为源或汇聚点恢复可达后,主指定路由器向备份指定路由器发送指定路由器操作报文,取消备份路由器中使用所述源或汇聚点的组播路由的表项的下游接口的状态;或者查询器向非查询器发送指定路由器操作报文,取消非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状态。
本实施例提供了一种组播路由的切换装置,通过设置第一判断模块、报文发送模块和切换模块,解决了某个源或RP不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由,达到了保障安全的目的。
图9为本发明组播路由的切换装置实施例二的结构示意图,如图9所示,本实施例提供的组播路由的切换装置包括:第二判断模块201和设置模块202,其中,第二判断模块201用于判断主指定路由器的源或汇聚点,或查询器的源或汇聚点是否可达;设置模块202用于根据第二判断模块201的判断结果为主指定路由器的源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并通过所述上游接口发送加入报文;或者当所述第二判断模块的判断结果为查询器的源或汇聚点是否不可达,将有本地接收者加入的下游接口设置为上游接口,并向所述上游接口发送加入报文。
本实施例提供了另外一种组播路由的切换装置,通过设置第二判断模块和设置模块,解决了某个源或RP不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由。
通过上述实施例可以看出,本发明实施例提供的组播路由的切换方法及装置,通过判断源或汇聚点不可达,对主指定路由器或查询器进行切换,或者改变路由路径,解决了某个源或汇聚点不可达导致的数据断流问题,并且不需要在用户侧接口配置单播协议,发布单播路由。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (15)
1.一种组播路由的切换方法,其特征在于,包括:
判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
若所述主指定路由器的源或汇聚点不可达,则所述主指定路由器向备份指定路由器发送指示报文,根据所述指示报文,将所述备份指定路由器切换为主指定路由器;或者
若所述查询器的源或汇聚点不可达,则所述查询器向非查询器发送指示报文,根据所述指示报文,将所述非查询器切换为查询器;其中,所述主指定路由器向备份指定路由器发送指示报文,或者所述查询器向非查询器发送指示报文,具体为:
所述主指定路由器将PIM接口设置为SILENT状态,所述主指定路由器向所述备份指定路由器发送HOLDTIME为0的HELLO报文;或者
所述查询器将PIM接口设置为SILENT状态,所述查询器向非查询器发送HOLDTIME为0的HELLO报文;
或者,
所述主指定路由器向备份指定路由器发送指示报文,或者所述查询器向非查询器发送指示报文,具体为:
所述主指定路由器向所述备份指定路由器发送指定路由器操作报文,在所述指定路由器操作报文中携带所述源或汇聚点的信息;所述备份指定路由器根据所述源或汇聚点的信息查找所述备份指定路由器中存储的组播路由的表项;或者
所述查询器向所述非查询器发送指定路由器操作报文,在所述指定路由器操作报文中携带所述源或汇聚点的信息;
所述非查询器根据所述源或汇聚点的信息查找所述非查询器中存储的组播路由的表项。
2.根据权利要求1所述的方法,其特征在于,所述将备份指定路由器切换为主指定路由器,或者所述将非查询器切换为查询器,具体为:
所述备份指定路由器收到所述指示报文后,删除所述备份指定路由器的邻居信息,并通过上游接口发送加入报文;或者
所述非查询器收到所述指示报文后,删除所述非查询器的查询器信息,并通过上游接口发送加入报文。
3.根据权利要求1所述的方法,其特征在于,所述将备份指定路由器切换为主指定路由器,或者所述将非查询器切换为查询器,具体为:
所述备份指定路由器根据所述指示报文,将所述备份指定路由器中使用所述源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器,并通过上游接口发送加入报文;或者
所述非查询器根据所述指示报文,将所述非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状态设置为查询器,并通过上游接口发送加入报文。
4.根据权利要求2所述的方法,其特征在于,还包括:当所述源或汇聚点恢复可达后,将所述切换前的主指定路由器的PIM接口退出所述SILENT状态;或者
当所述源或汇聚点恢复可达后,将所述切换前的查询器的PIM接口退出所述SILENT状态。
5.根据权利要求3所述的方法,其特征在于,还包括:当所述源或汇聚点恢复可达后,切换前的主指定路由器向所述备份指定路由器发送所述指定路由器操作报文,取消所述备份指定路由器中使用所述源或汇聚点的组播路由的表项的下游接口的状态;或者
当所述源或汇聚点恢复可达后,切换前的查询器向所述备份非查询器发送所述指定路由器操作报文,取消所述非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状态。
6.根据权利要求3或5所述的方法,其特征在于,所述指定路由器操作报文包括第一字段和第二字段,所述第一字段用于标识路由类型,所述第二字段用于标识报文类型。
7.根据权利要求1所述的方法,其特征在于,还包括:根据双向转发检测协议检测所述源或所述汇聚点的可达性,根据检测结果判断所述源或汇聚点是否可达。
8.一种组播路由的切换方法,其特征在于,包括:
判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
若所述主指定路由器的源或汇聚点不可达,则将有本地接收者加入的下游接口设置为上游接口,并通过所述上游接口发送加入报文;或者
若所述查询器的源或汇聚点不可达,则将有本地接收者加入的下游接口设置为上游接口,并通过所述上游接口发送加入报文。
9.根据权利要求8所述的组播路由的切换方法,其特征在于,还包括:根据双向转发检测协议判断所述源或汇聚点是否可达。
10.一种组播路由的切换装置,其特征在于,包括:
第一判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
报文发送模块,用于当所述第一判断模块的判断结果为主指定路由器的源或汇聚点不可达时,向备份指定路由器发送指示报文,或者当所述第一判断模块的判断结果为查询器的源或汇聚点不可达时,向所述非查询器发送指示报文;
切换模块,用于根据所述报文发送模块发送的所述指示报文,将备份指定路由器切换为主指定路由器,或将非查询器切换为查询器;
其中,所述报文发送模块具体用于将PIM接口设置为SILENT状态,所述主指定路由器向所述备份指定路由器发送HOLDTIME为0的HELLO报文;或者,所述报文发送模块具体用于将PIM接口设置为SILENT状态,所述查询器向非查询器发送HOLDTIME为0的HELLO报文;或者,
所述报文发送模块具体用于向所述备份指定路由器发送指定路由器操作报文,在所述指定路由器操作报文中携带所述源或汇聚点的信息;所述备份指定路由器根据所述源或汇聚点的信息查找所述备份指定路由器中存储的组播路由的表项;或者,所述报文发送模块具体用于向所述非查询器发送指定路由器操作报文,在所述指定路由器操作报文中携带所述源或汇聚点的信息;所述非查询器根据所述源或汇聚点的信息查找所述非查询器中存储的组播路由的表项。
11.根据权利要求10所述的组播路由的切换装置,其特征在于,所述切换模块用于收到所述报文发送模块发送的所述指示报文后,删除所述备份指定路由器的邻居信息,并通过上游接口发送加入报文,或者删除所述非查询器的查询器信息,并通过上游接口发送加入报文。
12.根据权利要求10所述的组播路由的切换装置,其特征在于,所述切换模块用于根据所述报文发送模块发送的所述指示报文,将所述备份指定路由器中使用所述源或汇聚点的组播路由的表项的下游接口的状态设置为主指定路由器,并通过上游接口发送加入报文,或者将所述非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状态设置为查询器,并通过上游接口发送加入报文。
13.根据权利要求11所述的组播路由的切换装置,其特征在于,还包括:
路由恢复模块,用于当所述第一判断模块的判断结果为所述源或汇聚点恢复可达后,将所述切换前的主指定路由器的PIM接口退出所述SILENT状态,或者将所述切换前的查询器的PIM接口退出所述SILENT状态。
14.根据权利要求12所述的组播路由的切换装置,其特征在于,还包括:
路由恢复模块,用于当所述第一判断模块的判断结果为所述源或汇聚点恢复可达后,所述主指定路由器向所述备份指定路由器发送指定路由器操作报文,取消所述备份指定路由器中使用所述源或汇聚点的组播路由的表项的下游接口的状态,或者所述查询器向所述非查询器发送指定路由器操作报文,取消所述非查询器中使用所述源或汇聚点的组播路由的表项的下游接口的状态。
15.一种组播路由的切换装置,其特征在于,包括:
第二判断模块,用于判断主指定路由器的源或汇聚点,或者查询器的源或汇聚点是否可达;
设置模块,用于当所述第二判断模块的判断结果为所述主指定路由器的源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并向所述上游接口发送加入报文,或者所述查询器的源或汇聚点不可达,将有本地接收者加入的下游接口设置为上游接口,并向所述上游接口发送加入报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101152504A CN101610200B (zh) | 2008-06-19 | 2008-06-19 | 组播路由的切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101152504A CN101610200B (zh) | 2008-06-19 | 2008-06-19 | 组播路由的切换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101610200A CN101610200A (zh) | 2009-12-23 |
CN101610200B true CN101610200B (zh) | 2012-04-04 |
Family
ID=41483797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101152504A Expired - Fee Related CN101610200B (zh) | 2008-06-19 | 2008-06-19 | 组播路由的切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101610200B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244582B (zh) * | 2010-05-13 | 2013-12-25 | 杭州华三通信技术有限公司 | 一种bidir-pim网络中的组播传输方法及系统 |
CN101873260B (zh) * | 2010-06-01 | 2012-06-27 | 北京星网锐捷网络技术有限公司 | 组播流转发方法及路由设备 |
CN102739504B (zh) * | 2011-04-02 | 2015-06-03 | 北京华为数字技术有限公司 | 组播路径切换方法及路由器 |
WO2011144048A2 (zh) * | 2011-05-19 | 2011-11-24 | 华为技术有限公司 | 一种组播实现的方法和网络设备 |
CN112737826A (zh) * | 2020-12-23 | 2021-04-30 | 锐捷网络股份有限公司 | 组播业务故障处理方法、c-bsr、电子设备及介质 |
CN115529265B (zh) * | 2022-09-30 | 2024-04-30 | 上海博达数据通信有限公司 | 一种pimsm路由器上游路径的优化选择方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484406A (zh) * | 2003-08-11 | 2004-03-24 | 北京港湾网络有限公司 | 三层交换机上实现组播精确到端口转发的方法 |
CN1874315A (zh) * | 2006-06-21 | 2006-12-06 | 杭州华为三康技术有限公司 | 组播故障恢复方法和组播路由器 |
US20070195767A1 (en) * | 2006-02-23 | 2007-08-23 | Fujitsu Limited | Communication device |
CN101127724A (zh) * | 2007-10-12 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种城域以太网中基于802.1ah协议的组播系统、设备和方法 |
-
2008
- 2008-06-19 CN CN2008101152504A patent/CN101610200B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484406A (zh) * | 2003-08-11 | 2004-03-24 | 北京港湾网络有限公司 | 三层交换机上实现组播精确到端口转发的方法 |
US20070195767A1 (en) * | 2006-02-23 | 2007-08-23 | Fujitsu Limited | Communication device |
CN1874315A (zh) * | 2006-06-21 | 2006-12-06 | 杭州华为三康技术有限公司 | 组播故障恢复方法和组播路由器 |
CN101127724A (zh) * | 2007-10-12 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种城域以太网中基于802.1ah协议的组播系统、设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101610200A (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8218429B2 (en) | Method and device for multicast traffic redundancy protection | |
US9077551B2 (en) | Selection of multicast router interfaces in an L2 switch connecting end hosts and routers, which is running IGMP and PIM snooping | |
US6654371B1 (en) | Method and apparatus for forwarding multicast data by relaying IGMP group membership | |
CN100442776C (zh) | 在三层交换机上实现组播转发的方法 | |
CN101420362B (zh) | 组播流量切换的方法、系统及路由器 | |
CN100450086C (zh) | 在虚拟专用局域网业务中实现组播数据流转发的方法 | |
US20030193958A1 (en) | Methods for providing rendezvous point router redundancy in sparse mode multicast networks | |
CN102148745B (zh) | 提高虚拟专用局域网业务网络转发效率的方法和系统 | |
US20190028285A1 (en) | Service message multicast method and device | |
CN101808004B (zh) | 一种实现任意播汇聚点机制的方法和系统 | |
JP2006101471A (ja) | マルチキャスト冗長経路ルータ、マルチキャスト冗長化方式 | |
CN101610200B (zh) | 组播路由的切换方法及装置 | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN101631043A (zh) | 组播故障恢复方法、组播路由器及系统 | |
CN102045178A (zh) | 虚拟专用局域网服务组播保护的方法及装置 | |
CN102801632A (zh) | Pim-sm指定路由器和igmp查询器的统一选举方法 | |
CN101163103A (zh) | 一种实现快速重路由的方法 | |
CN102752210B (zh) | 一种局域网间传输报文的方法和系统 | |
CN102377584A (zh) | Pim-sm中实现对dr冗余保护的方法 | |
EP2571201B1 (en) | Method, device and system for forwarding data under protocol independent multicast (pim) dual join | |
CN102843303B (zh) | Pim中的组播报文处理方法及装置 | |
CN102739504B (zh) | 组播路径切换方法及路由器 | |
CN100542142C (zh) | 转变三层网络设备接口状态的方法和装置 | |
US11018886B1 (en) | Methods and apparatus for selectively filtering an IP multicast data stream for selected group members of a multicast group | |
KR100310302B1 (ko) | 멀티프로토콜 레이블 스위칭 망에서의 멀티캐스트레이블을 이용한 멀티캐스트 레이블 교환경로 설정방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120404 Termination date: 20190619 |