MAC地址的同步方法、装置及系统与流程

文档序号:12623777阅读:616来源:国知局
MAC地址的同步方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种媒体接入控制(Media Access Control,简称为MAC)地址的同步方法、装置及系统。



背景技术:

堆叠是将多台支持堆叠特性的交换机设备结合在一起,从逻辑上组合成一台整体的交换设备,图1是相关技术中的三台交换机堆叠口连接形成一台交换机的示意图,如图1所示,堆叠是一种虚拟化技术,在不改变网络物理拓扑连接结构条件下,将网络同一层的多台设备虚拟化成单台逻辑设备,达到简化网络结构,简化网络协议部署,提高网络可靠性和可管理性的目的。

堆叠主要有以下优点:

1.高可靠性。堆叠系统多台成员设备之间1:N冗余备份;堆叠支持跨设备的链路聚合功能,实现跨设备的链路冗余备份。

2.强大的网络扩展能力。通过增加成员设备,可以轻松的扩展堆叠系统的端口数,带宽和处理能力。

3.简化网络结构和协议部署。堆叠技术可以将复杂的网络拓扑结构简化为层次分明,互联关系简单的网络结构,网络各层之间通过链路聚合,自然消除环路,不需要再部署mstp,vrrp等协议。

4.简化配置和管理,堆叠形成后,多台物理设备虚拟成为一台设备,用户可以通过任何一台成员设备登陆堆叠系统,对堆叠系统所有成员设备进行统一配置和管理。

堆叠所有的单台设备都称为成员设备,按照功能不同,可以分为三种角色:

1:主交换机,即Master,负责管理整个堆叠系统,堆叠系统中只有一台主交换机。

2:备交换机,即Standby,是主交换机的备份交换机,当主交换机故障时,备交换机会接替主交换机的所有业务,堆叠系统中只有一台备交换机。

3:从交换机,即Slave,除了主交换机外,堆叠中所有交换机都是从交换机,其中备交换机同时承担备份交换机和从交换机两种角色。

堆叠ID,即成员编号(Member ID),用来识别和管理成员设备,堆叠系统中所有成员设备的堆叠ID都是唯一的。

堆叠优先级是成员设备的一个属性,主要用于角色选举过程中确定成员设备的角色,优先级越大表示优先级越高,当选为主交换机的可能性越大。

图2是相关技术中堆叠连接拓扑示意图,如图2所示,堆叠的连接拓扑有两种:

链形连接:使用堆叠电缆将一台设备的左口(右口)和另一台设备的右口(左口)连接起来,以此类推,第一台设备的右口(左口)和最后一台设备的左口(右口)没有连接堆叠电缆。

环形连接:将链形连接第一台设备的右口(左口)和最后一台设备的左口(右口)连接起来。

堆叠系统内各交换机设备相关技术中的MAC地址同步方法如下:

1:堆叠内某设备(可以是主设备,备设备,成员设备)的交换芯片的MAC地址发生变化(学习到新MAC地址,或者老的MAC地址老化了),交换芯片通过发送消息给本地中央处理器CPU通知MAC地址变化。(或者CPU定期轮询本地交换芯片的地址表,然后和软件表进行对比,获得MAC地址变化信息。)本地CPU通过发送地址更新消息给主设备(主设备再通知堆叠内其它设备)或者直接发送消息给堆叠系统内的其它设备通知MAC地址变化。

2:堆叠系统内设备收到其它设备CPU发送来的地址变化消息,进行地址变更。从而达到系统内各设备MAC地址的同步。

如果MAC地址变化很快,那么相关技术中的MAC地址同步方法存在如下缺陷:本地CPU会需要发送大量的消息给系统内的其它设备的CPU,MAC地址变更会导致CPU很忙,MAC地址系统内同步时间很长。

针对相关技术中堆叠系统内MAC地址同步较慢、CPU负担较大的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种MAC地址的同步方法、装置及系统,以至少解决相关技术中堆叠系统内MAC地址同步较慢、CPU负担较大的问题。

根据本发明的一个实施例,提供了一种MAC地址的同步方法,包括:第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表。

在本发明实施例中,该方法还包括:在第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息之后,第一设备将MAC地址变更消息发送至第一设备的中央处理器CPU。

在本发明实施例中,第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表包括:第一设备的CPU根据MAC地址变更消息更新本地交换芯片的MAC地址表。

在本发明实施例中,MAC地址变更消息携带有特定标识,特定标识用于识别MAC地址变更消息。

在本发明实施例中,包括:特定标识是在MAC地址变更消息的报文头前的控制头中设置的更新标志位。

根据本发明的另一实施例,提供了一种MAC地址的同步装置,应用于堆叠系统的第一设备,包括:接收模块,用于接收本地交换芯片发送的MAC地址变更消息或者在第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;更新模块,用于根据MAC地址变更消息更新本地交换芯片的MAC地址表。

在本发明实施例中,该装置还包括:发送模块,用于在在第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息之后,将MAC地址变更消息发送至第一设备的中央处理器CPU。

在本发明实施例中,MAC地址变更消息携带有特定标识,特定标识用于识别MAC地址变更消息。

在本发明实施例中,特定标识是在MAC地址变更消息的报文头前的控制头中设置的更新标志位。

根据本发明的另一实施例,提供了一种MAC地址的同步系统,包括:第一设备,第二设备,其中,第一设备包括第一堆叠口、交换芯片和中央处理器CPU;第二设备包括第二堆叠口、交换芯片和CPU;第一设备中的交换芯片在第一设备的MAC地址发生变化的情况下,向第一设备的CPU和第二设备的第二堆叠口发送MAC地址变更消息;第二设备的第二堆叠口在接收到MAC地址变更消息后,将MAC地址变更消息上传至第二设备的CPU;第二设备的CPU根据MAC地址变更消息更新第二设备的交换芯片的MAC地址表。

通过本发明实施例,采用第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表,即第一设备通过堆叠口来传递MAC地址变更消息,而不需要两个设备之间的CPU交互来实现MAC地址变更消息的传递,节省了CPU的资源,解决了相关技术中的堆叠系统内MAC地址同步较慢、CPU负担较大的问题,提高了MAC地址同步的速率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是相关技术中的三台交换机堆叠口连接形成一台交换机的示意图;

图2是相关技术中的堆叠连接拓扑示意图;

图3是根据本发明实施例的MAC地址的同步的流程图一;

图4是根据本发明实施例的MAC地址的同步的流程图二;

图5是根据本发明实施例的MAC地址的同步装置的结构框图一;

图6是根据本发明实施例的MAC地址的同步装置的结构框图二;

图7是根据本发明实施例的MAC地址的同步系统的结构框图;

图8是根据本发明优选实施例的MAC地址的同步方法的流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种MAC地址的同步方法,图3是根据本发明实施例的MAC地址的同步的流程图一,如图3所示,该流程包括如下步骤:

步骤S302,第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;

步骤S304,第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表。

通过上述步骤,采用第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表,即第一设备通过堆叠口来传递MAC地址变更消息,而不需要两个设备之间的CPU交互来实现MAC地址变更消息的传递,节省了CPU的资源,解决了相关技术中的堆叠系统内MAC地址同步较慢、CPU负担较大的问题,提高了MAC地址同步的速率。

图4是根据本发明实施例的MAC地址的同步的流程图二,如图4所示,上述方法还包括:步骤S402,在第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息之后,第一设备将MAC地址变更消息发送至第一设备的中央 处理器CPU。

需要说明的是,第一设备将MAC地址变更消息发送至第一设备的中央处理器CPU的方式可以有多种,比如,可以通过设置访问控制列表(Access Control List,简称ACL)的方式复制一份MAC地址变更消息,再将复制的MAC地址变更消息上传给第一设备的中央处理器CPU,也可以通过其他方式直接把MAC地址变更消息上传给第一设备的中央处理器CPU,但不限于此。

在本发明实施例中,第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表包括:第一设备的CPU根据MAC地址变更消息更新本地交换芯片的MAC地址表。

上述方法通过第一设备通过堆叠口获取到MAC地址变更消息之后,在将MAC地址变更消息发送给第一设备的CPU,CPU用来更新MAC地址表,而不会参与MAC地址变更消息的传递,进而节省了CPU的资源,加快了MAC地址更新的速率。

在本发明实施例中,MAC地址变更消息携带有特定标识,特定标识用于识别MAC地址变更消息。

在本发明实施例中,包括:特定标识是在MAC地址变更消息的报文头前的控制头中设置的更新标志位。

通过上述特定标识,堆叠口可以根据该更新标志位来识别该MAC地址变更消息,进而能够确定是否收到了该MAC地址变更消息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种MAC地址的同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本发明实施例的MAC地址的同步装置的结构框图一,如图5所示,该装置应用于堆叠系统的第一设备,包括:

接收模块52,用于接收本地交换芯片发送的MAC地址变更消息或者在第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;

更新模块54,用于根据MAC地址变更消息更新本地交换芯片的MAC地址表。

通过上述装置,采用第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表,即第一设备通过堆叠口来传递MAC地址变更消息,而不需要两个设备之间的CPU交互来实现MAC地址变更消息的传递,节省了CPU的资源,解决了相关技术中的堆叠系统内MAC地址同步较慢、CPU负担较大的问题,提高了MAC地址同步的速率。

图6是根据本发明实施例的MAC地址的同步装置的结构框图二,如图6所示,该装置除包括图5所示的所有模块外还包括:发送模块62,用于在在第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息之后,将MAC地址变更消息发送至第一设备的中央处理器CPU。

需要说明的是,第一设备将MAC地址变更消息发送至第一设备的中央处理器CPU的方式可以有多种,比如,可以通过设置访问控制列表(Access Control List,简称ACL)的方式复制一份MAC地址变更消息,再将复制的MAC地址变更消息上传给第一设备的中央处理器CPU,也可以通过其他方式直接把MAC地址变更消息上传给第一设备的中央处理器CPU,但不限于此。

在本发明实施例中,MAC地址变更消息携带有特定标识,特定标识用于识别MAC地址变更消息。

在本发明实施例中,特定标识是在MAC地址变更消息的报文头前的控制头中设置的更新标志位。

通过上述特定标识,堆叠口可以根据该更新标志位来识别该MAC地址变更消息,进而能够确定是否收到了该MAC地址变更消息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种MAC地址的同步系统,图7是根据本发明实施例的MAC地址的同步系统的结构框图,如图7所示,该系统包括:第一设备,第二设备,其中,第一设备包括第一堆叠口、交换芯片和中央处理器CPU;第二设备包括第二堆叠口、交换芯片和CPU;第一设备中的交换芯片在第一设备的MAC地址发生变化的情况下,向第一设备的CPU和第二设备的第二堆叠口发送MAC地址变更消息;第二设备的第二堆叠口在接收到MAC地址变更消息后,将MAC地址变更消息上传至第二设备的CPU;第二设备的CPU根据MAC地址变更消息更新第二设备的交换芯片的MAC地址表。

通过该系统,采用第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表,即第一设备通过堆叠口来传递MAC地址变更消息,而不需要两个设备之间的CPU交互来实现MAC地址变更消息的传递,节省了CPU的资源,解决了相关技术中的堆叠系统内MAC地址同步较慢、CPU负担较大的问题,提高了MAC地址同步的速率。

以下结合具体的实施例对本发明做进一步的解释:

本发明提供了一种优选的实施例,该实施例包:本发明采用以下技术方案,堆叠内任意一台设备的MAC地址发生变化后,交换芯片(不是CPU,主流芯片有broadcom,marvell交换芯片)触发MAC地址变更消息发送,同时发送给本地CPU和所有堆叠口(最多2个堆叠口)。消息到达其它设备的堆叠口后,其它设备设置消息复制一份上CPU同时消息继续沿着其它堆叠口去往远端设备。

这样链形或者环形堆叠系统内的设备都会收到地址变化的消息。各台设备自己处理由交换芯片发出的MAC地址变更消息,完成MAC地址变更。各设备CPU之间不需要发送任何的消息。这样可以实现堆叠系统内MAC地址的快速同步。同时节省了CPU资源。

利用本发明实现堆叠系统内一种MAC地址同步的方法的方法具体实施包括以下步骤:

步骤A.环形或者链形堆叠系统内任意一台设备的MAC地址发生变更。这台设备的交换芯片触发消息发送,同时发送给本设备的cpu和本设备的堆叠口;

步骤B.各设备在堆叠口收到MAC地址变更消息,拷贝一份上送本地CPU,同时让MAC地址变更消息从另外可能存在的堆叠口发出去往远端设备;

步骤B.各设备处理本地交换芯片发来的或者堆叠口发来的MAC地址变更消息,完成MAC地址变更;实现MAC地址堆叠系统内快速同步。

与相关技术相比较,本发明优选实施例引入堆叠系统内一种MAC地址快速同步的方法和系统,解决了目前堆叠系统内MAC地址同步较慢的问题,同时可以节省大量的cpu负担。提高堆叠系统的整体性能。

本发明还提供了另一种优选的MAC地址同步的方法,图8是根据本发明优选实施例的MAC地址的同步方法的流程图,如图8所示,4台设备通过堆叠口两两连接为链形拓扑的堆叠系统,假设从设备2有MAC地址变更,那么具体实现如下:

1:从设备2的交换芯片发生了MAC地址变更,立刻自动触发MAC变更消息,发往设备2的cpu,同时往两个堆叠口发送。消息需要特殊标志,便于其它设备识别。一般堆叠口都会在报文头前面加上控制头(主流芯片厂商都如此),可以在控制头中加入 MAC更新的标志flag。

2:从设备1由于只有一个堆叠口,在堆叠口根据控制头中的MAC更新标志flag确定收到MAC地址更新消息,通过设置ACL或者其它方式直接把MAC地址更新消息上送设备1的cpu处理。

3:备设备在右侧的堆叠口根据报文控制头中的MAC更新标志flag确定收到MAC地址更新消息收到MAC地址变更消息,通过设置ACL或者其它方式把MAC地址变更消息拷贝一份上送备设备的cpu,同时转发到左侧的堆叠口。

4:主设备在堆叠口根据报文控制头中的MAC更新标志flag确定收到MAC地址变更消息,由于只有一个堆叠口,通过设置ACL或者其它方式直接把MAC地址变更消息上送主设备的cpu处理。

5:主设备,备设备,从设备1,2的cpu分别处理MAC地址变更消息,同时主设备,备设备,从设备1的cpu更新本地交换芯片的地址表,实现MAC地址堆叠系统内同步。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,第一设备的第一堆叠口接收堆叠系统中的第二设备的堆叠口发送的MAC地址变更消息;

S2,第一设备根据MAC地址变更消息更新本地交换芯片的MAC地址表。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1