CN114124822B - 报文匹配处理装置及方法 - Google Patents

报文匹配处理装置及方法 Download PDF

Info

Publication number
CN114124822B
CN114124822B CN202111447657.9A CN202111447657A CN114124822B CN 114124822 B CN114124822 B CN 114124822B CN 202111447657 A CN202111447657 A CN 202111447657A CN 114124822 B CN114124822 B CN 114124822B
Authority
CN
China
Prior art keywords
message
tuple
rule
port
data
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
Application number
CN202111447657.9A
Other languages
English (en)
Other versions
CN114124822A (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.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPtech Information Technology Co Ltd
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 Hangzhou DPtech Information Technology Co Ltd filed Critical Hangzhou DPtech Information Technology Co Ltd
Priority to CN202111447657.9A priority Critical patent/CN114124822B/zh
Publication of CN114124822A publication Critical patent/CN114124822A/zh
Application granted granted Critical
Publication of CN114124822B publication Critical patent/CN114124822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种报文匹配处理方法、装置、电子设备及计算机可读介质。该方法可用于流量控制设备,包括:获取入端口的报文;对所述报文进行解析生成五元组数据;将所述五元组数据缓存到五元组缓存地址;基于所述五元组数据对所述报文进行五元组规则匹配处理;基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。本申请涉及的报文匹配处理方法、装置、电子设备及计算机可读介质,能够大幅度提高流量控制设备的流量定位性能,减少RAM的使用与逻辑资源的使用,减少流量定位功能的逻辑模块数量,减少移植与调试的难度。

Description

报文匹配处理装置及方法
技术领域
本公开涉及涉及计算机信息处理领域,具体而言,涉及一种报文匹配处理方法、装置、电子设备及计算机可读介质。
背景技术
通过合法监控和分析互联网流量,并对非法流量进行控制是维护网络安全的一种有效手段,设备厂商基于这种思路研发出了流量控制设备。对于串接,分流的流控设备,在设备测试与调试的过程中,经常需要基于设备端口统计并管理进出设备的流量。由于进入设备的流量经常会被调度,设备内的一般规则很难对基于端口进行流量定位管理,因此端口规则应此而生。针对不同的要求,流量定位功能可以跟据设备端口号与掩码五元组规则的组合(端口规则)来对经过特定端口的流量进行统计和控制。清楚的展示出用户想要的经过特定端口的特定五元组报文的长度与数量,并可以对特定流量进行限流或阻断操作。
在现有技术中,流量控制设备的每个端口都需要有对应端口规则逻辑模块和规则储存RAM,而每个端口规则模块又存在独立的解析模块。因此设备的出入端口越多,流量定位功能占用的逻辑资源与RAM资源就越多,严重地影响FPGA的布线与时序。由于读取RAM有固定的时延,而且随着规则容量的提高,重复读取RAM需要的时间就越多,严重地影响端口规则模块的性能。
因此,需要一种新的报文匹配处理方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种报文匹配处理方法、装置、电子设备及计算机可读介质,能够大幅度提高流量控制设备的流量定位性能,减少RAM的使用与逻辑资源的使用,减少流量定位功能的逻辑模块数量,减少移植与调试的难度。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种报文匹配处理方法,可用于流量控制设备,该方法包括:获取入端口的报文;对所述报文进行解析生成五元组数据;将所述五元组数据缓存到五元组缓存地址;基于所述五元组数据对所述报文进行五元组规则匹配处理;基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。
在本申请的一种示例性实施例中,还包括:获取待出端口的报文;将所述报文进行封装;在报文封装之后,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理。
在本申请的一种示例性实施例中,将所述五元组数据缓存到五元组缓存地址之前,还包括:将所述报文缓存到报文缓存地址;根据所述报文缓存地址生成所述五元组缓存地址。
在本申请的一种示例性实施例中,根据所述报文缓存地址生成所述五元组缓存地址,包括:根据所述报文缓存地址在随机存取存储器中生成所述五元组缓存地址。
在本申请的一种示例性实施例中,基于所述五元组缓存地址对所述报文进行入端口规则匹配处理,包括:由所述五元组缓存地址提取五元组数据;由所述五元组数据中提取端口号;基于所述端口号由所述入端口规则中提取目标规则;将所述五元组数据和所述目标规则进行匹配处理。
在本申请的一种示例性实施例中,获取待出端口的报文,包括:由所述报文缓存地址获取待出端口的报文。
在本申请的一种示例性实施例中,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理,包括:由所述五元组缓存地址提取五元组数据;由所述五元组数据中提取端口号;基于所述端口号由所述出端口规则中提取目标规则;将所述五元组数据和所述目标规则进行匹配处理。
在本申请的一种示例性实施例中,将所述五元组数据和所述目标规则进行匹配,包括:由三态内容寻址储存器中提取所述目标规则;基于三态内容寻址储存器将所述五元组数据和所述目标规则中的多个条目进行匹配处理。
在本申请的一种示例性实施例中,基于三态内容寻址储存器将所述五元组数据和所述目标规则中的多个条目进行匹配处理,包括:将所述五元组数据依次发送至三态内容寻址储存器;基于三态内容寻址储存器所述五元组数据同时和所述目标规则中的多个条目进行匹配;按序接收返回数据生成匹配结果。
根据本申请的一方面,提出一种报文匹配处理装置,可用于流量控制设备,该装置包括:报文模块,用于获取入端口的报文;解析模块,用于对所述报文进行解析生成五元组数据;缓存模块,用于将所述五元组数据缓存到五元组缓存地址;规则匹配模块,用于基于所述五元组数据对所述报文进行五元组规则匹配处理;端口匹配模块,用于基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的报文匹配处理方法、装置、电子设备及计算机可读介质,通过获取入端口的报文;对所述报文进行解析生成五元组数据;将所述五元组数据缓存到五元组缓存地址;基于所述五元组数据对所述报文进行五元组规则匹配处理;基于所述五元组缓存地址对所述报文进行入端口规则匹配处理的方式,能够大幅度提高流量控制设备的流量定位性能,减少RAM的使用与逻辑资源的使用,减少流量定位功能的逻辑模块数量,减少移植与调试的难度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中报文匹配处理方法的示意图。
图2是现有技术中报文匹配处理方法的示意图。
图3是根据一示例性实施例示出的一种报文匹配处理方法及装置的系统框图。
图4是根据一示例性实施例示出的一种报文匹配处理方法的示意图。
图5是根据另一示例性实施例示出的一种报文匹配处理方法的流程图。
图6是根据另一示例性实施例示出的一种报文匹配处理方法的流程图。
图7是根据一示例性实施例示出的一种报文匹配处理方法的示意图。
图8是根据一示例性实施例示出的一种报文匹配处理装置的框图。
图9是根据一示例性实施例示出的一种电子设备的框图。
图10是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
RAM:FPGA内部存储数据,读写时延低;
FIFO:FPGA内部先进先出数据缓存器;
TCAM:三态内容寻址储存器;
ACL:访问控制列表;
端口号:设备进出流量端口的编号,为设备端口号(port)+设备槽位号(mod)的组合;
五元组:TCP/IP协议中数据报文的必要属性元组,包括协议类型、源IP地址、源端口、目的IP地址、目的端口共五个元素;
端口规则:以五元组与端口号为访问控制项的规则类型。
在现有技术方案中,在TCP/IP协议的流量进入流控设备后,流量将被解析为五元组(源IP、目的IP、源端口、目的端口、协议类型),之后一般五元组规则将与报文的五元组做比较与匹配,整体过程如图1所示。
在现有技术方案中,流量定位功能作为独立于一般规则的模块,拥有独立的TCP/IP报文的解析模块。入端口的流量在进入设备解析模块的同时复制一份进入端口规则,出端口的流量在经过报文封装模块后复制一份,然后流入出端口对应的端口规则模块。流量进入端口规则模块后,先经过端口规则模块的解析模块变成需要的五元组与端口号,再通过重复读取FPGA内部负责存储端口规则的RAM,与解析得到的五元组与端口号进行附带掩码的对比。在规则命中后再通过计数模块对命中信息进行统计。端口规则模块工作原理如图2所示。
由于每个端口都需要有对应端口规则逻辑模块和规则储存RAM,而每个端口规则模块又存在独立的解析模块。因此设备的出入端口越多,流量定位功能占用的逻辑资源与RAM资源就越多,严重地影响FPGA的布线与时序。由于读取RAM有固定的时延,而且随着规则容量的提高,重复读取RAM需要的时间就越多,严重地影响端口规则模块的性能。
在本申请的报文匹配处理方法中,取消了现有技术中普遍存在的独立的解析模块,而采用设备主流程中的解析模块。在现有技术中,端口规则独立的解析模块主要是考虑到出端口位置一般没有解析,因此要对封装后的报文进行再次解析。本申请的发明人发现,对于一个报文来说,它从入端口进入设备再到出端口,五元组是不会发生变化的,因此可以利用报文在设备中时唯一的报文缓存地址作为存储五元组的地址,通过RAM存储五元组。之后在重新封装报文时,报文缓存地址会被释放,同时可以通过这个地址重新读取出这个报文的五元组数据,再把五元组数据传递给出端口的端口规则模块。这样就避免了使用独立的解析模块。根据以上的发明思路,本申请提出了一种新的报文匹配处理方法。下面借助具体的实施例对本申请中的方案进行详细描述。
图3是根据一示例性实施例示出的一种报文匹配处理方法、装置、电子设备及计算机可读介质的系统框图。
如图3所示,系统架构30可以包括终端设备301、302、303,网络304和流量控制设备305、外网。网络304用以在终端设备301、302、303和流量控制设备305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与流量控制设备305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
流量控制设备305可以终端设备301、302、303所发出的流量数据进行流量分析。流量控制设备305可以根据内置的五元组匹配规则和端口匹配规则对流量中的报文进行匹配,并根据匹配结果进行处理。
流量控制设备305可例如获取入端口的报文;流量控制设备305可例如对所述报文进行解析生成五元组数据;流量控制设备305可例如将所述五元组数据缓存到五元组缓存地址;流量控制设备305可例如基于所述五元组数据对所述报文进行五元组规则匹配处理;流量控制设备305可例如基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。
流量控制设备305可例如获取待出端口的报文;流量控制设备305可例如将所述报文进行封装;流量控制设备305可例如在报文封装之后,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理。
流量控制设备305可以是一个实体的设备,还可例如为多个设备组成,需要说明的是,本申请实施例所提供的报文匹配处理方法可以由流量控制设备305执行,相应地,报文匹配处理装置可以设置于流量控制设备305中。
图4是根据一示例性实施例示出的一种报文匹配处理方法的示意图。如图4所示,报文缓存地址是每个报文在设备中储存时获得的地址。报文在被解析为五元组的同时报文携带的信息会被设备储存。报文在设备中时唯一的报文缓存地址作为存储五元组的地址,通过RAM存储五元组。在之后出端口重新封装时,依据这个地址再把报文信息重新提取出来进行封装。报文的五元组缓存地址与报文的报文缓存地址是唯一对应,这种对应方式让报文的五元组和报文能保持同步。
图5是根据一示例性实施例示出的一种报文匹配处理方法的流程图。报文匹配处理方法50至少包括步骤S502至S510。
如图5所示,在S502中,获取入端口的报文。可由流量控制设备的多个端口获取流量数据,由流量数据中提取报文数据。流量控制设备不同的端口对应着不同的终端设备,或者不同的端口流量协议,本申请不以此为限。
在S504中,对所述报文进行解析生成五元组数据。按照报文对应的协议对报文进行解析,以获取该报文的五元组数据,五元组数据可包括:协议类型、源IP地址、源端口、目的IP地址、目的端口。
在S506中,将所述五元组数据缓存到五元组缓存地址。
将所述五元组数据缓存到五元组缓存地址之前,还包括:将所述报文缓存到报文缓存地址;根据所述报文缓存地址生成所述五元组缓存地址。
更具体的,可根据所述报文缓存地址在随机存取存储器中生成所述五元组缓存地址。
根据报文缓存地址,将五元组数据存储到随机存取存储器中,报文缓存地址和五元组缓存地址是唯一对应的关系。
在S508中,基于所述五元组数据对所述报文进行五元组规则匹配处理。可按照预设的规则对五元组进行规则匹配,并根据匹配结果对报文进行处理。
在S510中,基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。包括:由所述五元组缓存地址提取五元组数据;由所述五元组数据中提取端口号;基于所述端口号由所述入端口规则中提取目标规则;将所述五元组数据和所述目标规则进行匹配处理。
可由五元组数据中提取端口号,根据端口号在预存的入端口匹配规则中确定目标规则集合,将五元组数据和入端口匹配集合中的规则进行匹配,根据匹配结果进行处理。
根据本申请的报文匹配处理方法,通过获取入端口的报文;对所述报文进行解析生成五元组数据;将所述五元组数据缓存到五元组缓存地址;基于所述五元组数据对所述报文进行五元组规则匹配处理;基于所述五元组缓存地址对所述报文进行入端口规则匹配处理的方式,能够大幅度提高流量控制设备的流量定位性能,减少RAM的使用与逻辑资源的使用,减少流量定位功能的逻辑模块数量,减少移植与调试的难度。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图6是根据另一示例性实施例示出的一种报文匹配处理方法的流程图。图6所示的流程60是对图5所示的流程的补充描述。
如图6所示,在S602中,获取待出端口的报文。由所述报文缓存地址获取待出端口的报文。在五元组匹配规则进行之后,根据匹配结果将报文进行透传或者丢弃处理,可由报文缓存地址中提取待封装的报文。
在S604中,将所述报文进行封装。将透传的报文进行封装。
在S606中,在报文封装之后,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理。包括:由所述五元组缓存地址提取五元组数据;由所述五元组数据中提取端口号;基于所述端口号由所述出端口规则中提取目标规则;将所述五元组数据和所述目标规则进行匹配处理。
可由五元组数据中提取端口号,根据端口号在预存的出端口匹配规则中确定目标规则集合,将五元组数据和出端口匹配集合中的规则进行匹配,根据匹配结果进行处理。
根据本申请的报文匹配处理方法,能够大幅度提高了流量定位功能的性能,高负载时约有3-10倍的提升;还能够大幅减少了RAM的使用与逻辑资源的使用;还能够减少了流量定位功能的逻辑模块数量,减少了移植与调试的难度。
在一个实施例中,可由三态内容寻址储存器中提取所述目标规则;基于三态内容寻址储存器将所述五元组数据和所述目标规则中的多个条目进行匹配处理。
更具体的,可将所述五元组数据依次发送至三态内容寻址储存器;基于三态内容寻址储存器所述五元组数据同时和所述目标规则中的多个条目进行匹配;按序接收返回数据生成匹配结果。
在现有技术中,端口规则储存在FPGA的RAM中。而规则的查找是通过轮询法,即按顺序从RAM中读取规则和报文的五元组及端口进行对比,直到符合规则或全部查找完成为止。而每一次读取比较操作对于不同类型的RAM都需要1-3个时钟周期,当规则数目不断扩大时,每一条报文可能需要的查找时间就越长。因此,本技术为了避免这种问题,将不再使用RAM来储存规则,而选择使用TCAM。
TCAM是一种三态内容寻址储存器,对比当前技术中的RAM储存规则,TCAM最大的特点就是能一次对所有规则条目进行访问与比较,而非对比完第一条以后对比第二条,然后第三条,直至第N条,使用TCAM后规则查找效率将大幅度提高。与RAM不同的是,TCAM回复的是比较后的结果,RAM只能读取规则,比较仍然在端口规则模块内部进行。在流量压力较大的情况下,TCAM除了最初的固定时延外,基本可以达到与流量传输同步的流水效果,而不需要进行等待。使用TCAM后的端口规则模块如图7所示。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图8是根据一示例性实施例示出的一种报文匹配处理装置的框图。如图8所示,报文匹配处理装置80包括:报文模块802,解析模块804,缓存模块806,规则匹配模块808,入端口匹配模块810。报文匹配处理装置80还可包括:封装模块812,出端口匹配模块814。
报文模块802用于获取入端口的报文;
解析模块804用于对所述报文进行解析生成五元组数据;
缓存模块806用于将所述五元组数据缓存到五元组缓存地址;
规则匹配模块808用于基于所述五元组数据对所述报文进行五元组规则匹配处理;
入端口匹配模块810用于基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。
封装模块812用于获取待出端口的报文;将所述报文进行封装;
出端口匹配模块814在报文封装之后,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理。
根据本申请的报文匹配处理装置,通过获取入端口的报文;对所述报文进行解析生成五元组数据;将所述五元组数据缓存到五元组缓存地址;基于所述五元组数据对所述报文进行五元组规则匹配处理;基于所述五元组缓存地址对所述报文进行入端口规则匹配处理的方式,能够大幅度提高流量控制设备的流量定位性能,减少RAM的使用与逻辑资源的使用,减少流量定位功能的逻辑模块数量,减少移植与调试的难度。
图9是根据一示例性实施例示出的一种电子设备的框图。
下面参照图9来描述根据本申请的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图5,图6中所示的步骤。
所述存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
所述存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备900’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备900交互的设备通信,和/或该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器960可以通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图10所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取入端口的报文;对所述报文进行解析生成五元组数据;将所述五元组数据缓存到五元组缓存地址;基于所述五元组数据对所述报文进行五元组规则匹配处理;基于所述五元组缓存地址对所述报文进行入端口规则匹配处理。得该计算机可读介质还可实现如下功能:获取待出端口的报文;将所述报文进行封装;在报文封装之后,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (6)

1.一种报文匹配处理方法,可用于流量控制设备,其特征在于,包括:
获取入端口的报文;
对所述报文进行解析生成五元组数据;
将所述报文缓存到报文缓存地址;
根据所述报文缓存地址在随机存取存储器中生成所述五元组缓存地址;
将所述五元组数据缓存到五元组缓存地址;
基于所述五元组数据对所述报文进行五元组规则匹配处理;
由所述五元组缓存地址提取五元组数据;
由所述五元组数据中提取端口号;
基于所述端口号由所述入端口规则中提取目标规则;
将所述五元组数据和所述目标规则进行入端口规则匹配处理。
2.如权利要求1所述的方法,其特征在于,还包括:
获取待出端口的报文;
将所述报文进行封装;
在报文封装之后,基于所述报文的五元组缓存地址对所述报文进行出端口规则匹配处理。
3.如权利要求2所述的方法,其特征在于,获取待出端口的报文,包括:
由所述报文缓存地址获取待出端口的报文。
4.如权利要求1所述的方法,其特征在于,将所述五元组数据和所述目标规则进行入端口规则匹配,包括:
由三态内容寻址储存器中提取所述目标规则;
基于三态内容寻址储存器将所述五元组数据和所述目标规则中的多个条目进行匹配处理。
5.如权利要求4所述的方法,其特征在于,基于三态内容寻址储存器将所述五元组数据和所述目标规则中的多个条目进行匹配处理,包括:
将所述五元组数据依次发送至三态内容寻址储存器;
基于三态内容寻址储存器所述五元组数据同时和所述目标规则中的多个条目进行匹配;
按序接收返回数据生成匹配结果。
6.一种报文匹配处理装置,可用于流量控制设备,其特征在于,包括:
报文模块,用于获取入端口的报文;
解析模块,用于将所述报文缓存到报文缓存地址,根据所述报文缓存地址在随机存取存储器中生成五元组缓存地址,以及对所述报文进行解析生成五元组数据;
缓存模块,用于将所述五元组数据缓存到五元组缓存地址;
规则匹配模块,用于基于所述五元组数据对所述报文进行五元组规则匹配处理;
入端口匹配模块,用于由所述五元组缓存地址提取五元组数据,由所述五元组数据中提取端口号,基于所述端口号由所述入端口规则中提取目标规则,以及将所述五元组数据和所述目标规则进行入端口规则匹配处理。
CN202111447657.9A 2021-11-29 2021-11-29 报文匹配处理装置及方法 Active CN114124822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111447657.9A CN114124822B (zh) 2021-11-29 2021-11-29 报文匹配处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111447657.9A CN114124822B (zh) 2021-11-29 2021-11-29 报文匹配处理装置及方法

Publications (2)

Publication Number Publication Date
CN114124822A CN114124822A (zh) 2022-03-01
CN114124822B true CN114124822B (zh) 2024-04-26

Family

ID=80369117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111447657.9A Active CN114124822B (zh) 2021-11-29 2021-11-29 报文匹配处理装置及方法

Country Status (1)

Country Link
CN (1) CN114124822B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334003B (zh) * 2022-08-10 2023-07-21 上海欣诺通信技术股份有限公司 一种基于汇聚分流设备的数据流处理方法及系统
CN117633551A (zh) * 2023-12-07 2024-03-01 武汉中航通用科技有限公司 一种对实时报文进行匹配检测方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964759A (zh) * 2010-11-10 2011-02-02 中国人民解放军国防科学技术大学 支持多用户的高速报文分流方法
CN103647708A (zh) * 2013-11-29 2014-03-19 曙光信息产业(北京)有限公司 基于atca的数据报文处理板
CN105337991A (zh) * 2015-11-23 2016-02-17 湖南戎腾网络科技有限公司 一种一体化的报文流查找与更新方法
CN105409169A (zh) * 2014-05-30 2016-03-16 华为技术有限公司 一种多路径转发规则的构造方法、装置及系统
CN106789706A (zh) * 2016-11-11 2017-05-31 天津光电通信技术有限公司 一种基于tcam的网络分流系统
CN112491901A (zh) * 2020-11-30 2021-03-12 北京锐驰信安技术有限公司 一种网络流量精细化筛选装置及方法
CN112929281A (zh) * 2021-02-04 2021-06-08 恒安嘉新(北京)科技股份公司 基于fpga的网络设备的报文处理方法、装置及设备
CN113709110A (zh) * 2021-07-27 2021-11-26 深圳市风云实业有限公司 一种软硬结合的入侵检测系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126672A1 (en) * 2001-01-10 2002-09-12 Nelson Chow Method and apparatus for a flexible and reconfigurable packet classifier using content addressable memory
US11956156B2 (en) * 2020-09-10 2024-04-09 Intel Corporation Dynamic offline end-to-end packet processing based on traffic class

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964759A (zh) * 2010-11-10 2011-02-02 中国人民解放军国防科学技术大学 支持多用户的高速报文分流方法
CN103647708A (zh) * 2013-11-29 2014-03-19 曙光信息产业(北京)有限公司 基于atca的数据报文处理板
CN105409169A (zh) * 2014-05-30 2016-03-16 华为技术有限公司 一种多路径转发规则的构造方法、装置及系统
CN105337991A (zh) * 2015-11-23 2016-02-17 湖南戎腾网络科技有限公司 一种一体化的报文流查找与更新方法
CN106789706A (zh) * 2016-11-11 2017-05-31 天津光电通信技术有限公司 一种基于tcam的网络分流系统
CN112491901A (zh) * 2020-11-30 2021-03-12 北京锐驰信安技术有限公司 一种网络流量精细化筛选装置及方法
CN112929281A (zh) * 2021-02-04 2021-06-08 恒安嘉新(北京)科技股份公司 基于fpga的网络设备的报文处理方法、装置及设备
CN113709110A (zh) * 2021-07-27 2021-11-26 深圳市风云实业有限公司 一种软硬结合的入侵检测系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Study of Rule Placement Schemes for Minimizing TCAM Space and Effective Bandwidth Utilization in SDN;Yen-wen Chen;等;《2018 6th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW)》;20181011;全文 *
基于FPGA的深度报文检测系统设计;李康士;李玉峰;董永吉;;电子设计工程(第09期);全文 *

Also Published As

Publication number Publication date
CN114124822A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
US11258805B2 (en) Computer-security event clustering and violation detection
US11392689B2 (en) Computer-security violation detection using coordinate vectors
US8176300B2 (en) Method and apparatus for content based searching
CN114124822B (zh) 报文匹配处理装置及方法
US9787693B2 (en) Graph caching
US8819217B2 (en) Intelligent graph walking
EP2276217A2 (en) Profile-based and dictionary based graph caching
US20180365289A1 (en) Information Retrieval Using Automata
EP2215565B1 (en) Deterministic finite automata (dfa) graph compression
US11563643B2 (en) Advanced network tracing in the data plane
US11546380B2 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
CN110719215B (zh) 虚拟网络的流信息采集方法及装置
US20150040142A1 (en) Efficient dfa generation for non-matching characters and character classes in regular expressions
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
US20190251082A1 (en) Systems and methods for accelerated pattern matching
CN112347169A (zh) 基于php框架的用户请求处理方法、装置及电子设备
US10673816B1 (en) Low delay network intrusion prevention
CN117195263A (zh) 数据库加密的方法和装置
US20140283080A1 (en) Identifying stored vulnerabilities in a web service
CN114006831B (zh) 报文数据处理方法及装置
CN114338529B (zh) 五元组规则匹配方法及装置
CN113411267B (zh) 报文转发方法及装置
CN115412326A (zh) 一种异常流量检测方法、装置、电子设备及存储介质
CN114363257B (zh) 隧道报文的五元组匹配方法及装置
CN113726867B (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