CN109743260A - 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 - Google Patents
一种基于改进的acbm算法对网络流量进行过滤的装置和方法 Download PDFInfo
- Publication number
- CN109743260A CN109743260A CN201811588423.4A CN201811588423A CN109743260A CN 109743260 A CN109743260 A CN 109743260A CN 201811588423 A CN201811588423 A CN 201811588423A CN 109743260 A CN109743260 A CN 109743260A
- Authority
- CN
- China
- Prior art keywords
- rule
- module
- algorithm
- acbm
- network flow
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于改进的ACBM算法对网络流量进行过滤的装置和方法,装置包括:数据接收与发送模块、交换模块、报文解析模块和控制模块;方法包括如下步骤:数据接收与发送模块通过提供的接口接入分光下来的网络流量;交换模块将数据接收模块收到的报文上送到Cavium芯片;控制模块负责端口类型的切换以及规则的下发;改进的ACBM算法负责规则树的创建与更新;报文解析模块通过Cavium处理器对报文进行解析提取报文信息;规则的匹配通过Cavium处理器提取的报文信息与规则表中预先写入的规则进行比较,得出匹配结果。本发明能够提高装置的性能并降低了成本。
Description
技术领域
本发明涉及网络安全和数据中心技术领域,尤其是一种基于改进的ACBM算法对网络流量进行过滤的装置和方法。
背景技术
目前主流的网络流量过滤系统,其系统主要由数据采集设备、流量过滤服务器以及规则服务器组成,流量过滤算法采用传统的ACBM算法实现的。数据采集设备负责分光网络流量的接入,并进行负载均衡的分发给流量过滤服务器。流量过滤服务器负责对采集设备采集的流量进行分析,判断是否有需要过滤的网络流量,若流量匹配过滤规则,则对流量做丢弃操作,未匹配规则的流量送至后台分析服务器。
规则服务器负载存储和下发规则。其数据面的流程为:在网络流量经过中心交换机或路由器之后,对其进行分光,一份流量继续去访问相应的互联网服务器,另一份流量接入到数据采集设备;数据采集设备收到流量后,对流量进行负载均衡后,分发给流量过滤服务器;流量过滤服务器对流量进行分析,判断是否有需要过滤的网络流量,若流量匹配过滤规则,则对流量做丢弃操作,未匹配规则的流量送至后台分析服务器。
由于ACBM算法在更新字符串树时,需要将字符串树推倒重建,因此其会有较大的时间开销,且随着规则数量的增大,时间开销会变的非常大,所以导致了目前的网络流量过滤装置的规则数量支持的比较少,因为若规则数量多,字符串树的重建时间较长,不能满足实时过滤的应用场景。此外,由于传统的网络流量过滤装置使用的是服务器进行流量的分析,包处理能力较弱,性能较低。
发明内容
本发明所要解决的技术问题在于,提供一种基于改进的ACBM算法对网络流量进行过滤的装置和方法,能够提高装置的性能并降低了成本。
为解决上述技术问题,本发明提供一种基于改进的ACBM算法对网络流量进行过滤的装置,包括:数据接收与发送模块、交换模块、报文解析模块和控制模块;数据接收与发送模块通过提供的接口接入分光下来的网络流量;交换模块将数据接收模块收到的报文上送到Cavium芯片;控制模块负责端口类型的切换以及规则的下发;报文解析模块通过Cavium处理器对报文进行解析提取报文信息。
优选的,接口类型支持32XGE,32GE,8XGE+16GE,8XGEW+16XGE。
相应的,一种基于改进的ACBM算法对网络流量进行过滤的方法,包括如下步骤:
(1)数据接收与发送模块通过提供的接口接入分光下来的网络流量;
(2)交换模块将数据接收模块收到的报文上送到Cavium芯片;
(3)控制模块负责端口类型的切换以及规则的下发;
(4)改进的ACBM算法负责规则树的创建与更新;其中ACBM算法是一种多模式字符串匹配算法;
(5)报文解析模块通过Cavium处理器对报文进行解析提取报文信息;
(6)规则的匹配通过Cavium处理器提取的报文信息与规则表中预先写入的规则进行比较,得出匹配结果;其中规则表为控制模块下发给芯片的匹配规则。
优选的,步骤(1)中,端口类型支持32XGE,32GE,8XGE+16GE,8XGEW+16XGE。
优选的,步骤(5)中,Cavium公司提供一款64位的MIPS架构的高性能、低延时、低功耗的网络处理器,其具有80Gbps的处理性能,10微秒的包处理延时。
本发明的有益效果为:本发明对ACBM算法进行改进,在添加或者删除规则时,通过动态更新字符串树的方式进行规则的更新,降低了时间开销,大大提高了网络流量过滤装置的规则容量;此外结合高性能低成本的Cavium处理器,设计了集数据采集、数据分析、以及流量过滤于一体的网络流量过滤装置,提高了装置的性能并降低了成本。
附图说明
图1为本发明的装置结构示意图。
图2为本发明的数据面转发流程示意图。
图3为本发明的方法流程示意图。
具体实施方式
如图1和2所示,一种基于改进的ACBM算法对网络流量进行过滤的装置,包括数据接收与发送模块、交换模块、报文解析、控制模块。其特征在于所述数据接收与发送模块可以提供丰富的高密度接口类型,如32XGE或32GE或8XGE+16GE等接口,所述报文解析模块具有160Gbps的处理性能,具有10微妙以下的转发时延,且功耗较低,所述ACBM算法是一种用于多模式字符串匹配算法;所述Cavium处理器是一种高性能低延时低功耗的网络处理器;所述ACBM算法的改进是动态的更新字符串树,减少规则的生效时间,根据上述的设置与发布,将改进的ACBM算法与高性能的Cavium结合,实现网络流量的实时过滤。
具体的,本实施例中的改进的ACBM算法包括字符串树的更新和字符串的匹配,所述规则更新指字符串树的更新;所述跳转算法用于查找字符串中匹配的字符的具体位置;所述字符位置信息数组用于存储每个字符在每个位置出现的次数;所述子节点链表用于加快匹配字符串速度;通过改进字符串树的更新方法,采用不推倒重建原有字符串树的方式,在原有字符串树中进行插入以及删除节点的方法更新字符串树,从而实现规则的实时更新。
如图3所示,一种基于改进的ACBM算法对网络流量进行过滤的方法,该方法包括以下步骤:
S1.所述数据接收与发送模块通过提供的接口接入分光下来的网络流量;其中所述端口类型支持32XGE,32GE,8XGE+16GE,8XGEW+16XGE;
S2.所述交换模块将数据接收模块收到的报文上送到Cavium芯片;
S3.所述控制模块负责端口类型的切换以及规则的下发;
S4.所述改进的ACBM算法负责规则树的创建与更新;其中ACBM算法是一种多模式字符串匹配算法;
S5.所述报文解析通过Cavium处理器对报文进行解析提取报文信息;其中所述Cavium公司的一款64位的MIPS架构的高性能,低延时,低功耗的网络处理器,其具有80Gbps的处理性能,10微秒的包处理延时;
S6.所述规则的匹配通过Cavium处理器提取的报文信息与规则表中预先写入的规则进行比较,得出匹配结果。
其中所述规则表为控制模块下发给芯片的匹配规则;其中所述跳转算法用于查找字符串中匹配的字符的具体位置;其中所述字符位置信息数组用于存储每个字符在每个位置出现的次数,有了这些信息,就可以知道每种字符出现的最小位置,而不用遍历整个规则集中的所有特征;其中所述子节点链表分段将子节点链表分为若干段,匹配时,根据要查的子节点是第几个子节点,可以得到该节点属于哪一段内,则可从该段链表的指针出发,最多查找16次即可得到该子节点,加快匹配速度。
规则的添加以及删除,采用的是动态的创建字符串树的方法,极大的降低了规则的生效时间;其中所述生效时间由原来的秒级提升到毫秒级;其中所述动态创建指不推倒原有字符串树;其中所述规则长度信息数组用于添加和删除规则时,不用重新遍历所有规则就可以得到新的最小规则长度。
控制面流程如下:
下发相应的过滤规则,收到下发的规则后,动态的创建字符串树,其流程简述为:假设第一条规则为abcd,则创建一个相应的字符串树;此时又有一条新的规则dcf,检查原字符串树发现d已经在之前的root节点中存在了,不用新建,在第二级节点中,没有字符c对应的子节点,故新建一个字节点,字符f为c的子节点,故也要新建一个子节点;这样就完成了字符串树的动态更新,并没有将原有字符串树推倒重建。
收到报文后,需要进行规则的匹配,其流程简述为:假设要在"substringsearching algorithm"查找"search",刚开始时,把子串与文本左边对齐,结果在第二个字符处发现不匹配,于是将子串往后移动;移动的方法是看紧跟在当前子串之后的那个字符(第一个字符串中的'i')。显然,不管移动多少,这个字符是肯定要参加下一步的比较的,也就是说,如果下一步匹配到了,这个字符必须在子串内。所以,可以移动子串,使子串中的最右边的这个字符与它对齐。现在子串'search'中并不存在'i',则说明可以直接跳过一大片,从'i'之后的那个字符开始作下一步的比较,比较的结果,第一个字符就不匹配,再看子串后面的那个字符,是'r',它在子串中出现在倒数第三位,于是把子串向后移动三位,使两个'r'对齐,发现这次匹配成功。
数据面转发流程如下:
设备的接口接入分光下来的流量,经过交换模块,由交换模块将流量上送到Cavium处理器进行处理。
Cavium处理器对报文进行解析与规则的匹配,未匹配规则的报文直接进行丢弃的操作,对于匹配规则的报文,发送给后台服务器。
Claims (5)
1.一种基于改进的ACBM算法对网络流量进行过滤的装置,其特征在于,包括:数据接收与发送模块、交换模块、报文解析模块和控制模块;数据接收与发送模块通过提供的接口接入分光下来的网络流量;交换模块将数据接收模块收到的报文上送到Cavium芯片;控制模块负责端口类型的切换以及规则的下发;报文解析模块通过Cavium处理器对报文进行解析提取报文信息。
2.如权利要求1所述的基于改进的ACBM算法对网络流量进行过滤的装置,其特征在于,接口类型支持32XGE,32GE,8XGE+16GE,8XGEW+16XGE。
3.一种基于改进的ACBM算法对网络流量进行过滤的方法,其特征在于,包括如下步骤:
(1)数据接收与发送模块通过提供的接口接入分光下来的网络流量;
(2)交换模块将数据接收模块收到的报文上送到Cavium芯片;
(3)控制模块负责端口类型的切换以及规则的下发;
(4)改进的ACBM算法负责规则树的创建与更新;其中ACBM算法是一种多模式字符串匹配算法;
(5)报文解析模块通过Cavium处理器对报文进行解析提取报文信息;
(6)规则的匹配通过Cavium处理器提取的报文信息与规则表中预先写入的规则进行比较,得出匹配结果;其中规则表为控制模块下发给芯片的匹配规则。
4.如权利要求3所述的基于改进的ACBM算法对网络流量进行过滤的方法,其特征在于,步骤(1)中,端口类型支持32XGE,32GE,8XGE+16GE,8XGEW+16XGE。
5.如权利要求3所述的基于改进的ACBM算法对网络流量进行过滤的方法,其特征在于,步骤(5)中,Cavium公司提供一款64位的MIPS架构的高性能、低延时、低功耗的网络处理器,其具有80Gbps的处理性能,10微秒的包处理延时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811588423.4A CN109743260A (zh) | 2018-12-25 | 2018-12-25 | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811588423.4A CN109743260A (zh) | 2018-12-25 | 2018-12-25 | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109743260A true CN109743260A (zh) | 2019-05-10 |
Family
ID=66359745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811588423.4A Pending CN109743260A (zh) | 2018-12-25 | 2018-12-25 | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109743260A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336798A (zh) * | 2019-06-19 | 2019-10-15 | 南京中新赛克科技有限责任公司 | 一种基于dpi的报文匹配过滤方法及其装置 |
CN114866627A (zh) * | 2022-05-07 | 2022-08-05 | 中国工商银行股份有限公司 | 报文核对方法、装置、处理器及电子设备 |
CN115225327A (zh) * | 2022-06-17 | 2022-10-21 | 北京启明星辰信息安全技术有限公司 | 一种基于fpga网卡的具有预匹配规则的入侵检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870498A (zh) * | 2006-06-26 | 2006-11-29 | 北京启明星辰信息技术有限公司 | 一种自适应多模式匹配方法及系统 |
CN103475653A (zh) * | 2013-09-05 | 2013-12-25 | 北京科能腾达信息技术股份有限公司 | 网络数据包的检测方法 |
-
2018
- 2018-12-25 CN CN201811588423.4A patent/CN109743260A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870498A (zh) * | 2006-06-26 | 2006-11-29 | 北京启明星辰信息技术有限公司 | 一种自适应多模式匹配方法及系统 |
CN103475653A (zh) * | 2013-09-05 | 2013-12-25 | 北京科能腾达信息技术股份有限公司 | 网络数据包的检测方法 |
Non-Patent Citations (1)
Title |
---|
于洪伟: "基于多核处理器高效入侵检测技术研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336798A (zh) * | 2019-06-19 | 2019-10-15 | 南京中新赛克科技有限责任公司 | 一种基于dpi的报文匹配过滤方法及其装置 |
CN114866627A (zh) * | 2022-05-07 | 2022-08-05 | 中国工商银行股份有限公司 | 报文核对方法、装置、处理器及电子设备 |
CN115225327A (zh) * | 2022-06-17 | 2022-10-21 | 北京启明星辰信息安全技术有限公司 | 一种基于fpga网卡的具有预匹配规则的入侵检测方法 |
CN115225327B (zh) * | 2022-06-17 | 2023-10-27 | 北京启明星辰信息安全技术有限公司 | 一种基于fpga网卡的具有预匹配规则的入侵检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11496393B2 (en) | Method and apparatus for forwarding packet based on integrated flow table | |
CN103905311B (zh) | 流表匹配方法和装置以及交换机 | |
CN109743260A (zh) | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 | |
CN111600796B (zh) | 一种基于可配置解析字段的流识别装置及方法 | |
CN105589664B (zh) | 虚拟存储高速传输方法 | |
CN102255754B (zh) | 串行接入的高速骨干网络流量采集与监控方法 | |
CN108881033B (zh) | 基于fpga+npu的面向lte网络的高速用户溯源方法 | |
CN106375362A (zh) | 分布式服务器的缓存同步方法及系统 | |
CN101360090B (zh) | 应用层协议识别方法 | |
WO2015027401A1 (zh) | 报文处理方法、设备及系统 | |
CN109450940B (zh) | 一种实现网络流量封堵的装置和方法 | |
CN115225734A (zh) | 一种报文处理方法和网络设备 | |
US11012542B2 (en) | Data processing method and apparatus | |
CN116015796A (zh) | 一种流表更新方法、装置、防火墙设备及存储介质 | |
CN114302259B (zh) | 用户信息收集方法、装置、设备及计算机可读存储介质 | |
CN106789706B (zh) | 一种基于tcam的网络分流系统 | |
CN105608215B (zh) | PaaS系统中hbase数据删除方法及装置 | |
CN116156026B (zh) | 一种支持rmt的解析器、逆解析器、解析方法及交换机 | |
CN109818834B (zh) | 一种轻量级的sdn流表规则探测工具及探测方法 | |
Sonai et al. | Ctla: Compressed table look up algorithm for open flow switch | |
CN107749809B (zh) | 基于atca一体化的高效动态收敛机制实现方法和系统 | |
CN103414656B (zh) | 报文发送控制方法和网卡 | |
CN106936728A (zh) | 工业以太网交换机的一种固定时延控制方法 | |
CN106254248B (zh) | 一种支持pof交换机有状态转发的方法 | |
CN115484217B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |