CN102497319A - 一种利用自动机实现单包匹配的系统和方法 - Google Patents
一种利用自动机实现单包匹配的系统和方法 Download PDFInfo
- Publication number
- CN102497319A CN102497319A CN201110415232XA CN201110415232A CN102497319A CN 102497319 A CN102497319 A CN 102497319A CN 201110415232X A CN201110415232X A CN 201110415232XA CN 201110415232 A CN201110415232 A CN 201110415232A CN 102497319 A CN102497319 A CN 102497319A
- Authority
- CN
- China
- Prior art keywords
- mask
- dfa
- field
- heading
- coupling
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种利用自动机实现单包匹配的系统和方法,其包括:掩码生成模块,用于接收多个报文头字段并生成掩码值;mask_table表,用于接收报文头字段生成的掩码值并查询dfa地址,如果在mask_table表中查询到了输入的mask,就将报文头字段传送到DFA_table进行匹配查找,否则进入下一轮单包匹配;DFA_table表,其包括多个同DFA_table的dfa_addr对应的DFA跳转表,用于接收匹配mask_table表的报文头字段,如果匹配,则进入匹配处理模块,否则进入下一轮单包匹配;匹配处理模块。本发明提供的利用自动机实现单包匹配的系统和方法,过对感兴趣报文的各个域字段构造复杂正则,对不同域设定不同的优先级,利用自动机技术实现对网络数据报文高效匹配筛选。
Description
技术领域
本发明涉及网络安全领域,具体涉及一种利用自动机实现单包匹配的系统和方法。
背景技术
在大流量环境下,对报文进行过滤、筛选,需要高效的处理报文。常规方法通过对各个域的关键字检查来实现匹配,效率低下,不能胜任大流量环境。
专利号CN200710071071.0(基于带记忆确定有限自动机的正则表达式匹配加速方法)公开了一种基于带记忆确定有限自动机的正则表达式匹配加速方法。它包括正则表达式规则编译器和模式匹配引擎,正则表达式规则编译器先把正则表达式转换为解析树,再分别把解析树转换为带记忆的非确定有限自动机和带记忆的确定有限自动机,模式匹配引擎使用编译器生成的带记忆确定有限自动机实现对模式匹配的加速。本发明的优点是:1)因为直接支持了重复操作符,编译器可以不对重复表达式进行展开,大大降低了编译器开发难度,也降低了编译器的内存占用和编译时间;2)基于同样的原因,编译器生成的规则数据库大小也可大大减小,降低了模式匹配引擎的成本和复杂度。
专利号CN201110101517.6(基于字母表压缩的扩展有限自动机构造方法)公开了一种基于字母表压缩的扩展有限自动机(ACFA,Alphabet Compression Based Extend Finite Automaton)构造方法,该方法为:选用合适的规则集在字母表压缩的扩展有限自动机中进行验证试验;读入规则集,通过字母表压缩的扩展有限自动机构造方法构造有限自动机并同时生成状态集;通过字母表压缩的扩展有限自动机匹配方法对每个状态集分别进行字母表划分并压缩其迁移表。与扩展有限自动机XFA相比,ACFA在迁移边上减少95.6%,在存储空间大小上减少了90.7%,而在匹配时间上仅增加了23.6%。因此,ACFA是一种快速且存储高效的正则表达式匹配方法,较已有的正则表达式匹配方法更加适合于高速深度包检测。
目前对单包的匹配技术多是关键字匹配,查询报文中是否有感兴趣的关键字。但是实际的网络流量往往呈现出一类相近的正则特征串。另外,就是单纯的使用DFA状态机来进行匹配,但这种匹配由于报文的每一个字节都需要进行访存,因此不能胜任大流量环境。
发明内容
本发明克服现有技术存在的不足,通过对感兴趣报文的各个域字段构造复杂正则,对不同域设定不同的优先级,利用自动机技术实现对网络数据报文高效匹配筛选。灵活性高,能够对以太网数据包的各个域进行匹配筛选。
本发明提供了一种利用自动机实现单包匹配的系统,其包括
1)掩码生成模块,用于接收多个报文头字段并生成掩码值;
2)mask_table表,用于接收报文头字段生成的掩码值并查询dfa地址,如果在mask_table表中查询到了输入的mask,就将报文头字段传送到DFA_table进行匹配查找,否则进入下一轮单包匹配;
3)DFA_table表,其包括多个同DFA_table的dfa_addr对应的DFA跳转表,用于接收匹配mask_table表的报文头字段,如果匹配,则进入匹配处理模块,否则进入下一轮单包匹配;
4)匹配处理模块。
本发明提供的利用自动机实现单包匹配的系统,报文头字段是ip_sip、ip_dip、tdp_sport、tdp_dport、tcp_flags或tcp_length等等字段。
本发明提供的利用自动机实现单包匹配的系统,报文头字段采用硬件多路并发输入到掩码生成模块。
本发明提供的利用自动机实现单包匹配的系统,mask_table表是根据规则生成的mask_value和dfa_addr对应表,
本发明提供的利用自动机实现单包匹配的系统,DFA状态跳转表是通过具有相同mask不同tcp_payload的规则进行分组生成的。
本发明提供的利用自动机实现单包匹配的系统,报文头通过关键字匹配特征串,数据域通过DFA状态机匹配。
本发明提供的利用自动机实现单包匹配的系统,对感兴趣报文的各个域字段构造复杂正则,格式:报文头字段=?&数据域=?&?$。其中“?”是具体的值或符号,“&”表示与,“$”表示结束。
本发明还提供了一种利用自动机实现单包匹配的方法,其包括
1)掩码生成步骤,接收多个报文头字段并生成掩码值;
2)mask_table表匹配步骤,其接收报文头字段生成的掩码值并查询dfa地址,如果在mask_table表中查询到了输入的mask,就将报文头字段传送到DFA_table进行匹配查找,否则进入下一轮单包匹配;
3)DFA_table表匹配步骤,通过多个同DFA_table的dfa_addr对应的DFA跳转表,接收并匹配mask_table表的报文头字段,如果匹配,则进入匹配处理步骤,否则进入下一轮单包匹配;
4)匹配处理步骤。
本发明提供的利用自动机实现单包匹配的方法,报文头字段是ip_sip、ip_dip、tdp_sport、tdp_dport、tcp_flags或tcp_length等等字段。
本发明提供的利用自动机实现单包匹配的方法,报文头字段采用硬件多路并发输入到掩码生成步骤。
本发明提供的利用自动机实现单包匹配的方法,采用的mask_table表是根据规则生成的mask_value和dfa_addr对应表,
本发明提供的利用自动机实现单包匹配的方法,DFA状态跳转表是通过具有相同mask不同tcp_payload的规则进行分组生成的。
本发明提供的利用自动机实现单包匹配的方法,报文头通过关键字匹配特征串,数据域通过DFA状态机匹配。
本发明提供的利用自动机实现单包匹配的方法,对感兴趣报文的各个域字段构造复杂正则,格式:报文头字段=?&数据域=?&?$。其中“?”是具体的值或符号,“&”表示与,“$”表示结束。
与现有技术相比,本发明的有益效果在于:通过采用该方案,可以灵活有效地对报文各个字段进行高效匹配。能够胜任大流量环境下的高效匹配的要求。
附图说明
图1是本发明的状态流程图。
具体实施方式
为了解决这些问题,本发明采用了专门的规则,该复杂规则灵活性比较高,能够匹配ethernet帧中的所有域。报文头通过关键字匹配特征串,数据域通过DFA状态机匹配。
本规则的格式形如:ip_sip=10.0.0.1&ip_dip=10.0.0.2&tcp_payload=Http&abcdef$。该条规则代表的意思是,匹配源ip等于10.0.0.1,目的ip等于10.0.0.2并且payload域中包含Http和以abcdef结尾的报文串。同时在报文头的关键字匹配字段中还可以添加tdp_sport,tdp_dport以及tcp_length,tcp_flags等等所有感兴趣的字段,所有这些字段都通过’&’相连接。另外,在tcp_payload关键字域中,可以对payload的不同段使用正则表达式来表示出来,不同段也通过’&’相连接。具体工作流程如附图1所示。不同报文头字段的组合,产生了不同的mask,具有相同mask不同tcp_payload的规则进行分组,产生一组DFA状态跳转表。
对于多个报文头字段,比如ip_sip、ip_dip、tdp_sport、tdp_dport、、tcp_length等等字段可以采用硬件多路并发输入到掩码生成模块,然后根据生成的掩码值到mask_table表中查询,mask_table表是根据规则生成的mask_value和dfa_addr对应表,不同的掩码对应不同的dfa地址表,如果在mask_table表中查询到了输入的mask,这时就进入DFA_table所对应的dfa_addr的DFA跳转表中进行匹配查找,如果在mask_table表中没有找到输入的mask,则进入下一轮单包匹配中。如果在DFA_table中没有查找到匹配的结果,则也进入下一轮单包匹配中,如果匹配了,则进入匹配处理模块处理。
本发明通过对感兴趣报文的各个域字段构造复杂正则,对不同域设定不同的优先级,利用自动机技术实现对网络数据报文高效匹配筛选。灵活性高,能够对以太网数据包的各个域进行匹配筛选。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者同等替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (14)
1.一种利用自动机实现单包匹配的系统,其包括
1)掩码生成模块,用于接收多个报文头字段并生成掩码值;
2)mask_table表,用于接收报文头字段生成的掩码值并查询dfa地址,如果在mask_table表中查询到了输入的mask,就将报文头字段传送到DFA_table进行匹配查找,否则进入下一轮单包匹配;
3)DFA_table表,其包括多个同DFA_table的dfa_addr对应的DFA跳转表,用于接收匹配mask_table表的报文头字段,如果匹配,则进入匹配处理模块,否则进入下一轮单包匹配;
4)匹配处理模块。
2.权利要求1的系统,其特征在于,报文头字段是ip_sip、ip_dip、tdp_sport、tdp_dport、tcp_flags或tcp_length等等字段。
3.权利要求1-2的系统,其特征在于,报文头字段采用硬件多路并发输入到掩码生成模块。
4.权利要求1-3的系统,其特征在于,mask_table表是根据规则生成的mask_value和dfa_addr对应表,
5.权利要求1-4的系统,其特征在于,DFA状态跳转表是通过具有相同mask不同tcp_payload的规则进行分组生成的。
6.权利要求1-5的系统,其特征在于,报文头通过关键字匹配特征串,数据域通过DFA状态机匹配。
7.权利要求1-6的系统,其特征在于,对感兴趣报文的各个域字段构造复杂正则,格式:报文头字段=?&数据域=?&?$。其中“?”是具体的值或符号,“&”表示与,“$”表示结束。
8.一种利用自动机实现单包匹配的方法,其包括
1)掩码生成步骤,接收多个报文头字段并生成掩码值;
2)mask_table表匹配步骤,其接收报文头字段生成的掩码值并查询dfa地址,如果在mask_table表中查询到了输入的mask,就将报文头字段传送到DFA_table进行匹配查找,否则进入下一轮单包匹配;
3)DFA_table表匹配步骤,通过多个同DFA_table的dfa_addr对应的DFA跳转表,接收并匹配mask_table表的报文头字段,如果匹配,则进入匹配处理步骤,否则进入下一轮单包匹配;
4)匹配处理步骤。
9.权利要求8的方法,其特征在于,报文头字段是ip_sip、ip_dip、tdp_sport、tdp_dport、tcp_flags或tcp_length等等字段。
10.权利要求8-9的方法,其特征在于,报文头字段采用硬件多路并发输入到掩码生成步骤。
11.权利要求8-10的方法,其特征在于,采用的mask_table表是根据规则生成的mask_value和dfa_addr对应表,
12.权利要求8-11的方法,其特征在于,DFA状态跳转表是通过具有相同mask不同tcp_payload的规则进行分组生成的。
13.权利要求8-12的方法,其特征在于,报文头通过关键字匹配特征串,数据域通过DFA状态机匹配。
14.权利要求8-13的方法,其特征在于,对感兴趣报文的各个域字段构造复杂正则,格式:报文头字段=?&数据域=?&?$。其中“?”是具体的值或符号,“&”表示与,“$”表示结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110415232.XA CN102497319B (zh) | 2011-12-13 | 2011-12-13 | 一种利用自动机实现单包匹配的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110415232.XA CN102497319B (zh) | 2011-12-13 | 2011-12-13 | 一种利用自动机实现单包匹配的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102497319A true CN102497319A (zh) | 2012-06-13 |
CN102497319B CN102497319B (zh) | 2014-10-08 |
Family
ID=46189107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110415232.XA Active CN102497319B (zh) | 2011-12-13 | 2011-12-13 | 一种利用自动机实现单包匹配的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102497319B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857493A (zh) * | 2012-06-30 | 2013-01-02 | 华为技术有限公司 | 内容过滤方法和装置 |
CN106453131A (zh) * | 2016-11-03 | 2017-02-22 | 瑞斯康达科技发展股份有限公司 | 一种匹配器生成的方法和设备 |
CN111866202A (zh) * | 2019-11-08 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 报文发送方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972240A (zh) * | 2005-11-24 | 2007-05-30 | 武汉烽火网络有限责任公司 | 快速包过滤处理方法及其装置 |
CN101853301A (zh) * | 2010-05-25 | 2010-10-06 | 华为技术有限公司 | 正则表达式匹配的方法和系统 |
CN102142009A (zh) * | 2010-12-09 | 2011-08-03 | 华为技术有限公司 | 一种正则表达式匹配的方法及装置 |
-
2011
- 2011-12-13 CN CN201110415232.XA patent/CN102497319B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972240A (zh) * | 2005-11-24 | 2007-05-30 | 武汉烽火网络有限责任公司 | 快速包过滤处理方法及其装置 |
CN101853301A (zh) * | 2010-05-25 | 2010-10-06 | 华为技术有限公司 | 正则表达式匹配的方法和系统 |
CN102142009A (zh) * | 2010-12-09 | 2011-08-03 | 华为技术有限公司 | 一种正则表达式匹配的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857493A (zh) * | 2012-06-30 | 2013-01-02 | 华为技术有限公司 | 内容过滤方法和装置 |
CN102857493B (zh) * | 2012-06-30 | 2015-07-08 | 华为技术有限公司 | 内容过滤方法和装置 |
CN106453131A (zh) * | 2016-11-03 | 2017-02-22 | 瑞斯康达科技发展股份有限公司 | 一种匹配器生成的方法和设备 |
CN106453131B (zh) * | 2016-11-03 | 2019-06-28 | 瑞斯康达科技发展股份有限公司 | 一种匹配器生成的方法和设备 |
CN111866202A (zh) * | 2019-11-08 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 报文发送方法、装置、电子设备和存储介质 |
CN111866202B (zh) * | 2019-11-08 | 2023-04-07 | 北京嘀嘀无限科技发展有限公司 | 报文发送方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102497319B (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9369385B2 (en) | Packet timing measurement | |
Wang et al. | Wire Speed Name Lookup: A {GPU-based} Approach | |
CN1874313B (zh) | 处理数据包的方法和网络设备 | |
US7570661B2 (en) | Script-based parser | |
CN105578488B (zh) | 网络数据采集系统及方法 | |
CN107992026B (zh) | 一种基于labveiw的解析dbc分析报文的方法 | |
Yazdinejad et al. | P4 to SDNet: Automatic generation of an efficient protocol-independent packet parser on reconfigurable hardware | |
CN102420750B (zh) | 单包正则匹配设备和方法 | |
CN104378234B (zh) | 跨数据中心的数据传输处理方法及系统 | |
KR20110057371A (ko) | 이더넷-캔 프레임 변환 전송 장치 및 방법 | |
CN106850672B (zh) | IPSec隧道的安全联盟查找方法及装置 | |
CN108075949B (zh) | 一种vpws环境实现rfc2544的方法及设备 | |
US20110069622A1 (en) | Traffic Distribution Control | |
CN102497319B (zh) | 一种利用自动机实现单包匹配的系统和方法 | |
WO2015131739A1 (zh) | 数据交互方法、基带处理单元、射频拉远单元及中继单元 | |
Xu et al. | High-throughput and memory-efficient multimatch packet classification based on distributed and pipelined hash tables | |
Kekely et al. | Multi buses: Theory and practical considerations of data bus width scaling in FPGAs | |
CN109687939A (zh) | 工程机械设备通信方法、系统及承载通信协议 | |
US20160246882A1 (en) | Method and apparatus for generating parallel lookup requests utilizing a super key | |
CN109040338A (zh) | 基于时空的IPv6地址溯源方法 | |
CN105323234B (zh) | 业务节点能力处理方法、装置、业务分类器及业务控制器 | |
CN103514407B (zh) | 从办公网传输到生产网的音视频文件的杀毒方法和系统 | |
CN109474588A (zh) | 一种终端认证方法及装置 | |
Smiljanić et al. | A comparative review of scalable lookup algorithms for IPv6 | |
CN104394081B (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220801 Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100084 Beijing Haidian District City Mill Street No. 64 Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |