CN109842694B - 一种同步mac地址的方法、网络设备和计算机可读存储介质 - Google Patents
一种同步mac地址的方法、网络设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN109842694B CN109842694B CN201910221668.1A CN201910221668A CN109842694B CN 109842694 B CN109842694 B CN 109842694B CN 201910221668 A CN201910221668 A CN 201910221668A CN 109842694 B CN109842694 B CN 109842694B
- Authority
- CN
- China
- Prior art keywords
- mac address
- hit
- configuration parameters
- mac
- state information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例提供了一种同步MAC地址的方法、网络设备和计算机可读存储介质,涉及通信技术领域。所述方法应用于M‑LAG中的主设备,所述M‑LAG还包括备设备,所述方法包括:接收所述备设备发送的协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数,根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数,存储所述协商后的配置参数,并向所述备设备发送协商响应报文,所述协商响应报文中携带有所述协商后的配置参数,以使所述主设备和所述备设备根据所述协商后的配置参数进行MAC地址同步处理。采用本申请可以保证配置信息的一致,提高同步MAC地址的成功率。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种同步MAC地址的方法、网络设备和计算机可读存储介质。
背景技术
跨设备链路聚合组(英文:Multichassis Link Aggregation Group,简称:M-LAG)是一种实现跨设备链路聚合的机制,M-LAG中,技术人员将两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级。其中一台设备作为主设备,另一台设备作为备设备。其中,主设备与备设备之间通过聚合接口(可称为聚合接口1)连接。
在应用M-LAG的网络中,网络设备可通过其预先配置的聚合接口(可称为聚合接口2)和M-LAG环境中的聚合接口2互连。M-LAG中的主设备和备设备可以分别通过加入聚合接口2的接口进行安全媒体访问控制地址(英文:Media Access Control,简称:MAC)学习,并通过M-LAG***进行安全MAC同步。
在实际应用中,对于M-LAG包含的两台设备(即主设备和备设备),技术人员需要手动配置这两台设备的安全MAC的配置信息,并保证两台设备的配置信息完全一致。其中,配置信息包括聚合接口的最大MAC数、全局最大安全MAC数等。当配置信息不一致时,可能会导致安全MAC同步失败。例如,如果配置主设备在聚合接口2的最大MAC数为100,配置备设备在聚合接口2的最大MAC数为200,则备设备在向主设备同步安全MAC时,会同步200个,而主设备在聚合接口2的最大MAC数为100,将会有100个安全MAC同步失败。
发明内容
有鉴于此,本申请提供了一种同步MAC地址的方法、网络设备和计算机可读存储介质,以保证配置信息的一致,提高同步MAC地址的成功率。具体技术方案如下:
第一方面,提供了一种同步MAC地址的方法,所述方法应用于M-LAG中的主设备,所述M-LAG还包括备设备,所述方法包括:
接收所述备设备发送的协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数;
根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
存储所述协商后的配置参数,并向所述备设备发送协商响应报文,所述协商响应报文中携带有所述协商后的配置参数,以使所述主设备和所述备设备根据所述协商后的配置参数进行MAC地址同步处理。
可选的,所述配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略;
所述根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数,包括:
确定接收到的全局最大MAC数和本地的全局最大MAC数中的第一最小值,将所述第一最小值作为协商后的全局最大MAC数;
针对每个聚合组,确定接收到的该聚合组的最大MAC数和本地预设的该聚合组的最大MAC数中的第二最小值,将所述第二最小值作为该聚合组的协商后的最大MAC数;
针对每个聚合组,将本设备中存储的该聚合组的老化策略,作为协商后的老化策略。
可选的,所述方法还包括:
针对本地存储的老化类型为无流量老化的第一MAC地址,当达到所述第一MAC地址的采样周期时,检测所述第一MAC地址的命中状态信息,并接收所述备设备发送的第一状态通告报文,所述第一状态通告报文中携带有所述备设备检测到的所述第一MAC地址的命中状态信息,所述命中状态信息表示当前流量中是否包含所述第一MAC地址;
根据检测到的命中状态信息和接收到的命中状态信息,确定所述第一MAC地址的命中结果;
向所述备设备发送携带有所述第一MAC地址的命中结果的第一状态响应报文,并根据所述命中结果更新所述第一MAC地址的连续未命中次数;
当所述连续未命中次数达到预设阈值时,删除所述第一MAC地址。
可选的,所述根据检测到的命中状态信息和接收到的命中状态信息,确定所述第一MAC地址的命中结果,包括:
如果检测到的命中状态信息和接收到的命中状态信息中,不存在表示当前流量中包含所述第一MAC地址的命中状态信息,则确定命中结果为未命中;
如果检测到的命中状态信息和接收到的命中状态信息中,存在表示当前流量中包含所述第一MAC地址的命中状态信息,则确定命中结果为命中。
可选的,所述根据所述命中结果更新所述第一MAC地址的连续未命中次数,包括:
当命中结果为未命中时,将所述第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将所述第一MAC地址的连续未命中次数置零。
可选的,所述方法还包括:
接收用户输入的第二MAC地址的更新指令,所述更新指令包含MAC地址的更新状态信息,所述更新状态信息为添加状态或删除状态;
根据所述更新指令对所述第二MAC地址进行更新处理,并向所述备设备发送第二状态通告报文,所述第二状态通告报文中携带有所述第二MAC地址和更新状态信息。
可选的,所述方法还包括:
当接收到所述备设备同步的MAC地址时,将所述MAC地址存储到预设的临时MAC地址表中;
当检测到包含所述临时MAC地址表中的第三MAC地址的流量时,将所述第三MAC地址下发至驱动中。
第二方面,提供了一种同步MAC地址的方法,所述方法应用于M-LAG中的备设备,所述M-LAG还包括主设备,所述方法包括:
向所述主设备发送协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数,以使所述主设备根据接收到的配置参数、所述主设备的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
接收主设备发送的协商响应报文,所述协商响应报文中携带有所述协商后的配置参数;
根据所述协商后的配置参数进行MAC地址同步处理。
可选的,所述配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略。
可选的,所述方法还包括:
针对本地存储的老化类型为无流量老化的第一MAC地址,当达到所述第一MAC地址的采样周期时,检测所述第一MAC地址的命中状态信息,所述命中状态信息表示当前流量中是否包含所述第一MAC地址;
向所述主设备发送第一状态通告报文,所述第一状态通告报文中携带有所述第一MAC地址的命中状态信息;
接收所述主设备发送的第一状态响应报文,所述第一状态响应报文中携带有所述第一MAC地址的命中结果;
根据所述命中结果更新所述第一MAC地址的连续未命中次数;
当所述连续未命中次数达到预设阈值时,删除所述第一MAC地址。
可选的,所述根据所述命中结果更新所述第一MAC地址的连续未命中次数,包括:
当命中结果为未命中时,将所述第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将所述第一MAC地址的连续未命中次数置零。
可选的,所述方法还包括:
接收所述主设备发送的第二状态通告报文,所述第二状态通告报文中携带有第二MAC地址和更新状态信息,所述更新状态信息为添加状态或删除状态;
根据所述第二MAC地址的更新状态信息,对所述第二MAC地址进行更新处理。
可选的,所述方法还包括:
当接收到所述主设备同步的MAC地址时,将所述MAC地址存储到预设的临时MAC地址表中;
当检测到包含所述临时MAC地址表中的第四MAC地址的流量时,将所述第四MAC地址下发至驱动中。
第三方面,提供了一种同步MAC地址的装置,所述装置应用于M-LAG中的主设备,所述M-LAG还包括备设备,所述装置包括:
第一接收模块,用于接收所述备设备发送的协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数;
第一确定模块,用于根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
第一发送模块,用于存储所述协商后的配置参数,并向所述备设备发送协商响应报文,所述协商响应报文中携带有所述协商后的配置参数,以使所述主设备和所述备设备根据所述协商后的配置参数进行MAC地址同步处理。
可选的,所述配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略;
所述第一确定模块,具体用于:
确定接收到的全局最大MAC数和本地的全局最大MAC数中的第一最小值,将所述第一最小值作为协商后的全局最大MAC数;
针对每个聚合组,确定接收到的该聚合组的最大MAC数和本地预设的该聚合组的最大MAC数中的第二最小值,将所述第二最小值作为该聚合组的协商后的最大MAC数;
针对每个聚合组,将本设备中存储的该聚合组的老化策略,作为协商后的老化策略。
可选的,所述装置还包括:
第二接收模块,用于针对本地存储的老化类型为无流量老化的第一MAC地址,当达到所述第一MAC地址的采样周期时,检测所述第一MAC地址的命中状态信息,并接收所述备设备发送的第一状态通告报文,所述第一状态通告报文中携带有所述备设备检测到的所述第一MAC地址的命中状态信息,所述命中状态信息表示当前流量中是否包含所述第一MAC地址;
第二确定模块,用于根据检测到的命中状态信息和接收到的命中状态信息,确定所述第一MAC地址的命中结果;
更新模块,用于向所述备设备发送携带有所述第一MAC地址的命中结果的第一状态响应报文,并根据所述命中结果更新所述第一MAC地址的连续未命中次数;
删除模块,用于当所述连续未命中次数达到预设阈值时,删除所述第一MAC地址。
可选的,所述第二确定模块,具体用于:
如果检测到的命中状态信息和接收到的命中状态信息中,不存在表示当前流量中包含所述第一MAC地址的命中状态信息,则确定命中结果为未命中;
如果检测到的命中状态信息和接收到的命中状态信息中,存在表示当前流量中包含所述第一MAC地址的命中状态信息,则确定命中结果为命中。
可选的,所述更新模块,具体用于:
当命中结果为未命中时,将所述第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将所述第一MAC地址的连续未命中次数置零。
可选的,所述装置还包括:
第三接收模块,用于接收用户输入的第二MAC地址的更新指令,所述更新指令包含MAC地址的更新状态信息,所述更新状态信息为添加状态或删除状态;
第二发送模块,用于根据所述更新指令对所述第二MAC地址进行更新处理,并向所述备设备发送第二状态通告报文,所述第二状态通告报文中携带有所述第二MAC地址和更新状态信息。
可选的,所述装置还包括:
存储模块,用于当接收到所述备设备同步的MAC地址时,将所述MAC地址存储到预设的临时MAC地址表中;
下发模块,用于当检测到包含所述临时MAC地址表中的第三MAC地址的流量时,将所述第三MAC地址下发至驱动中。
第四方面,提供了一种同步MAC地址的装置,所述装置应用于M-LAG中的备设备,所述M-LAG还包括主设备,所述装置包括:
第一发送模块,用于向所述主设备发送协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数,以使所述主设备根据接收到的配置参数、所述主设备的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
第一接收模块,用于接收主设备发送的协商响应报文,所述协商响应报文中携带有所述协商后的配置参数;
同步模块,用于根据所述协商后的配置参数进行MAC地址同步处理。
可选的,所述配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略。
可选的,所述装置还包括:
检测模块,用于针对本地存储的老化类型为无流量老化的第一MAC地址,当达到所述第一MAC地址的采样周期时,检测所述第一MAC地址的命中状态信息,所述命中状态信息表示当前流量中是否包含所述第一MAC地址;
第二发送模块,用于向所述主设备发送第一状态通告报文,所述第一状态通告报文中携带有所述第一MAC地址的命中状态信息;
第二接收模块,用于接收所述主设备发送的第一状态响应报文,所述第一状态响应报文中携带有所述第一MAC地址的命中结果;
第一更新模块,用于根据所述命中结果更新所述第一MAC地址的连续未命中次数;
删除模块,用于当所述连续未命中次数达到预设阈值时,删除所述第一MAC地址。
可选的,所述第一更新模块,具体用于:
当命中结果为未命中时,将所述第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将所述第一MAC地址的连续未命中次数置零。
可选的,所述装置还包括:
第三接收模块,用于接收所述主设备发送的第二状态通告报文,所述第二状态通告报文中携带有第二MAC地址和更新状态信息,所述更新状态信息为添加状态或删除状态;
第二更新模块,用于根据所述第二MAC地址的更新状态信息,对所述第二MAC地址进行更新处理。
可选的,所述装置还包括:
存储模块,用于当接收到所述主设备同步的MAC地址时,将所述MAC地址存储到预设的临时MAC地址表中;
下发模块,用于当检测到包含所述临时MAC地址表中的第四MAC地址的流量时,将所述第四MAC地址下发至驱动中。
第五方面,提供了一种网络设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面任一所述的方法步骤。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面任一所述的方法步骤。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面任一所述的方法步骤。
因此,通过应用本申请实施例提供的一种同步MAC地址的方法、网络设备和计算机可读存储介质,主设备接收备设备发送的协商请求报文。其中,协商请求报文中携带有备设备当前的配置参数。然后,主设备根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数。之后,主设备存储协商后的配置参数,并向备设备发送协商响应报文。其中,协商响应报文中携带有协商后的配置参数,以使主设备和备设备根据协商后的配置参数进行MAC地址同步处理。这样,主设备和备设备可以保证配置信息的一致,提高了同步MAC地址的成功率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络***的架构图;
图2为本申请实施例提供的一种同步MAC地址的方法的流程图;
图3为本申请实施例提供的一种同步MAC地址的方法的流程图;
图4为本申请实施例提供的一种MAC地址无流量老化的方法的流程图;
图5为本申请实施例提供的一种MAC地址无流量老化的方法的流程图;
图6为本申请实施例提供的一种MAC地址静态更新的方法的流程图;
图7为本申请实施例提供的一种MAC地址静态更新的方法的流程图;
图8为本申请实施例提供的一种同步MAC地址的方法的流程图;
图9为本申请实施例提供的一种同步MAC地址的装置的结构示意图;
图10为本申请实施例提供的一种同步MAC地址的装置的结构示意图;
图11为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种同步MAC地址的方法,该方法可以应用于网络***中支持M-LAG技术的网络设备,该网络设备同步的MAC地址可以为通过安全认证的MAC地址(即安全MAC地址)。该网络设备可以为路由器、交换机等设备。技术人员可以通过M-LAG技术将多个网络设备上的接口进行跨设备链路聚合,以提高链路可靠性。同时,技术人员还可以将多个网络设备中某一个网络设备设置为主设备,并将其他网络设备设置为备设备。
图1为本申请实施例提供的一种网络***的架构图。如图1所示,该网络***包括第一网络设备、第二网络设备、第三网络设备和第四网络设备。其中,第一网络设备和第二网络设备可组成M-LAG。技术人员分别在第一网络设备和第二网络设备中创建聚合组1、聚合组2和聚合组3,在第三网络设备中创建聚合组2,在第四网络设备中创建聚合组3。然后,技术人员将第一网络设备的第一接口和第二接口、以及第二网络设备的第三接口和第四接口添加至聚合组1中,将第一网络设备的第五接口和第二网络设备的第七接口添加至聚合组2中,将第一网络设备的第六接口和第二网络设备的第八接口添加至聚合组3中,将第三网络设备的第九接口和第十接口添加至聚合组2中,将第四网络设备的第十一接口和第十二接口添加至聚合组3中。技术人员还分别配置第一网络设备和第二网络设备的配置信息,例如,比如各聚合组的最大MAC数和所述各聚合组的老化策略等。
下面将结合具体实施方式,对本申请实施例提供的一种同步MAC地址的方法进行详细的说明,为了便于理解,首先对备设备的具体处理过程进行介绍。如图2所示,具体步骤如下。
步骤201,向主设备发送协商请求报文。
其中,该协商请求报文中携带有备设备当前的配置参数,以使主设备根据接收到的配置参数、主设备的配置参数和预设的配置参数协商规则,确定协商后的配置参数。配置参数可以包括全局最大MAC数、聚合组的最大MAC数和老化策略等。
在实施中,当技术人员在备设备的某一聚合组的聚合接口中使能安全MAC同步功能、或对该聚合组对应的配置参数进行修改后,备设备可以主动向主设备发送协商请求报文,主设备则会接收到该协商请求报文。其中,协商请求报文中携带有备设备当前的配置参数,配置参数的包括全局配置参数和该聚合组当前的配置参数,如果备设备中存在多个聚合组,则可以通过协商请求报文携带各聚合组当前的配置参数。可选的,对于存在多个备设备的情况,在多个备设备上线并使能安全MAC同步功能后,主设备会接收多个协商请求报文。
主设备可以根据接收到的配置参数、主设备中的配置参数和预设的配置参数协商规则,确定协商后的配置参数。其中,主设备确定协商后的配置参数的具体处理过程后续会进行详细的介绍,此处不再赘述。
可选的,协商请求报文携带的配置参数中可以包括多个聚合组当前的配置参数。主设备接收到该协商请求报文后,针对每个聚合组,可以根据接收到的该聚合组的配置参数、主设备中该聚合组的配置参数和预设的配置参数协商规则,确定该聚合组的协商后的配置参数。本申请实施例以协商请求报文携带的配置参数中包括一个聚合组的配置参数为例进行介绍,其他情况与之类似。
可选的,配置参数可以包括全局最大MAC数、聚合组的最大MAC数和老化策略。
在实施中,老化策略可以包括全局支持的老化类型(比如无老化类型、绝对时长老化类型、无流量老化类型等)、聚合组支持的老化类型和聚合组使用的老化类型。如果聚合组使用的老化类型为绝对时长老化类型,则老化策略还包括聚合组的老化时长。如果聚合组使用的老化类型为无流量老化类型,则老化策略还包括聚合组的老化时间和聚合组的采样周期。
在一种可行的实现方式中,协商请求报文可以包括报文类型(MSG(英文:Message)type)字段、报文长度(MSGlength)字段、报文序号(MSGnum)字段、全局最大安全MAC数(total max secure-mac count)字段、全局支持的老化类型(aging-type support)字段、聚合组标识(group identity)字段、聚合组使用的老化类型(aging-type)字段、聚合组的老化时间(aging-value)字段和聚合组的采样周期(aging-interval)字段。另外,协商请求报文还可以包括其他字段(比如设备标识字段),本申请实施例不作限定。如表一所示,为本申请实施例提供的一种协商请求报文的示例。
表一
步骤202,接收主设备发送的协商响应报文。
其中,协商响应报文中携带有协商后的配置参数。
在实施中,主设备根据接收到的配置参数、主设备的配置参数和预设的配置参数协商规则,确定出协商后的配置参数后,可以向备设备发送配置参数的协商响应报文。其中,协商响应报文中携带有协商后的配置参数。备设备接收到该协商响应报文后,可以对该协商响应报文进行解析,得到该协商响应报文中携带的协商后的配置参数。
步骤203,根据协商后的配置参数进行MAC地址同步处理。
在实施中,备设备得到该协商响应报文中携带的协商后的配置参数后,可以将本地的配置参数修改为协商后的配置参数,从而根据协商后的配置参数,进行MAC地址同步处理和MAC地址老化处理。这样,备设备和主设备中配置参数可以保持一致,从而防止在MAC地址同步处理过程中由于配置参数不一致导致的各种问题。
可选的,当主设备检测到自身的配置参数发生变化时,主设备也可以向备设备发送通知消息,该通知消息用于指示备设备进行配置参数的协商处理。备设备收到该通知消息后,可以执行步骤201向主设备发送协商请求报文,
本申请实施例还提供了一种同步MAC地址的方法,该方法应用于主设备。如图3所示,具体步骤如下。
步骤301,接收备设备发送的协商请求报文。
其中,协商请求报文中携带有备设备当前的配置参数。
在实施中,当技术人员在备设备的某一聚合组的聚合接口中使能安全MAC同步功能、或对该聚合组对应的配置参数进行修改后,备设备可以向主设备发送协商请求报文,或者,备设备也可以在接收到主设备发送的通知消息后,向主设备发送协商请求报文。其中,该协商请求报文中携带有备设备当前的配置参数。其中,配置参数包括全局配置参数和的该聚合组的配置参数。主设备接收到该协商请求报文后,可以对该协商请求报文进行解析,得到该协商请求报文携带的该备设备当前的配置参数。
步骤302,根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数。
在实施中,主设备中可以预先存储有配置参数协商规则,该配置参数协商规则可以由技术人员根据经验进行设置。主设备得到该协商请求报文携带的备设备当前的配置参数后,可以根据备设备的配置参数、本地预设的配置参数和预设的配置参数协商规则,确定协商后的配置参数。
可选的,对于配置参数包括全局最大MAC数、各聚合组的最大MAC数和各聚合组的老化策略的情况,主设备确定协商后的配置参数的具体处理过程为:确定接收到的全局最大MAC数和本地的全局最大MAC数中的第一最小值,将第一最小值作为协商后的全局最大MAC数;针对每个聚合组,确定接收到的该聚合组的最大MAC数和本地预设的该聚合组的最大MAC数中的第二最小值,将第二最小值作为该聚合组的协商后的最大MAC数;针对每个聚合组,将本设备中存储的该聚合组的老化策略,作为协商后的老化策略。
其中,老化策略的参数可以包括全局支持的老化类型(比如无老化类型、绝对时长老化类型、无流量老化类型等)、聚合组支持的老化类型和聚合组使用的老化类型。如果聚合组使用的老化类型为绝对时长老化类型,则老化策略的参数还包括聚合组的老化时长。如果聚合组使用的老化类型为无流量老化类型,则老化策略的参数还包括聚合组的老化时间和聚合组的采样周期。
在实施中,主设备获取到备设备当前的配置参数和本地的配置参数后,针对全局最大MAC数,主设备可以在备设备的全局最大MAC数和本地预设的全局最大MAC数中确定第一最小值,并将第一最小值作为协商后的全局最大MAC数。例如,备设备的全局最大MAC数为10000,主设备中配置的全局最大MAC数为9500,则协商后的全局最大MAC数为9500。
针对每个聚合组,主设备可以在备设备的该聚合组的最大MAC数和本设备中配置的该聚合组的最大MAC数中,确定第二最小值。然后,将第二最小值作为该聚合组的协商后的最大MAC数。例如,备设备的聚合组2的最大MAC数为2000,主设备中配置的聚合组2的最大MAC数为3000,则聚合组2的协商后的最大MAC数为2000。
针对每个聚合组,主设备可以将本设备中存储的该聚合组的老化策略,作为该聚合组的协商后的老化策略。例如,针对聚合组2,备设备中配置的老化类型为无流量老化、老化时间为10分钟、采样周期为1分钟;主设备中配置的老化类型为绝对时间老化类型、老化时间为20分钟,则协商后的聚合组2的老化类型为绝对时间老化类型、老化时间为20分钟。
可选的,主设备中还可以预先存储有各老化类型的优先级。其中,各老化类型的优先级可以由技术人员根据经验进行设置。例如,不老化类型的优先级为1,绝对时间老化类型优先级为2,无流量老化类型的优先级为3,优先级的取值越大优先级越高。针对每个聚合组,主设备可以在主设备和备设备均支持的该聚合组的老化类型中,选择优先级最高的老化类型,作为协商后的该聚合组的老化类型,并将本设备中存储的该聚合组的老化时间和采样周期作为协商后的该聚合组的老化时间和采样周期。
例如,对于聚合组2,主设备支持的老化类型为不老化类型、绝对时间老化类型和无流量老化类型,主设备当前使用的老化类型为无流量老化类型,老化时间为10分钟,采样周期为2分钟。备设备支持的老化类型为绝对时间老化类型和无流量老化类型,主设备当前使用的老化类型为无流量老化类型,老化时间为20分钟,采样周期为1分钟。则对于聚合组2,主设备和备设备均支持的老化类型(即绝对时间老化类型和无流量老化类型)中,优先级最高的老化类型无流量老化类型,即协商后的聚合组2的老化类型为无流量老化类型,老化时间为10分钟,采样周期为2分钟。
步骤303,存储协商后的配置参数,并向备设备发送配置参数的协商响应报文。
其中,协商响应报文中携带有协商后的配置参数。
在实施中,主设备确定出协商后的配置参数后,可以将协商后的配置参数存储在存储设备中,并向备设备发送携带有协商后的配置参数的协商响应报文,这样,主设备和备设备可以根据协商后的配置参数进行MAC地址同步处理和MAC地址老化处理。其中,协商响应报文的报文格式可以与协商请求报文的报文格式相同,也可以不相同,本申请实施例不作限定。基于上述处理,主设备和备设备的配置参数可以保持一致,从而防止在MAC地址同步处理过程中由于配置参数不一致导致的问题。
可选的,如果主设备通过某一聚合组的聚合接口未接收到某一备设备发送的协商请求报文,则主设备可以判定该备设备的该聚合组的聚合接口未使能安全MAC同步功能。相应的,主设备确定出协商后的配置参数后,无需向该备设备发送携带有协商后的配置参数的协商响应报文。
基于上述实施例提供的同步MAC地址的方法,本申请实施例还提供了一种MAC地址无流量老化的方法,该方法可以应用于备设备。如图4所示,具体步骤如下。
步骤401,针对老化类型为无流量老化的第一MAC地址,当达到第一MAC地址的采样周期时,检测第一MAC地址的命中状态信息。
其中,命中状态信息表示当前流量中是否包含第一MAC地址。
在实施中,针对老化类型为无流量老化类型的第一MAC地址,备设备可以根据无流量老化类型对应的采样周期,周期性的检测当前流量中是否包含第一MAC地址,以获取第一MAC地址的命中状态信息。如果当前流量中包含第一MAC地址,则确定第一MAC地址的命中状态信息为命中状态。如果当前流量中不包含第一MAC地址,则确定第一MAC地址的命中状态信息为未命中状态。
步骤402,向主设备发送第一状态通告报文。
其中,第一状态通告报文中携带有第一MAC地址的命中状态信息。
在实施中,备设备得到第一MAC地址的命中状态信息后,可以生成包含第一MAC地址和该命中状态信息的状态通告报文(即第一状态通告报文),然后,备设备可以向主设备发送第一状态通告报文。
在一种可行的实现方式中,第一状态通告报文可以包括报文类型(MSG type)字段、报文长度(MSG length)字段、安全MAC(secure MAC)字段、聚合组标识(groupidentity)字段、安全MAC(secure MAC)虚拟局域网(英文:Virtual Local Area Network,简称:VLAN)标识字段、优先级(priority)字段和安全MAC状态(secure MAC state)字段。其中,安全MAC状态字段包括未命中状态、命中状态、添加状态和删除状态。另外,第一状态通告报文还可以包括其他字段(比如设备标识字段等),本申请实施例不作限定。如表二所示,为本申请实施例提供的一种状态通告报文的示例。
表二
其中,安全MAC VLAN标识字段、优先级字段以及安全MAC状态字段中添加状态和删除状态用于MAC地址静态更新和MAC地址同步,具体的过程后续会进行详细说明。
步骤403,接收主设备发送的第一状态响应报文。
其中,第一状态响应报文中携带有第一MAC地址的命中结果。
在实施中,主设备也可以获取第一MAC地址的命中状态信息,并在接收到各备设备发送的携带有第一MAC地址的命中状态信息的第一状态通告报文后,根据第一MAC地址对应的各命中状态信息,确定第一MAC地址的命中结果。然后,主设备可以向备设备发送携带有第一MAC地址的命中结果的第一状态响应报文。其中,主设备根据各命中状态信息,确定第一MAC地址的命中结果的具体处理过程,后续会进行详细介绍。
备设备接收到主设备发送的第一状态响应报文后,可以对该第一状态响应报文进行解析,得到该第一状态响应报文中携带的第一MAC地址的命中结果。
步骤404,根据命中结果更新第一MAC地址的连续未命中次数。
在实施中,备设备中可以启动用于记录第一MAC地址的连续未命中次数的计数器。备设备得到第一状态响应报文中携带的第一MAC地址的命中结果后,可以根据命中结果更新第一MAC地址的连续未命中次数。
可选的,备设备根据命中结果更新第一MAC地址的连续未命中次数的处理过程为:当命中结果为未命中时,将第一MAC地址当前的连续未命中次数加1;当命中结果为命中时,将第一MAC地址的连续未命中次数置零。
在实施中,如果第一MAC地址的命中结果为未命中,则说明主设备和备设备的流量中均不包含第一MAC地址,备设备可以将第一MAC地址当前的连续未命中次数加1。如果第一MAC地址的命中结果为命中,则说明主设备和备设备中至少有一个设备的流量中包含第一MAC地址,备设备可以将第一MAC地址当前的连续未命中次数置零。
步骤405,当连续未命中次数达到预设阈值时,删除第一MAC地址。
在实施中,备设备中可以预先存储有第一MAC地址的连续未命中次数对应的预设阈值,该阈值可以由技术人员进行设置,也可以为第一MAC地址对应的老化时间和采样周期的比值。
例如,第一MAC地址对应的老化时间为10分钟,采样周期为1分钟,则预设阈值为(10/1)=10。当第一MAC地址的连续未命中次数达到10次时,则备设备判定第一MAC地址需要被老化,备设备可以删除第一MAC地址。
这样,基于上述处理过程,可以实现对安全MAC的无流量老化。
本申请实施例还提供了一种MAC地址无流量老化的方法,该方法应用于主设备。如图5所示,具体步骤如下。
步骤501,针对老化类型为无流量老化的第一MAC地址,当达到第一MAC地址的采样周期时,检测第一MAC地址的命中状态信息,并接收备设备发送的第一状态通告报文。
其中,第一状态通告报文中携带有备设备检测到的第一MAC地址的命中状态信息,命中状态信息表示当前流量中是否包含第一MAC地址。
在实施中,针对老化类型为无流量老化类型的第一MAC地址,主设备可以根据无流量老化类型对应的采样周期,周期性的检测当前流量中是否包含第一MAC地址,以获取第一MAC地址的命中状态信息。如果当前流量中包含第一MAC地址,则确定第一MAC地址的命中状态信息为命中状态。如果当前流量中不包含第一MAC地址,则确定第一MAC地址的命中状态信息为未命中状态。
同时,主设备还可以接收备设备发送的第一状态通告报文。主设备接收到第一状态通告报文后,可以对该第一状态通告报文进行解析,得到备设备检测到的第一MAC地址的命中状态信息。
步骤502,根据检测到的命中状态信息和接收到的命中状态信息,确定第一MAC地址的命中结果。
在实施中,主设备检测到第一MAC地址的命中状态信息,并接收到各备设备发送的第一MAC地址的命中状态信息后,可以进一步确定是否存在某设备的流量命中第一MAC地址。
可选的,主设备确定第一MAC地址的命中结果的具体处理过程为:如果检测到的命中状态信息和接收到的命中状态信息中,不存在表示当前流量中包含第一MAC地址的命中状态信息,则确定命中结果为未命中。如果检测到的命中状态信息和接收到的命中状态信息中,存在表示当前流量中包含第一MAC地址的命中状态信息,则确定命中结果为命中。
在实施中,如果检测到的命中状态信息和接收到的命中状态信息中,不存在表示当前流量中包含第一MAC地址的命中状态信息(即全部的命中状态信息均为未命中状态),则确定第一MAC地址的命中结果为未命中。如果检测到的命中状态信息和接收到的命中状态信息中,存在表示当前流量中包含第一MAC地址的命中状态信息(即全部的命中状态信息中,存在至少一个命中状态信息为命中状态),则确定第一MAC地址的命中结果为命中。
步骤503,向备设备发送携带有第一MAC地址的命中结果的第一状态响应报文,并根据命中结果更新第一MAC地址的连续未命中次数。
在实施中,主设备确定第一MAC地址的命中结果后,可以向备设备发送携带有第一MAC地址的命中结果的第一状态响应报文。其中,第一状态响应报文的报文格式可以与第一状态通告报文的报文格式相同。
同时,主设备还可以根据第一MAC地址的命中结果更新第一MAC地址的连续未命中次数。
可选的,主设备根据第一MAC地址的命中结果更新第一MAC地址的连续未命中次数的具体处理过程为:当命中结果为未命中时,将第一MAC地址当前的连续未命中次数加1。当命中结果为命中时,将第一MAC地址的连续未命中次数置零。
在实施中,如果第一MAC地址的命中结果为未命中,则说明主设备判定主设备和备设备的流量中均不包含第一MAC地址,主设备可以将第一MAC地址当前的连续未命中次数加1。如果第一MAC地址的命中结果为命中,则说明主设备判定主设备和备设备中至少有一个设备的流量中包含第一MAC地址,主设备可以将第一MAC地址当前的连续未命中次数置零。
步骤504,当连续未命中次数达到预设阈值时,删除第一MAC地址。
在实施中,主设备中可以预先存储有第一MAC地址的连续未命中次数对应的预设阈值,该阈值可以由技术人员根据经验进行设置,也可以为第一MAC地址对应的老化时间和采样周期的比值。
例如,第一MAC地址对应的老化时间为10分钟,采样周期为1分钟,则预设阈值为(10/1)=10。当第一MAC地址的连续未命中次数达到10次时,则主设备判定第一MAC地址需要被老化,主设备可以删除第一MAC地址。
这样,基于上述处理过程,可以实现对安全MAC的无流量老化。
本申请实施例还提供了一种MAC地址静态更新的方法,该方法应用于主设备。如图6所示,具体步骤如下。
步骤601,接收用户输入的第二MAC地址的更新指令。
在实施中,用户可以直接在主设备的某一聚合组的聚合接口中静态添加或删除安全MAC地址(即第二MAC地址)。相应的,主设备可以接收到用户输入的第二MAC地址的更新指令。其中,更新指令包含MAC地址的更新状态信息,更新状态信息为添加状态或删除状态。
步骤602,根据更新指令对第二MAC地址进行更新处理,并向备设备发送第二状态通告报文。
其中,第二状态通告报文中携带有第二MAC地址和更新状态信息。
在实施中,主设备接收到用户输入的第二MAC地址的更新指令后,可以根据更新指令中的更新状态信息对第二MAC地址进行更新处理。例如,当更新状态信息为添加状态时,主设备可以在本地存储该第二MAC地址,当更新状态信息为删除状态时,主设备可以在本地存储的MAC地址中,查找该第二MAC地址,然后删除该第二MAC地。另外,主设备还可以生成包含第二MAC地址和更新状态信息的第二状态通告报文,然后向备设备发送第二状态通告报文。其中,第二状态通告报文的报文格式与第一状态通告报文的报文格式相同。
可选的,当用户直接在某一备设备的某一聚合组的聚合接口中静态添加或删除第二MAC地址时,备设备可以向主设备发送携带有第二MAC地址的更新状态信息的第三状态通告报文。主设备接收到备设备发送的第三状态通告报文后,可以更新该第三状态通告报文中的更新状态信息对第二MAC地址进行更新处理,同时,还可以向其他备设备发送第三状态通告报文。其中,第三状态通告报文中携带有第二MAC地址和该更新状态信息。
这样,当用户手动添加或删除MAC地址时,M-LAG中的设备也可以实现自动同步。
本申请实施例还提供了一种MAC地址静态更新的方法,该方法应用于备设备。如图7所示,具体步骤如下。
步骤701,接收主设备发送的第二状态通告报文。
其中,第二状态通告报文中携带有第二MAC地址和更新状态信息,更新状态信息为添加状态或删除状态。
在实施中,备设备接收主设备发送的第二状态通告报文。其中,第二状态通告报文中携带有第二MAC地址和更新状态信息,更新状态信息为添加状态或删除状态。备设备接收主设备发送的第二状态通告报文后,可以对该第二状态通告报文进行解析,得到该第二状态通告报文携带的第二MAC地址和更新状态信息。
步骤702,根据第二MAC地址的更新状态信息,对第二MAC地址进行更新处理。
在实施中,备设备得到第二状态通告报文携带的第二MAC地址和更新状态信息后,可以根据更新状态信息,对第二MAC地址进行更新处理。
这样,当用户手动添加或删除MAC地址时,M-LAG中的设备也可以实现自动同步。
本申请实施例还提供了另一种MAC地址同步的方法,该方法应用于主设备或备设备。本申请实施例以主设备接收到备设备同步的MAC地址为例进行说明,如图8所示,具体步骤如下。
步骤801,当接收到备设备同步的MAC地址时,将该MAC地址存储到预设的临时MAC地址表中。
在实施中,主设备中可以预先存储有临时MAC地址表。该临时MAC地址表可以为软件表,包括安全MAC(Secure MAC)字段、接口索引(interface index)字段、优先级(priority)字段、安全MAC(secure MAC)VLAN标识字段、安全MAC使用的老化类型(aging-type)字段、安全MAC老化时间(aging-value)字段、安全MAC采样周期(aging-interval)字段、连续未命中次数(unhitnum)字段和状态(state)字段。其中,状态字段可以表示未下发状态、下发成功状态和下发失败状态。如表三所示,为本申请实施例提供的一种临时MAC地址表的示例。
表三
主设备接收到备设备同步的MAC地址时,可以将MAC地址存储到该临时MAC地址表中,并将该MAC地址对应的状态设置为未下发。
步骤802,当检测到包含临时MAC地址表中的第三MAC地址的流量时,将第三MAC地址下发至驱动中。
在实施中,当主设备检测到包含临时MAC地址表中的第三MAC地址的流量时,可以将该第三MAC地址下发至驱动中。如果下发成功,则将第三MAC地址对应的状态字段设置为1(即下发成功),如果下发失败,则将第三MAC地址对应的状态字段设置为2(即下发失败)。
可选的,当同时将多个MAC地址下发至驱动时,主设备可以根据MAC地址的优先级,优先将优先级高的MAC地址下发至驱动。另外,主设备将临时MAC表中的MAC地址同步至备设备时,也可以根据MAC地址的优先级,优先将优先级高的MAC地址同步至备设备。
本申请实施例中,备设备接收到主设备同步的MAC地址时的处理过程与之类似,本申请实施例不再赘述。
基于上述处理过程,设备中建立了临时MAC地址表(即软件表),并设置了MAC地址的优先级,设备接收到同步的MAC地址后,先将这些MAC地址存储到软件表中,然后按照上述过程,优先将一部分MAC地址下发至驱动中,这样,可以优先同步重要的MAC地址,保证网络流量的正常转发。而且,基于上述过程,即使需要同步的MAC地址超过了驱动中设置的阈值(比如全局最大MAC数、或聚合组的最大MAC数),该MAC地址也可以存储在软件表中不会丢失,并等待下一次下发驱动,提高了MAC地址同步的成功率。
基于相同的技术构思,如图9所示,本申请实施例还提供了一种同步MAC地址的装置,该装置应用于M-LAG中的主设备,M-LAG还包括备设备,该装置包括:
第一接收模块910,用于接收备设备发送的协商请求报文,协商请求报文中携带有备设备当前的配置参数;
第一确定模块920,用于根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
第一发送模块930,用于存储协商后的配置参数,并向备设备发送协商响应报文,协商响应报文中携带有协商后的配置参数,以使主设备和备设备根据协商后的配置参数进行MAC地址同步处理。
可选的,配置参数包括全局最大MAC数、各聚合组的最大MAC数和各聚合组的老化策略;
第一确定模块920,具体用于:
确定接收到的全局最大MAC数和本地的全局最大MAC数中的第一最小值,将第一最小值作为协商后的全局最大MAC数;
针对每个聚合组,确定接收到的该聚合组的最大MAC数和本地预设的该聚合组的最大MAC数中的第二最小值,将第二最小值作为该聚合组的协商后的最大MAC数;
针对每个聚合组,将本设备中存储的该聚合组的老化策略,作为协商后的老化策略。
可选的,该装置还包括:
第二接收模块,用于针对本地存储的老化类型为无流量老化的第一MAC地址,当达到第一MAC地址的采样周期时,检测第一MAC地址的命中状态信息,并接收备设备发送的第一状态通告报文,第一状态通告报文中携带有备设备检测到的第一MAC地址的命中状态信息,命中状态信息表示当前流量中是否包含第一MAC地址;
第二确定模块,用于根据检测到的命中状态信息和接收到的命中状态信息,确定第一MAC地址的命中结果;
更新模块,用于向备设备发送携带有第一MAC地址的命中结果的第一状态响应报文,并根据命中结果更新第一MAC地址的连续未命中次数;
删除模块,用于当连续未命中次数达到预设阈值时,删除第一MAC地址。
可选的,第二确定模块,具体用于:
如果检测到的命中状态信息和接收到的命中状态信息中,不存在表示当前流量中包含第一MAC地址的命中状态信息,则确定命中结果为未命中;
如果检测到的命中状态信息和接收到的命中状态信息中,存在表示当前流量中包含第一MAC地址的命中状态信息,则确定命中结果为命中。
可选的,更新模块,具体用于:
当命中结果为未命中时,将第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将第一MAC地址的连续未命中次数置零。
可选的,该装置还包括:
第三接收模块,用于接收用户输入的第二MAC地址的更新指令,更新指令包含MAC地址的更新状态信息,更新状态信息为添加状态或删除状态;
第二发送模块,用于根据更新指令对第二MAC地址进行更新处理,并向备设备发送第二状态通告报文,第二状态通告报文中携带有第二MAC地址和更新状态信息。
可选的,该装置还包括:
存储模块,用于当接收到备设备同步的MAC地址时,将MAC地址存储到预设的临时MAC地址表中;
下发模块,用于当检测到包含临时MAC地址表中的第三MAC地址的流量时,将第三MAC地址下发至驱动中。
基于相同的技术构思,如图10所示,本申请实施例还提供了一种同步MAC地址的装置,该装置应用于M-LAG中的备设备,M-LAG还包括主设备,该装置包括:
第一发送模块1010,用于向主设备发送协商请求报文,协商请求报文中携带有备设备当前的配置参数,以使主设备根据接收到的配置参数、主设备的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
第一接收模块1020,用于接收主设备发送的协商响应报文,协商响应报文中携带有协商后的配置参数;
同步模块1030,用于根据协商后的配置参数进行MAC地址同步处理。
可选的,配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略。
可选的,该装置还包括:
检测模块,用于针对本地存储的老化类型为无流量老化的第一MAC地址,当达到第一MAC地址的采样周期时,检测第一MAC地址的命中状态信息,命中状态信息表示当前流量中是否包含第一MAC地址;
第二发送模块,用于向主设备发送第一状态通告报文,第一状态通告报文中携带有第一MAC地址的命中状态信息;
第二接收模块,用于接收主设备发送的第一状态响应报文,第一状态响应报文中携带有第一MAC地址的命中结果;
第一更新模块,用于根据命中结果更新第一MAC地址的连续未命中次数;
删除模块,用于当连续未命中次数达到预设阈值时,删除第一MAC地址。
可选的,第一更新模块,具体用于:
当命中结果为未命中时,将第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将第一MAC地址的连续未命中次数置零。
可选的,该装置还包括:
第三接收模块,用于接收主设备发送的第二状态通告报文,第二状态通告报文中携带有第二MAC地址和更新状态信息,更新状态信息为添加状态或删除状态;
第二更新模块,用于根据第二MAC地址的更新状态信息,对第二MAC地址进行更新处理。
可选的,该装置还包括:
存储模块,用于当接收到主设备同步的MAC地址时,将MAC地址存储到预设的临时MAC地址表中;
下发模块,用于当检测到包含临时MAC地址表中的第四MAC地址的流量时,将第四MAC地址下发至驱动中。
本申请实施例提供的一种同步MAC地址的装置,主设备接收备设备发送的协商请求报文。其中,协商请求报文中携带有备设备当前的配置参数。然后,主设备根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数。之后,主设备存储协商后的配置参数,并向备设备发送协商响应报文。其中,协商响应报文中携带有协商后的配置参数,以使主设备和备设备根据协商后的配置参数进行MAC地址同步处理。这样,主设备和备设备可以保证配置信息的一致,提高同步MAC地址的成功率。
本申请实施例还提供了一种网络设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现上述主设备执行的同步MAC地址的方法,或者,实现上述备设备执行的同步MAC地址的方法。
上述网络设备提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的同步MAC地址的方法步骤。
基于相同的技术构思,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的同步MAC地址的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种同步MAC地址的方法,其特征在于,所述方法应用于跨设备链路聚合组M-LAG中的主设备,所述M-LAG还包括备设备,所述方法包括:
接收所述备设备发送的协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数;其中,所述配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略;
根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数;
存储所述协商后的配置参数,并向所述备设备发送协商响应报文,所述协商响应报文中携带有所述协商后的配置参数,以使所述主设备和所述备设备根据所述协商后的配置参数进行媒体访问控制MAC地址同步处理。
2.根据权利要求1所述的方法,其特征在于,所述根据接收到的配置参数、本地的配置参数和预设的配置参数协商规则,确定协商后的配置参数,包括:
确定接收到的全局最大MAC数和本地的全局最大MAC数中的第一最小值,将所述第一最小值作为协商后的全局最大MAC数;
针对每个聚合组,确定接收到的该聚合组的最大MAC数和本地预设的该聚合组的最大MAC数中的第二最小值,将所述第二最小值作为该聚合组的协商后的最大MAC数;
针对每个聚合组,将本设备中存储的该聚合组的老化策略,作为协商后的老化策略。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对本地存储的老化类型为无流量老化的第一MAC地址,当达到所述第一MAC地址的采样周期时,检测所述第一MAC地址的命中状态信息,并接收所述备设备发送的第一状态通告报文,所述第一状态通告报文中携带有所述备设备检测到的所述第一MAC地址的命中状态信息,所述命中状态信息表示当前流量中是否包含所述第一MAC地址;
根据检测到的命中状态信息和接收到的命中状态信息,确定所述第一MAC地址的命中结果;
向所述备设备发送携带有所述第一MAC地址的命中结果的第一状态响应报文,并根据所述命中结果更新所述第一MAC地址的连续未命中次数;
当所述连续未命中次数达到预设阈值时,删除所述第一MAC地址。
4.根据权利要求3所述的方法,其特征在于,所述根据检测到的命中状态信息和接收到的命中状态信息,确定所述第一MAC地址的命中结果,包括:
如果检测到的命中状态信息和接收到的命中状态信息中,不存在表示当前流量中包含所述第一MAC地址的命中状态信息,则确定命中结果为未命中;
如果检测到的命中状态信息和接收到的命中状态信息中,存在表示当前流量中包含所述第一MAC地址的命中状态信息,则确定命中结果为命中。
5.根据权利要求4所述的方法,其特征在于,所述根据所述命中结果更新所述第一MAC地址的连续未命中次数,包括:
当命中结果为未命中时,将所述第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将所述第一MAC地址的连续未命中次数置零。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户输入的第二MAC地址的更新指令,所述更新指令包含MAC地址的更新状态信息,所述更新状态信息为添加状态或删除状态;
根据所述更新指令对所述第二MAC地址进行更新处理,并向所述备设备发送第二状态通告报文,所述第二状态通告报文中携带有所述第二MAC地址和更新状态信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述备设备同步的MAC地址时,将所述MAC地址存储到预设的临时MAC地址表中;
当检测到包含所述临时MAC地址表中的第三MAC地址的流量时,将所述第三MAC地址下发至驱动中。
8.一种同步MAC地址的方法,其特征在于,所述方法应用于跨设备链路聚合组M-LAG中的备设备,所述M-LAG还包括主设备,所述方法包括:
向所述主设备发送协商请求报文,所述协商请求报文中携带有所述备设备当前的配置参数,以使所述主设备根据接收到的配置参数、所述主设备的配置参数和预设的配置参数协商规则,确定协商后的配置参数;其中,所述配置参数包括全局最大MAC数、各聚合组的最大MAC数和所述各聚合组的老化策略;
接收主设备发送的协商响应报文,所述协商响应报文中携带有所述协商后的配置参数;
根据所述协商后的配置参数进行媒体访问控制MAC地址同步处理。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
针对本地存储的老化类型为无流量老化的第一MAC地址,当达到所述第一MAC地址的采样周期时,检测所述第一MAC地址的命中状态信息,所述命中状态信息表示当前流量中是否包含所述第一MAC地址;
向所述主设备发送第一状态通告报文,所述第一状态通告报文中携带有所述第一MAC地址的命中状态信息;
接收所述主设备发送的第一状态响应报文,所述第一状态响应报文中携带有所述第一MAC地址的命中结果;
根据所述命中结果更新所述第一MAC地址的连续未命中次数;
当所述连续未命中次数达到预设阈值时,删除所述第一MAC地址。
10.根据权利要求9所述的方法,其特征在于,所述根据所述命中结果更新所述第一MAC地址的连续未命中次数,包括:
当命中结果为未命中时,将所述第一MAC地址的连续未命中次数加1;
当命中结果为命中时,将所述第一MAC地址的连续未命中次数置零。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述主设备发送的第二状态通告报文,所述第二状态通告报文中携带有第二MAC地址和更新状态信息,所述更新状态信息为添加状态或删除状态;
根据所述第二MAC地址的更新状态信息,对所述第二MAC地址进行更新处理。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当接收到所述主设备同步的MAC地址时,将所述MAC地址存储到预设的临时MAC地址表中;
当检测到包含所述临时MAC地址表中的第四MAC地址的流量时,将所述第四MAC地址下发至驱动中。
13.一种网络设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7或权利要求8-12任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7或权利要求8-12任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910221668.1A CN109842694B (zh) | 2019-03-22 | 2019-03-22 | 一种同步mac地址的方法、网络设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910221668.1A CN109842694B (zh) | 2019-03-22 | 2019-03-22 | 一种同步mac地址的方法、网络设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109842694A CN109842694A (zh) | 2019-06-04 |
CN109842694B true CN109842694B (zh) | 2022-02-25 |
Family
ID=66886188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910221668.1A Active CN109842694B (zh) | 2019-03-22 | 2019-03-22 | 一种同步mac地址的方法、网络设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109842694B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929193B (zh) * | 2019-12-06 | 2023-02-03 | 华为技术有限公司 | 用于配置介质访问控制地址老化时间的方法和装置 |
CN111355823B (zh) * | 2020-02-17 | 2023-04-07 | 杭州迪普科技股份有限公司 | Mac地址表项的老化处理方法和装置 |
CN111682927B (zh) * | 2020-04-27 | 2022-07-12 | 浪潮思科网络科技有限公司 | 一种基于mlag环境的报文同步方法、装置、设备及介质 |
CN115706724A (zh) * | 2021-08-02 | 2023-02-17 | 中兴通讯股份有限公司 | 地址同步方法、交换机、跨设备链路聚合***及存储介质 |
CN114390023A (zh) * | 2021-12-27 | 2022-04-22 | 锐捷网络股份有限公司 | 一种动态地址不老化方法、装置、电子设备及存储介质 |
CN114500007B (zh) * | 2022-01-07 | 2023-12-22 | 成都市联洲国际技术有限公司 | M-LAG***中的MACsec的实现方法、装置、介质及设备 |
CN115174468A (zh) * | 2022-07-06 | 2022-10-11 | 中国联合网络通信集团有限公司 | 路由同步方法、跨设备链路聚合组、电子设备及介质 |
CN116545914B (zh) * | 2023-04-21 | 2024-03-29 | 南京金阵微电子技术有限公司 | 交换机芯片逻辑堆叠二层表项同步方法、***及交换机 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8488608B2 (en) * | 2010-08-04 | 2013-07-16 | Alcatel Lucent | System and method for traffic distribution in a multi-chassis link aggregation |
CN102388581B (zh) * | 2011-06-29 | 2013-12-04 | 华为技术有限公司 | 参考链路协商的方法、装置和*** |
CN103401782B (zh) * | 2013-07-24 | 2017-04-05 | 杭州华三通信技术有限公司 | 一种mac地址同步方法及设备 |
CN109462515A (zh) * | 2018-09-11 | 2019-03-12 | 锐捷网络股份有限公司 | 环路处理方法、网络设备、mlag组网及存储介质 |
-
2019
- 2019-03-22 CN CN201910221668.1A patent/CN109842694B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109842694A (zh) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109842694B (zh) | 一种同步mac地址的方法、网络设备和计算机可读存储介质 | |
US12015666B2 (en) | Systems and methods for distributing partial data to subnetworks | |
CN106888233B (zh) | 数据更新***及方法 | |
US8621574B2 (en) | Opaque quarantine and device discovery | |
CN107315825B (zh) | 一种索引更新***、方法及装置 | |
US9571569B2 (en) | Method and apparatus for determining virtual machine migration | |
US10361992B2 (en) | Method for synchronizing virtual machine location information between data center gateways, gateway, and system | |
CN105049502B (zh) | 一种云端网络管理***中设备软件更新的方法和装置 | |
CN108667575B (zh) | 一种bras转控分离的备份方法和装置 | |
CN109218200B (zh) | 一种报文处理方法及装置 | |
CN111221619A (zh) | 一种业务开通和编排的方法、装置及设备 | |
CN109639449B (zh) | 虚拟化流镜像策略自动化管理的方法、设备及介质 | |
CN109618174B (zh) | 一种直播数据传输方法、装置、***以及存储介质 | |
US20220150154A1 (en) | Automatically managing a mesh network based on dynamically self-configuring node devices | |
CN109474495B (zh) | 一种隧道检测方法及装置 | |
CN103338243A (zh) | Web节点的缓存数据更新方法和*** | |
US20170366441A1 (en) | Transmitting test traffic on a communication link | |
US20180248940A1 (en) | Distributed data management | |
CN109391548B (zh) | 表项迁移方法、装置及网络通信*** | |
JP6289879B2 (ja) | 通信端末、通信方法及びプログラム | |
CN108900441B (zh) | 网络切换方法、第一电子设备及可读存储介质 | |
CN109617817B (zh) | 一种mlag组网的转发表项的生成方法及装置 | |
CN109218182B (zh) | 一种路由信息的同步方法及装置 | |
JP2016158070A (ja) | 基地局輻輳管理システム、及び基地局輻輳管理方法 | |
CN111629054B (zh) | 消息处理方法、装置、***、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230619 Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd. Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |