组播链路冗余备份方法及路由器的制作方法

文档序号:7745794
专利名称:组播链路冗余备份方法及路由器的制作方法
技术领域
本发明实施例涉及组播链路通信领域,尤其涉及一种组播链路冗余备份方法及路 由器。
背景技术
图1为现有组播链路网络的拓扑图,如图所示,路由器A和路由器B形成冗余 备份,来自于组播服务器的组播报文经过网络复制均可以到达路由器A和路由器B。如 果两台路由器都转发组播报文到网段Y上,则组播接收者会同时收到两份相同的组播 报文,易造成资源浪费。为此,在现有密集模式独立组播协议(Protocol Independent Multicast-Dense Mode,简称PIM_DM)中引入了竞选“ASSERT”机制,即从上述两个路由器 A和路由器B中竞选出一个路由器作为胜者(winner)(例如,路由器B)转发所述组播报文, 而未被选中的路由器(例如,路由器A)则作为败者(loser)不转发所述组播报文。现有技术中至少存在如下问题现有的竞选机制主要根据三个组播参数(Assert metric)进行,S卩路由管理距 !^“metric一preference”、足各“route—metric” & IP jft:i:“ ip_address”。胃巾,足各 管理距离与路径长度均是由组播服务器的源地址所在的单播路由表决定。只要这三个组播 参数确定,路由器就永远会在竞选中胜出或败北。但是,在实际运行过程中,一旦在竞选中胜出的路由器组播服务器之间的链路发 生了故障,则无法正常转发组播报文,并且由于上述三个组播参数未发生变化,因此原本作 为败者的路由器也无法在竞选中胜出,从而使组播接收者无法成功接收到报文,造成通信 失败。现有的解决方法是人工将路由器B的物理端口关闭,使得该网段上不再进行竞 选,由路由器A正常转发组播报文。但缺点在于需要人工干预,工作量较大,且不能及时恢 复组播报文转发,拖延了报文转发时间。

发明内容
本发明实施例提供一种组播链路冗余备份方法及路由器,用以当路由器发生故障 时,无需人工干预,自动恢复组播报文转发。本发明实施例提供一种组播链路冗余备份方法,其中包括在竞选机制中被选为胜者的第一路由器在预设的超时时间内检测是否收到来自 于组播服务器的报文;当未收到所述报文时,将所述第一路由器中的单播路由表中所述组播服务器的组 播参数设置为无穷大;再次发起竞选,使得原本作为败者的第二路由器被选为胜者,使所述第一路由器 被选为败者。本发明另一实施例提供一种路由器,位于组播链路网络中,所述路由器作为第一路由器与所述组播链路网络中的第二路由器形成冗余备份,其中所述第一路由器包括报文检测模块,用于在预设的超时时间内检测是否收到来自于组播服务器的报 文;参数设置模块,用于当所述第一路由器在竞选机制中被选为胜者且报文检测模块检测出未收到所述报文时,将所述第一路由器中的单播路由表中所述组播服务器的组播参 数设置为无穷大;竞选发起模块,用于再次发起竞选,使得原本作为败者的第二路由器被选为胜者, 使所述第一路由器被选为败者本发明将路由器到组播服务器之间的路径是否发生故障也作为竞选的主要依据, 当原来的胜者路由器发生故障时,使原来的败者路由器在竞选中胜出,执行组播报文的转 发,无需人工干预便自动恢复了组播报文转发,从而充分发挥了组播备份功能,提高了组播 链路网络的可靠性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。图1为现有组播链路网络的拓扑图;图2为本发明所述组播链路冗余备份方法实施例一的流程图;图3为本发明所述组播链路冗余备份方法实施例二的流程图;图4为本发明所述组播链路冗余备份方法实施例三的流程图;图5为本发明所述路由器实施例的结构示意图;图6为图5所示竞选发起模块的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图2为本发明所述组播链路冗余备份方法实施例一的流程图,如图所示,该方法 包括如下步骤步骤101,在竞选机制中被选为胜者的第一路由器在预设的超时时间内检测是否 收到来自于组播服务器的报文,当收到所述报文时执行步骤110,否则,当未收到所述报文 时,执行步骤120。其中,所述第一路由器是在竞选机制中胜出用于转发组播报文的路由器。所述报 文具体可以为所述第一路由器在反向路径转发(Reverse PathForwarding,简称RPF)接 口上收到的来自于组播服务器的组播报文,或者是由源直连路由器,即与组播服务器直连 的路由器以预设的状态刷新时间定期发送的组播状态刷新报文。
其中,组播状态刷新报文是用于定期更新路由设备上的计时器的报文。在PIM-DM 协议中,通过采用泛洪-剪枝方式限制多余组播报文在网络上传播,一旦网络设备上的计 时器超时,又会有一轮的泛洪_剪枝过程,因此需要定时刷新定时器。本实施例所述方法可 以通过判断是否成功接收组播报文或组播状态刷新报文来确定组播链路是否通畅。其中,RPF接口是针对一个组播源设置的唯一接口,为单播路由表中对应的指向组 播源的路由。如果为等价多径(Equal Cost Multi-Path,简称ECMP)路由,则可以通过使 用算法选出一个接口作为RPF接口。 其中,所述预设的超时时间默认为2*30秒,其中,30s是状态刷新报文的发送周 期,为了尽量让超时时间缩短和准确判断报文没有收到,因此使用2倍状态刷新时间作为 超时时间。步骤110,在下一个预设的超时时间内继续检测是否收到来自于组播服务器的报文。当在预设的超时时间内收到来自于组播服务器的报文时,表明该第一路由器到所 述组播服务器之间的组播链路是通畅的,因此无需进行重新竞选。步骤120,将所述第一路由器中的单播路由表中所述组播服务器的组播参数 (Assert metric)设置为无穷大。具体地,是将组播参数中的路由管理距离“metriC_preference”设置为 0x7FFFFFFF,且将路径长度“route_metric”设置为 OxFFFFFFFF,且将 IP 地址“ ip_address” 设置为0。当在预设的超时时间内未收来自于组播服务器的报文时,表明该第一路由器可能 发生了故障,使得从该第一路由器到所述组播服务器之间的组播链路阻断,因此需要重新 进行竞选。步骤121,再次发起竞选,使得原本作为败者的第二路由器被选为胜者,使所述第 一路由器被选为败者。在新的竞选过程中,由于第一路由器中的单播路由表中所述组播服务器的组播参 数被设置为无穷大,因此,根据上述竞选机制,该第一路由器会被选为败者,而原本作为败 者的第二路由器则会被选为胜者,承担转发组播报文的任务。本实施例所述方法将路由器到组播服务器之间的路径是否发生故障也作为竞选 的主要依据,当原来的胜者路由器发生故障时,使原来的败者路由器在竞选中胜出,执行组 播报文的转发,无需人工干预便自动恢复了组播报文转发,从而充分发挥了组播备份功能, 提高了组播链路网络的可靠性。另外,本实施例所述方法还可以与系统日志(syslog)技术结合,当第一路由器发 生故障时自动通知网络管理员及时排除故障;而且由于对现有协议修改量较小,因此也不 会对协议的稳定性造成影响。此外,为了尽量保持与原有协议的兼容性,建议仅仅在最后一 跳路由器的下联口应用本实例所述方法,其中,下联口是指直接接入到用户的接口,如果本 实施例所述还应用到除下联口以外的其他接口,则有可能会导致其他接口状态机的变化时 间会与现有的DM协议不兼容,因此,仅在最后一跳路由器的下联口应用本实例所述方法有 利于在最大程度上兼容DM协议。图3为本发明所述组播链路冗余备份方法实施例二的流程图,如图所示,该方法 在上述方法实施例一的基础上进一步包括如下步骤
步骤122,所述第一路由器接收到来自于所述组播服务器的报文后,将所述组播参 数恢复为正常值。其中,所述第一路由器在步骤122中由于组播参数被设置为无穷大而被选为败 者,不再进行报文转发。而在本步骤中,第一路由器的故障被排除,因此又能够接收到来自 于所述组播服务器的报文。所述正常值是指所述组播参数被设置为无穷大之前的原始值。步骤123,再次发起竞选,使所述第一路由器被选为胜者,使所述第二路由器被选 为败者。 通过本实施例所述方法,使第一路由器又被重新选为胜者,用于报文转发,并使第 二路由器又被重新选为败者,作为第一路由器的备份。图4为本发明所述组播链路冗余备份方法实施例三的流程图,如图所示,上述方 法实施例中的再次发起竞选的过程具体包括如下步骤步骤201,当预设的竞选发起时间到达且第一路由器接收到由所述第二路由器在 无信息状态下转发的组播报文时,将所述第一路由器的组播参数发送给所述第二路由器。当将第一路由器中的单播路由表中所述组播服务器的组播参数设置为无穷大时, 该第一路由器便可以确定其不会再被竞选为胜者,因此不再进行组播报文的转发;当预设 的竞选发起时间到达时,第二路由器仍然没有收到由第一路由器转发的组播报文,因此,该 第二路由器会进入无信息(no info)状态,在此状态下,第二路由器既不是胜者,也不是败 者,但该第二路由器代替第一路由器进行组播报文的转发;当第一路由器接收到由所述第 二路由器在无信息状态下转发的组播报文时,便将该第一路由器的组播参数发送给所述第 二路由器,用于进行再次竞选。步骤202,所述第二路由器根据该第二路由器的组播参数及接收到的所述第一路 由器的组播参数进行竞选,向所述第一路由器回复竞选结果。具体地,在上述步骤121中,由于第一路由器的组播参数均被设置为无穷大,因此 所述第二路由器被选为胜者,所述竞选结果中表明所述第二路由器被选为胜者;在上述步 骤123中,由于组播参数被恢复为正常值,因此使所述第二路由器被选为败者,所述竞选结 果中表明所述第二路由器被选为败者。步骤203,所述第一路由器根据来自于所述第二路由器的竞选结果进行竞选。具体地,当所述竞选结果中表明所述第二路由器被选为胜者时,所述第一路由器 被选为败者;所述竞选结果中表明所述第二路由器被选为败者,所述第一路由器被选为胜
者ο本实施例所述方法具体实现了上述竞选过程,使第一路由器和第二路由器之间实 现了切换。图5为本发明所述路由器实施例的结构示意图,该路由器位于组播链路网络中, 作为第一路由器10与所述组播链路网络中的第二路由器(图中未示出)形成冗余备份, 如图所示,该第一路由器10至少包括报文检测模块11、参数设置模块12及竞选发起模块 13,其工作原理如下报文检测模块11在预设的超时时间内检测是否收到来自于组播服务器的报文, 该报文具体可以为第一路由器10在RPF接口上收到的来自于组播服务器的组播报文,或者 是由源直连路由器,即与组播服务器直连的路由器以预设的状态刷新时间定期发送的组播状态刷新报文。当第一路由器10在上一次竞选机制中被选为胜者且报文检测模块11检测出 未收到所述报文时,由参数设置模块12将所述第一路由器10中的单播路由表中所述组 播服务器的组播参数设置为无穷大。具体地,是将组播参数中的路由管理距离“metric^ preference” 设置为 0x7FFFFFFF,且将路径长度 “route_metric,,设置为 OxFFFFFFFF,且将 IP 地址 “ip_address” 设置为 0。此后,由竞选发起模块13再次发起竞选,使得原本作为败者的第二路由器被选为 胜者,使所述第一路由器10被选为败者。具体地,如图6所示,该竞选发起模块13可以包括参数发送单元1301、结果接收 单元1302及竞选执行单元1303,其工用原理如下当预设的竞选发起时间到达且该第一路由器10接收到由第二路由器在无信息状 态下转发的组播报文时,参数发送单元1301将所述第一路由器10的组播参数发送给所述 第二路由器;结果接收单元1302接收由所述第二路由器根据该第二路由器的组播参数及 所述第一路由器的组播参数进行竞选后得到的竞选结果;然后由竞选执行单元1303根据 结果接收单元接收到的所述竞选结果进行竞选。在新的竞选过程中,由于第一路由器10中的单播路由表中所述组播服务器的组 播参数被设置为无穷大,因此,根据上述竞选机制,该第一路由器10会被选为败者,而原本 作为败者的第二路由器则会被选为胜者,承担转发组播报文的任务。本实施例所述路由器将路由器到组播服务器之间的路径是否发生故障也作为竞 选的主要依据,当原来的胜者路由器发生故障时,使原来的败者路由器在竞选中胜出,执行 组播报文的转发,无需人工干预便自动恢复了组播报文转发,从而充分发挥了组播备份功 能,提高了组播链路网络的可靠性。另外,第一路由器10中还可以进一步包括参数恢复模块14,当所述第一路由器10 被选为败者且报文检测模块11检测出收到所述报文时,将所述组播参数恢复为正常值;然 后由竞选发起模块13再次发起竞选,使所述第一路由器10被再次选为胜者,使所述第二路 由器被选为败者。通过本实施例所述路由器,使第一路由器又被重新选为胜者,用于报文转发,并使 第二路由器又被重新选为败者,作为第一路由器的备份。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种组播链路冗余备份方法,其特征在于,包括在竞选机制中被选为胜者的第一路由器在预设的超时时间内检测是否收到来自于组播服务器的报文;当未收到所述报文时,将所述第一路由器中的单播路由表中所述组播服务器的组播参数设置为无穷大;再次发起竞选,使得原本作为败者的第二路由器被选为胜者,使所述第一路由器被选为败者。
2.根据权利要求1所述方法,其特征在于,使所述第一路由器被选为败者之后还包括所述第一路由器接收到来自于所述组播服务器的报文后,将所述组播参数恢复为正常值;再次发起竞选,使所述第一路由器被选为胜者,使所述第二路由器被选为败者。
3.根据权利要求1所述方法,其特征在于,所述再次发起竞选包括当预设的竞选发起时间到达且接收到由所述第二路由器在无信息状态下转发的组播 报文时,将所述第一路由器的组播参数发送给所述第二路由器;接收由所述第二路由器根据该第二路由器的组播参数及所述第一路由器的组播参数 进行竞选后得到的竞选结果;根据所述竞选结果进行竞选。
4.根据权利要求1所述方法,其特征在于,所述来自于组播服务器的报文为来自于所 述组播服务器的组播报文,或者为由所述组播服务器以预设的状态刷新时间定期发送的组 播状态刷新报文。
5.根据权利要求1所述方法,其特征在于,将所述第一路由器中的单播路由表中所 述组播服务器的组播参数设置为无穷大包括将所述组播参数中的路由管理距离设置为 0x7FFFFFFF,且将所述组播参数中的路径长度设置为OxFFFFFFFF,且将所述组播参数中的 IP地址设置为0。
6.根据权利要求1所述方法,其特征在于所述超时时间为2倍状态刷新时间。
7.—种路由器,位于组播链路网络中,所述路由器作为第一路由器与所述组播链路网 络中的第二路由器形成冗余备份,其特征在于,所述第一路由器包括报文检测模块,用于在预设的超时时间内检测是否收到来自于组播服务器的报文;参数设置模块,用于当所述第一路由器在竞选机制中被选为胜者且报文检测模块检测 出未收到所述报文时,将所述第一路由器中的单播路由表中所述组播服务器的组播参数设 置为无穷大;竞选发起模块,用于再次发起竞选,使得原本作为败者的第二路由器被选为胜者,使所 述第一路由器被选为败者。
8.根据权利要求7所述路由器,其特征在于,所述第一路由器还包括参数恢复模块, 用于当所述第一路由器被选为败者且报文检测模块检测出收到所述报文时,将所述组播参 数恢复为正常值;所述竞选发起模块还用于再次发起竞选,使所述第一路由器被选为胜者, 使所述第二路由器被选为败者。
9.根据权利要求7或8所述路由器,其特征在于,所述竞选发起模块包括参数发送单元,用于当预设的竞选发起时间到达且接收到由所述第二路由器在无信息状态下转发的组播报文时,将所述第一路由器的组播参数发送给所述第二路由器;结果接收单元,用于接收由所述第二路由器根据该第二路由器的组播参数及所述第一 路由器的组播参数进行竞选后得到的竞选结果;竞选执行单元,用于根据结果接收单元接收到的所述竞选结果进行竞选。
全文摘要
本发明提供一种组播链路冗余备份方法及路由器,其中方法包括在竞选机制中被选为胜者的第一路由器在预设的超时时间内检测是否收到来自于组播服务器的报文;当未收到所述报文时,将所述第一路由器中的单播路由表中所述组播服务器的组播参数设置为无穷大;再次发起竞选。本发明将路由器到组播服务器之间的路径是否发生故障也作为竞选的主要依据,当原来的胜者路由器发生故障时,使原来的败者路由器在竞选中胜出,执行组播报文的转发,无需人工干预便自动恢复了组播报文转发,从而充分发挥了组播备份功能,提高了组播链路网络的可靠性。
文档编号H04L29/06GK101841472SQ201010143958
公开日2010年9月22日 申请日期2010年4月8日 优先权日2010年4月8日
发明者杨有为 申请人:北京星网锐捷网络技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1