CN116185598A - 地址处理方法、装置、电子设备及可读存储介质 - Google Patents
地址处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116185598A CN116185598A CN202111431667.3A CN202111431667A CN116185598A CN 116185598 A CN116185598 A CN 116185598A CN 202111431667 A CN202111431667 A CN 202111431667A CN 116185598 A CN116185598 A CN 116185598A
- Authority
- CN
- China
- Prior art keywords
- address
- learning
- migration
- queue
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本申请提供一种地址处理方法、装置、电子设备及可读存储介质,涉及通信技术领域。本方案通过自动识别出异常迁移学习的地址,然后将地址加入限速学习队列中,以限制异常迁移学习的地址的学习速度,从而可以避免大量的异常地址进行迁移学习时造成CPU消耗较高,影响设备正常运行的问题。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种地址处理方法、装置、电子设备及可读存储介质。
背景技术
在数据通信领域,网络通信设备是数据转发的基础和桥梁,网络通信设备通过地址信息(如媒体接入控制(Media Access Control,MAC)地址)来转发数据。MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系,以及接口所属的虚拟局域网(Virtual LocalArea Network,VLAN)等信息。MAC地址表是设备通过MAC学习获得的,MAC学习包括MAC地址迁移的学习。
MAC地址迁移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。
实际网络部署场景中,流量模型、MAC地址、网络拓扑等都比较复杂,配置错误、局部网络出故障、出现环路、恶意DOS攻击等情况,会导致相同的流量从网络设备的不同端口上收到,当两个端口持续有较大流量时,就会出现地址反复迁移学习。而MAC学习是要通过CPU学习的,在MAC数量大或者流量大的场景下,相同MAC信息,因为端口不同,会反复上报CPU做地址迁移学习,导致CPU消耗较高,影响网络设备的正常运行。
发明内容
本申请实施例的目的在于提供一种地址处理方法、装置、电子设备及可读存储介质,用以改善现有技术中由于一些异常情况,大量的地址迁移学习造成CPU消耗过高,影响设备正常运行的问题。
第一方面,本申请实施例提供了一种地址处理方法,所述方法包括:
获取需要进行地址迁移学习的目标地址;
判断所述目标地址是否为异常迁移学习的地址;
若是,则将所述目标地址加入限速学习队列,其中,所述限速学习队列用于限制从所述限速学习队列中取出地址进行地址迁移学习的速度。
在上述实现过程中,本方案通过自动识别出异常迁移学习的地址,然后将地址加入限速学习队列中,以限制异常迁移学习的地址的学习速度,从而可以避免大量的异常地址进行迁移学习时造成CPU消耗较高,影响设备正常运行的问题。
可选地,所述判断所述目标地址是否为异常迁移学习的地址,包括:
从地址迁移数据库中查找所述目标地址是否标记有策略控制标识;其中,所述地址迁移数据库包括进行地址迁移学习的各个地址对应的迁移信息,所述策略控制标识为根据地址对应的迁移信息确定的;
若有,则确定所述目标地址为异常迁移学习的地址。
在上述实现过程中,预先为异常迁移学习的地址标记策略控制标识,则可以快速根据策略控制标识来判断目标地址是否为异常迁移学习的地址。
可选地,所述迁移信息包括地址迁移发生的频率和/或时间,所述判断所述目标地址是否为异常迁移学习的地址之前,所述方法还包括:
若所述地址迁移数据库中所述目标地址的地址迁移发生的频率超过设定频率,和/或,所述目标地址的地址迁移发生的时间不在设定时间段内,则为所述目标地址标记对应的策略控制标识。
在上述实现过程中,在设备遭受攻击时,会频繁发生迁移学习或发生迁移学习的时间不正常,所以,通过迁移频率和/或迁移时间可以准确判断出异常迁移学习的地址。
可选地,所述判断所述目标地址是否为异常迁移学习的地址之后,还包括:
若判断所述目标地址不是异常迁移学习的地址,则将所述目标地址加入正常学习队列,所述正常学习队列的处理优先级高于所述限速学习队列的处理优先级。从而可以优先保证正常迁移学习的地址能够快速进行迁移学习,如此可避免CPU先处理大量的异常迁移学习的地址而造成消耗较高的问题。
可选地,所述方法还包括:
获取需要进行处理的待删除地址;并将所述待删除地址加入删除地址队列,所述删除地址队列的处理优先级高于所述限速学习队列的处理优先级。这样可以优先执行删除操作,如此可避免CPU先处理大量的异常迁移学习的地址而造成消耗较高的问题。
可选地,在判断所述目标地址为异常迁移学习的地址之后,所述方法还包括:
为所述目标地址配置对应的控制策略,所述控制策略包括报文丢弃、告警、关闭端口的地址学习、DOWN掉端口中的至少一种,所述控制策略用于指示对所述目标地址对应的报文或端口按照所述控制策略进行处理。从而可确保网络安全,避免后续再次发生地址的频繁迁移学习造成CPU消耗高的问题。
可选地,所述将所述目标地址加入限速学习队列之后,所述方法还包括:
在从所述限速学习队列中取出目标地址后,将表项地址数据库中所述目标地址对应的原有表项删除,并重新在所述表项地址数据库中添加所述目标地址对应的新表项。虽然对目标地址进行限速迁移学习,但是并不影响其正常的迁移学习过程。
第二方面,本申请实施例提供了一种地址处理装置,所述装置包括:
地址获取模块,用于获取需要进行地址迁移学习的目标地址;
地址判断模块,用于判断所述目标地址是否为异常迁移学习的地址;
地址处理模块,用于若所述目标地址为异常迁移学习的地址,则将所述目标地址加入限速学习队列,其中,所述限速学习队列用于限制从所述限速学习队列中取出地址进行地址迁移学习的速度。
可选地,所述地址判断模块,具体用于从地址迁移数据库中查找所述目标地址是否标记有策略控制标识;其中,所述地址迁移数据库包括进行地址迁移学习的各个地址对应的迁移信息,所述策略控制标识为根据地址对应的迁移信息确定的;若有,则确定所述目标地址为异常迁移学习的地址。
可选地,所述迁移信息包括地址迁移发生的频率和/或时间,所述装置还包括:
标记模块,用于若所述地址迁移数据库中所述目标地址的地址迁移发生的频率超过设定频率,和/或,所述目标地址的地址迁移发生的时间不在设定时间段内,则为所述目标地址标记对应的策略控制标识。
可选地,所述地址处理模块,还用于若判断所述目标地址不是异常迁移学习的地址,则将所述目标地址加入正常学习队列,所述正常学习队列的处理优先级高于所述限速学习队列的处理优先级。
可选地,所述地址处理模块,还用于获取需要进行处理的待删除地址;并将所述待删除地址加入删除地址队列,所述删除地址队列的处理优先级高于所述限速学习队列的处理优先级。
可选地,所述装置还包括:
策略配置模块,用于在判断所述目标地址为异常迁移学习的地址之后,为所述目标地址配置对应的控制策略,所述控制策略包括报文丢弃、告警、关闭端口的地址学习、DOWN掉端口中的至少一种,所述控制策略用于指示对所述目标地址对应的报文或端口按照所述控制策略进行处理。
可选地,所述装置还包括:
迁移学习模块,用于在从所述限速学习队列中取出目标地址后,将表项地址数据库中所述目标地址对应的原有表项删除,并重新在所述表项地址数据库中添加所述目标地址对应的新表项。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种地址处理方法的流程图;
图2为本申请实施例提供的一种地址处理装置的结构框图;
图3为本申请实施例提供的一种用于执行地址处理方法的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明实施例中的术语“***”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供一种地址处理方法,该方法在获取需要进行地址迁移学习的目标地址后,先判断目标地址是否为异常迁移学习的地址,若是,则将目标地址加入限速学习队列,该限速学习队列用于限制从限速队列中取出地址进行地址迁移学习的速度,通过自动识别出异常迁移学习的地址,然后限制异常迁移学习的地址的学习速度,从而可以避免大量的异常地址进行迁移学习时造成CPU消耗较高,影响设备正常运行的问题。
请参照图1,图1为本申请实施例提供的一种地址处理方法的流程图,该方法包括如下步骤:
步骤S110:获取需要进行地址迁移学习的目标地址。
举例来说,地址可以包括MAC地址+VLAN+端口(PORT),交换机中的交换芯片在学习到新的地址后,会将地址信息上送CPU,通过CPU来创建MAC地址表项,创建完MAC地址表项后,CPU会下发MAC地址表项到交换芯片中。例如,交换芯片从某个端口接收到报文后,获取报文中的源MAC地址、VLAN和端口等信息,向CPU上报MAC摘要信息,或者直接将报文发送给CPU,CPU从报文中解析出这些信息,生成正式的MAC地址表项,添加到地址表项数据库(如MAC地址表项数据库)中,并将MAC地址表项写入到交换芯片。CPU还会将MAC地址表项同步到其他板卡,从而其他板卡也会学习到该MAC地址表项。
MAC地址的学习包括两种情况,一种是主动学习,主动学习是指交换芯片接收到报文后,从中获取MAC地址+VLAN,然后将MAC地址+VLAN与交换芯片中的MAC地址表项进行匹配,若没有匹配的MAC地址表项,则将地址信息上送CPU进行主动学习。另一种是迁移学习,迁移学习是指交换芯片从接收的报文中获取的MAC地址+VLAN有与其匹配的MAC地址表项,但是端口不匹配。
比如交换芯片从端口PORT2获得包含MAC1+VLAN1的报文,此时将包含MAC1+VLAN1+PORT2的信息发送给CPU,CPU查找地址表项数据库,若发现存在MAC1+VLAN1的表项,但是端口为PORT1,则判断地址发生了迁移,需要进行地址迁移学习,确定此时的地址MAC1+VLAN1+PORT2为需要进行地址迁移学习的地址。若如CPU查找地址表项数据库,未发现包含MAC1+VLAN1的表项,表示此时的地址为主动学习的地址。
所以,CPU可以根据交换芯片发送的地址信息,通过查找地址表项数据库来判断该地址是否为需要进行地址迁移学习的地址,为了描述的便利,本申请实施例中将需要进行地址迁移学习的地址称为目标地址。
步骤S120:判断目标地址是否为异常迁移学习的地址。
发生地址迁移学习可能是由于网络故障、恶意攻击等导致的,这些情况中,会出现大量的需要进行地址迁移学习的目标地址,如果CPU均按照正常迁移学习流程对这些地址进行地址迁移学习,则会导致CPU消耗高,影响***的正常运行。所以,为了避免这些问题,CPU在确定需要进行地址迁移学习的目标地址后,还需要判断目标地址是否为异常迁移学习的地址。
例如,如果目标地址是频繁进行迁移学习的地址,则可认为目标地址是异常迁移学习的地址。
步骤S130:将目标地址加入限速学习队列。
在确定目标地址是异常迁移学习的地址后,将目标地址加入限速学习队列,限速学习队列用于限制从限速学习队列中取出地址进行地址迁移学习的速度。
例如,CPU处理正常地址迁移学习的速度为每秒1个,即CPU按照每秒1个的速度对需要进行地址迁移学习的地址进行迁移学习,而对于限速学习队列中的地址,则可以配置CPU的处理速度为每分钟1个,即CPU每分钟从限速学习队列中取出一个地址进行迁移学习,这样就可以对大量的异常迁移学习的地址进行限速,而不会造成CPU由于快速处理大量的异常迁移学习的地址而导致消耗过高的问题。
CPU在进行地址迁移学习时,需要将地址迁移消息发送到地址迁移后台线程,由地址迁移后台线程来进行处理,如当前从限速学习队列中取出一个地址,其为MAC1+VLAN1+PORT2,在地址表项数据库中已经存在了MAC1+VLAN1+PORT1,则CPU可生成地址迁移消息:MAC1+VLAN1+OLD_PORT1+NEW_PORT2,然后将地址迁移消息发送给地址迁移后台线程,地址迁移后台线程获得该地址迁移消息,地址迁移后台线程可以统计MAC1+VLAN1在不同端口的迁移次数、时间段、频率等信息。然后完成正常的迁移流程,迁移流程如从地址表项数据库中删除旧表项MAC1+VLAN1+PORT1,然后在地址表项数据库中添加新表项MAC1+VLAN1+PORT2,CPU还可以将新表项同步到其他板卡,从而完成地址的迁移学习。
也就是说,若从限速学习队列中取出目标地址后,可以将表项地址数据库中目标地址对应的原有表项删除,并重新在表项地址数据库中添加目标地址对应的新表项,即虽然限速学习队列对地址的迁移学习进行了限速,但是CPU还是依然要对限速学习队列中的地址进行地址迁移学习,完成地址迁移流程,以避免报文的转发出现混乱的情况。
在上述实现过程中,通过自动识别出异常迁移学习的地址,然后将地址加入限速学习队列中,以限制异常迁移学习的地址的学习速度,从而可以避免大量的异常地址进行迁移学习时造成CPU消耗较高,影响设备正常运行的问题。
在上述实施例的基础上,可以通过以下方式来判断目标地址是否为异常迁移学习的地址:从地址迁移数据库中查找目标地址是否标记有策略控制标识,其中,地址迁移数据库包括进行地址迁移学习的各个地址对应的迁移信息,策略控制标识为根据地址对应的迁移信息确定的,若有,则确定目标地址为异常迁移学习的地址。
其中,策略控制标识即是用于标识异常迁移学习的地址,对于需要进行地址迁移学习的目标地址,可以先存储到地址迁移数据库中,地址迁移后台线程可统计各个迁移学习的地址对应的迁移信息,然后将迁移信息存储到地址迁移数据库中,并且地址迁移后台线程可根据各个地址的迁移信息来判断该地址是否为异常迁移学习的地址,如果是,则可在地址迁移数据库中为该地址标记策略控制标识,后续若获取到需要进行迁移学习的地址,可直接从地址迁移数据库中查找该地址是否有对应的策略控制标识,如果有,则表示该地址为异常迁移学习的地址,如果没有,则表示该地址为正常迁移学习的地址,对于正常迁移学习的地址,地址迁移后台线程可按照正常迁移学习流程进行处理,而对于异常迁移学习的地址,可先将该地址加入限速学习队列,后续地址迁移学习再从限速学习队列中取出地址进行正常迁移学习流程处理。
在上述实现过程中,预先为异常迁移学习的地址标记策略控制标识,则可以快速根据策略控制标识来判断目标地址是否为异常迁移学习的地址。
在上述实施例的基础上,迁移信息可以包括地址迁移发生的频率和/或时间,在为异常迁移学习的地址标记策略控制标识时,若地址迁移数据库中目标地址的地址迁移发生的频率超过设定频率,和/或,目标地址的地址迁移发生的世界不在设定时间段内,则为目标地址标记对应的策略控制标识。
例如,对于某个进行迁移学习的地址MAC1+VLAN1+PORT1,先将其加入到地址迁移数据库中,后续经过一段时间的地址迁移学习,地址迁移后台线程可统计该地址的迁移发生的频率和/或时间。由于是端口不同而造成的地址迁移学习,所以在进行迁移信息统计时,可以针对MAC1+VLAN1来统计,如统计MAC1+VLAN1这一地址信息发生迁移的次数,如统计该地址信息从PORT1迁移到PORT2的次数,从PORT2迁移到PORT1的次数,以及每次发生迁移的时间,然后可根据次数来获得发生迁移的频率,并记录在地址迁移数据库中。
在一段时间后,地址迁移后台线程可对地址迁移数据库中的各个地址的迁移信息进行统计,例如,若统计MAC1+VLAN1地址迁移发生的频率超过设定频率或者地址迁移发生的时间不在设定时间段内,则可为该MAC1+VLAN1标记策略控制标识,或者,若统计MAC1+VLAN1地址迁移发生的频率超过设定频率以及地址迁移发生的时间不在设定时间段内,则可为该MAC1+VLAN1标记策略控制标识。
当然,其中策略控制标识可以是实时更新的,比如地址迁移后台线程可以持续地检测每个单位时间内该地址的迁移次数,以获得其迁移频率,若迁移频率没有超过设定频率,则清除为该地址标记的策略控制标识,若超过了,则继续标记策略控制标识。
若当前接收到目标地址MAC1+VLAN1+PORT2需要进行地址迁移学习,此时可从地址数据库中查找MAC1+VLAN1是否标记有策略控制标识,如果有,则认为该目标地址为异常迁移学习的地址。
需要说明的是,迁移信息不仅仅包括迁移频率和/或迁移时间,还可以包括其他信息,如迁移次数、迁移时间点等,还可以基于这些信息来综合判断异常迁移学习的地址。
在上述实现过程中,在设备遭受攻击时,会频繁发生迁移学习或发生迁移学习的时间不正常,所以,通过迁移频率和/或迁移时间可以准确判断出异常迁移学习的地址。
在另一些实施方式中,在判断目标地址是否为异常迁移学习的地址时,还可以获取目标地址对应的历史迁移信息,其中历史迁移信息存储在地址迁移数据库中,然后根据历史迁移信息来判断目标地址是否为异常迁移学习的地址。
其中,历史迁移信息可以包括地址迁移发生的频率和/或时间等信息,这些信息可统计在地址迁移数据库中,这样地址迁移后台线程可以从地址迁移数据库中直接读取目标地址对应的历史迁移信息,若目标地址的地址迁移发生的频率超过设定频率,和/或,目标地址的地址迁移发生的时间不在设定时间段内,则确定该目标地址为异常迁移学习的地址。
这种情况下,无需为每个地址预先标记策略控制标识,可以省去标记的动作。
在上述实施例的基础上,若判断目标地址不是异常迁移学习的地址,则表示该目标地址为正常迁移学习的地址,还可以将目标地址加入正常学习队列,正常学习队列的处理优先级高于限速学习队列的处理优先级。
例如,在CPU中预先创建了两个队列,一个是正常学习队列,一个是限速学习队列,并且为两个队列配置了处理优先级,即正常学习队列的处理优先级高于限速学习队列的处理优先级。这样地址迁移后台线程在进行迁移学习时,优先从正常学习队列中读取地址进行迁移学习,只有在正常学习队列中没有地址时,才会从限速学习队列中读取地址进行迁移学习,如此可使得地址迁移后台线程优先进行对正常迁移学习的地址进行迁移学习,而对异常迁移学习的地址进行限速地迁移学习,从而可以优先保证正常迁移学习的地址能够快速进行迁移学习,如此可避免CPU先处理大量的异常迁移学习的地址而造成消耗较高的问题。
在上述实施例的基础上,对于学习到的地址,会有老化动作,比如在老化时间内(如默认300秒)没有收到相同源MAC地址的报文,则对应的地址表项会进行老化,交换芯片会向CPU发送一个地址删除消息,其包含了需要删除的地址,CPU收到该地址删除消息后,查找地址表项数据库中的对应表项,然后进行删除操作。并且CPU还会将删除操作同步到其他板卡,其他板卡同步对该地址表项进行删除。
当然,对于端口DOWN掉、手动删除地址表项等事件,交换芯片也会向CPU发送地址删除消息,对于删除地址表项的操作,CPU应该优先处理,以尽快释放存储资源。所以,CPU在获取需要进行处理的待删除地址后,可以将待删除地址加入删除地址队列,删除地址队列的处理优先级高于限速学习队列的处理优先级。
例如,对于要删除的待删除地址MAC2+VLAN2+PORT1,交换芯片在判断该地址需要删除后,向CPU发送该地址,CPU将该待删除地址加入到删除地址队列中,CPU优先从待删除地址队列中取出地址,然后查找地址表项数据库,在地址表项数据库中删除对应的MAC地址表项。在删除地址队列中没有需要删除的地址时,才会从限速学习队列中读取地址进行迁移学习,这样可以优先执行删除操作,如此可避免CPU先处理大量的异常迁移学习的地址而造成消耗较高的问题。
当然,若存在上述正常学习队列、删除地址队列和限速学习队列这三个队列时,也可以优先执行删除操作,即可以配置正常学习队列的处理优先级高于删除地址队列的处理优先级,即正常学习队列>删除地址队列>限速学习队列。这种情况下,CPU会按照三个队列的处理优先级依次从队列中取出地址进行处理,只要更高处理优先级的队列中有地址,则要持续处理完后才会处理下一个低处理优先级的队列中的地址。
而在处理正常学习队列和删除地址队列中的地址时,按照CPU的正常处理速度进行处理,而正常速度为每秒钟处理1个,而在处理限速学习队列中的地址时,按照配置的学习速率进行限速处理,如限速为每分钟处理1个。而交换芯片配置了一个机制,只要迁移信息不处理,如不做迁移流程“删除MAC1+VLAN1+PORT1添加MAC1+VLAN1+PORT2”,即使相同源MAC地址的报文仍然在PORT1和PORT2中持续转发,交换芯片也不会上报新的迁移信息,这样只要对异常的迁移学习进行限速,就能抑制CPU的高消耗,避免网络设备因为地址迁移学习而不堪重负,无法正常工作的问题。
可以理解地,CPU在接收到待删除地址后,则将待删除地址加入到删除地址队列中;在接收需要进行迁移学习的地址后,若该地址为正常迁移学习的地址,则加入正常学习队列,若该地址为异常迁移学习的地址,则将该地址加入限速学习队列。当然对于上述实施例中所说的主动学习的地址,也将其加入正常学习队列,对于主动学习的地址,CPU重新在地址表项数据库中新建一条新的MAC地址表项,而对于正常迁移学习的地址和异常迁移学习的地址,均会执行迁移流程,如CPU先在地址表项数据库中删除原有地址对应的表项,然后再在地址表项数据库中新建一条新的表项。当然,对于是需要进行迁移学习的地址,均会在地址迁移数据库中记录迁移学习的地址,并通过地址迁移后台线程来统计地址迁移数据库中的各个地址的迁移信息,从而可以根据迁移信息在地址迁移数据库中为异常迁移学习的地址标记策略控制标识。
这样在配置三个队列的处理优先级后,CPU按照处理优先级对三个队列中的地址进行处理,不会影响到对正常迁移学习的地址、主动学习的地址以及删除地址的处理。
在上述实施例的基础上,为了确保网络安全,还可以针对异常迁移学习的地址配置相应的控制策略,如在判断目标地址为异常迁移学习的地址后,可为目标地址配置对应的控制策略,该控制策略包括报文丢弃、告警、关闭端口的地址学习、DOWN(断开)掉端口中的至少一种,所述控制策略用于指示对所述目标地址对应的报文或端口按照所述控制策略进行处理。
例如,对于异常迁移学习的目标地址,动态下发一个Drop动作(即报文丢弃),这样后续接收到该目标地址的报文后,可直接对报文执行丢弃动作,从而可以对恶意攻击的迁移报文直接进行丢弃,避免造成DOS攻击。
或者,若控制策略为告警,则可以在后续接收到该目标地址的报文后,输出告警信息。
或者,若控制策略为关闭端口的地址学习,即关闭目标地址中的端口的地址学习,这样若后续从该端口接收到报文后,不对该报文的地址进行主动学习或迁移学习。
或者,若控制策略为DOWN掉端口,即DOWN掉目标地址中的端口,这样则不会从该端口接收到报文,从而不会从该端口接收到攻击报文。
可以理解地,控制策略还可以有其他的,可以根据不同的网络场景,配置对应的控制策略,以防止恶意攻击对设备的安全造成威胁。
在异常迁移学习的地址数量较多时,为了快速对这些地址进行控制策略的配置,还可以从地址迁移数据库中获取标记有策略控制标识的地址,然后针对这些地址统一进行控制策略的配置,相比于一个一个地址进行配置,可以提高配置效率。
或者,还可以针对地址配置的控制策略记录在地址迁移数据库中,这样后续获取到某个地址的报文后,可通过地址迁移数据库查找是否针对该地址配置有控制策略,如果有,则按照配置的控制策略对报文进行相应处理。当然如果控制策略是针对端口生效的,则在配置控制策略后,对应的端口自动按照控制策略生效执行。
请参照图2,图2为本申请实施例提供的一种地址处理装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
地址获取模块210,用于获取需要进行地址迁移学习的目标地址;
地址判断模块220,用于判断所述目标地址是否为异常迁移学习的地址;
地址处理模块230,用于若所述目标地址为异常迁移学习的地址,则将所述目标地址加入限速学习队列,其中,所述限速学习队列用于限制从所述限速学习队列中取出地址进行地址迁移学习的速度。
可选地,所述地址判断模块220,用于从地址迁移数据库中查找所述目标地址是否标记有策略控制标识;其中,所述地址迁移数据库包括进行地址迁移学习的各个地址对应的迁移信息,所述策略控制标识为根据地址对应的迁移信息确定的;若有,则确定所述目标地址为异常迁移学习的地址。
可选地,所述迁移信息包括地址迁移发生的频率和/或时间,所述装置200包括:
标记模块,用于若所述地址迁移数据库中所述目标地址的地址迁移发生的频率超过设定频率,和/或,所述目标地址的地址迁移发生的时间不在设定时间段内,则为所述目标地址标记对应的策略控制标识。
可选地,所述地址处理模块230,还用于若判断所述目标地址不是异常迁移学习的地址,则将所述目标地址加入正常学习队列,所述正常学习队列的处理优先级高于所述限速学习队列的处理优先级。
可选地,所述地址处理模块230,还用于获取需要进行处理的待删除地址;并将所述待删除地址加入删除地址队列,所述删除地址队列的处理优先级高于所述限速学习队列的处理优先级。
可选地,所述装置200还包括:
策略配置模块,用于在判断所述目标地址为异常迁移学习的地址之后,为所述目标地址配置对应的控制策略,所述控制策略包括报文丢弃、告警、关闭端口的地址学习、DOWN掉端口中的至少一种,所述控制策略用于指示对所述目标地址对应的报文或端口按照所述控制策略进行处理。
可选地,所述装置200还包括:
迁移学习模块,用于在从所述限速学习队列中取出目标地址后,将表项地址数据库中所述目标地址对应的原有表项删除,并重新在所述表项地址数据库中添加所述目标地址对应的新表项。
需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
请参照图3,图3为本申请实施例提供的一种用于执行地址处理方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器310,例如CPU,至少一个通信接口320,至少一个存储器330和至少一个通信总线1340。其中,通信总线340用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口320用于与其他节点设备进行信令或数据的通信。存储器330可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器330可选的还可以是至少一个位于远离前述处理器的存储装置。存储器330中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。
可以理解,图3所示的结构仅为示意,所述电子设备还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取需要进行地址迁移学习的目标地址;判断所述目标地址是否为异常迁移学习的地址;若是,则将所述目标地址加入限速学习队列,其中,所述限速学习队列用于限制从所述限速学习队列中取出地址进行地址迁移学习的速度。
综上所述,本申请实施例提供一种地址处理方法、装置、电子设备及可读存储介质,本方案通过自动识别出异常迁移学习的地址,然后将地址加入限速学习队列中,以限制异常迁移学习的地址的学习速度,从而可以避免大量的异常地址进行迁移学习时造成CPU消耗较高,影响设备正常运行的问题。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种地址处理方法,其特征在于,所述方法包括:
获取需要进行地址迁移学习的目标地址;
判断所述目标地址是否为异常迁移学习的地址;
若是,则将所述目标地址加入限速学习队列,其中,所述限速学习队列用于限制从所述限速学习队列中取出地址进行地址迁移学习的速度。
2.根据权利要求1所述的方法,其特征在于,所述判断所述目标地址是否为异常迁移学习的地址,包括:
从地址迁移数据库中查找所述目标地址是否标记有策略控制标识;其中,所述地址迁移数据库包括进行地址迁移学习的各个地址对应的迁移信息,所述策略控制标识为根据地址对应的迁移信息确定的;
若有,则确定所述目标地址为异常迁移学习的地址。
3.根据权利要求2所述的方法,其特征在于,所述迁移信息包括地址迁移发生的频率和/或时间,所述判断所述目标地址是否为异常迁移学习的地址之前,所述方法还包括:
若所述地址迁移数据库中所述目标地址的地址迁移发生的频率超过设定频率,和/或,所述目标地址的地址迁移发生的时间不在设定时间段内,则为所述目标地址标记对应的策略控制标识。
4.根据权利要求1所述的方法,其特征在于,所述判断所述目标地址是否为异常迁移学习的地址之后,还包括:
若判断所述目标地址不是异常迁移学习的地址,则将所述目标地址加入正常学习队列,所述正常学习队列的处理优先级高于所述限速学习队列的处理优先级;
和/或
若判断所述目标地址为异常迁移学习的地址之后,为所述目标地址配置对应的控制策略,所述控制策略包括报文丢弃、告警、关闭端口的地址学习、DOWN掉端口中的至少一种,所述控制策略用于指示对所述目标地址对应的报文或端口按照所述控制策略进行处理;
和/或
所述方法还包括:
获取需要进行处理的待删除地址;并将所述待删除地址加入删除地址队列,所述删除地址队列的处理优先级高于所述限速学习队列的处理优先级。
5.根据权利要求1-4任一所述的方法,其特征在于,所述将所述目标地址加入限速学习队列之后,还包括:
在从所述限速学习队列中取出目标地址后,将表项地址数据库中所述目标地址对应的原有表项删除,并重新在所述表项地址数据库中添加所述目标地址对应的新表项。
6.一种地址处理装置,其特征在于,所述装置包括:
地址获取模块,用于获取需要进行地址迁移学习的目标地址;
地址判断模块,用于判断所述目标地址是否为异常迁移学习的地址;
地址处理模块,用于若所述目标地址为异常迁移学习的地址,则将所述目标地址加入限速学习队列,其中,所述限速学习队列用于限制从所述限速学习队列中取出地址进行地址迁移学习的速度。
7.根据权利要求6所述的装置,其特征在于,所述地址判断模块,具体用于从地址迁移数据库中查找所述目标地址是否标记有策略控制标识;其中,所述地址迁移数据库包括进行地址迁移学习的各个地址对应的迁移信息,所述策略控制标识为根据地址对应的迁移信息确定的;若有,则确定所述目标地址为异常迁移学习的地址。
8.根据权利要求7所述的装置,其特征在于,所述迁移信息包括地址迁移发生的频率和/或时间,所述装置还包括:
标记模块,用于若所述地址迁移数据库中所述目标地址的地址迁移发生的频率超过设定频率,和/或,所述目标地址的地址迁移发生的时间不在设定时间段内,则为所述目标地址标记对应的策略控制标识。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-4任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111431667.3A CN116185598A (zh) | 2021-11-29 | 2021-11-29 | 地址处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111431667.3A CN116185598A (zh) | 2021-11-29 | 2021-11-29 | 地址处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185598A true CN116185598A (zh) | 2023-05-30 |
Family
ID=86449450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111431667.3A Pending CN116185598A (zh) | 2021-11-29 | 2021-11-29 | 地址处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185598A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955855A (zh) * | 2023-09-14 | 2023-10-27 | 南京擎天科技有限公司 | 一种低成本跨地域地址解析模型构建方法及*** |
-
2021
- 2021-11-29 CN CN202111431667.3A patent/CN116185598A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955855A (zh) * | 2023-09-14 | 2023-10-27 | 南京擎天科技有限公司 | 一种低成本跨地域地址解析模型构建方法及*** |
CN116955855B (zh) * | 2023-09-14 | 2023-11-24 | 南京擎天科技有限公司 | 一种低成本跨地域地址解析模型构建方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230135261A1 (en) | Segment Routing Network Signaling and Packet Processing | |
JP2021087222A (ja) | 故障根本原因決定方法及び装置並びにコンピュータ記憶媒体 | |
WO2022083540A1 (zh) | 故障恢复预案确定方法、装置及***、计算机存储介质 | |
CN113992428B (zh) | 容器环境下的入侵防御方法及装置、电子设备、存储介质 | |
US12015519B2 (en) | Data processing method and apparatus, and computer storage medium | |
US9491043B2 (en) | Communication path switching device, communication path switching method and communication path switching program | |
CN110113197A (zh) | Sdn控制器配置网络设备的方法和sdn控制器 | |
CN109495567B (zh) | 一种静态路由的部署方法、设备及*** | |
CN110912826B (zh) | 利用acl扩充ipfix表项的方法及装置 | |
WO2016101870A1 (zh) | 网络攻击分析方法和装置 | |
US20160299958A1 (en) | Method and apparatus for visual logging in networking systems | |
CN105357114A (zh) | 一种分布式网络设备 | |
CN109960634A (zh) | 一种应用程序监控方法、装置及*** | |
CN109240796A (zh) | 虚拟机信息获取方法及装置 | |
CN112291116A (zh) | 链路故障检测方法、装置及网络设备 | |
US20220263859A1 (en) | Method and apparatus for defending against cyber attacks, receiving device and computer storage medium | |
CN114567481A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN116185598A (zh) | 地址处理方法、装置、电子设备及可读存储介质 | |
CN102143011B (zh) | 一种实现网络保护的装置及方法 | |
CN112491722B (zh) | 一种地址表维护方法、装置、设备 | |
CN108810183A (zh) | 冲突mac地址的处理方法、装置和机器可读存储介质 | |
CN110855566B (zh) | 上行流量的牵引方法和装置 | |
US10887282B1 (en) | Determining synchronization of filter rules (e.g., on iptable filter tables on Linux kernal) across firewall filter application restarts | |
CN113556345B (zh) | 一种报文处理方法、装置、设备及介质 | |
CN115118615A (zh) | 一种网络监控数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |