CN114553469A - 报文处理方法、装置、设备和存储介质 - Google Patents

报文处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114553469A
CN114553469A CN202210001271.3A CN202210001271A CN114553469A CN 114553469 A CN114553469 A CN 114553469A CN 202210001271 A CN202210001271 A CN 202210001271A CN 114553469 A CN114553469 A CN 114553469A
Authority
CN
China
Prior art keywords
target
security policy
memory block
message
address
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.)
Granted
Application number
CN202210001271.3A
Other languages
English (en)
Other versions
CN114553469B (zh
Inventor
张祖平
蔡超
吴志兵
向雯
张力
朱明�
熊英
邓超
万楚阳
董贤伟
康金华
王春红
刘丽辉
王正
张龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
722th Research Institute of CSIC
Original Assignee
722th Research Institute of CSIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 722th Research Institute of CSIC filed Critical 722th Research Institute of CSIC
Priority to CN202210001271.3A priority Critical patent/CN114553469B/zh
Publication of CN114553469A publication Critical patent/CN114553469A/zh
Application granted granted Critical
Publication of CN114553469B publication Critical patent/CN114553469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种报文处理方法、装置、设备和存储介质,属于网络安全技术领域。该方法包括:基于报文的五元组确定索引值;基于索引值与内存块的地址之间的映射关系,确定与所述索引值对应的目标内存块的地址;基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,所述第一目标安全策略包括目标五元组和对应的处理动作,所述目标五元组与所述报文的五元组相匹配;响应于在所述目标内存块内查找到所述第一目标安全策略,根据所述第一目标安全策略中的处理动作,对所述报文进行处理。本公开能够提高安全策略的匹配速度。

Description

报文处理方法、装置、设备和存储介质
技术领域
本公开涉及网络安全技术领域,特别涉及一种报文处理方法、装置、设备和存储介质。
背景技术
网络通信设备接入互联网时,为了抵抗网络攻击,通常需要在网络的出入口部署网络安全设备。网络安全设备根据配置的安全策略,对进入和发出的报文进行处理,以实现访问控制。
相关技术中,安全策略采用链表的形式存储在网络安全设备中。当网络安全设备接收到报文后,需要基于报文的五元组,与链表中的安全策略逐条进行匹配,直至匹配到目标安全策略。然后根据目标安全策略中的处理动作,对报文进行处理。
随着网络安全设备保护的计算机终端的数量越多,网络安全设备中配置的安全策略的数量也越来越多。逐条匹配安全策略的方式效率较低,将影响网络安全设备对报文的处理性能。
发明内容
本公开实施例提供了一种报文处理方法、装置、设备和存储介质,能够提高安全策略的匹配速度。所述技术方案如下:
一方面,提供了一种报文处理方法,所述方法包括:基于报文的五元组确定索引值;基于索引值与内存块的地址之间的映射关系,确定与所述索引值对应的目标内存块的地址;基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,所述第一目标安全策略包括目标五元组和对应的处理动作,所述目标五元组与所述报文的五元组相匹配;响应于在所述目标内存块内查找到所述第一目标安全策略,根据所述第一目标安全策略中的处理动作,对所述报文进行处理。
可选地,所述基于报文的五元组确定索引值,包括:采用CRC算法计算所述报文的五元组的哈希值;将哈希值中的设定位置的连续N比特,作为所述索引值,其中,N为整数且N大于1。
可选地,所述基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,包括:基于设定的安全策略需要的存储空间大小,以所述目标内存块的地址为首地址,按照存储顺序依次将所述目标内存块中存储的安全策略与所述报文的五元组进行匹配。
可选地,所述存储空间大小为16字节,所述目标内存块的大小为16*M字节,其中,M为整数且M不小于4。
可选地,所述方法还包括:响应于在所述目标内存块内未查找到所述第一目标安全策略,则从安全策略链表中查找第二目标安全策略,所述安全策略链表包括多条安全策略;基于查找到的第二目标安全策略,将对应的安全策略存储至所述目标内存块中。
可选地,所述CRC算法为CRC32,所述N等于16;或者,所述CRC算法为CRC16,所述N等于8。
另一方面,提供了一种报文处理装置,包括:第一确定模块、第二确定模块、查找模块和处理模块。第一确定模块用于基于报文的五元组确定索引值;第二确定模块用于基于索引值与内存块的地址之间的映射关系,确定与所述索引值对应的目标内存块的地址;查找模块用于基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,所述第一目标安全策略包括目标五元组和对应的处理动作,所述目标五元组与所述报文的五元组相匹配;处理模块用于响应于在所述目标内存块内查找到所述第一目标安全策略,根据所述第一目标安全策略中的处理动作,对所述报文进行处理。
可选地,所述第一确定模块,用于采用CRC算法计算所述报文的五元组的哈希值;将哈希值中的设定位置的连续N比特,作为所述索引值,其中,N为整数且N大于1。
可选地,查找模块,用于基于设定的安全策略需要的存储空间大小,以所述目标内存块的地址为首地址,按照存储顺序依次将所述目标内存块中存储的安全策略与所述报文的五元组进行匹配。
可选地,所述存储空间大小为16字节,所述目标内存块的大小为16*M字节,其中,M为整数且M不小于4。
可选地,所述方法还包括:存储模块,所述查找模块还用于响应于在所述目标内存块内未查找到所述第一目标安全策略,则从安全策略链表中查找第二目标安全策略,所述安全策略链表包括多条安全策略;所述存储模块用于将所述第二目标安全策略对应的安全策略存储至所述目标内存块中。
可选地,所述CRC算法为CRC32,所述N等于16;或者,所述CRC算法为CRC16,所述N等于8。
另一方面,提供了一种计算机设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如前述任一种方法。
另一方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行前述任一种方法。
又一方面,提供了一种计算机程序,所述计算机程序包括:计算机程序代码,所述程序代码包括用于实现前述任一种方法的指令。
本公开实施例提供的技术方案带来的有益效果至少包括:
在本公开实施例中,以内存块为存储单位存储安全策略,且每个内存块对应一个索引值,相当于先将安全策略分类。这样,可以先基于报文的五元组确定索引值,然后根据索引值确定目标内存块的地址,将报文的五元组优先与目标内存块中的安全策略进行匹配,即将报文的五元组优先与匹配成功的可能性大的安全策略进行匹配,从而可以快速匹配到第一目标安全策略。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例适用的一种应用场景的示意图;
图2是本公开实施例提供的一种报文处理方法的流程图;
图3是本公开实施例提供的另一种报文处理方法的流程图;
图4是本公开实施例提供的一种报文处理装置的结构框图;
图5是本公开实施例提供的一种计算机设备的结构框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
图1是本公开实施例的一种应用场景的结构示意图。如图1所示,局域网10中包括多个计算机设备11,局域网20中包括多个计算机设备21。局域网10和局域网20之间通过网络连接。局域网10的出口部署有安全设备12,安全设备12用于按照配置的安全策略对进入局域网10的IP报文以及从局域网10发出的IP报文进行处理。局域网20的出口部署有安全设备22,安全设备22用于按照配置的安全策略对进入局域网20的IP报文以及从局域网20发出的IP报文进行处理。
本公开实施例对局域网的数量、局域网中计算机设备的类型和数量均不做限制。
示例性地,计算机设备11和21包括但不限于个人计算机、移动终端和笔记本电脑等。
图2是本公开实施例提供的一种报文处理方法的流程图,该方法可以由计算机设备执行,例如图1中的安全设备。参见图2,该方法包括:
在步骤201中,基于报文的五元组确定索引值;
在步骤202中,基于索引值与内存块的地址之间的映射关系,确定与索引值对应的目标内存块的地址;
在步骤203中,基于目标内存块的地址,在目标内存块中查找第一目标安全策略,第一目标安全策略包括目标五元组和对应的处理动作,目标五元组与报文的五元组相匹配;
在步骤204中,响应于在目标内存块内查找到第一目标安全策略,根据第一目标安全策略中的处理动作,对报文进行处理。
在本公开实施例中,以内存块为存储单位存储安全策略,且每个内存块对应一个索引值,相当于先将安全策略分类。这样,可以先基于报文的五元组确定索引值,然后根据索引值确定目标内存块的地址,将报文的五元组优先与目标内存块中的安全策略进行匹配,即将报文的五元组优先与匹配成功的可能性大的安全策略进行匹配,从而可以快速匹配到第一目标安全策略。
图3是本公开实施例提供的另一种报文处理方法的流程图。该方法可以由计算机设备执行,例如由安全设备执行。参见图3,该方法包括:
在步骤301中,对报文的五元组进行哈希计算。
其中,报文的五元组包括源IP地址、目的IP地址、源端口号、目的端口号和协议号。
在本公开实施例中,在接收到报文之后,先提取报文中的五元组信息;然后对提取出的五元组信息进行哈希计算。
在一些示例中,采用CRC(Cyclic Redundancy Check,循环冗余校验)算法对报文的五元组进行哈希计算,得到哈希值。采用CRC算法计算哈希值,与采用其他的哈希算法(例如MD5(Message-Digest Algorithm,信息摘要算法)等)相比,计算效率较高,能够进一步提高匹配安全策略的速度。
示例性地,CRC算法为CRC32或者CRC16。
在步骤302中,将哈希值的设定位置的连续N比特作为索引值。
其中,N为整数且N大于1。
示例性地,如果哈希算法为CRC16,则N等于8;或者,如果哈希算法为CRC32,则N等于16。
在一些示例中,可以将哈希值的前N比特或者后N比特作为索引值。
通过步骤301~步骤302,可以实现基于报文的五元组确定索引值。
在步骤303中,根据索引值与内存块的地址的映射关系,确定索引值对应的目标内存块的地址。
在本公开实施例中,索引值的数量为1~2N。每个索引值对应一个设定大小的内存块。每个内存块的大小相等,能够存储相同数量的安全策略。索引值的取值范围可以为0~2N-1。
每个内存块的大小根据网络安全设备的内存大小和网络中终端的数量设置。例如,如果网络安全设备的内存较大,则每个内存块的大小可以较大;如果网络安全设备的内存较小,则每个内存块的大小可以较小。又例如,如果终端的数量较多,则每个内存块中需要存储的安全策略的数量较多,相应的内存块的大小可以较大;如果终端的数量较少,则每个内存块中需要存储的安全策略的数量较小,响应的内存块的大小可以较小。
示例性地,内存块的大小为一条安全策略对应的存储空间的大小乘以M,其中,M表示安全策略的数量,为设定值。M可以根据哈希值可能出现碰撞的概率进行选取,哈希值可能出现碰撞的概率越大,则M越大,哈希值可能出现碰撞的概率越小,则M越小。
在本公开实施例中,M为整数且M大于1。例如,M等于4。
每条安全策略均包括五元组和对应的处理动作(也可以称为操作类型)。五元组包括源IP地址、目的IP地址、源端口号、目的端口号和协议号,用于与报文的五元组进行匹配。其中,IP地址和端口号可以为精确值或者范围值。处理动作包括允许通过和丢弃等。每条安全策略的数据量是相等的,所需要的存储空间的大小也是相同的。
示例性地,在本公开实施例中,每条安全策略对应的存储空间的大小为16字节,其中,五元组占用13字节(源IP地址4字节,目的IP地址4字节,源端口号2字节,目的端口号2字节,协议类型1字节),处理动作占用1字节,填充数据占用2字节。如果M等于4,则每个内存块占用16*4共64字节。
这里,填充数据是指无效数据,主要是用于将安全策略的长度与计算机读取指令对应的位数对齐,使得安全策略的总长度是计算机读取的单位数量的整数倍,以提高计算机的处理效率。例如,如果是32位计算机指令,则每次读取4字节,加上填充数据后,每条安全策略对应16字节,为4字节的4倍。
在一些示例中,所有索引值对应的内存块的地址连续且大小相等,因此,索引值与内存块的地址的映射关系可以采用线性函数表示。只需要知道所有索引值对应的内存块的首地址,即可确定目标内存块对应的地址。
例如,采用公式(1)表示:
Y=X*(16*M)+Y0 (1)
其中,Y表示目标内存块的首地址,X表示索引值,M表示每个内存块能够存储的最大安全策略数,Y0表示所有索引值对应的内存块的首地址。
在另一些示例中,索引值与内存块的地址的映射关系也可以采用索引值与内存块的首地址的对应关系表示,每个索引值对应一个首地址。在这种情况下,所有索引值对应的内存块的地址可以连续,也可以不连续;单个内存块的地址是连续的。
在步骤304中,基于目标内存块的地址,在目标内存块中查找第一目标安全策略。
如果在目标内存块中未查找到第一目标安全策略,则执行步骤305;如果在目标内存块中查找到第一目标安全策略,则执行步骤306。
其中,第一目标安全策略是指包含的五元组与报文的五元组相匹配的安全策略。这里,相匹配是指:安全策略中的五元组中的元素均为精确值,安全策略中的五元组与报文的五元组相同。
在一些示例中,该步骤304包括:基于设定的安全策略需要的存储空间大小,以目标内存块的地址为首地址,按照存储顺序依次将目标内存块中存储的安全策略与报文的五元组进行比对,直至查找到第一目标安全策略或者直至目标内存块中的所有安全策略均完成比对(表示在目标内存块中未查找到与报文的五元组匹配的安全策略)。
例如,先根据设定的安全策略需要的存储空间大小,读取目标内存块的第一条安全策略,如果第一条安全策略中的五元组的值为0,表示目标内存块为空,即不存在安全策略,此时可以认为目标内存块中的所有安全策略均完成了比对。如果第一条安全策略中的五元组的值不为0,则将第一条安全策略中的五元组与报文的五元组进行比对,如果两者相匹配,表示第一条安全策略为目标安全策略,如果两者不相匹配,表示第一条安全策略不是目标安全策略。则根据设定的安全策略需要的存储空间大小,读取目标内存块的第二条安全策略,对于第二条安全策略的处理方式与第一条处理策略相同,在此不再详细描述。如果目标内存块中所有的安全策略均完成比对都没有确定出目标安全策略,则表示在目标内存块中未查找到与报文的五元组匹配的安全策略。
在步骤305中,在安全策略链表中,查找第二目标安全策略。
在步骤305中,安全策略链表中的五元组中的至少部分元素(例如源IP地址、目的IP地址、源端口号和目的端口号中的一个或多个)为范围值,报文中的五元组位于第二目标安全策略中的五元组中对应元素的范围内。
该安全策略链表中包括网络安全设备所配置的所有安全策略。
如果在安全策略链表中查找到第二目标安全策略,则执行步骤306和307;如果在安全策略链表中未查找到第二目标安全策略,则丢弃该报文。
在步骤306中,按照查找到的目标安全策略中的处理动作处理该报文。
在目标存储块中查找到的目标安全策略为前述第一目标安全策略。在安全策略链表中查找到的目标安全策略为前述第二目标安全策略。
在步骤307中,将第二目标安全策略对应的安全策略存储到目标内存块中。
这里,第二目标安全策略对应的安全策略包括与报文的五元组相同的五元组以及与第二目标安全策略中的处理动作相同的处理动作。从而将安全策略链表中的范围匹配转换为精确匹配,因此可以通过计算接收到的报文的哈希值进行内存映射查找内存块的地址。
在一些示例中,目标内存块中已存储的安全策略的数量未达到目标内存块能够存储的安全策略的最大数量,则直接将目标安全策略存储到目标内存块的空闲位置,即没有存储安全策略且最靠近已存储的最后一条安全策略的位置。
在另一些示例中,目标内存块中已存储的安全策略的数量已达到目标内存块能够存储的安全策略的最大数量,则采用目标安全策略替换目标内存块中的第一条安全策略,或者,替换目标内存块中闲置时间最长的安全策略。这里,闲置时间最长,指的是未作为目标安全策略的时间最长的安全策略。
通过该步骤307,可以在下一次接收到五元组相同的报文时,快速匹配到安全策略。
在一些示例中,内存块属于处理器内置的高速缓存,这样,有利于提升处理器读取安全策略的速度。
在本公开实施例中,以内存块为存储单位存储安全策略,且每个内存块对应一个索引值,相当于先将安全策略分类。这样,可以先基于报文的五元组确定索引值,然后根据索引值确定目标内存块的地址,将报文的五元组优先与目标内存块中的安全策略进行匹配,即将报文的五元组优先与匹配成功的可能性大的安全策略进行匹配,从而可以快速匹配到安全策略。
对于大多数报文而言,匹配到安全策略的时间在T1和T2之间,其中,T1等于计算哈希值的时间与一个五元组比对的时间之和;T2等于计算哈希值的时间和与M个五元组比对的时间之和。与直接在安全策略链表中查找相比,只要接收到的报文对应的安全策略在安全策略链表中的位置大于M,均能够减少查找目标策略的时间。接收到的报文对应的安全策略在安全策略链表中的位置越靠后,减少的时间越多。
并且,在本公开实施例中,直接根据索引值确定目标内存块的地址,然后从目标内存块中读取安全策略与报文的五元组进行匹配,与采用链表的形式相比,读取安全策略的速度更快,有利于进一步提高安全策略的匹配效率。此外,采用CRC算法确定索引值,有利于进一步提高匹配效率。
图4是本公开实施例提供的另一种报文处理装置的结构图。如图4所示,该装置包括:第一确定模块401、第二确定模块402、查找模块403和处理模块404。
第一确定模块401用于基于报文的五元组确定索引值。第二确定模块402用于基于索引值与内存块的地址之间的映射关系,确定与索引值对应的目标内存块的地址。查找模块403用于基于目标内存块的地址,在目标内存块中查找第一目标安全策略,第一目标安全策略包括目标五元组和对应的处理动作,目标五元组与报文的五元组相匹配。处理模块404用于响应于在目标内存块内查找到第一目标安全策略,根据第一目标安全策略中的处理动作,对报文进行处理。
可选地,第一确定模块401用于采用CRC算法计算报文的五元组的哈希值;将哈希值中的设定位置的连续N比特,作为索引值,其中,N为整数且N大于1。
可选地,查找模块403用于基于设定的安全策略需要的存储空间大小,以目标内存块的地址为首地址,按照存储顺序依次将目标内存块中存储的安全策略与报文的五元组进行匹配。
可选地,存储空间大小为16字节,目标内存块的大小为16*M字节,其中,M为整数且M不小于4。
可选地,该装置还包括:存储模块405,查找模块403还用于响应于在目标内存块内未查找到目标安全策略,则从安全策略链表中查找第二目标安全策略,安全策略链表包括多条安全策略;存储模块405用于将第二目标安全策略对应的安全策略存储至目标内存块中。
可选地,CRC算法为CRC32,N等于16;或者,CRC算法为CRC16,N等于8。
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本公开实施例提供的计算机设备的结构框图。如图5所示,该计算机设备500可以是网络安全设备等。该计算机设备500包括:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请实施例中提供的报文处理方法。
本领域技术人员可以理解,图5中示出的结构并不构成对计算机设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算机设备500的处理器执行时,使得计算机设备500能够执行图2或图3所示实施例提供的报文处理方法。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机设备500执行图2或图3所示实施例提供的报文处理方法。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种报文处理方法,其特征在于,所述方法包括:
基于报文的五元组确定索引值;
基于索引值与内存块的地址之间的映射关系,确定与所述索引值对应的目标内存块的地址;
基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,所述第一目标安全策略包括目标五元组和对应的处理动作,所述目标五元组与所述报文的五元组相匹配;
响应于在所述目标内存块内查找到所述第一目标安全策略,根据所述第一目标安全策略中的处理动作,对所述报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于报文的五元组确定索引值,包括:
采用循环冗余CRC算法计算所述报文的五元组的哈希值;
将哈希值中设定位置的连续N比特,作为所述索引值,其中,N为整数且N大于1。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,包括:
基于设定的安全策略需要的存储空间大小,以所述目标内存块的地址为首地址,按照存储顺序依次将所述目标内存块中存储的安全策略与所述报文的五元组进行匹配。
4.根据权利要求3所述的方法,其特征在于,所述存储空间大小为16字节,所述目标内存块的大小为16*M字节,其中,M为整数且M不小于4。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
响应于在所述目标内存块内未查找到所述第一目标安全策略,则从安全策略链表中查找第二目标安全策略,所述安全策略链表包括多条安全策略;
基于查找到的第二目标安全策略,将对应的安全策略存储至所述目标内存块中。
6.根据权利要求2所述的方法,其特征在于,所述CRC算法为CRC32,所述N等于16;或者,所述CRC算法为CRC16,所述N等于8。
7.一种报文处理装置,其特征在于,所述装置包括:
第一确定模块,用于基于报文的五元组确定索引值;
第二确定模块,用于基于索引值与内存块的地址之间的映射关系,确定与所述索引值对应的目标内存块的地址;
查找模块,用于基于所述目标内存块的地址,在所述目标内存块中查找第一目标安全策略,所述第一目标安全策略包括目标五元组和对应的处理动作,所述目标五元组与所述报文的五元组相匹配;
处理模块,用于响应于在所述目标内存块内查找到所述第一目标安全策略,根据所述第一目标安全策略中的处理动作,对所述报文进行处理。
8.一种计算机设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,当计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行如权利要求1至6任一项所述的方法。
10.一种计算机程序,其特征在于,所述计算机程序包括:计算机程序代码,所述程序代码包括用于实现如权利要求1至6任一项所述的方法的指令。
CN202210001271.3A 2022-01-04 2022-01-04 报文处理方法、装置、设备和存储介质 Active CN114553469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210001271.3A CN114553469B (zh) 2022-01-04 2022-01-04 报文处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210001271.3A CN114553469B (zh) 2022-01-04 2022-01-04 报文处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN114553469A true CN114553469A (zh) 2022-05-27
CN114553469B CN114553469B (zh) 2024-04-19

Family

ID=81669985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210001271.3A Active CN114553469B (zh) 2022-01-04 2022-01-04 报文处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114553469B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337991A (zh) * 2015-11-23 2016-02-17 湖南戎腾网络科技有限公司 一种一体化的报文流查找与更新方法
US20160170911A1 (en) * 2014-12-12 2016-06-16 Software Ag Usa, Inc. Systems and/or methods for policy-based access to data in memory tiers
CN111181964A (zh) * 2019-12-30 2020-05-19 北京天融信网络安全技术有限公司 安全策略匹配方法、装置及网络设备、存储介质
CN111597142A (zh) * 2020-05-15 2020-08-28 北京光润通科技发展有限公司 一种基于fpga的网络安全加速卡及加速方法
CN112291249A (zh) * 2020-10-30 2021-01-29 绿盟科技集团股份有限公司 一种安全策略处理方法、装置、介质和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160170911A1 (en) * 2014-12-12 2016-06-16 Software Ag Usa, Inc. Systems and/or methods for policy-based access to data in memory tiers
CN105337991A (zh) * 2015-11-23 2016-02-17 湖南戎腾网络科技有限公司 一种一体化的报文流查找与更新方法
CN111181964A (zh) * 2019-12-30 2020-05-19 北京天融信网络安全技术有限公司 安全策略匹配方法、装置及网络设备、存储介质
CN111597142A (zh) * 2020-05-15 2020-08-28 北京光润通科技发展有限公司 一种基于fpga的网络安全加速卡及加速方法
CN112291249A (zh) * 2020-10-30 2021-01-29 绿盟科技集团股份有限公司 一种安全策略处理方法、装置、介质和设备

Also Published As

Publication number Publication date
CN114553469B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
US20210367887A1 (en) Flow classification apparatus, methods, and systems
US11102120B2 (en) Storing keys with variable sizes in a multi-bank database
Dai et al. Bloom filter with noisy coding framework for multi-set membership testing
EP3493084B1 (en) Method for processing data in bloom filter and bloom filter
US9367645B1 (en) Network device architecture to support algorithmic content addressable memory (CAM) processing
US9794263B2 (en) Technologies for access control
US9866479B2 (en) Technologies for concurrency of cuckoo hashing flow lookup
CN107209826B (zh) 经认证的控制堆栈
US7592935B2 (en) Information retrieval architecture for packet classification
US20100114973A1 (en) Deterministic Finite Automata Graph Traversal with Nodal Bit Mapping
US20080071757A1 (en) Search engine having multiple co-processors for performing inexact pattern search operations
US20080071780A1 (en) Search Circuit having individually selectable search engines
US10313240B2 (en) Technologies for efficient network flow classification with vector bloom filters
US11310158B2 (en) Packet classification using fingerprint hash table
US20190052553A1 (en) Architectures and methods for deep packet inspection using alphabet and bitmap-based compression
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
CN115941598A (zh) 一种流表半卸载方法、设备及介质
US20200374231A1 (en) Managing network traffic flows
US7735135B1 (en) Hardware-based intrusion detection accelerator
CN115695014A (zh) 访问控制列表构建和数据报文处理方法、装置、系统
US7661138B1 (en) Finite state automaton compression
CN114553469B (zh) 报文处理方法、装置、设备和存储介质
Chang et al. Hash-based OpenFlow packet classification on heterogeneous system architecture
CN114338529B (zh) 五元组规则匹配方法及装置
US10795580B2 (en) Content addressable memory system

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