以太网二层组播快速收敛的方法及以太网系统的制作方法

文档序号:7662520阅读:362来源:国知局
专利名称:以太网二层组播快速收敛的方法及以太网系统的制作方法
技术领域
本发明涉及以太网技术领域,具体是以太网二层组播快速收敛的方法及以太网系统。
背景技术
近年来,随着互联网的迅速普及和推广,组播技术和环网技术在市场上的应用越来越广泛。组播技术指的是单个发送者对应多个接收者的一种网络通信技术,它实现了 IP(网际协议)网络通信中的点到多点的高效速率传输,能够有效地节约网络带宽、降低网络负载,广泛的应用于实时数据传送、多媒体会议、数据拷贝、游戏和仿真等诸多方面。环网技术是一种实时链路备份技术,它为业务数据的可靠性传输提供了保障,通过在主链路发生故障的时候及时将数据流量切换至备份链路,有效地实现了链路保护功能,解决了传统数据网保护能力弱、故障恢复时间长的问题,理论上可以提供50ms的快速保护特性,同时兼容传统的以太网协议。IGMP(互联网组管理协议)是因特网协议家族中的一个组播协议,目前IGMP具有三种版本,即IGMP vUv2和v3。它主要用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。主机需要响应组播路由器的IGMP查询报文,即以IGMP成员报告报文响应;路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,并且当收到主机的退出组的报告时,发出特定组的查询报文(IGMP v2),以确定某个特定组是否已无成员存在。IGMP Snooping(互联网组管理侦听协议)是运行在二层设备上的组播约束机制, 用于管理和控制组播组。运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC (Media Access Control,硬件位址)组播地址建立起映射关系,并根据这样的映射关系转发组播数据。当二层设备没有运行IGMP Snooping时,组播数据在二层设备被广播;当二层设备运行了 IGMP Snooping后,已知组播组的组播数据不会在二层设备被广播,而在二层设备被组播给指定的接收者。目前,在使用IGMP Snooping协议的二层组播链路网络中,通常在最上游设备上配置查询器,通过周期性的向下游设备发送IGMP通用查询报文来获取用户加入或者离开组播组的消息。另外,当上游设备从某个端口收到离开报文时,如果这个端口上存在离开报文中所指定的组,那么它就会生成特定组查询报文,查询与它连接的子网中是否还存在其它主机需要接收特定组的数据报文。如果下游设备或用户收到IGMP查询报文之后,就会将收到查询报文的端口设置为IGMP路由端口,并且向路由端口发送所要查询组的IGMP报告报文。依据这个原理,当前在二层环网链路环境下,二层组播转发路径的收敛过程为当主链路发生故障时,组播流量不会立刻从主链路上切换到备份链路上去转发,而是一直等到上游IGMP查询器发下一个通用查询报文,并且主机发送IGMP报告报文来响应该查询时,二层链路上才会重新学习IGMP报告报文来更新转发链路,组播流量才切换到备份链路上来。当主链路故障恢复时,备份链路会被二层环网协议阻塞掉,但组播流量也不会立刻从备份链路上切回至主链路,而仍然要等待一个通用查询周期的时间。通常情况下,通用查询周期是几分钟,也就是说,这期间组播流量不能正常完成切换,即组播业务一直不通。从而,在二层环网中的组播业务就不能够快速收敛,其可靠性大大降低。

发明内容
本发明的主要目的是提供一种以太网二层组播快速收敛的方法及以太网系统,以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。本发明解决其技术问题所采用的技术方案是一种以太网二层组播快速收敛的方法,其包括节点确定发生故障端口或者被阻塞端口上有用户存在,且该发生故障端口或者被阻塞端口上的用户将会从该发生故障端口或者被阻塞端口所在的设备下线;节点构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值,并将所述离开报文发往组播路由端口 ;查询器接收所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文,否则结束该流程;所述查询器的下游设备接收到所述查询报文,响应所述查询报文并进行组播流量的切换。优选地,所述节点将所述离开报文发往组播路由端口之后,进一步包括代理设备接收到所述离开报文,并将所述离开报文转发给所述查询器。优选地,所述节点确定发生故障端口上有用户存在,且该故障端口上的用户将会从该故障端口所在的设备下线,具体包括端口物理状态由打开UP变为关闭DOWN ;或者,端口的逻辑状态由转发FORWARD变为阻塞FORWARD ;或者,端口是组播路由端口,该端口的逻辑状态由FORWARD变为BLOCK,且该节点上存在组播用户。优选地,执行节点确定发生故障端口上有用户存在,且该故障端口上的用户将会从该故障端口所在的设备下线之后,进一步包括确定所述被阻塞的端口为组播路由端口,并确定该组播路由端口上哪些VLAN被阻塞掉,以及确定该节点存在所述VLAN内的组播用户。 优选地,所述故障端口为物理被DOWN的端口。本发明还提供一种以太网系统,包括节点,用于节点确定发生故障端口或者被阻塞端口上有用户存在,且该发生故障端口或者被阻塞端口上的用户将会从该发生故障端口或者被阻塞端口所在的设备下线,然后构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值,并将所述离开报文发往组播路由端口 ;查询器,用于接收所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文;
查询器的下游设备,用于接收到所述查询报文,响应所述查询报文并进行组播流量的切换。优选地,所述的系统还包括代理设备,用于接收到所述离开报文,并将所述离开报文转发给所述查询器。优选地,所述节点,用于确定端口物理状态由UP变为DOWN,导致用户下线;或者, 端口的逻辑状态由FORWARD变为BLOCK,导致用户下线;或者,端口是组播路由端口,该端口的逻辑状态由FORWARD变为BLOCK,且该所述节点上存在组播用户。所述节点,还用于确定所述被阻塞的端口为组播路由端口,并确定该组播路由端口上哪些VLAN被阻塞掉,以及确定该节点存在所述VLAN内的组播用户。优选地,所述节点,用于端口物理状态由打开UP变为关闭DOWN ;或者,端口的逻辑状态由转发FORWARD变为阻塞FORWARD ;或者,端口是组播路由端口,该端口的逻辑状态由 FORWARD变为BLOCK,且该节点上存在组播用户。 优选地,所述故障端口为物理被DOWN的端口。实施本发明的技术方案,具有以下有益效果本发明提供的方法和系统,通过在离开报文中设定最大响应的时间来告知查询器,使查询器的下游设备能够响应该查询器,完成链路连接,以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。


图1为本发明实施例提供的第一种方法流程图;图2为本发明实施例提供的第二种方法的流程图;图3为本发明实施例提供的系统结构图;图4为本发明实施例提供的系统另一结构图;图5为本发明实施例提供以太网拓扑的应用实例的结构示意图;图6为本发明实施例提供以太网拓扑的另一应用实例的结构示意图;图7为本发明实施例提供以太网拓扑的又一应用实例的结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供一种以太网二层组播快速收敛的方法,该实施例提供的方法应用于当组播流量的链路发生故障的时候,如图1所示,该方法包括步骤S110、节点确定发生故障的端口上有用户存在,且由于该故障将会导致该用户下线;具体的首先检测到链路拓扑发生变化,该变化包括三种情况一,端口物理状态由UP变为DOWN,导致用户下线;二,端口的逻辑状态由FORWARD变为BLOCK,导致用户下线;三,端口是组播路由端口,该端口的逻辑状态由FORWARD变为BLOCK,且该所述节点上存在组播用户。S120、节点构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值,并将所述离开报文发往组播路由端口 ;具体的当组播流量的链路发生故障的时候,节点确定发生故障的端口上有用户存在,并且由于这个故障将会导致该用户下线的,则该节点需要构造这些用户所在组的离开报文, 离开报文中的最大响应时间字段填充为255,在其他的实施例中,该字段也可以填充为其他的预定值,然后发往该节点的组播路由端口。S130、查询器接收到所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文;否则结束该流程。具体的当查询器收到该离开报文之后,需要判断其中的最大响应时间字段,如果是255, 则向其所有非组播路由端口发查询报文(如特定组查询或通用查询报文)。S140、所述查询器的下游设备接收到所述查询报文,响应所述查询报文并进行组播流量的切换。该下游设备是通过发送加入报文响应该查询报文的,该当前用户有可能是上述的用户,也有可能不是上述的用户。该下游设备可以为该查询器下一级的网络侧设备,也可以为用户。该方法中,还进一步包括步骤代理设备接收到所述离开报文,并将所述离开报文转发给所述查询器。代理设备在转发离开报文时,不修改(有些厂商会在代理转发时将该字段置0)报文中的最大响应时间字段值。如果没有代理设备,则节点直接从组播路由端口将离开报文发送到查询器。该方法在组播流量的链路发生故障的时候,通过在离开报文中设定最大响应的时间来告知查询器,使查询器的下游设备能够响应该查询器,完成链路连接,以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。本发明实施例提供一种以太网二层组播快速收敛的方法,该实施例提供的方法应用于当组播流量的链路发生故障的时候,如图2所示,该方法包括S210、节点确定被阻塞的端口上有用户存在,并且有用户因为所述端口阻塞导致下线;更为具体的,该步骤S210包括首先检测到链路拓扑发生变化,该变化包括三种情况一,端口物理状态由UP (打开)变为D0WN(关闭),即状态改变会导致用户下线;二,端口的逻辑状态由FORWARD (转发)变为BLOCK (阻塞),即状态改变会导致用户下线;三,端口是组播路由端口,该端口的逻辑状态由FORWARD变为BLOCK,且该所述节点上存在组播用户。在其他的实施例中,所述步骤S210之后,进一步包括如果确定所述被阻塞的端口为组播路由端口,并确定该组播路由端口上哪些VLAN 被阻塞掉,以及确定该节点存在所述VLAN内的组播用户,该组播用户为用户。S220、节点构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值,并将所述离开报文发往组播路由端口 ;当组播流量的链路故障恢复的时候,节点确定发生故障的端口上有用户存在,并且由于这个故障将会导致该用户下线的,则该节点需要构造这些用户所在组的离开报文,
7离开报文中的最大响应时间字段填充为255,在其他的实施例中,该字段也可以填充为其他的预定值,然后发往该节点的组播路由端口。S230、查询器接收到所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文,如果不是,则结束该流程;具体的当查询器收到该离开报文之后,需要判断其中的最大响应时间字段,如果是255, 则向其所有非组播路由端口发查询报文(如特定组查询或通用查询报文)。SM0、所述查询器的下游设备接收到所述查询报文,响应所述查询报文并进行组播流量的切换,以加快组播流量在链路中的收敛。该下游设备是通过发送加入报文响应该查询报文的,该当前用户有可能是上述的用户,也有可能不是上述的用户。该方法中,还进一步包括步骤代理设备接收到所述离开报文,并将所述离开报文转发给所述查询器。代理设备在转发离开报文时,不修改(有些厂商会在代理转发时将该字段置0)报文中的最大响应时间字段值。如果没有代理设备,则节点直接从组播路由端口将离开报文发送到查询器。该方法在组播流量的链路故障恢复的时候,通过在离开报文中设定最大响应的时间来告知查询器,使查询器的下游设备能够响应该查询器,完成链路连接,以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。本发明实施例还提供一种以太网系统,如图3所示,系统包括节点310,用于确定发生故障的端口上有用户存在,且由于该故障将会导致该用户下线,然后构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值, 并将所述离开报文发往组播路由端口 ;更为具体的,该节点310用于确定端口物理状态由 UP变为DOWN,即状态改变会导致用户下线;或者,端口的逻辑状态由FORWARD变为BLOCK, 即状态改变会导致用户下线;或者,端口是组播路由端口,该端口的逻辑状态由FORWARD变为BLOCK,且该所述节点上存在组播用户。查询器320,用于接收所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文;查询器的下游设备330,用于接收到所述查询报文,响应所述查询报文并进行组播流量的切换,以加快组播流量在链路中的收敛。在其他的实施例中,该系统如图4所示,还包括代理设备311,用于接收到所述离开报文,并将所述离开报文转发给所述查询器320。该方法在组播流量的链路发生故障的时候,通过在离开报文中设定最大响应的时间来告知查询器,使查询器的下游设备能够响应该查询器,完成链路连接,以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。本发明还提供另一种以太网系统,如图3所示,该系统包括节点310,用于确定被阻塞的端口上有用户存在,并且有用户因为所述端口阻塞导致下线,然后构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值,并将所述离开报文发往组播路由端口 ;更为具体的,该节点310用于确定端口物理状态由UP变为DOWN,即状态改变会导致用户下线;或者,端口的逻辑状态由FORWARD变为BLOCK,即状态改变会导致用户下线;或者,端口是组播路由端口,该端口的逻辑状态由 FORWARD变为BLOCK,且该所述节点上存在组播用户。查询器320,用于接收到所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文;查询器的下游设备330,用于接收到所述查询报文,响应所述查询报文并进行组播流量的切换,以加快组播流量在链路中的收敛。该该系统中,如果查询器的后没有连接下游设备,则直接连接用户在其他的实施例中,进一步的,所述节点310,还用于确定所述被阻塞的端口为组播路由端口,并确定该组播路由端口上哪些VLAN被阻塞掉,以及确定该节点310存在所述 VLAN内的组播用户,该组播用户为用户。该系统在组播流量的链路故障恢复的时候,通过在离开报文中设定最大响应的时间来告知查询器,使查询器的下游设备能够响应该查询器,完成链路连接,以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。下面描述上述方法和系统的应用实例应用实例一如图5所示的拓扑。该拓扑为包括源服务器、交换机和用户组成的以太网拓扑, 其中,交换机SO、Si、S2、S3和S4上开启IGMP Snooping功能,交换机Si、S2、S3、S4构成一个环路,交换机Sl- > S2- > S3是主链路,交换机Sl- > S4- > S3是备份链路。其中交换机SO的端口 1配置代理查询器,交换机Sl的端口 3、交换机S2的端口 2、交换机S3的1和端口 2、交换机S4的端口 1都是组播路由端口(动态的或者配置为静态的),用户点播后, 在交换机Sl的端口 1、交换机S2的端口 1、交换机S3的端口 3都形成有组播用户表项。在链路正常的情况下,组播流量是沿主链路下来的。当主链路发生故障时,如图6所示的拓扑,该拓扑为包括源服务器、交换机和用户组成的以太网拓扑,交换机S3的端口 1的状态会从BLOCK进入FORWARD。交换机S2的端口 1物理连接断开,端口 1上的用户将会下线,此时交换机S2构造这些用户组的离开报文, 离开报文中的最大响应时间字段被填充为255,然后向端口 2发出。交换机Sl从端口 1收到这些离开报文之后,将该离开报文从端口 3发出,不改变其中的最大响应时间字段值。交换机SO从端口 1收到这些离开报文之后,判断报文中最大响应时间字段的值是否为255,如果是255,则从端口 1发出查询报文,交换机Sl收到查询报文后会在端口 1和端口 2发出, 交换机S2收到后会丢弃,交换机S4收到后会从端口 2发出,交换机S3收到后会响应组播加入报文从端口 1发出,交换机S4收到后会在端口 2形成表项,然后从端口 1发出,交换机 Sl收到后会在端口 2形成表项,然后从端口 3发出,交换机SO收到后会在端口 1形成表项。 这样数据流量就能够从备份链路上下来,从而形成快速收敛。当主链路故障恢复时,如图5所示,交换机S3的端口 1的状态又会从FORWARD进入 BLOCK。此时交换机S3的端口 1是组播路由端口,且S3上有组播用户表项(在端口 3上), 因此,交换机S3会构造它上面所有组播用户组的离开报文,该离开报文中的最大响应时间字段被填充为255,然后向端口 1和端口 2发出。交换机S2上由于没有组播用户表项,因此不会向组播路由端口转发该离开报文,直接丢弃;而交换机S4上是有组播用户表项的,因此会向组播路由端口转发离开报文。后续的步骤就和前一段中所描述的链路发生故障时的后续步骤类似了,因此这里不再赘述。当主链路上的节点重新收到加入报文之后,组播流量就完成了链路恢复时的快速切换了。应用实例二 如图7所示的拓扑。的拓扑,该拓扑为包括源服务器、交换机和用户组成的以太网拓扑,如图7所示的拓扑和图5的拓扑类似,只是环路的阻塞端口不再是交换机S3的端口 1,而是交换机S4的端口 2。主链路发生故障时和应用实例一中的链路故障处理步骤类似,这里不再重复。而当主链路故障恢复时,如图7所示,交换机S4的端口 2的状态会从FORWARD进入BLOCK,此时交换机S4的端口 2上有用户表项,因此,交换机S2会构造这些下线的用户组的离开报文,离开报文中的最大响应时间字段被填充为255,然后向端口 1发出。后续的步骤和前面应用实例一链路发生故障的过程相同,因此不再赘述。以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种以太网二层组播快速收敛的方法,其特征在于,包括节点确定发生故障端口或者被阻塞端口上有用户存在,且该故障端口或者被阻塞端口上的用户将会从该故障端口或者被阻塞端口所在的设备下线;节点构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值, 并将所述离开报文发往组播路由端口;查询器接收所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文,如果不是则结束该流程;所述查询器的下游设备接收到所述查询报文,响应所述查询报文并进行组播流量的切换。
2 如权利要求1所述方法,其特征在于,所述节点将所述离开报文发往组播路由端口之后,进一步包括代理设备接收到所述离开报文,并将所述离开报文转发给所述查询器。
3.如权利要求1所述方法,其特征在于,所述节点确定发生故障端口上有用户存在,且该故障端口上的用户将会从该故障端口所在的设备下线,具体包括端口物理状态由打开UP变为关闭DOWN ;或者,端口的逻辑状态由转发FORWARD变为阻塞BLOCK ;或者,端口是组播路由端口,该端口的逻辑状态由FORWARD变为BLOCK,且该节点上存在组播用户。
4.如权利要求1所述方法,其特征在于,所述故障端口为物理被DOWN的端口。
5.如权利要求1所述的方法,其特征在于,执行节点确定被阻塞端口上有用户存在,且该被阻塞端口上的用户将会从该被阻塞端口所在的设备下线,之后,进一步包括确定所述被阻塞的端口为组播路由端口,并确定该组播路由端口上哪些虚拟局域网 VLAN被阻塞掉,以及确定该节点存在所述VLAN内的组播用户。
6.一种以太网系统,其特征在于,包括节点,用于确节点确定发生故障端口或者被阻塞端口上有用户存在,且该发生故障端口或者被阻塞端口上的用户将会从该发生故障端口或者被阻塞端口所在的设备下线,然后构造所述用户所在组的离开报文,设定所述离开报文的最大响应时间为预定值,并将所述离开报文发往组播路由端口;查询器,用于接收所述离开报文,根据所述离开报文判断出所述最大响应时间是预定值,则向其所有非组播路由端口发送查询报文;查询器的下游设备,用于接收到所述查询报文,响应所述查询报文并进行组播流量的切换。
7.如权利要求6所述的系统,其特征在于,还包括代理设备,用于接收到所述离开报文,并将所述离开报文转发给所述查询器。
8.如权利要求6所述的系统,其特征在于,所述节点,用于确定端口物理状态由UP变为 DOWN,导致用户下线;或者,端口的逻辑状态由FORWARD变为BLOCK,导致用户下线;或者,端口是组播路由端口,该端口的逻辑状态由F0RW0RD变为BLOCK,且该所述节点上存在组播用户;所述节点,还用于确定所述被阻塞的端口为组播路由端口,并确定该组播路由端口上哪些VLAN被阻塞掉,以及确定该节点存在所述VLAN内的组播用户,该组播用户为用户。
9.如权利要求6所述的系统,其特征在于,所述节点,用于端口物理状态由打开UP变为关闭DOWN;或者,端口的逻辑状态由转发 FORWARD变为阻塞FORWARD ;或者,端口是组播路由端口,该端口的逻辑状态由FORWARD变为 BLOCK,且该节点上存在组播用户。
10.如权利要求6所述系统,其特征在于,所述故障端口为物理被DOWN的端口。
全文摘要
本发明涉及一种以太网二层组播快速收敛的方法及以太网系统,该方法包括节点确定发生故障的端口或者被阻塞的端口上有用户存在,且由于该故障或者被阻塞将会导致该用户下线;构造用户所在组的离开报文,设定离开报文的最大响应时间为预定值,查询器接收离开报文,根据离开报文判断出最大响应时间是预定值,则向其所有非组播路由端口发送查询报文;查询器的下游设备接收到查询报文,响应查询报文完成组播流量的切换。以解决在链路拓扑发生变化时,组播业务不能快速切换的问题,保障组播业务的可靠性和稳定性。
文档编号H04L12/56GK102185776SQ201110120018
公开日2011年9月14日 申请日期2011年5月10日 优先权日2011年5月10日
发明者周吉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1