组播网络中的状态管理方法、路由器及系统的制作方法

文档序号:7706626阅读:116来源:国知局
专利名称:组播网络中的状态管理方法、路由器及系统的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种组播网络中的状态管理方法、 路由器及系统。
背景技术
随着IPTV (交互式网络电视)、视频会议等业务的开展、数字电视的兴 起,组播业务在现有网络上越来越受到广泛的应用。
目前,用户终端主要依靠IGMP (Internet Group Management Protocol,互 联网组管理协议)相关的协议实现组播业务,IGMP是TCP/IP (Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)族中负责IP 组播成员管理的协议,用来在IP用户终端和与其直接相邻的组播路由器之间建 立、维护组^"组成员关系。
现有技术中,在一个网络的网段中,用户终端通过相连接的路由器获取 组播业务的组播数据报文,获取流程如图l所示,包括以下步骤
步骤S101、用户终端需要組播业务的組播数据报文时,向该网段中与该 用户终端相连的路由器发送IGMP组加入请求,请求路由器查找并转发组播业 务。
步骤S102、路由器收到用户终端发送的IGMP组加入请求后,根据用户终 端发送的IGMP组加入请求,生成一个IGMP表项。
步骤S103、路由器根据生成的IGMP表项触发路由器所在网络的引流协 议,根据该引流协议,路由器向网络中查询具有用户终端需要的组播数据报 文的组播源。
步骤S104、路由器查询到上述的具有用户终端需要的组播数据报文的组 播源后,向该组播源请求用户所需的组的组播数据。步骤S105、组播源接收到路由器发送的用户所需组的数据请求后,向该 路由器发送其所请求的组播数据报文。
步骤S106、路由器接收到组播源发送的用户所需组的组播数据报文后, 向该网段中的用户终端转发该组播数据报文。
随着組播业务的进一步发展,在一个网段中,由于用户终端的数量增长 以及用户终端组播业务需求数量的增加,只设置一个路由器已不能满足众多 用户终端的组播业务需求,为了保证组播业务开展的可靠性,可以在同一网 段中的每个用户终端周围设置多个与该用户终端相连的路由器。在组播业务 中,由于用户终端的应用程序无法对收到的相同组播数据报文进行区分,所 以用户终端无法处理同时收到的两份一样的组播数据^^文,如果同 一个用户 终端收到了两份相同的组播数据报文,就会导致一见频无法正常显示或者语音 无法识别,造成组,燔业务建立失败或组播业务连接中断。
因此,在组播业务应用中,与用户终端相连的多个路由器应避免将多份 相同的组播数据报文传送到同一个用户终端。基于这样的技术思想,在同一 网段中,对于一个用户终端,只允许同时存在一台路由器向其进行组播数据 报文的转发。与该用户终端相连的多个路由器需要通过竟争机制选举出一台 路由器作为该用户终端唯一的路由器,这台路由器称为该用户终端在该网段 中的IGMP查询器,而其他路由器称为非查询器。该IGMP查询器周期性的以 组播方式向本地网段内的所有用户终端和非查询器发送IGMP通用查询报文, 维护本地网段上用户终端接收的组播组。用户终端发出的IGMP组加入请求和 所需要的组播数据报文都通过该查询器进行转发,非查询器不转发用户终端 的IGMP组加入请求和组播数据报文,从而,保证在一个网^殳中,只能存在一 个查询器。
IGMPv2是IGMP协议的第二个版本,IGMPv2相对于IGMP协议的第一个 版本IGMPvl, IGMPv2协议包含了离开信息,允许迅速向路由协议报告组播 组成员的终止情况。以IGMPv2为例,网段中查询器的选举机制如下
初始化时,在该网段中所有的IGMPv2路由器都认为自己是查询器,并向 本地网段内的所有用户终端和其他IGMPv2路由器发送IGMP通用查询报文(General Query),该报文中包括该IGMPv2路由器的优先级信息,该优先级 信息包括该IGMPv2路由器的IP地址。
本地网段中的其他IGMPv2路由器在收到该IGMP通用查询才艮文后,将该 IGMP通用查询报文的源IP地址与自己的接口地址比较。如果该IGMP通用查询 报文的源IP地址小于自己的接口地址,则认为该IGMP通用查询报文的源IP地 址所对应的IGMPv2路由器的优先级高于本地的IGMPv2路由器,从而确认发 送该IGMP通用查询报文的源IGMPv2路由器为查询器,而接收该IGMP通用查 询报文的IGMPv2路由器为非查询器(Non-Querier);如果该IGMP通用查询 报文的源IP地址大于自己的接口地址,则认为该IGMP通用查询报文的源IP地 址所对应的IGMPv2路由器的优先级低于本地的IGMPv2路由器,从而判断发 送该IGMP通用查询才艮文的源IGMPv2路由器为非查询器,而接收该IGMP通用 查询报文的IGMPv2路由器为查询器。通过这样的优先级比较,优先级最高, 即IP地址最小的IGMPv2路由器将成为查询器,而其他IGMPv2路由器则成为非 查询器。
在上述比较方法中,是认为IP地址小的IGMPv2路由器优先级高,从而选 用IP地址最小的IGMPv2路由器作为该网段的查询器,在实际应用中,也可以 认为IP地址大的IGMPv2路由器优先级高,从而通过比较,选用IP地址最大的 IGMPv2路由器作为该网#殳的查询器。
进一步的,所有的非查询器都会启动一个定时器(Other Querier Present Timer,其他查询器存在时间定时器),用以定时接收来自查询器的IGMP通 用查询报文。
在该定时器超时前,如果非查询器收到了来自查询器发送的IGMP查询报 文,则重置该定时器,继续接收下一个IGMP查询才艮文;否则,如果在该定时 器所设定的时间内,非查询器没有收到来自查询器发送的IGMP查询报文,则 认为原查询器失效,并发起新的查询器选举过程。
在实际应用中,由于与用户终端相连的查询器性能要求不高,可选用三 层交换机作为查询器,并在查询器上运行IGMPProxying协议(互联网组管理 协议代理),而不用运行组播路由协议,以降低设备的负担。在如图2所示的组网中,SW1和SW2是与用户终端相连接的小型三层交换 机,SW1和SW2都可以作为网段的查询器。SWl和SW2运行IGMPProxying协 议,使这两个小型三层交换机可以作为查询器代理用户终端发送的IGMP业务 需求及维护組播组成员关系,并基于该组播组成员关系向目的用户终端进行 组播数据报文转发。
在这个组网中,SW1和SW2会形成接收端的查询器竟争。假如现在SW1 是查询器,此时,如果SW2重启,SW2将认为自己是查询器,并会向当前网 段发送一个IGMP通用查询报文(以下简称"查询报文,,)。此时SW1收到查 询报文,根据查询报文中的优先级信息,发现自身的优先级比SW2的优先级 高,因此仍然认为自己是查询器。但在此之后,由于IGMP协议的缺陷,SW1 不会再特意向SW2发送一个确认报文,所以SW2此时也认为自己是一个查询 器,直至SW2接收到SW1发送的查询报文,根据上述的查询器选举机制,发 现自身优先级低于SWl,从而SW2将自己调整为非查询器。因此,在一定时 间间隔内(SW1发送查询报文的周期),网段上会有两个合法的查询器,导 致查询器混乱。由于在该时间间隔内网段内有两个查询器,如果用户终端在 该时间间隔内有IGMP组加入请求,就会分别通过两个查询器收到两份组播数 据报文,其中, 一份从SW1转发,而另一份从SW2转发,使得该用户终端的 组播业务无法正常使用。
另外,当查询器设备重启后,在时间间隔内,另外一台设备无法获知该 网段中缺少查询器,不能立即成为查询器,导致在一段时间内用户终端无法 收到组播数据。例如,当前的查询器是SW1, SW1发生重启,而此时SW2无 法立即感知共享网络上查询器SW1已经消失,仍然认为SW1是查询器,因此, 在一定时间段内不会成为查询器,也不回将网络中的组播数据流引下来。在 这一段时间内用户无法收到组播数据流,导致业务暂时中断,直到超过SW2 上的其他查询器生存时间定时器超时后,发现查询器不存在,从而重新选举 出查询器。查询器设备重启后,在该时间间隔内(按照现有的协议设置,最 长时间可达65秒),用户终端无法收到组播数据才艮文。
10现有技术中,虽然可以根据快速选举机制将查询器的查询报文发送周期 调整到l秒或更短,从而,在没有查询器时,加快选举出新的查询器,但由于 网段中大量的用户终端频繁收到查询报文后,会在短时间内回复大量的查询 响应报文,从而,使网络上每秒会有大量的查询响应报文发送到该查询器, 极大的占用带宽,而且增加了非查询器和查询器的处理负担。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题 现有技术中,由于IGMP协议的缺陷,非查询器重启后,设置自身为查询 器,而网段中原有的查询器收到该查询报文不会特意回复查询响应报文,导 致网段中存在两个查询器,引起查询器混乱,导致组播业务无法顺利进行; 另外,现有技术的组播业务可靠性差, 一旦网段中的查询器故障,在最长一 个查询周期内,将没有设备作为查询器对组播数据^L文进行转发,出现查询 器中断,导致组播业务无法顺利进行。而现有的快速选举机制不能解决上述 的查询器混乱和查询器中断的问题,反而占用了大量带宽,增加了网络和路 由器的负担。因此,用户终端可能在一定时期内收到双份报文,或者收不到
报文。

发明内容
本发明提供一种組播网络中的状态管理方法、路由器及系统,以实现非 查询器快速获知网段中查询器的是否存在,防止非查询器或查询器重启时, 网段中出现查询器混乱造成用户终端无法接收到组播报文或接收到多份組播 报文的情况。
为达到上述目的,本发明一方面提供了一种组播网络中的状态管理方法, 应用于包括一个查询器和至少一个非查询器以及至少一个用户终端的网段 中,其中,所述查询器定期发送查询报文至非查询器以及用户终端,所述方 法包括
所述查询器进一步构造宣告报文,并按照宣告报文发送周期向所述网段 中的非查询器发送宣告报文;
所述非查询器判断在宣告报文探测周期内是否接收到所述查询器发送的200910131220.7
说明书第6/27页
宣告报文,其中所述宣告报文探测周期应大于所述宣告报文的发送周期,但 应小于所述查询报文发送周期,并根据判断的结果以及预先设定的策略,对 自身的状态进行设置。
优选的,所述路由器自身的状态根据如下预定策略进行设置
当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为重启状态或所述非查询器作为新设备接入所述网 段,所述非查询器设置自身为所述网段中新的查询器;
当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为正常工作状态,所述非查询器与所述网段中的其 他非查询器进行选举,生成所述网段中新的查询器;当所述非查询器在宣告报文探测周期内收到查询器发送的宣告报文时, 所述非查询器根据所述宣告报文设置自身为临时非查询器。
优选的,所述非查询器设置自身为临时非查询器之后,还包括
所述临时非查询器还需判断在查询报文探测周期内是否接收到所述查询 器发送的查询报文,所述查询报文包括所述查询器的优先级信息;
如果所述临时非查询器在查询报文探测周期内接收到所述查询器发送的 查询报文,所述临时非查询器获取所述查询报文的优先级信息,比较所述查 询器与所述临时非查询器的优先级,进一步根据所述比较的结果进行自身的 状态设置;
如果所述临时非查询器在查询报文周期内没有接收到所述查询器发送的 查询报文,所述临时非查询器与所述网段的其他非查询器进行查询器选举, 生成所述网段中新的查询器。
优选的,所述临时非查询器根据所述比较的结果进行自身状态的设置, 具体包括
如杲所述比较的结果为所述查询器的优先级高于所述临时非查询器的优 先级,所迷临时非查询器设置自身为非查询器;
如果所述比较结果为所述查询器的优先级低于所述临时非查询器的优先 级,所述临时非查询器与所述网段的其他非查询器进行查询器选举,生成所
12述网段中新的查询器。
优选的,如果所述宣告报文还包括所述查询器的优先级信息,所述非查
询器根据接收到的所述宣告报文进行自身状态的设置,具体包括
所述非查询器获取所述宣告报文中所述查询器的优先级信息,比较所述 查询器与所述非查询器的优先级;
如果所述比较的结果为所述查询器的优先级高于所述非查询器的优先 级,所述非查询器保持当前非查询器的设置;
如果所述比较的结果为所述查询器的优先级低于所述非查询器的优先级 时,所述非查询器与所述网段的其他非查询器进行选举,生成所述网段中新 的查询器。
优选的,当所述查询器发生重启时,所迷方法还包括
重启后的所述查询器判断在宣告报文探测周期内是否接收到宣告报文;
如果在所述宣告报文探测周期内没有接收到所述宣告报文,重启后的所
述查询器设置自身为所述网段中的查询器;
如果在所述宣告报文探测周期内接收到所述宣告报文,重启后的所述查
询器根据所述宣告报文设置自身为临时非查询器。
另一方面,不发明还提供了一种路由器,应用于包括一个查询器和至少 一个非查询器以及至少一个用户终端的网段中,其中查询器定期向非查询器 以及用户终端发送查询报文,所述路由器在当前网段中充当查询器或非查询 器,包括
报文使能模块,至少用于构造宣告报文,并在所述路由器充当查询器时, 启动或停止所述路由器向所述当前网段中的非查询器和用户终端发送宣告报 文的功能;
报文计时模块,与所述报文使能模块和报文探测模块电性连接,至少用 于设定查询器上的宣告报文发送周期或者非查询器上的宣告报文探测周期, 并对查询器上的宣告报文发送周期或者非查询器上的宣告报文探测周期进行 计时,所述宣告报文发送周期小于所述宣告报文探测周期;报文探测模块,在所述路由器充当非查询器时启动,用于至少在宣告报
文探测周期内探测是否接收到所述当前网段的查询器发送的宣告报文;
状态设置模块,与所述报文探测模块电性连接,用于当所述路由器充当
非查询器时,根据报文探测模块探测的宣告报文情况以及预先设定的策略,
将所述路由器设置为查询器状态或者非查询器状态。
优选的,所述状态设置模块具体根据如下策略对所述路由器状态进行设

当报文探测模块在宣告报文探测周期内没有收到查询器发送的宣告报 文,且所述路由器为重启状态或所述路由器作为新设备接入所述当前网段时, 设置所述路由器为所述当前网中新的查询器;
当报文探测模块在宣告报文探测周期内没有收到查询器发送的宣告报 文,且所述路由器作为非查询器处在正常工作状态时,设置所述路由器与所 述当前网段的其他非查询器进行选举,生成所述当前网段中新的查询器。
当报文探测模块在宣告报文探测周期内收到查询器发送的宣告报文时, 根据所述宣告报文继续设置所述路由器为临时非查询器。
优选的,所述报文使能模块,还用于构造查询报文,并在所述路由器充 当查询器时,启动所述路由器定期向所述非查询器和用户终端发送查询报文;
所述报文计时模块,还用于设定查询器上的查询报文发送周期或者非查 询器上的查询报文探测周期,并对查询器上所述查询报文发送周期或者非查 询器上的查询报文探测周期进行计时,所述查询报文发送周期小于查询报文 探测周期,但应大于所述宣告报文探测周期;
所述报文探测模块,还用于在所述路由器为临时非查询器时,进一步探 测在查询报文探测周期内是否接收到所述当前网段的查询器发送的查询报 文。
优选的,当所述路由器被设置为临时非查询器,且所述报文探测模块没 有接收到所述当前网段的查询器发送的查询报文,所述状态设置模块进一步 用于
设置所述路由器与所述当前网段的其他非查询器进行选举,生成所述当前网段中新的查询器。
优选的,所述路由器还包括
比较模块,分别与所述报文探测模块和所述状态设置模块电性连接,用 于当所述路由器被设置为临时非查询器,根据所述查询报文或者宣告报文中 包含优先级信息,比较所述查询器与所述路由器的优先级。
优选的,当所述路由器被设置为临时非查询器,且所述查询报文或者宣 告报文中含有优先级信息时,所述状态设置模块进一步用于
当所述比较模块的比较结果为所述当前网段的查询器的优先级高于所述 路由器的优先级时,设置所述路由器为非查询器;
当所述比较模块的比较结果为所述查询器的优先级低于所述临时非查询 器的优先级时,设置所述路由器与所述当前网段的其他非查询器进行查询器 选举,生成所述当前网段中新的查询器。
另一方面,本发明还提供了一种组播网络中的状态管理系统,包括一个 查询器、至少一个非查询器和至少一个用户终端,其中查询器定期向非查询 器以及用户终端发送查询^^文
所述查询器,还用于构造宣告报文,并按照宣告报文发送周期向所述非 查询器和所述用户终端发送宣告报文;
所述非查询器,与所述非查询器所在网段中的查询器电性连接,用于判 断在宣告报文探测周期内是否接收到所述查询器发送的宣告报文,其中所述 宣告报文探测周期应大于所述宣告报文的发送周期,但应小于查询报文发送 周期,并根据判断的结果以及预先设定的策略,对自身的状态进行设置。
优选的,所述路由器自身的状态根据如下预定策略进行设置
当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为重启状态或所迷非查询器作为新设备接入所述网 段,所述非查询器设置自身为所述网段中新的查询器;
当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为正常工作状态,所述非查询器与所述网段中的其他非查询器进行选举,生成所述网段中新的查询器;
当所述非查询器在宣告报文探测周期内收到查询器发送的宣告报文时, 所述非查询器根据所述宣告报文设置自身为临时非查询器。
与现有技术相比,本发明具有以下优点
通过本发明,非查询器能够及时获知查询器是否存在,并在查询器失效 后及时重新选举生成新的查询器,使得网络中组播业务能够快速恢复;并防 止非查询器重启或者新的非查询器接入网络时导致的查询器竟争混乱。因此, 本发明可以防止用户终端收到多份组播数据报文或无法收到组播数据报文, 增强组播业务性能。


图1为现有技术获取组播业务数据报文的流程图; 图2为现有技术的组网结构示意图3为本发明提供的一种组播网络中的状态管理方法的流程图4为本发明提供的一种宣告报文的字段结构示意图5为本发明提供的一种组播网络中的状态管理方法在非查询器重启时
的实施场景流程图6为本发明提供的一种组播网络中的状态管理方法在查询器重启时的
实施场景流程图7为本发明提供的另一种组播网络中的状态管理方法在非查询器重启 时的实施场景流程图8为本发明提供的另一种组播网络中的状态管理方法在查询器重启时 的实施场景流程图9为本发明提供的一种组播网络中的状态管理系统的结构示意图IO为本发明提供的一种组播网络中的路由器结构示意图。
具体实施例方式
如背景技术所述,对于存在多个路由器或三层交换机的组网架构,可以设置一个路由器或三层交换机为查询器,而余下的路由器或三层交换机则设 置为非查询器。基于这样的组网架构,本发明在作为查询器的路由器或三层 交换机上增设宣告报文发送机制,在查询器上设定宣告报文发送周期,查询 器按照该宣告报文发送周期向该查询器所在网段中的用户终端和非查询器发 送宣告报文,告知各个用户终端和非查询器,本路由器或三层交换机是本网 段中的查询器。
基于上述的宣告报文设置,本发明在非查询器上建立了宣告报文接收机 制,并设置了宣告报文探测周期,并且,宣告报文探测周期大于上述的宣告 报文发送周期,如果非查询器在宣告报文探测周期内接收到了查询器发送的 宣告报文,则确定当前网段中存在合法的查询器,并确认自身为非查询器, 如果非查询器在宣告报文探测周期内没有接收到查询器发送的宣告报文,则
进一步的,根据非查询器的自身状态分为以下两种情况
情况一、当非查询器为重启状态,或该非查询器作为新设备接入当前网 段,并在预定的宣告报文探测周期内未接收到当前网段中查询器发送的宣告 报文时,该查询器判断当前网段中不存在合法的查询器,进而,设置自身为 该网段中新的查询器。
情况二、当非查询器为正常工作状态,而查询器由于供电中断,接口连 接松动或工作时间设置等原因重启或出现设备故障而工作中断,从而导致非 查询器在宣告报文探测周期内未接收到当前网段中查询器发送的宣告报文 时,该非查询器与该网段中的其他非查询器进行查询器选举,产生新的查询 器。具体的选举机制可以单独设定,也可以遵循前述的查询器选举机制,这 样的变化并不影响本发明的保护范围。
并且,进一步的,本发明的技术方案中,还可以在查询器所发送的宣告 报文中添加设备优先级信息,当非查询器接收到查询器所发送的宣告报文之 后,获取其中的设备优先级信息,从而判断当前查询器设备的优先级是否高 于该非查询器自身的优先级,如果判断结果为当前查询器设备的优先级高于 该非查询器自身的优先级,则继续确认该非查询器为当前网段中的非查询器, 反之,如果判断结果为当前查询器设备的优先级低于该非查询器自身的优先级,则该非查询器与该网段中的其他非查询器进行查询器选举,产生新的查 询器。在这种情况下,具体的选举机制同样可以单独设定,或遵循前述的查 询器选举4几制。
需要指出的是,在宣告报文中添加优先级信息只是本发明的 一种可选方
案。这样处理的好处在于基于宣告报文发送周期较短的情况,通过宣告报 文携带优先级信息,可以快速的使当前网段中的其他设备了解到自身与查询 器之间的优先级关系,并进而确定具有更高优先级的设备为查询器,这种通 过宣告报文携带优先级信息的方案具有这样的优点。
在具体的实施场景中,设备的优先级通常通过设备的IP地址进行表示,例 如,可以设置在同一网段中,IP地址越小的设备优先级越高。在本发明实施场 景中所提出的技术方案中,宣告报文所携带的优先级信息可以是发送该宣告 报文的查询器设备的IP地址信息,也可以是其他自定义的优先级信息,这样的 变化,并不影响本发明的保护范围。
但是,由于按照IGMP协议,在确定了查询器与非查询器的网段中,查询 器所发送的IGMP通用查询报文中携带有设备的优先级信息(IP地址信息), 所以,通过IGMP通用查询才艮文,同样可以对由于优先级而导致的查询器选举 问题进行调整,只是由于IGMP通用查询报文相比宣告报文的发送周期较长, 所以,设备需要经过的优先级验证周期也会相应的延长。因此,上述的通过 宣告报文携带优先级信息的方案是一种可以使本发明技术方案取得更好的技 术效果的可选子方案,是否包含该方案并不影响本发明的保护范围。
再进一步的,由于当前网段中可能同时存在查询器和非查询器,而其中 的查询器设备同样可以由于各种原因而发生重启,在查询器重启过程中,当 前网段会出现缺少查询器的情况,在这种情况下,当前网段中不再有设备发 送宣告报文或查询报文,重启后的查询器不能确定自己查询器的身份,所以, 在重启完成后同样会进行宣告报文的探测,如果没有探测到宣告报文,则设 置自身为当前网段中新的查询器。这种情况,与非查询器重启或非查询器作 为新设备接入当前网段的处理过程是一致的,这样的技术方案同样属于本发 明的保护范围。通过上述技术方案,防止由于网络中查询器和非查询器之间的不良竟争 导致用户终端收到多份组播数据报文或无法收到组播数据报文的情况,避免 由此导致的查询器混乱或查询器中断,提高了网络中组播业务的稳定性,缩 短了查询器失效时用户组播业务中断的时间。
以下结合具体的应用场景,对本发明的技术方案做详细描述。 本发明提供一种组播网络中的状态管理方法,应用于包括一个查询器和 至少一个非查询器以及至少一个用户终端的网段中,其中,查询器定期发送
查询报文至非查询器以及用户终端,流程示意图如图3所示,该方法包括 步骤S301、查询器构造宣告报文,并按照宣告报文发送周期向当前网段
中的非查询器发送宣告报文。
其中,如图4所示,查询器所构造并向非查询器所发送的宣告报文具体包
括以下字段
(l)Type字段Type字段包括报文的type值,即类型值,查询器向非查
询器发送多种报文,每一种报文设定一个type值,非查询器接收到该报文后,
l该招子且汰S斗々主刑
例如,预先设置Type-88的报文为宣告报文,则当非查询器接收到Type 值为88的报文时,判断此报文为宣告报文。
需要进一步指出的是,上述宣告报文的Type取值88仅是本发明为了方便 说明而选取的一种优选实施场景,在具体的应用场景中,可以根据需要釆用 别的数值,具体数值的变化并不影响本发明的保护范围。
(2 ) Interval字段该字段包括查询器发送宣告报文的周期值,即前述的 在查询器中所设置的宣告报文发送周期,查询器按照该周期值向当前网段中 的非查询器和用户终端发送宣告报文。
如果当前网段中的查询器、非查询器和用户终端的数量、属性没有变化, 则认为查询器设置的宣告^J艮文发送周期为固定值。
对于接收到该宣告报文的非查询器,可以根据该Interval字段中所记录的 宣告报文发送周期的数值,确定该非查询器所对应的宣告报文探测周期,该周期的设定可以根据具体需要进行调整,但宣告报文的探测周期要长于宣告 报文的发送周期,避免在由于查询器的宣告报文来不及发送而导致的宣告报 文检测失败,在本发明后续的实施场景中,以宣告报文探测周期的长度等于 两倍的宣告报文发送周期的长度来进行设定,从而保障在宣告报文可以及时 被探测到的情况下,保障探测结果的准确性和可靠性。当然,在实际应用中, 宣告报文探测周期与宣告报文发送周期之间的比例数值可以根据需要进行相 应的调整。
(3 ) Reserved字段该字段为宣传报文中的保留字段,用于加载其他信 息,例如,在该Reserved字段中加载发送该宣传报文的查询器在当前网段中的 优先级信息,但是如前所述,在该字段中携带发送该宣传报文的查询器在当 前网段中的优先级信息仅是本发明的可选方案,在实际应用中,该字段的具 体携带信息根据需要进行调整。
此外,宣告报文中还包括Checksum字段,用于携带识别信息,从而使相 关设备可以根据该字段中的信息对宣告报文的错误进行检查。在图5中,位于 Checksum字段、Type字段、Interval字段以及Reserved字段之上的两行数字分 別表示本宣告报文的比特数和字节数。
需要指出的是,在图4中所示的各字段所占用的比特数和字节数只是本发 明的一种优选实施场景,在实际的应用场景中,可以根据需要,对上迷各字 段在宣告报文中所占用的比特数或字节数进行调整,这样的变化,同样属于 本发明的保护范围。
步骤S302、非查询器判断在宣告报文探测周期内是否接收到查询器发送 的宣告报文,并根据判断的结果以及预先设定的策略,对自身的状态进行设 置。
其中,如前所述,宣告报文探测周期应大于所述宣告报文的发送周期, 但应小于查询报文发送周期。
查询报文发送周期是指现有技术中查询器向非查询器发送IGMP通用查 询报文(即前述的查询报文)的周期,本发明所提出的宣告报文是由查询器 以小于上述查询报文发送周期的时间间隔来向当前网段中非查询器以及用户终端发送的一种宣告自身为查询器的报文,这种宣告报文的发送周期时间长 度越小越能够及时的使非查询器确认当前网段中是否存在合法的查询器,并 采取相应的业务策略。因此,查询器上设置的宣告报文发送设置,使当前网 段中的系统可靠性得到了增强。
为了更加清楚的描述本技术方案,对本步骤中所提出的非查询器自身的
状态的设置过程进行进一 步说明
非查询器自身的状态根据如下预定策略进行设置
A、 当非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,非查询器可以获知当前网段中没有查询器或查询器无法正常工作,进一 步的,非查询器根据自身的状态进行后续的相关设置,从而对当前网段中缺 少查询器的情况进4亍补氺文。
在具体的实施场景中,非查询器根据自身的状态进行业务功能设置,具 体包括以下两种情况
如果非查询器为重启状态或非查询器作为新设备接入当前网段,该非查 询器设置自身为当前网段中新的查询器;
如果非查询器为正常工作状态,该非查询器与当前网段中的其他非查询 器进行选举,生成当前网段中新的查询器。
B、 当非查询器在宣告报文探测周期内收到查询器发送的宣告报文时,该 非查询器确认当前网段中存在有正常工作的查询器设备,因此,该非查询器 根据收到的宣告报文设置自身为临时非查询器。
并且,进一步的,在非查询器设置自身为临时非查询器之后,还包括以 下处理过程
临时非查询器还需判断在查询报文探测周期内是否接收到查询器发送的 查询报文,其中,查询报文包括查询器的优先级信息。
需要指出的是,这里所述的查询报文,具体指前述的IGMP通用查询报 文。而且,上述的查询报文探测周期是在非查询器中进行预先设定的。
一方面,如果临时非查询器在查询才艮文纟采测周期内接收到查询器发送的 查询报文,该临时非查询器获取查询报文中所包含的的优先级信息,并比较查询器与该临时非查询器的优先级,进一步根据比较的结果进行自身的状态 设置。
其中,临时非查询器根据比较的结果进行自身状态的设置,具体包括两
种情况
如果比较的结果为查询器的优先级高于临时非查询器的优先级,该临时
非查询器设置自身为非查询器;
如果比较结果为查询器的优先级低于临时非查询器的优先级,该临时非 查询器与当前网段的其他非查询器进行查询器选举,生成当前网段中新的查 询器。
另 一发面,如果临时非查询器在查询报文周期内没有接收到查询器发送 的查询报文,该临时非查询器与当前网段的其他非查询器进行查询器选举, 生成当前网段中新的查询器。
在具体的实施场景中,如果上述的宣告报文还包括查询器的优先级信息, 则步骤S302中非查询器根据接收到的所述宣告报文进行自身状态的设置,具 体还包括以下情况
非查询器获取宣告报文中所包含的查询器的优先级信息,比较查询器与 非查询器的优先级;
如果比较的结果为查询器的优先级高于非查询器的优先级,该非查询器 保持当前非查询器的设置;
如杲比较的结果为查询器的优先级低于非查询器的优先级,该非查询器 与当前网段的其他非查询器进行选举,生成当前网段中新的查询器。
需要进一步说明的是,上述的非查询器重启情况下的组播网络中的状态 管理方法,对于查询器的重启情况也同样适用,对于当前网段中的查询器, 如果发生重启情况,意味着当前网段中不再具有合法的查询器,而且,作为 查询器的路由器或者三层交换机与作为非查询器的路由器或者三层交换机在 物理实质上并没有明显的区别,只是两者的优先级存在高低差别。因此,查 询器在重启后接入当前网段时,并不具有原查询器的业务功能设置,而是同 其他非查询器没有区别,具体的处理流程如下重启后的查询器判断在宣告报文探测周期内是否接收到宣告报文;
如果在宣告报文探测周期内没有接收到宣告报文,则重启后的查询器设 置自身为当前网段中的查询器;
如果在宣告报文探测周期内接收到宣告报文,则重启后的查询器根据该 宣告报文设置自身为临时非查询器。
而设置为临时查询器之后的处理流程与上述的非查询器设置为临时查询 器之后的处理流程相一致,在此不再重复叙述。
通过本发明,非查询器能够及时获知查询器是否存在,并在查询器失效 后重新选举生成新的查询器,使得网络中组播业务能够快速恢复,防止非查 询器重启或者接入网络中导致查询器竟争混乱,防止用户终端收到多份组播 数据报文或无法收到组播数据报文,增强组播业务性能。
在另一种实施场景中,本发明还提供了一种组播网络中的状态管理方法, 具体流程如图5所示,在本实施场景中主要对当非查询器重启时的组播网络中 的状态管理方法进行描述,该方法包括以下步骤
步骤S501、非查询器重启后,该非查询器上的定时器开始计时,同时, 该非查询器对其所在的网段进行探测,判断在周期T1内是否接收到查询器发 送的宣告报文。
其中,上述的周期T1即为前述的宣告报文探测周期。根据具体实施场景 的需要,该周期的长度可以进行预先设置,在数值大小上,应该大于查询器 上所设置的宣告报文发送周期,具体宣告报文探测周期长度的变化并不影响 本发明的保护范围。
需要指出的是,上述非查询器上的定时器可以是独立的新增定时器,也 可以是更新了设置后的已有定时器。例如,现有技术中非查询器上已经存在 的其他查询器存在时间定时器(Other Querier Present Timer),在对其进行设 置的变更后,即可实现对上述的周期T1的计时。
进一步需要指出的是,非查询器的计时起始点可以设置为该非查询器重 启完成时刻的时间点,或非查询器刚加入到当前网段时刻的时间点。如果非查询器在该周期T1内接收到当前网段的查询器发送的宣告报文,
则转入步骤S502;
如果非查询器在该周期T1内没有接收到当前网段的查询器发送的宣告报 文,则转入步骤S503。
其中,在本实施场景中,进一步标识该宣告报文的发送周期为T2。在查 询器上设置宣告报文的发送周期为T2,以周期T2向非查询器发送宣告报文。 如果当前网段中的查询器、非查询器和用户终端的数量、属性没有变化,则 认为查询器设置的宣告报文发送周期T2为固定值。
查询器上设有一个宣告使能开关(querier announce enable ),通过设置该 开关,可以启动或停止该查询器向当前网段的非查询器和用户终端发送宣告 报文,查询器上还设有一个宣告计时器(querier announce timer),通过设置 该宣告计时器来设置宣告报文的发送周期T2。
按照IGMP协议,查询器以查询报文的发送周期T3向当前网段中的非查询 器发送IGMP通用查询报文(以下简称"查询报文"),通过该查询报文告知 非查询器在该当前网段中存在合法的查询器,然而查询报文的发送周期较长, 因此,在两次查询报文的发送间隔中,非查询器通过查询报文不能快速获知 该网段中是否具有查询器,因此,有可能会造成在这段无法明确查询器是否 存在的时间内,触发非查询器之间的查询器竟争,视当前网段中出现两个甚 至更多数量的查询器,导致查询器混乱,从而造成组播业务建立失败或组播 业务连接中断。
因此,为了使非查询器能够快速^:测到该查询器的存在,查询器中所设
定的宣告报文的发送周期T2应小于查询报文的发送周期T3。
为保证非查询器能够正常接收到查询器发送的宣告报文,非查询器中所
设定的宣告报文探测周期T1应至少大于查询器中所设定的宣告报文发送的周
期T2,并且,非查询器中所设定的查询报文探测周期T4应至少大于查询器中
所设定的查询报文发送的周期T3 。
在实际应用当中,宣告报文发送周期T2设置的越短越好。如果当前网段
中的查询器、非查询器和用户终端数量和属性上没有变化,则认为该宣告报文探测周期T1为固定值。例如,在IGMPv2协议中,查询4艮文的发送周期T3 为60s。进一步的,基于非查询器中所设定的宣告报文探测周期T1应至少大于 查询器中所设定的宣告报文发送的周期T2的要求,可以认为非查询器在2个宣 告报文发送周期内接收到宣告报文,在1.5个查询报文发送周期内接收到查询 报文,如果宣告报文发送的周期T2为0.5s,则Tl:2xT2-ls, T4-1.5 x T3 =,。
通过上述周期时间数值的比较,也可以发现,宣告报文的发送周期和探 测周期都要远小于查询才艮文的发送周期和探测周期,这样的设定,可以极大 的提高当前网段中非查询器对查询器是否存在的验证效率,从而,在最短的 时间内确定当前网段中是否存在合法的查询器,并进而更新自身的业务功能 设定。
而另一方面,根据本发明技术方案的设定,用户终端在接收到宣告报文 后,不需要向查询器返回宣告报文的响应,从而减少了因众多用户终端在短 时间内回复响应而造成对网段带宽的大量占用。
步骤S502、非查询器在宣告报文探测周期T1内接收到查询器发送的宣告 报文,获知当前网段中已经具有查询器,非查询器设置自身为临时非查询器, 转入步骤S504。
步骤S503、非查询器在宣告报文探测周期T1内没有接收到查询器发送的 宣告报文,获知当前网段中没有查询器,非查询器设置自身为当前网段中新 的查询器。
这样的设定也是考虑到现有的IGMP协议中对新近的非查询器加入网络 或原有的非查询器经过重启而重新接入网络后,都会默认自己是查询器的设 定而做出的调整。
步骤S504、临时非查询器对网段进行探测,并通过定时器开始计时,判 断在查询报文探测周期T4内是否收到当前网段的查询器发送的查询报文。
当网段中的查询器、非查询器和用户终端的数量、属性没有变化时,认 为查询报文探测周期T4为固定值。
如果临时非查询器在查询报文探测周期T4内接收到查询器发送的查询报文,转入步骤S505;
如果临时非查询器在查询报文探测周期T4内没有接收到查询器发送的查 询报文,转入步骤S506;
步骤S505、临时非查询器获取查询报文中的优先级信息,根据该优先级 信息比较自身与查询器的优先级,判断自身是否为查询器。
如果该临时非查询器的优先级高于查询器的优先级,转入步骤S507;
如果该临时非查询器的优先级低于查询器的优先级,转入步骤S508。
步骤S506、非查询器与当前网段的其他非查询器进行选举,生成网段中 新的查询器。
具体的选举机制可以单独设定,也可以遵循前述的查询器选举机制,这
样的变化并不影响本发明的保护范围。
步骤S507、该临时非查询器设置自身为当前网段中的查询器。 步骤S508、非查询器与当前网段的其他非查询器进行选举,生成当前网
段中新的查询器。
具体的选举才几制可以单独设定,也可以遵循前述的查询器选举才几制,这 样的变化并不影响本发明的保护范围。
通过本发明,非查询器能够及时获知查询器是否存在,并在查询器失效 后及时重新选举生成新的查询器,使得网络中组播业务能够快速恢复,防止 非查询器重启或者接入网络中导致查询器竟争混乱,防止用户终端收到多份 组播数据报文或无法收到组播数据报文,增强组播业务性能。
在另一种实施场景中,如图6所示,针对非查询器未重启,即非查询器正 常工作时的组播网络中的状态管理方法进行描述,该方法包括以下步骤
步骤S601 、非查询器在宣告报文探测周期T1内没有收到查询器发送的宣 告报文,获知网段中没有查询器。
非查询器没有收到查询器发送的宣告报文包括多种情况,如查询器出现 故障、断电、断开网络、或重启时。
本步骤的具体实现方法可以是非查询器对当前网段进行探测,判断非查询器在宣告报文探测周期T1内是否收到查询器发送的宣告报文,并通过非查 询器上的定时器对宣告报文探测周期T1进行计时。当在一个完整的宣告报文 探测周期T1经过之后,非查询器仍未接收到当前网段的查询器所发送的宣告 报文时,非查询器判断当前网段中没有合法的查询器。
步骤S602、该非查询器设置自身为临时查询器,并立即向当前网段中的 其他非查询器发送查询报文。
如果此时,当前网段中有多个非查询器在宣告报文探测周期T1内没有收 到查询器发送的宣告报文,则这些非查询器均设置自身为临时查询器,并立 即向当前网段中的其他非查询器或临时查询器发送查询报文。
步骤S603、其他非查询器或临时查询器接收到查询报文后,选举产生新 的查询器。
具体的选举方法是根据查询报文中所携带的设备优先级信息,判断各个 非查询器或临时查询器的优先级高低,并根据判断结果,选择最高优先级的 非查询器或临时查询器成为当前网段的查询器。
通过本发明,非查询器能够及时获知查询器是否存在,并在查询器失效 后及时重新选举生成新的查询器,4吏得网络中组#"业务能够快速恢复,防止 用户终端收到多份组播数据报文或无法收到组播数据报文,增强组播业务性 能。
本发明组播网络中的状态管理方法的另一个实施场景中,如图7所示,与 图4所示的实施场景不同的是,查询器发送的宣告报文中还包括查询器的优先 级信息,该优先级信息保存在宣告报文的保留字段中,非查询器接收到查询 器发送的宣告报文后,获取查询器的优先级信息,比较自身与查询器的优先 级,进而判断非查询器自身是否为新的查询器。该方法包括
步骤S701、非查询器重启后,对当前网段进行探测,并同时进行计时, 判断在宣告报文探测周期T1内是否收到查询器发送的宣告报文。
如果非查询器在宣告报文探测周期T1内收到当前网段的查询器发送的宣 告报文,则转入步骤S702;
2如果非查询器在宣告报文探测周期T1内没有收到当前网段的查询器发送 的宣告报文,则转入步骤S703;
步骤S702、如果非查询器在宣告报文探测周期T1内收到本网段查询器发 送的宣告报文,获知当前网段中已经具有了合法的查询器,则该非查询器获 取宣告报文中查询器的优先级信息,与自身优先级信息进行比较。
如果查询器的优先级高于非查询器的优先级,则转入步骤S704;
如果查询器的优先级低于非查询器的优先级,则转入步骤S705;
步骤S703 、如果非查询器在宣告报文探测周期T1内没有收到当前网段查 询器发送的宣告报文,获知当前网段中当前没有合法的查询器,则该非查询 器设置自身为当前网段中新的查询器。
步骤S704、如果查询器的优先级高于非查询器的优先级,非查询器保持 自身的非查询器设定,即仍设置自身为非查询器。
步骤S705、如果查询器的优先级低于非查询器的优先级,非查询器与当 前网段的其他非查询器进行选举,生成当前网段中新的查询器。
通过本发明,非查询器能够及时获知查询器是否存在,并在查询器失效 后及时重新选举生成新的查询器,使得网络中组播业务能够快速恢复,防止 非查询器重启或者接入网络中导致查询器竟争混乱,防止用户终端收到多份 组播数据报文或无法收到组播数据报文,增强组播业务性能。通过在宣告报 文中增加查询器的优先级信息,使得非查询器在收到宣告报文时,同时获知 查询器的优先级信息,减少查询报文的信息量,从而减少带宽占用量。
进一步的,在另一种应用场景中,查询器发送的宣告报文中包括查询器 的优先级信息,当该网段中的非查询器为正常工作状态时,如图8所示,该方 法包括
步骤S801、非查询器对当前网段进行探测,并同时进行计时,如果非查 询器在宣告报文探测周期T1内没有收到查询器发送的宣告报文,获知当前网 段中没有合法的查询器。
本步骤中具体的计时方式是通过非查询器中的计时器进行实现。非查询器没有收到查询器发送的宣告报文包括多种情况,如查询器出现 故障、断电、断开网络、或重启时。
步骤802,非查询器进行选举,产生新的查询器。具体选举过程为现有技 术,在此不再赘述。
如图7和图8所描述的实施场景,查询器直接将优先级信息通过宣告报文 中发送,非查询器通过宣告报文就可以获知查询器的优先级信息,非查询器 不需要再等接收到查询报文后才获知查询器的优先级信息,同时查询报文也 不需要在携带查询器的优先级信息,减少了查询报文的信息量。
本发明通过查询器周期性地发送宣告报文,使得非查询器能够及时地获 知查询器的存在,并且查询器失效后,非查询器能够快速重新选举产生新的 查询器,使得网络中组播业务能够快速恢复;而非查询器重启后,也不会因 为原IGMP协议的缺陷,使得网络中出现多个查询器并存的情况,更不会用户 终端收到多份相同的组播数据报文的情况。本发明有效的防止了非查询器重 启或者接入网络中导致查询器混乱,缩短了由于查询器重启而导致用户组播 业务中断的时间,增强组播业务性能。通过在宣告报文中增加查询器的优先 级信息,使得非查询器在收到宣告报文时,同时获知查询器的优先级信息, 减少查询报文的信息量,从而减少带宽占用量。
本发明还提供一种組播网络中的状态管理系统,如图9所示,包括一个 查询器910、至少一个非查询器920和至少一个用户终端930,其中查询器910 定期向非查询器920以及用户终端930发送查询才艮文,其中
查询器910,还用于构造宣告报文,并按照宣告报文发送周期向非查询器 920和用户终端930发送宣告^J:。
非查询器920,与非查询器920所在的网段中的查询器910电性连接,用 于判断在宣告报文探测周期内是否接收到查询器910发送的宣告报文,并根 据判断的结果以及预先设定的策略,对自身的状态进行设置。
其中,宣告报文探测周期应大于宣告报文的发送周期,但应小于查询报 文发送周期,查询报文发送周期是指现有技术中查询器向非查询器发送IGMP通用查询报文的周期。
为保证非查询器920能够更加及时的接收到查询器910发送的宣告报文, 在实际应用当中,宣告报文发送周期T2设置的时间长度越短越好。
用户终端930,用于向查询器910请求数据信息,在此不再详细叙述。 进一步的,在本发明所提供的技术方案中,宣告报文中还可以包含查询 器910的优先级信息。具体的优先级信息添加过程由查询器910在构造宣告报 文时完成。
当查询器910将自身的优先级信息加载在宣告報文中,并通过宣告报文向 当前网段中的非查询器920发送时,非查询器920通过宣告报文就可以获知查 询器910的优先级信息,非查询器920不需要再等接收到查询报文后才获知查 询器910的优先级信息。同时,在这种情况下,查询器910发送查询报文时也 不需要在携带查询器的优先级信息,减少了查询报文的信息量。
另一方面,用户终端930接收到查询器910发送的宣告^^艮文后,不需要向 查询器910返回宣告才艮文响应,减少了因众多用户终端930在短时间内回复响 应而造成的对当前网段带宽的大量占用。
需要指出的是,和非查询器920在物理实质上,均为路由器或者三层交 换机,只是由于优先级差别而在当前网段中实现不同的业务功能,因此,在 具体的实施场景中,上述的当前网段中的查询器910和非查询器920可以采 用同一种路由器或者三层交换机,这种情况下,该路由器或者三层交换机需 要同时具有上述查询器910和非查询器920中的实现各自功能的逻辑模块, 这样的变化同样属于本发明的保护范围。
基于上述理解,本发明提出了一种路由器,可以在当前网段中充当上述 查询器910或非查询器920,如图10所示,包括
报文使能模块1001,至少用于构造宣告报文,并在该路由器充当查询器 910时,启动或停止该路由器向当前网段中的非查询器920和用户终端930发 送宣告报文的功能。
在具体的应用场景中,上述的报文使能模块1001可以具体为一个宣告使能开关,通过设置该开关,启动或停止充当查询器910的路由器向当前网段 的非查询器920和用户终端930发送宣告冲艮文。
需要指出的是,在具体的实施场景中,当该路由器充当查询器910时, 报文使能模块1001还用于构造查询报文,并启动该路由器定期向非查询器920 和用户终端930发送查询报文,当路由器开始充当非查询器920时,报文使 能模块1001还可以终止发送查询报文的设置,通过该才莫块,可以进一步实现 路由器状态切换时的报文功能控制,这样的变化同样属于本发明的保护范围。
报文计时模块1002,与宣告使能模块1001和报文探测模块1003电性连 接,至少用于设定查询器910上的宣告报文发送周期或者非查询器920上的 宣告报文探测周期,并对查询器910上的宣告报文发送周期或者非查询器920 上的宣告报文探测周期进行计时,其中,宣告报文发送周期小于宣告报文探 测周期。
在具体的应用场景中,上述的报文计时模块1002可以具体为一个宣告计 时器,通过设置该宣告计时器来设置查询器910上的宣告报文发送周期T2。
需要指出的是,上述的报文计时模块1002还用于设定查询器910上的查 询报文发送周期或者非查询器920上的查询报文探测周期,并对查询器910 上的查询报文发送周期或者非查询器920上的查询报文探测周期进行计时, 这样的变化同样属于但不限制本发明的保护范围。
其中,查询报文发送周期小于查询报文探测周期,但应大于宣告报文探 测周期。
在实际应用中,报文计时模块1002可以是多个物理计时实体装置,以便 分别对多个周期进行计时,也可以是合并为一个物理计时实体装置,集成多 个周期的计时功能,这样的变化并不影响本发明的保护范围。
报文探测模块1003,在该路由器充当非查询器920时启动,至少用于对 非查询器920所在的网段进行探测,判断非查询器920在宣告报文探测周期 内是否接收到查询器910发送的宣告报文。
在具体的实施场景中,报文探测模块1003还用于在该路由器为临时非查 询器时,进一步探测在查询报文探测周期内是否接收到当前网段的查询器910发送的查询报文。
状态设置模块1004,与报文探测模块1003电性连接,用于当该路由器充 当非查询器920时,根据报文探测模块1003探测的宣告报文情况以及预先设 定的策略,将路由器设置为查询器状态或者非查询器状态。
具体地,状态设置模块1004具体根据如下策略对所述路由器状态进行设

一方面,当该路由器充当非查询器920,且状态设置模块1004在宣告报 文探测周期内没有接收到查询器910发送的宣告报文时,进一步包含以下两 种情况
当该路由器为重启状态或该路由器作为新设备接入当前网段时,设置该 路由器为当前网段中新的查询器910;
当该路由器为正常工作状态时,设置该路由器与当前网段的其他非查询 器进行选举,生成当前网段中新的查询器910。
另一方面,当该路由器充当非查询器920,且状态设置模块1004在宣告 报文探测周期内接收到查询器910发送的宣告报文时,状态设置模块1004根 据该宣告报文设置该路由器为临时非查询器。
在具体的实施场景中,当路由器被设置为临时非查询器,且报文探测模 块1003没有接收到当前网段的查询器910发送的查询报文时,状态设置模块 1004进一步用于设置该路由器与当前网段的其他非查询器920进行选举,生 成当前网段中新的查询器910。
进一步的,该路由器还包括比较模块1005,分别与报文探测模块1003和 状态设置模块1004电性连接,用于当所述路由器被设置为临时非查询器时, 根据报文探测模块1003所接收到的查询报文或者宣告报文中所包含的优先级 信息,比较查询器910与该路由器的优先级。
在具体的实施场景中,设备的优先级通常通过设备的IP地址进行表示,例 如,可以设置在同一网革爻中,IP地址越小的设备优先级越高。在本发明实施场 景中所提出的技术方案中,宣告报文所携带的优先级信息可以是发送该宣告 报文的查询器设备的IP地址信息,也可以是其他自定义的优先级信息,上述查询报文中所携带的优先级信息也是如此,这样的变化,并不影响本发明的保 护范围。
基于上述的比较模块1005,当该路由器被设置为临时非查询器,且接收 到的查询报文或者宣告报文中含有查询器910的优先级信息时,状态设置模 块1004进一步用于
当比较模块1005的比较结果为当前网段的查询器910的优先级高于该路 由器的优先级时,设置该路由器为非查询器920;
当比较模块1005的比较结果为当前网段的查询器910的优先级低于该路 由器的优先级时,设置该路由器与当前网段的其他非查询器920进行查询器 选举,生成当前网段中新的查询器910。
上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以 合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若千指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一 个优选实施场景的示意图,附图中 的模块或流程并不 一 定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景 描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施 场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可 以进一步拆分成多个子^t块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于 此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种组播网络中的状态管理方法,应用于包括一个查询器和至少一个非查询器以及至少一个用户终端的网段中,其中,所述查询器定期发送查询报文至非查询器以及用户终端,其特征在于,所述方法包括所述查询器进一步构造宣告报文,并按照宣告报文发送周期向所述网段中的非查询器发送宣告报文;所述非查询器判断在宣告报文探测周期内是否接收到所述查询器发送的宣告报文,其中所述宣告报文探测周期应大于所述宣告报文的发送周期,但应小于所述查询报文发送周期,并根据判断的结果以及预先设定的策略,对自身的状态进行设置。
2、 如权利要求l所述的方法,其特征在于,所述非查询器自身的状态根 据如下预定策略进行设置当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为重启状态或所述非查询器作为新设备接入所述网 段,所述非查询器设置自身为所述网段中新的查询器;当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为正常工作状态,所述非查询器与所述网段中的其 他非查询器进行选举,生成所述网段中新的查询器;当所述非查询器在宣告报文探测周期内收到查询器发送的宣告报文时, 所述非查询器根据所述宣告报文设置自身为临时非查询器。
3、 如权利要求2所述的方法,其特征在于,所述非查询器设置自身为临 时非查询器之后,还包括所述临时非查询器还需判断在查询报文探测周期内是否接收到所述查询 器发送的查询报文,所述查询报文包括所述查询器的优先级信息;如果所述临时非查询器在查询报文探测周期内接收到所述查询器发送的 查询报文,所述临时非查询器获取所述查询报文的优先级信息,比较所述查 询器与所述临时非查询器的优先级,进一步根据所述比较的结果进行自身的 状态设置;如果所述临时非查询器在查询报文周期内没有接收到所述查询器发送的查询报文,所述临时非查询器与所述网段的其他非查询器进行查询器选举, 生成所述网段中新的查询器。
4、 如权利要求3所述的方法,其特征在于,所述临时非查询器根据所述 比较的结果进行自身状态的设置,具体包括如果所述比较的结果为所述查询器的优先级高于所述临时非查询器的优 先级,所述临时非查询器设置自身为非查询器;如果所述比较结果为所述查询器的优先级低于所述临时非查询器的优先 级,所迷临时非查询器与所述网段的其他非查询器进行查询器选举,生成所 述网段中新的查询器。
5、 如权利要求l所述的方法,其特征在于,如果所述宣告报文还包括所 述查询器的优先级信息,所述非查询器根据接收到的所述宣告报文进行自身 状态的设置,具体包括所述非查询器获取所述宣告报文中所述查询器的优先级信息,比较所述 查询器与所述非查询器的优先级;如果所述比较的结果为所述查询器的优先级高于所述非查询器的优先 级,所述非查询器保持当前非查询器的设置;如果所迷比较的结果为所述查询器的优先级低于所述非查询器的优先 级,所述非查询器与所述网段的其他非查询器进行选举,生成所述网段中新 的查询器。
6、 如权利要求l所述的方法,其特征在于,当所述查询器发生重启时, 所述方法还包括重启后的所述查询器判断在宣告报文探测周期内是否接收到宣告报文; 如果在所述宣告报文探测周期内没有接收到所述宣告报文,重启后的所述查询器设置自身为所述网^:中的查询器;如果在所述宣告报文探测周期内接收到所述宣告报文,重启后的所述查询器根据所述宣告报文设置自身为临时非查询器。
7、 一种路由器,应用于包括一个查询器和至少一个非查询器以及至少一个用户终端的网段中,其中查询器定期向非查询器以及用户终端发送查询净艮文,其特征在于,所述路由器在当前网段中充当查询器或非查询器,包括报文使能模块,至少用于构造宣告报文,并在所述路由器充当查询器时, 启动或停止所述路由器向所述当前网段中的非查询器和用户终端发送宣告才艮 文的功能;报文计时模块,与所述报文使能模块和报文探测模块电性连接,至少用 于设定查询器上的宣告报文发送周期或者非查询器上的宣告报文探测周期, 并对查询器上的宣告报文发送周期或者非查询器上的宣告报文探测周期进行 计时,所述宣告报文发送周期小于所述宣告报文探测周期;报文探测模块,在所述路由器充当非查询器时启动,用于至少在宣告报 文探测周期内探测是否接收到所述当前网段的查询器发送的宣告报文;状态设置模块,与所述报文探测模块电性连接,用于当所述路由器充当 非查询器时,根据报文探测模块探测的宣告报文情况以及预先设定的策略, 将所述路由器设置为查询器状态或者非查询器状态。
8、 如权利要求7所述的路由器,其特征在于,所述状态设置模块具体根 据如下策略对所述路由器状态进行设定当报文探测模块在宣告报文探测周期内没有收到查询器发送的宣告报 文,且所述路由器为重启状态或所述路由器作为新设备接入所述当前网段时, 设置所述路由器为所述当前网段中新的查询器;当报文探测模块在宣告报文探测周期内没有收到查询器发送的宣告报 文,且所述路由器作为非查询器处在正常工作状态时,设置所述路由器与所 述当前网段的其他非查询器进行选举,生成所述当前网段中新的查询器。当报文探测模块在宣告报文探测周期内收到查询器发送的宣告报文时, 根据所述宣告报文设置所述路由器为临时非查询器。
9、 如权利要求7所述的路由器,其特征在于,所述报文使能模块,还用于构造查询报文,并在所述路由器充当查询器 时,启动所述路由器定期向所述非查询器和用户终端发送查询报文;所述报文计时模块,还用于设定查询器上的查询报文发送周期或者非查询器上的查询报文探测周期,并对查询器上所述查询报文发送周期或者非查 询器上的查询报文探测周期进行计时,所迷查询报文发送周期小于查询报文探测周期,但应大于所述宣告报文探测周期;所迷报文探测模块,还用于在所述路由器为临时非查询器时,进一步探 测在查询报文探测周期内是否接收到所述当前网段的查询器发送的查询报 文。
10、 如权利要求9所述的路由器,其特征在于,当所述路由器被设置为临 时非查询器,且所述报文探测模块没有接收到所述当前网段的查询器发送的 查询报文时,所述状态设置模块进一步用于设置所述路由器与所述当前网段的其他非查询器进行选举,生成所述当 前网段中新的查询器。
11、 如权利要求7或9所述的路由器,其特征在于,所述路由器还包括 比较模块,分别与所述报文探测模块和所述状态设置模块电性连接,用于当所述路由器被设置为临时非查询器时,根据所述查询报文或者宣告报文 中包含优先级信息,比较所述查询器与所述路由器的优先级。
12、 如权利要求11所述的路由器,其特征在于,当所述路由器被设置为 临时非查询器,且所述查询报文或者宣告报文中含有优先级信息时,所述状 态设置模块进一步用于当所述比较模块的比较结果为所述当前网段的查询器的优先级高于所述 路由器的优先级时,i殳置所述路由器为非查询器;当所述比较模块的比较结果为所述当前网段的查询器的优先级低于所述 路由器的优先级时,设置所述路由器与所述当前网段的其他非查询器进行查 询器选举,生成所述当前网段中新的查询器。
13、 一种组,播网络中的状态管理系统,包括一个查询器、至少一个非查 询器和至少一个用户终端,其中查询器定期向非查询器以及用户终端发送查 询报文,其特征在于所述查询器,还用于构造宣告报文,并按照宣告报文发送周期向所述非查询器和所述用户终端发送宣告报文;所述非查询器,与所述非查询器所在网段中的查询器电性连接,用于判 断在宣告报文探测周期内是否接收到所述查询器发送的宣告报文,其中所述 宣告报文探测周期应大于所述宣告报文的发送周期,但应小于查询报文发送 周期,并根据判断的结果以及预先设定的策略,对自身的状态进行设置。
14、如权利要求13所述的系统,其特征在于,所述路由器自身的状态根 据如下预定策略进行设置当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为重启状态或所述非查询器作为新设备接入所述网 段,所述非查询器设置自身为所述网段中新的查询器;当所述非查询器在宣告报文探测周期内没有收到查询器发送的宣告报文 时,且如果所述非查询器为正常工作状态,所述非查询器与所述网段中的其 他非查询器进行选举,生成所述网段中新的查询器;当所述非查询器在宣告报文探测周期内收到查询器发送的宣告报文时, 所述非查询器根据所述宣告报文设置自身为临时非查询器。
全文摘要
本发明公开了一种组播网络中的状态管理方法、路由器及系统,该方法包括查询器在定期向非查询器和用户终端发送查询报文的基础上进一步构造宣告报文,并按照宣告报文发送周期向所述网段中的非查询器发送宣告报文;所述非查询器判断在宣告报文探测周期内是否接收到所述查询器发送的宣告报文,其中所述宣告报文探测周期应大于所述宣告报文的发送周期,但应小于所述查询报文发送周期,并根据判断的结果以及预先设定的策略,对自身的状态进行设置。通过本发明,非查询器能够及时获知查询器是否存在,并在查询器失效后及时重新选举生成新的查询器,使得网络中组播业务能够快速恢复,增强组播业务性能。
文档编号H04L12/18GK101515873SQ200910131220
公开日2009年8月26日 申请日期2009年4月9日 优先权日2009年4月9日
发明者伟 王, 郑有勇 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1