CN114281547B - 一种数据报文处理方法、装置、电子设备及存储介质 - Google Patents
一种数据报文处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114281547B CN114281547B CN202111629679.7A CN202111629679A CN114281547B CN 114281547 B CN114281547 B CN 114281547B CN 202111629679 A CN202111629679 A CN 202111629679A CN 114281547 B CN114281547 B CN 114281547B
- Authority
- CN
- China
- Prior art keywords
- data message
- cpu
- core
- data
- hash value
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据报文处理方法、装置、电子设备及存储介质,该方法包括:通过中央处理器CPU的数据核获取数据报文,并计算数据报文对应的哈希值;判断在哈希连接表中是否匹配到哈希值;若是,则通过CPU的目标核对数据报文进行处理,获得处理结果。通过CPU的数据核计算数据报文对应的哈希值,并在哈希连接表中是否匹配到哈希值时,通过CPU的目标核对数据报文进行处理,从而让CPU的维护核不再进行数据报文的哈希值匹配过程,而是让CPU的数据核来进行数据报文的哈希值匹配过程,有效地减轻了CPU维护核的压力,避免了CPU的维护核成为整个CPU的性能瓶颈,从而提高了整个CPU处理数据报文的能力。
Description
技术领域
本申请涉及计算机网络、网络安全和数据处理的技术领域,具体而言,涉及一种数据报文处理方法、装置、电子设备及存储介质。
背景技术
目前,使用中央处理器(Central Processing Unit,CPU)的多个核对数据报文进行处理时,通常是采用其中一个核(例如维护核)来处理所有数据报文的哈希值匹配过程,且采用其它剩余的多个核(例如目标核或者应用层检测核)来对数据报文进行病毒检测或者攻击检测。当数据报文流量越来越大,那么要求CPU的核个数也越来越多,此时,维护核的处理能力难以和目标核的处理能力相匹配,CPU的维护核成为整个CPU的性能瓶颈,导致整个CPU处理数据报文的能力很难提高。
发明内容
本申请实施例的目的在于提供一种数据报文处理方法、装置、电子设备及存储介质,用于改善整个CPU处理数据报文的能力很难提高的问题。
本申请实施例提供了一种数据报文处理方法,包括:通过中央处理器CPU的数据核获取数据报文,并计算数据报文对应的哈希值;判断在哈希连接表中是否匹配到哈希值;若是,则通过CPU的目标核对数据报文进行处理,获得处理结果。在上述的实现过程中,通过CPU的数据核计算数据报文对应的哈希值,并在哈希连接表中是否匹配到哈希值时,通过CPU的目标核对数据报文进行处理,从而让CPU的维护核不再进行数据报文的哈希值匹配过程,而是让CPU的数据核来进行数据报文的哈希值匹配过程,有效地减轻了CPU维护核的压力,避免了CPU的维护核成为整个CPU的性能瓶颈,从而提高了整个CPU处理数据报文的能力。
可选地,在本申请实施例中,计算数据报文对应的哈希值,包括:提取数据报文的五元组;对数据报文的五元组进行哈希计算,获得哈希值。在上述的实现过程中,通过提取数据报文的五元组,并对数据报文的五元组进行哈希计算,从而避免了只对数据报文的IP地址或者MAC地址进行哈希计算导致数据连接报文匹配不准确的问题,有效地提高了根据五元组对数据连接报文进行匹配的准确性和精确性。
可选地,在本申请实施例中,在判断在哈希连接表中是否匹配到哈希值之后,还包括:若在哈希连接表中没有匹配到哈希值,则通过CPU的维护核将哈希值和五元组存储至哈希连接表中,并通过CPU的目标核对数据报文进行处理,获得处理结果。在上述的实现过程中,通过在哈希连接表中没有匹配到哈希值的情况下,通过CPU的维护核将哈希值和五元组存储至哈希连接表中,并通过CPU的目标核对数据报文进行处理,从而避免了仍然使用通过CPU的维护核对该数据报文进行处理导致CPU的维护核成为整个CPU的性能瓶颈的问题,从而提高了整个CPU处理数据报文的能力。
可选地,在本申请实施例中,在获得处理结果之后,还包括:判断处理结果是否是放行;若是,则根据数据报文的五元组转发数据报文。
可选地,在本申请实施例中,在判断处理结果是否是放行之后,还包括:若处理结果是丢弃,则将数据报文丢弃。
可选地,在本申请实施例中,通过CPU的目标核对数据报文进行处理,获得处理结果,包括:判断是否存在数据报文对应的预设标记;若是,则通过CPU的数据核将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果。
本申请实施例还提供了一种数据报文处理装置,包括:哈希值计算模块,用于通过中央处理器CPU的数据核获取数据报文,并计算数据报文对应的哈希值;哈希值匹配模块,用于判断在哈希连接表中是否匹配到哈希值;处理结果获得模块,用于若在哈希连接表中匹配到哈希值,则通过CPU的目标核对数据报文进行处理,获得处理结果。
在上述的实现过程中,让CPU的维护核(例如CPU0)来处理设备之间连接的首个数据报文,且让CPU的数据核(例如CPU1和CPU2)来处理该连接的后续数据报文,避免让CPU的数据核来执行策略匹配的耗时动作,由于CPU的数据核只进行快速地哈希连接匹配动作,从而在后续数据报文的处理上实现快速转发,从而极大地提高了数据报文的转发性能。通过CPU的数据核计算数据报文对应的哈希值,并在哈希连接表中是否匹配到哈希值时,通过CPU的目标核对数据报文进行处理,从而让CPU的维护核不再进行数据报文的哈希值匹配过程,而是让CPU的数据核来进行数据报文的哈希值匹配过程,有效地减轻了CPU维护核的压力,避免了CPU的维护核成为整个CPU的性能瓶颈,从而提高了整个CPU处理数据报文的能力。
可选地,在本申请实施例中,哈希值计算模块,包括:数据报文提取模块,用于提取数据报文的五元组;报文哈希计算模块,用于对数据报文的五元组进行哈希计算,获得哈希值。
可选地,在本申请实施例中,哈希值计算模块,还包括:数据报文处理模块,用于若在哈希连接表中没有匹配到哈希值,则通过CPU的维护核将哈希值和五元组存储至哈希连接表中,并通过CPU的目标核对数据报文进行处理,获得处理结果。
可选地,在本申请实施例中,数据报文处理装置,还包括:处理结果判断模块,用于判断处理结果是否是放行;数据报文转发模块,用于若处理结果是放行,则根据数据报文的五元组转发数据报文。
可选地,在本申请实施例中,数据报文处理装置,还包括:数据报文丢弃模块,用于若处理结果是丢弃,则将数据报文丢弃。
可选地,在本申请实施例中,处理结果获得模块,包括:预设标记判断模块,用于判断是否存在数据报文对应的预设标记;数据报文检测模块,用于若存在数据报文对应的预设标记,则通过CPU的数据核将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的数据报文处理方法适用的应用场景示意图;
图2示出的本申请实施例提供的数据报文处理方法的流程示意图;
图3示出的本申请实施例提供的CPU的数据核处理数据报文的示意图;
图4示出的本申请实施例提供的根据处理结果对数据报文进行处理的流程示意图;
图5示出的本申请实施例提供的数据报文处理装置的结构示意图;
图6示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例中的选定实施例。基于本申请实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在介绍本申请实施例提供的数据报文处理方法之前,先介绍本申请实施例中所涉及的一些概念:
入侵预防系统(Intrusion Prevention System,IPS),又称为入侵侦测与预防系统(intrusion detection and prevention systems,IDPS),是计算机网络安全设施,是对防病毒软件和防火墙的补充。入侵预防系统是一部能够监控网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。
网络安全防护设备(Network Security Device,NSD),是指部署在调度内部网与外部网之间、专用网与公共网之间的一组软件和硬件设备,用于构成内部网与外部网之间、专用网与公共网之间界面上的保护屏障。此处的NSD可以包括横向隔离装置、纵向加密认证装置、防火墙、防病毒系统或者入侵检测系统(Intrusion Detection System,IDS)等。
需要说明的是,本申请实施例提供的数据报文处理方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的网络设备、服务器或者设备终端;其中,网络设备是指并非数据流量的最终接收者,而只是将数据流量转发给最终接收者的设备,网络设备包括:网桥、交换机和路由器等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。
请参见图1示出的本申请实施例提供的数据报文处理方法适用的应用场景示意图;下面介绍该数据报文处理方法适用的应用场景,这里的应用场景包括但不限于:网络安全、数据安全和计算机安全等,例如:入侵防御系统(IPS)产品或者网络安全防护设备(NSD)产品等等。具体地,例如图中示出的仅使用CPU的一个核(见图中的维护核CPU0)来接收数据报文、匹配数据报文的哈希(hash)值、将不匹配的数据报文的哈希(hash)值插入哈希连接表等等,且在数据报文的哈希(hash)值匹配的情况下,则使用多个目标核(见图中的目标核CPU1、2、……、n)将匹配的数据报文上送给应用检测进程进行检测。在这种情况下,可以使用该数据报文处理方法来优化多个CPU核处理数据报文的过程,只让CPU的维护核处理首个数据报文(即在哈希连接表无法找到其对应哈希值的数据报文)的哈希值匹配过程和哈希值插入哈希连接表的过程,让CPU的维护核不再成为整个CPU的性能瓶颈,从而提高了整个CPU处理数据报文的能力。
请参见图2示出的本申请实施例提供的数据报文处理方法的流程示意图;该数据报文处理方法的主要思路是,通过CPU的数据核计算数据报文对应的哈希值,并在哈希连接表中是否匹配到哈希值时,通过CPU的目标核对数据报文进行处理,从而让CPU的维护核不再进行数据报文的哈希值匹配过程,而是让CPU的数据核来进行数据报文的哈希值匹配过程,有效地减轻了CPU维护核的压力,避免了CPU的维护核成为整个CPU的性能瓶颈,从而提高了整个CPU处理数据报文的能力。上述的数据报文处理方法具体可以包括:
步骤S110:通过中央处理器CPU的数据核获取数据报文,并计算数据报文对应的哈希值。
请参见图3示出的本申请实施例提供的CPU的数据核处理数据报文的示意图;可以理解的是,在具体实践过程中,CPU的数据核、维护核和目标核的划分可以根据具体情况进行划分,具体例如:假设该CPU有8个核,这8个核包括:CPU0-7,那么可以将CPU0作为维护核,将CPU1和CPU2作为数据核,并且将CPU3-7作为目标核(即多个CPU核绑定多个应用层检测进程,例如一个CPU核绑定一个应用层检测进程);当然也可以将CPU1-3作为数据核,并且将CPU4-7作为目标核。
上述步骤S110的实施方式可以包括:在网卡接收到数据报文之后,网卡将数据报文存储至数据核收包队列中,等待CPU的数据核从数据核收包队列中读取数据报文。在CPU的数据核从数据核收包队列中获取到数据报文之后,CPU的数据核可以提取出数据报文的五元组,此处的五元组例如:来源IP:20.2.1.4,来源端口号:443,目的IP:1.1.1.2,目的端口号:12345,协议类型:HTTPS。通过CPU的数据核按照一定规则(例如按照字段名称顺序依次排序后,中间加分割符)将数据报文的五元组拼接成为字符串,然后对该字符串进行哈希计算,获得该数据报文对应的哈希值。
在步骤S110之后,执行步骤S120:通过CPU的数据核判断在哈希连接表中是否匹配到哈希值。
哈希连接表,是指为了确定数据报文是否是首次连接时发送的数据报文的连接表,该哈希连接表中可以存储有数据报文的五元组和该五元组对应的哈希值。可以理解的是,设备A和设备B建立连接时需要相互发送很多数据报文,当首个数据报文的五元组和哈希值存储至哈希连接表之后,该连接的后续数据报文可以很快地被该哈希连接表匹配到。
上述步骤S120的实施方式例如:通过CPU的数据核执行预设编程语言编译或者解释的可执行程序,来判断在哈希连接表中是否匹配到哈希值;其中,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
在步骤S120之后,执行步骤S130:若在哈希连接表中匹配到哈希值,则通过CPU的目标核对数据报文进行处理,获得处理结果。
上述步骤S130的实施方式例如:通过CPU的数据核执行预设编程语言编译或者解释的可执行程序,来判断是否存在数据报文对应的预设标记,此处的预设标记是指将该数据报文上送给应用检测进程(即运行应用检测程序后的进程)进行检测的标记(如果该数据报文有标记,说明需要将该数据报文上送检测,否则,说明不需要将该数据报文上送检测)。若存在数据报文对应的预设标记,则通过CPU的数据核将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果。若不存在数据报文对应的预设标记,则通过CPU的数据核按照该数据报文的五元组转发。
其中,上面的应用检测进程对数据报文进行处理的具体过程具体例如:应用检测进程对数据报文进行检测病毒或攻击检测,即判断该数据报文是否存在病毒或者攻击特征;如果该数据报文中存在病毒或者攻击特征,则向CPU的数据核返回丢弃的处理结果,以使CPU的数据核直接丢弃该数据报文;如果该数据报文中不存在病毒或者攻击特征,则向CPU的数据核返回放行的处理结果,以使CPU的数据核直接放行该数据报文,即根据该数据报文的五元组转发该数据报文。
在步骤S120之后,执行步骤S140:若在哈希连接表中没有匹配到哈希值,则通过CPU的维护核将哈希值和五元组存储至哈希连接表中,并通过CPU的目标核对数据报文进行处理,获得处理结果。
上述步骤S140的实施方式例如:若在哈希连接表中没有匹配到哈希值,则通过CPU的数据核将该数据报文转存储至维护核(例如CPU0)的慢速队列中。然后,由CPU的维护核从该慢速队列中获取该数据报文,并对该数据报文进行策略匹配,获得策略匹配结果;其中,此处的策略匹配具体例如:匹配访问控制策略匹配和入侵防御系统(IPS)策略匹配等等。CPU的维护核在对该数据报文的策略匹配结果是通过的情况下,才提取出该数据报文的五元组,并将哈希值和五元组存储至哈希连接表中(此处的哈希连接表的匹配速度非常快,因此,哈希连接表又被称为快速连接表)。最后,将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果。其中,上述的应用检测进程对数据报文进行处理的具体过程具体例如:应用检测进程对数据报文进行检测病毒或攻击检测,即判断该数据报文是否存在病毒或者攻击特征;如果该数据报文中存在病毒或者攻击特征,则向CPU的目标核返回丢弃的处理结果,以使CPU的目标核直接丢弃该数据报文;如果该数据报文中不存在病毒或者攻击特征,则向CPU的维护核返回放行的处理结果,以使CPU的维护核直接放行该数据报文,即根据该数据报文的五元组转发该数据报文。
在上述的实现过程中,让CPU的维护核(例如CPU0)来处理设备之间连接的首个数据报文,且让CPU的数据核(例如CPU1和CPU2)来处理该连接的后续数据报文,避免让CPU的数据核来执行策略匹配的耗时动作,由于CPU的数据核只进行快速地哈希连接匹配动作,从而在后续数据报文的处理上实现快速转发,从而极大地提高了数据报文的转发性能。通过CPU的数据核计算数据报文对应的哈希值,并在哈希连接表中是否匹配到哈希值时,通过CPU的目标核对数据报文进行处理,从而让CPU的维护核不再进行数据报文的哈希值匹配过程,而是让CPU的数据核来进行数据报文的哈希值匹配过程,有效地减轻了CPU维护核的压力,避免了CPU的维护核成为整个CPU的性能瓶颈,从而提高了整个CPU处理数据报文的能力。
请参见图4示出的本申请实施例提供的根据处理结果对数据报文进行处理的流程示意图;可选地,在上述的步骤S130或者步骤S140中的获得处理结果之后,CPU的目标核还可以根据处理结果对数据报文进行处理,对数据报文进行处理的实施方式可以包括:
步骤S210:通过CPU的目标核判断处理结果是否是放行。
上述步骤S210的实施方式例如:通过CPU的目标核执行预设编程语言编译或者解释的可执行程序,来判断处理结果是否是放行。其中,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
在步骤S210之后,执行步骤S220:若该数据报文是首个数据报文,且处理结果是放行,则通过CPU的维护核根据数据报文的五元组转发数据报文。
上述步骤S220的实施方式例如:若该数据报文是第一设备(例如设备A)与第二设备(例如设备B)连接的首个数据报文,且处理结果是放行,则由CPU的维护核将该数据报文直接转发给网卡,让网卡直接根据数据报文的五元组转发数据报文。
在步骤S210之后,执行步骤S230:若该数据报文是首个数据报文,且处理结果是丢弃,则通过CPU的目标核将该数据报文丢弃。
在步骤S210之后,执行步骤S240:若该数据报文是后续数据报文,且处理结果是放行,则通过CPU的数据核根据数据报文的五元组转发数据报文。
上述步骤S240的实施方式例如:若该数据报文是第一设备(例如设备A)与第二设备(例如设备B)连接的后续数据报文,且处理结果是放行,则通过CPU的数据核将该数据报文直接转发给网卡,让网卡直接根据数据报文的五元组转发数据报文。
在步骤S210之后,执行步骤S250:若该数据报文是后续数据报文,且处理结果是丢弃,则通过CPU的数据核将该数据报文丢弃。
请参见图5示出的本申请实施例提供的数据报文处理装置的结构示意图;本申请实施例提供了一种数据报文处理装置300,包括:
哈希值计算模块310,用于通过中央处理器CPU的数据核获取数据报文,并计算数据报文对应的哈希值。
哈希值匹配模块320,用于判断在哈希连接表中是否匹配到哈希值。
处理结果获得模块330,用于若在哈希连接表中匹配到哈希值,则通过CPU的目标核对数据报文进行处理,获得处理结果。
可选地,在本申请实施例中,哈希值计算模块,包括:
数据报文提取模块,用于提取数据报文的五元组。
报文哈希计算模块,用于对数据报文的五元组进行哈希计算,获得哈希值。
可选地,在本申请实施例中,哈希值计算模块,还包括:
数据报文处理模块,用于若在哈希连接表中没有匹配到哈希值,则通过CPU的维护核将哈希值和五元组存储至哈希连接表中,并通过CPU的目标核对数据报文进行处理,获得处理结果。
可选地,在本申请实施例中,数据报文处理装置,还包括:
处理结果判断模块,用于判断处理结果是否是放行。
数据报文转发模块,用于若处理结果是放行,则根据数据报文的五元组转发数据报文。
可选地,在本申请实施例中,数据报文处理装置,还包括:
数据报文丢弃模块,用于若处理结果是丢弃,则将数据报文丢弃。
可选地,在本申请实施例中,处理结果获得模块,包括:
预设标记判断模块,用于判断是否存在数据报文对应的预设标记。
数据报文检测模块,用于若存在数据报文对应的预设标记,则通过CPU的数据核将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果。
应理解的是,该装置与上述的数据报文处理方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图6示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (7)
1.一种数据报文处理方法,其特征在于,包括:
通过中央处理器CPU的数据核获取数据报文,并计算所述数据报文对应的哈希值,包括:提取所述数据报文的五元组,并对所述数据报文的五元组进行哈希计算,获得所述哈希值;
判断在哈希连接表中是否匹配到所述哈希值;
若是,则通过CPU的目标核对所述数据报文进行处理,获得处理结果;
若在所述哈希连接表中没有匹配到所述哈希值,则通过所述CPU的数据核将所述数据报文转存储至队列中,然后,通过所述CPU维护核将所述哈希值和所述五元组存储至所述哈希连接表中,并通过所述CPU的目标核对所述队列中存储的数据报文进行处理,获得处理结果;
所述通过所述CPU维护核将所述哈希值和所述五元组存储至所述哈希连接表中,包括:
通过所述CPU的维护核对该数据报文进行策略匹配,获得策略匹配结果;所述CPU的维护核在对该数据报文的策略匹配结果是通过的情况下,提取出该数据报文的五元组,并将哈希值和五元组存储至哈希连接表中;
将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果;其中,所述应用检测进程对数据报文进行处理包括:应用检测进程判断该数据报文是否存在病毒或者攻击特征;如果该数据报文中存在病毒或者攻击特征,则向CPU的目标核返回丢弃的处理结果,以使CPU的目标核直接丢弃该数据报文;如果该数据报文中不存在病毒或者攻击特征,则向CPU的维护核返回放行的处理结果,以使CPU的维护核直接放行该数据报文,即根据该数据报文的五元组转发该数据报文。
2.根据权利要求1所述的方法,其特征在于,在所述获得处理结果之后,还包括:
判断所述处理结果是否是放行;
若是,则根据所述数据报文的五元组转发所述数据报文。
3.根据权利要求2所述的方法,其特征在于,在所述判断所述处理结果是否是放行之后,还包括:
若所述处理结果是丢弃,则将所述数据报文丢弃。
4.根据权利要求1所述的方法,其特征在于,所述通过CPU的目标核对所述数据报文进行处理,获得处理结果,包括:
判断是否存在所述数据报文对应的预设标记;
若是,则通过CPU的数据核将所述数据报文转发给应用检测进程,以使所述应用检测进程对所述数据报文进行处理,获得所述处理结果。
5.一种数据报文处理装置,其特征在于,包括:
哈希值计算模块,用于通过中央处理器CPU的数据核获取数据报文,并计算所述数据报文对应的哈希值,包括:提取所述数据报文的五元组,并对所述数据报文的五元组进行哈希计算,获得所述哈希值;
哈希值匹配模块,用于判断在哈希连接表中是否匹配到所述哈希值;
处理结果获得模块,用于若在哈希连接表中匹配到所述哈希值,则通过CPU的目标核对所述数据报文进行处理,获得处理结果;
数据报文处理模块,用于若在所述哈希连接表中没有匹配到所述哈希值,则通过所述CPU的数据核将所述数据报文转存储至队列中,然后,通过所述CPU维护核将所述哈希值和所述五元组存储至所述哈希连接表中,并通过所述CPU的目标核对所述队列中存储的数据报文进行处理,获得处理结果;
所述通过所述CPU维护核将所述哈希值和所述五元组存储至所述哈希连接表中,包括:
通过所述CPU的维护核对该数据报文进行策略匹配,获得策略匹配结果;所述CPU的维护核在对该数据报文的策略匹配结果是通过的情况下,提取出该数据报文的五元组,并将哈希值和五元组存储至哈希连接表中;
将数据报文转发给应用检测进程,以使应用检测进程对数据报文进行处理,获得处理结果;其中,所述应用检测进程对数据报文进行处理包括:应用检测进程判断该数据报文是否存在病毒或者攻击特征;如果该数据报文中存在病毒或者攻击特征,则向CPU的目标核返回丢弃的处理结果,以使CPU的目标核直接丢弃该数据报文;如果该数据报文中不存在病毒或者攻击特征,则向CPU的维护核返回放行的处理结果,以使CPU的维护核直接放行该数据报文,即根据该数据报文的五元组转发该数据报文。
6.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629679.7A CN114281547B (zh) | 2021-12-28 | 2021-12-28 | 一种数据报文处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629679.7A CN114281547B (zh) | 2021-12-28 | 2021-12-28 | 一种数据报文处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281547A CN114281547A (zh) | 2022-04-05 |
CN114281547B true CN114281547B (zh) | 2023-03-24 |
Family
ID=80877262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111629679.7A Active CN114281547B (zh) | 2021-12-28 | 2021-12-28 | 一种数据报文处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281547B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117640503B (zh) * | 2024-01-22 | 2024-04-30 | 北京天维信通科技股份有限公司 | 融合BRouter技术与智能路径技术的流量优化方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601139B2 (en) * | 2008-11-26 | 2013-12-03 | Cavium, Inc. | Multiple core session initiation protocol (SIP) |
CN106973053B (zh) * | 2017-03-29 | 2019-10-11 | 网宿科技股份有限公司 | 宽带接入服务器的加速方法和系统 |
CN109995828A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团河北有限公司 | Ipoib性能优化方法、装置、设备及介质 |
CN110708250A (zh) * | 2019-08-26 | 2020-01-17 | 广州市高科通信技术股份有限公司 | 一种提高数据转发性能的方法、电子设备及存储介质 |
-
2021
- 2021-12-28 CN CN202111629679.7A patent/CN114281547B/zh active Active
Non-Patent Citations (1)
Title |
---|
多进程共享的高效哈希表;张伟等;《计算机工程与设计》;20170516(第05期);第1190-1195页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114281547A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10454953B1 (en) | System and method for separated packet processing and static analysis | |
US10225280B2 (en) | System and method for verifying and detecting malware | |
US11483339B1 (en) | Detecting attacks and quarantining malware infected devices | |
WO2021082834A1 (zh) | 报文处理方法、装置、设备及计算机可读存储介质 | |
US8533834B1 (en) | Antivirus intelligent flow framework | |
CN111314328A (zh) | 网络攻击防护方法、装置、存储介质及电子设备 | |
EP3183840B1 (en) | Zero day threat detection using host application/program to user agent mapping | |
CN111565203B (zh) | 业务请求的防护方法、装置、系统和计算机设备 | |
CN115225349A (zh) | 一种蜜罐流量处理方法、装置、电子设备及存储介质 | |
CN114281547B (zh) | 一种数据报文处理方法、装置、电子设备及存储介质 | |
CN114866361A (zh) | 一种检测网络攻击的方法、装置、电子设备及介质 | |
US10721148B2 (en) | System and method for botnet identification | |
CN108418844B (zh) | 一种应用层攻击的防护方法及攻击防护端 | |
CN111212070A (zh) | 风险监控方法、装置、计算设备以及介质 | |
CN114697088B (zh) | 一种确定网络攻击的方法、装置及电子设备 | |
CN114244610B (zh) | 一种文件传输方法、装置,网络安全设备及存储介质 | |
CN115694998A (zh) | 一种安全检测方法、装置、电子设备及存储介质 | |
CN115208682A (zh) | 一种基于snort的高性能网络攻击特征检测方法及装置 | |
CN115834229A (zh) | 一种报文安全检测方法、设备及存储介质 | |
CN115225368A (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
CN111510300B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113965343A (zh) | 一种基于局域网的终端设备隔离方法及装置 | |
CN113746786A (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN111079144A (zh) | 一种病毒传播行为检测方法及装置 | |
CN110445799B (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 |