本公开涉及网络安全,尤其涉及一种mac地址表自动更新方法、装置、电子设备及存储介质。
背景技术:
1、在基于802.1x的网络准入系统中,交换机作为代理实现对所有接入网络的终端设备进行准入控制。当终端获得准入后,交换机将终端的mac地址加入mac地址表,使得来自该终端的报文可以被正常转发。通常情况下,这些加入的mac地址表项是静态的,以确保表项在cpu的控制之下进行删除或修改,维持终端准入的持续可控。
2、在实际的网络环境中,网络的拓扑可能因为某种原因(比如环状拓扑时,某个非备份链路故障,导致原备份链路进入转发状态)发生变化。在不启用认证的情况下,通过动态mac地址学习,交换机可以自动在拓扑变化后更新mac地址表。但是,在启用认证的情况下,因为mac地址表项是静态维护的,需要cpu在拓扑变化时对相关的mac地址表项进行及时调整,否则就可能导致终端报文不能被正常转发。
3、传统的802.1x通过关闭交换机之间的级联端口上的认证来避免上述问题,但这样会导致级联端口上存在安全隐患:攻击者可以通过在两个级联端口中间插入非管理型交换机来逃避交换机的准入控制。
技术实现思路
1、有鉴于此,本公开实施例提供了一种mac地址表自动更新方法、装置、电子设备及存储介质,能够所有交换机端口处于认证的情况下,实现拓扑变化时的终端mac地址表的及时更新。
2、第一方面,本公开实施例提供了一种mac地址表自动更新方法,采用如下技术方案:
3、第一交换机接收拓扑变化消息;
4、所述第一交换机广播发送第一declare消息,所述第一declare消息基于所述拓扑变化消息触发;
5、第二交换机接收所述第一declare消息,并回复第二declare消息;
6、所述第一交换机接收到所述第二declare消息,根据所述第二declare消息确定所述第二交换机发生变化的级联端口;
7、根据所述发生变化的级联端口,修改所述第二交换机对应的所有终端的mac地址表项。
8、可选地,还包括:在所述第一交换机上设置拓扑变化计数器,以监控局域网发生拓扑变化的次数;在所述拓扑变化计数器发生变化时,产生所述拓扑变化消息。
9、可选地,所述第一交换机接收到所述第二declare消息,根据所述第二declare消息确定所述第二交换机发生变化的级联端口,包括:所述第一交换机接收到所述第二declare消息后,判断所述第二declare消息是否在拓扑变化窗口内;若是,则根据所述第二declare消息确定所述第二交换机发生变化的级联端口。
10、可选地,还包括:在所述第一交换机上设置拓扑变化计时器,以记录所述局域网发生拓扑变化的时间;根据所述拓扑变化计时器来判断所述第二declare消息是否在所述拓扑变化窗口内。
11、可选地,还包括:在根据所述发生变化的级联端口,修改所述第二交换机对应的所有终端的mac地址表项之前,所述第一交换机接收到端口发生变化的终端发送的报文时,判断所述终端的端口变化是否在所述拓扑变化窗口内,若是,则直接修改所述终端的mac地址表项,正常转发所述报文。
12、可选地,还包括:若所述局域网内其他任一交换机已经对所述终端的mac地址表项进行了修改,且修改后的所述终端的mac地址表项中的当前端口的状态为正常,则所述第一交换机直接根据修改后的所述终端的mac地址表项,将所述终端的mac的端口切换到所述当前端口。
13、可选地,所述第一declare消息具有第一标识,用以表征所述第一declare消息基于所述拓扑变化消息触发。
14、第二方面,本公开实施例还提供了一种mac地址表自动更新装置,采用如下技术方案:
15、消息接收模块,用于供第一交换机接收局域网内拓扑变化消息;
16、消息广播模块,用于供所述第一交换机向所述局域网内广播发送第一declare消息,所述第一declare消息基于所述拓扑变化消息触发;
17、消息回复模块,用于供所述局域网内的第二交换机接收所述第一declare消息,并回复第二declare消息;
18、变化确定模块,用于在所述第一交换机接收到所述第二declare消息时,根据所述第二declare消息确定所述第二交换机发生变化的级联端口;
19、表项修改模块,用于根据所述发生变化的级联端口,修改所述第二交换机对应的所有终端的mac地址表项。
20、第三方面,本公开实施例还提供了一种电子设备,采用如下技术方案:
21、所述电子设备包括:
22、至少一个处理器;以及,
23、与所述至少一个处理器通信连接的存储器;其中,
24、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上任一所述的mac地址表自动更新方法。
25、第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行以上任一所述的mac地址表自动更新方法。
26、本公开实施例提供的mac地址表自动更新方法、装置、电子设备及存储介质,当发生拓扑变化时,第一交换机能够收到拓扑变化消息,并发送第一declare消息,第二交换机接收到第一declare消息并向第一交换机回复第二declare,第一交换机能够根据接收到的第二declare消息来确定第二交换机发生变化的级联端口,对所有终端的mac地址表项进行修改;能够在交换机启用所有端口的认证的情况下,交换机上的cpu能够在拓扑变化时及时、准确地调整相应交换机端口上的mac地址表项,实现拓扑变化时的mac地址表的及时更新,确保终端的报文在拓扑变化后仍可以得到正常转发。
27、上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
1.一种mac地址表自动更新方法,其特征在于,包括:
2.根据权利要求1所述的mac地址表自动更新方法,其特征在于,还包括:在所述第一交换机上设置拓扑变化计数器,以监控局域网发生拓扑变化的次数;在所述拓扑变化计数器发生变化时,产生所述拓扑变化消息。
3.根据权利要求1所述的mac地址表自动更新方法,其特征在于,所述第一交换机接收到所述第二declare消息,根据所述第二declare消息确定所述第二交换机发生变化的级联端口,包括:
4.根据权利要求3所述的mac地址表自动更新方法,其特征在于,还包括:在所述第一交换机上设置拓扑变化计时器,以记录所述局域网发生拓扑变化的时间;根据所述拓扑变化计时器来判断所述第二declare消息是否在所述拓扑变化窗口内。
5.根据权利要求3所述的mac地址表自动更新方法,其特征在于,还包括:在根据所述发生变化的级联端口,修改所述第二交换机对应的所有终端的mac地址表项之前,所述第一交换机接收到端口发生变化的终端发送的报文时,判断所述终端的端口变化是否在所述拓扑变化窗口内,若是,则直接修改所述终端的mac地址表项,正常转发所述报文。
6.根据权利要求5所述的mac地址表自动更新方法,其特征在于,还包括:若所述局域网内其他任一交换机已经对所述终端的mac地址表项进行了修改,且修改后的所述终端的mac地址表项中的当前端口的状态为正常,则所述第一交换机直接根据修改后的所述终端的mac地址表项,将所述终端的mac的端口切换到所述当前端口。
7.根据权利要求1所述的mac地址表自动更新方法,其特征在于,所述第一declare消息具有第一标识,用以表征所述第一declare消息基于所述拓扑变化消息触发。
8.一种mac地址表自动更新装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求1-7任一所述的mac地址表自动更新方法。