Mac地址的老化方法及系统的制作方法

文档序号:7760314阅读:269来源:国知局
专利名称:Mac地址的老化方法及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种介质访问控制(Media Access Control,简称 为MAC)地址的老化方法及系统。
背景技术
MAC地址是识别局域网(Local Area Network,简称为LAN)节点的标识,其与设 备(例如,网卡)的接口是全球唯一的。通常,MAC地址为48位,用12个十六进制数表示, 其中,前6个数由电气和电子工程师学会(Institute for Electrical and Electronic Engineers,简称为IEEE)来管理,用于识别生产者或者厂商,构成组织唯一识别符 (Organizational Unique Identif ier,简称为0UI),后6个数一般包括网卡序列号、或者特 定硬件厂商的设定值。下面介绍几个与MAC地址相关的概念(I)MAC地址学习将每个所接收的报文的源MAC地址存储在这个学习虚拟局域网 (Virtual LAN Local Area Network,简称为VLAN)里,以便后续送达该地址的报文只转发 到此地址所在接口,而不是转发到VLAN的所有接口。可见,MAC地址学习是为了让报文到 达设备之后转发往指定的端口,进而减小局域网内的业务量,有助于将与其相连局域网的 业务量最小化。(2)MAC地址老化经过一段时间(例如,预定的老化时间)之后,MAC地址被删除。 因为每个MAC地址都是需要占用实际软硬件资源,当某个MAC地址没有存在必要的时候,就 必须要删除掉并释放软硬件资源。(3)MAC地址保活如果在预定的时段(例如,老化时间)内,又收到该MAC地址, 那么这个MAC地址就不应该被学习(已经存在),也不应该被老化,此时可以将预定的时段 复位,重新开始计时。图1是根据相关技术的分布式系统中各子系统和各管理系统之间的关系示意图, 如图1所示,对于分布式网络设备在一个子系统(子系统1,端口 12)上学习到MAC地址之 后,需要把这个MAC地址通过子系统同步模块同步到其他所有的子系统上去,这样才能保 证其他子系统收到这个MAC地址的报文之后,能转发到学习到的这个MAC地址对应的端口 上去(子系统1端口 12上)。如果子系统1端口 12上的这个MAC地址一直有流存在,则这个MAC地址在所有的 子系统上都需要保留不能被删除,由于只有在子系统1端口 12上收到源MAC地址的数据流 才能在子系统1上保活,所以,无法收到这样的流量的其他子系统会有一个“假老化”的过 程。例如,软件在接收到这个“假老化”消息后,由于此时硬件MAC地址表项还是存在的,所 以首先会判断一下MAC地址表中的端口是否在本子系统上,如果不是,则不理会这个消息。 所以,在其他子系统上的MAC地址是不会被删除的,这就是仅有归属地子系统才可以发起 老化的原则,即,其他子系统上的MAC地址删除是需要等待子系统1上的MAC地址没有被保 活住,告知MAC地址表管理模块,由MAC地址表管理模块在所有子系统上删除相应的MAC地址。但是,发明人发现在二层网络设备中会存在一种聚合端口,这种聚合端口是一个 逻辑概念,是一系列物理端口的集合,并且一个聚合端口中的物理口可以在不同的子系统 上,也就是说,聚合端口没有归属地信息,或者说聚合端口的归属地是所有子系统,在聚合 端口上学习到的MAC地址,对应的出端口就是一个聚合端口,而不是某个物理端口,这样, 所有的子系统均有权利发起老化。可见,此时对于普通端口 MAC地址保活原则就不适用了,因为聚合端口不属于任 何一个子系统(一个聚合端口的成员物理口可以同时在多个子系统上),如果按照端口所 属子系统进行保活的话,除非所有这个聚合端口在所有的子系统上均有成员端口,并且所 有的端口都能收到用来保活的数据流,否则,必然有某个子系统上对应的这个MAC地址表 项没办法被保活。并且,在这种情况下,普通端口也不能像处理“假老化”一样通过判断端口 所属子系统来否决“假老化”消息,所以MAC地址表管理模块就会删除这个“本来可以不删 除”(其他子系统可能有这个聚合端口的保活流量)的MAC地址,在MAC地址被删除之后, 以该MAC地址为目的MAC地址的数据流就会在二层设备上洪泛,增加带宽占有率。

发明内容
本发明的主要目的在于提供一种MAC地址的老化方案,以至少解决上述的在二层 网络设备中存在聚合端口的情况下,由于某些子系统上对应的MAC地址表项无法被保活而 导致带宽占有率增加的问题。为了实现上述目的,根据本发明的一个方面,提供了一种MAC地址的老化处理方法。根据本发明的MAC地址的老化处理方法,包括以下步骤全局系统从本地的MAC地 址表中依次获取MAC地址表项;判断该MAC地址表项在所有子系统中的老化状态;在所有 子系统中该MAC地址表项的老化状态全为老化的情况下,通知所有子系统老化该MAC地址 表项;否则,保活所有子系统中的该MAC地址表项。进一步地,判断该MAC地址表项在所有子系统中的老化状态之前,该方法还包括 全局系统接收来自子系统的该MAC地址表项的老化消息或者保活消息,获取并记录子系统 中该MAC地址表项的老化状态。进一步地,全局系统接收来自子系统的MAC地址表项的老化消息或者保活消息之 前,该方法还包括子系统在其子系统MAC地址表中的MAC地址表项的老化状态变更的情况 下,向全局系统发送在子系统MAC地址表中的老化状态变更的MAC地址表项的老化消息或 者保活消息。进一步地,子系统向全局系统发送在子系统MAC地址表中的老化状态变更的MAC 地址表项的老化消息或者保活消息之前,该方法还包括子系统MAC地址表中的MAC地址 表项的老化状态在更新前后不一致的情况下,子系统确定该MAC地址表项的老化状态已变更。进一步地,子系统确定该MAC地址表项的老化状态已变更之前,该方法还包括子 系统在接收到子系统MAC地址表中的MAC地址表项的保活报文时,将该MAC地址表项的老 化状态更新为保活;子系统在子系统MAC地址表中的MAC地址表项的老化时间到达时,将该MAC地址表项的老化状态更新为老化。为了实现上述目的,根据本发明的另一个方面,提供了一种MAC地址的老化处理 系统。根据本发明的MAC地址的老化处理系统,包括全局系统和多个子系统,其中,全局 系统包括获取模块,用于从全局系统MAC地址表中依次获取MAC地址表项;判断模块,用 于判断该MAC地址表项在所有子系统中的老化状态;老化模块,用于在判断模块判定所有 子系统中该MAC地址表项的老化状态全为老化的情况下,通知所有子系统老化该MAC地址 表项;以及保活模块,用于在判断模块判定所有子系统中该MAC地址表项的老化状态不全 为老化的情况下,保活所有子系统中的该MAC地址表项。进一步地,全局系统还包括接收模块,用于接收来自子系统的该MAC地址表项的 老化消息或者保活消息;记录模块,用于根据接收模块接收到的该MAC地址表项的老化消 息或者保活消息,获取并记录子系统中该MAC地址表项的老化状态。进一步地,多个子系统中的每个子系统包括发送模块,用于在子系统MAC地址表 中的MAC地址表项的老化状态变更的情况下,向全局系统发送在子系统MAC地址表中的老 化状态变更的MAC地址表项的老化消息或者保活消息。进一步地,多个子系统中的每个子系统还包括确定模块,用于子系统MAC地址表 中的MAC地址表项的老化状态在更新前后不一致的情况下,确定该MAC地址表项的老化状 态已变更。进一步地,多个子系统中的每个子系统还包括更新模块,用于在接收到子系统 MAC地址表中的MAC地址表项的保活报文时,将该MAC地址表项的老化状态更新为保活;以 及在子系统MAC地址表中的MAC地址表项的老化时间到达时,将该MAC地址表项的老化状 态更新为老化。通过本发明,采用当所有子系统中同一 MAC地址的老化状态都为老化时,再将其 老化的方式,解决了在二层网络设备中存在聚合端口的情况下,由于某些子系统上对应的 MAC地址表项无法被保活而导致带宽占有率增加的问题,提高了系统的性能和处理能力。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据相关技术的分布式系统中各子系统和各管理系统之间的关系示意图;图2是根据本发明实施例的MAC地址的老化处理方法的流程图;图3是根据本发明实施例的MAC地址的老化处理系统的结构框图;图4是根据本发明优选实施例的MAC地址的老化处理系统的结构框图;图5是根据本发明优选实施例一的全局系统的处理流程图;图6是根据本发明优选实施例二的子系统的处理流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明的实施例,提供了一种MAC地址的老化处理方法。图2是根据本发明 实施例的MAC地址的老化处理方法的流程图,如图2所示,该方法包括以下步骤步骤S202,全局系统从本地的MAC地址表中依次获取MAC地址表项;步骤S204,判断MAC地址表项在所有子系统中的老化状态;步骤S206,在所有子系统中MAC地址表项的老化状态全为老化的情况下,通知所 有子系统老化MAC地址表项;否则,保活所有子系统中的MAC地址表项。通过上述步骤,采用当所有子系统中同一 MAC地址的老化状态都为老化时,再将 其老化的方式,解决了在二层网络设备中存在聚合端口的情况下,由于某些子系统上对应 的MAC地址表项无法被保活而导致带宽占有率增加的问题,提高了系统的性能和处理能 力。优选地,在步骤S204之前,全局系统接收来自子系统的MAC地址表项的老化消息 或者保活消息,获取并记录子系统中MAC地址表项的老化状态。该方法可以获取全局系统 MAC地址表中的MAC地址表项在各子系统中的实时状态,提高了系统的有效性和准确性。在具体实施过程中,可以是子系统向全局系统发送该子系统的MAC地址表项的老 化消息或者保活消息,全局系统根据接收到的消息将该MAC地址表项的老化状态记录与其 对应的全局系统MAC地址表中。例如,子系统可以主动发送该子系统的MAC地址表项的老化消息或者保活消息, 也可以是全局系统定时扫描各子系统MAC地址表中的MAC地址表项,根据各子系统MAC地 址表中的MAC地址表项的老化状态变更情况,更新全局系统MAC地址表中相应的MAC地址 表项的老化状态。优选地,全局系统接收来自子系统的MAC地址表项的老化消息或者保活消息之 前,子系统在其子系统MAC地址表中的MAC地址表项的老化状态变更的情况下,向全局系统 发送在子系统MAC地址表中的老化状态变更的MAC地址表项的老化消息或者保活消息。这 样可以通知全局系统在子系统MAC地址表中的MAC地址表项的当前状态,使得全局系统做 相应的处理,提高了系统的性能。优选地,子系统向全局系统发送在子系统MAC地址表中的老化状态变更的MAC地 址表项的老化消息或者保活消息之前,子系统MAC地址表中的MAC地址表项的老化状态在 更新前后不一致的情况下,子系统确定该MAC地址表项的老化状态已变更。该方法可以使 得子系统MAC地址表中的MAC地址表项的老化状态与实时得到更新,提高了系统的实时性 和有效性。优选地,子系统确定该MAC地址表项的老化状态已变更之前,子系统在接收到子 系统MAC地址表中的MAC地址表项的保活报文时,将该MAC地址表项的老化状态更新为保 活;子系统在子系统MAC地址表中的MAC地址表项的老化时间到达时,将该MAC地址表项的 老化状态更新为老化。该方法实现简单、可操作性强。对应于上述的优选实施方式,在本实施例中还提供了一种MAC地址的老化处理系 统。图3是根据本发明实施例的MAC地址的老化处理系统的结构框图,如图3所示,该MAC 地址的老化处理系统包括全局系统32和多个子系统34,其中,全局系统32包括获取模块 3202、判断模块3204、老化模块3206和保活模块3208,下面对各部分进行详细说明。获取模块3202,用于从全局系统MAC地址表中依次获取MAC地址表项;判断模块3204,耦合至获取模块3202,用于判断MAC地址表项在所有子系统中的老化状态;老化模块 3206,耦合至判断模块3204,用于在判断模块3204判定所有子系统中MAC地址表项的老化 状态全为老化的情况下,通知所有子系统老化MAC地址表项;以及保活模块3208,耦合至判 断模块3204,用于在所有子系统中MAC地址表项的老化状态不全为老化的情况下,保活所 有子系统中的MAC地址表项。通过本发明实施例,采用当所有子系统中同一 MAC地址的老化状态都为老化时, 再将其老化的方式,解决了在二层网络设备中存在聚合端口的情况下,由于某些子系统上 对应的MAC地址表项无法被保活而导致带宽占有率增加的问题,提高了系统的性能和处理 能力。图4是根据本发明优选实施例的MAC地址的老化处理系统的结构框图,如图4所 示,全局系统32还包括接收模块3210,用于接收来自子系统的MAC地址表项的老化消息 或者保活消息;记录模块3212,耦合至接收模块3210,用于根据接收模块3210接收到的 MAC地址表项的老化消息或者保活消息,获取并记录子系统中MAC地址表项的老化状态。优选地,多个子系统中的每个子系统34包括发送模块3402,用于在子系统MAC 地址表中的MAC地址表项的老化状态变更的情况下,向全局系统发送在子系统MAC地址表 中的老化状态变更的MAC地址表项的老化消息或者保活消息。
优选地,多个子系统中的每个子系统还包括确定模块3404,耦合至发送模块 3402,用于子系统MAC地址表中的MAC地址表项的老化状态在更新前后不一致的情况下,确 定该MAC地址表项的老化状态已变更。优选地,多个子系统中的每个子系统还包括更新模块3406,耦合至确定模块 3404,用于在接收到子系统MAC地址表中的MAC地址表项的保活报文时,将该MAC地址表项 的老化状态更新为保活;以及在子系统MAC地址表中的MAC地址表项的老化时间到达时,将 该MAC地址表项的老化状态更新为老化。下面将结合实例对本发明实施例的实现过程进行详细描述。优选实施例一本实施例针对分布式系统中聚合端口 MAC地址归属地难以确认的情况,提供了一 种正确老化MAC地址的方法。由于这种聚合端口 MAC地址的保活和老化都是在各个子系统 上实现的,均会受制于无法知道其他子系统对应MAC地址是否被保活,所以可以采用在全 局系统上管理仲裁所有子系统上MAC地址是否需要老化的机制来实现。图5是根据本发明优选实施例一的全局系统的处理流程图,如图5所示,在全局系 统中的处理流程可以包括以下步骤步骤S502,启动全局聚合端口 MAC地址管理模块。在具体实施过程中,全局系统中的MAC地址的老化处理方法可以由该全局聚合端 口 MAC地址管理模块来实现。步骤S504,判断全局系统MAC地址表中是否存在MAC地址表项(S卩,全局系统MAC 地址表是否非空)。若是,则转到步骤S506,否则,结束流程。步骤S506,扫描该全局系统MAC地址表中的MAC地址表项(即,某个MAC地址条 目)。步骤S508,提取与扫描的MAC地址表项对应的所有子系统中该MAC地址表项的老化消息或者保活消息。在具体实施过程中,可 以是全局系统接收到各子系统发送的与全局系统MAC地址 表中的MAC地址表项对应的老化消息或者保活消息。步骤S510,根据提取结果记录所有子系统中该MAC地址表项的老化状态。步骤S512,判断是否所有子系统中该MAC地址表项的老化状态都是“老化”。若是, 则转到步骤S514,否则,转到步骤S516。需要说明的是,在具体实施过程中,对该MAC地址表项处理完毕之后,可以再回到 步骤S504,判断全局系统MAC地址表为空时,扫描另一条该全局系统MAC地址表中的MAC地 址表项,做类似处理。步骤S514,通知所有子系统老化这个MAC地址表项。例如,从各自的子系统MAC地 址表中删除该MAC地址表项。步骤S516,让所有子系统上对应MAC地址表项保活。优选实施例二本实施例对各子系统中MAC地址表项的老化处理进行了详细描述。图6是根据本 发明优选实施例二的子系统的处理流程图,如图6所示,在子系统中的处理流程可以包括 以下步骤步骤S602,扫描子系统MAC地址表中的MAC地址表项(即,某个MAC地址条目)。 例如,可以是子系统定时扫描子系统MAC地址表中的MAC地址表项。步骤S604,判断子系统是否收到该MAC地址表项的保活报文。若是,则转到步骤 S606,否则,子系统在该MAC地址表项的老化时间到达时,转到步骤S608。步骤S606,记录子系统中该MAC地址表项的老化状态为“保活”(即,更新子系统 中该MAC地址的老化状态为“保活”)。步骤S608,记录子系统中该MAC地址表项的老化状态为“老化”。步骤S610,获取子系统中该MAC地址表项上次的老化状态。步骤S612,判断该MAC地址表项的两次状态(即,在更新前后该MAC地址的老化状 态)是否一致,若是,则结束该流程,否则,转到步骤S614。步骤S614,根据当前状态发送该MAC地址表项的老化或者保活消息给全局系统。需要说明的是,在具体实施过程中,也可以是全局系统定时扫描各子系统MAC地 址表中的MAC地址表项,根据各子系统MAC地址表中的MAC地址表项的老化状态变更情况, 更新全局系统MAC地址表中相应的MAC地址表项的老化状态。综上所述,本发明实施例涉及二层网络设备的MAC地址的学习和保活,是在分布 式系统中对于聚合端口 MAC地址归属地难以确认的情况下,解决MAC地址保活的一种方案, 提高了系统的性能和处理能力。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、 等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种MAC地址的老化处理方法,其特征在于,包括以下步骤全局系统从本地的MAC地址表中依次获取MAC地址表项;判断所述MAC地址表项在所有子系统中的老化状态;在所有子系统中所述MAC地址表项的老化状态全为老化的情况下,通知所有子系统老化所述MAC地址表项;否则,保活所有子系统中的所述MAC地址表项。
2.根据权利要求1所述的方法,其特征在于,判断所述MAC地址表项在所有子系统中的 老化状态之前,还包括所述全局系统接收来自子系统的所述MAC地址表项的老化消息或者保活消息,获取并 记录所述子系统中所述MAC地址表项的老化状态。
3.根据权利要求2所述的方法,其特征在于,所述全局系统接收来自所述子系统的所 述MAC地址表项的老化消息或者保活消息之前,还包括所述子系统在其子系统MAC地址表中的MAC地址表项的老化状态变更的情况下,向所 述全局系统发送在所述子系统MAC地址表中的老化状态变更的MAC地址表项的老化消息或 者保活消息。
4.根据权利要求3所述的方法,其特征在于,所述子系统向所述全局系统发送在所述 子系统MAC地址表中的老化状态变更的MAC地址表项的老化消息或者保活消息之前,还包 括所述子系统MAC地址表中的MAC地址表项的老化状态在更新前后不一致的情况下,所 述子系统确定该MAC地址表项的老化状态已变更。
5.根据权利要求4所述的方法,其特征在于,所述子系统确定该MAC地址表项的老化状 态已变更之前,还包括所述子系统在接收到所述子系统MAC地址表中的MAC地址表项的保活报文时,将该MAC 地址表项的老化状态更新为保活;所述子系统在所述子系统MAC地址表中的MAC地址表项的老化时间到达时,将该MAC 地址表项的老化状态更新为老化。
6.一种MAC地址的老化处理系统,包括全局系统和多个子系统,其特征在于,其中,所 述全局系统包括获取模块,用于从全局系统MAC地址表中依次获取MAC地址表项; 判断模块,用于判断所述MAC地址表项在所有子系统中的老化状态; 老化模块,用于在所述判断模块判定所有子系统中所述MAC地址表项的老化状态全为 老化的情况下,通知所有子系统老化所述MAC地址表项;以及保活模块,用于在所述判断模块判定所有子系统中所述MAC地址表项的老化状态不全 为老化的情况下,保活所有子系统中的所述MAC地址表项。
7.根据权利要求6所述的系统,其特征在于,所述全局系统还包括接收模块,用于接收来自子系统的所述MAC地址表项的老化消息或者保活消息; 记录模块,用于根据所述接收模块接收到的所述MAC地址表项的老化消息或者保活消 息,获取并记录所述子系统中所述MAC地址表项的老化状态。
8.根据权利要求7所述的系统,其特征在于,所述多个子系统中的每个子系统包括 发送模块,用于在子系统MAC地址表中的MAC地址表项的老化状态变更的情况下,向所述全局系统发送在所述子系统MAC地址表中的老化状态变更的MAC地址表项的老化消息或 者保活消息。
9.根据权利要求8所述的系统,其特征在于,所述多个子系统中的每个子系统还包括 确定模块,用于所述子系统MAC地址表中的MAC地址表项的老化状态在更新前后不一致的情况下,确定该MAC地址表项的老化状态已变更。
10.根据权利要求9所述的系统,其特征在于,所述多个子系统中的每个子系统还包括更新模块,用于在接收到所述子系统MAC地址表中的MAC地址表项的保活报文时,将该 MAC地址表项的老化状态更新为保活;以及在所述子系统MAC地址表中的MAC地址表项的 老化时间到达时,将该MAC地址表项的老化状态更新为老化。
全文摘要
本发明公开了一种MAC地址的老化方法及系统,该方法包括以下步骤全局系统从本地的MAC地址表中依次获取MAC地址表项;判断该MAC地址表项在所有子系统中的老化状态;在所有子系统中该MAC地址表项的老化状态全为老化的情况下,通知所有子系统老化该MAC地址表项;否则,保活所有子系统中的该MAC地址表项。通过本发明提高了系统的性能和处理能力。
文档编号H04L12/56GK101969398SQ20101028741
公开日2011年2月9日 申请日期2010年9月17日 优先权日2010年9月17日
发明者苗贝, 郭亮 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1