- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种大容量模式匹配算法
摘 要:模式匹配技术是入侵检测与信息监管等网络应用的重要手段。针对现有模式匹配算法在大规模模式集下无法支持高速处理的情况,提出了一种两级三态内容可寻址寄存器(TCAM)的模式匹配算法。利用TCAM特性,提出一种子串编码方法压缩表项空间,提高空间利用率。通过性能分析和实验仿真表明,算法在支持大容量模式库的同时,可以获得较高的搜索速率。
关键词:模式匹配; 编号压缩; 集合切分; TCAM
中图分类号:TN76-34文献标识码:A文章编号:1004-373X(2011)21-0129-04
A Pattern Matching Algorithm with Large Capacity
ZHANG Li
(Henan School of Information Engineering, Zhengzhou450002, China)
Abstract: Pattern matching technology is an important mean of intrusion detection, information monitoring and other network applications. High speed processing can′t be supported by existing pattern matching algorithms in large-scale pattern set, a pattern matching algorithm based on two-stage TCAM is proposed. A compressed substring entry space is proposed using TCAM feature coding method for improving space utilization. Performance analysis and simulation shows that the algorithm can support large-capacity pattern library and has higher search rate.
Keywords: pattern matching; index coding; set cutting; TCAM
收稿日期:2011-05-22
基金项目:国家“863”计划项目支持(2009AA01A34)
0 引 言
随着模式匹配技术在入侵检测、病毒扫描和网络内容过滤方面的广泛应用,模式匹配算法的研究逐步成为深度包检测研究的重点。但随着网络技术的飞速发展,模式匹配技术也面临着巨大的挑战。10 Gb/s级网络速率的到来要求模式匹配算法必须实现网络数据的线速处理。同时,网络中病毒、蠕虫、木马等网络攻击的不断增多,要求模式匹配算法能够支持更多规模的模式集。深度包检测需要对网络数据包负载进行搜索,匹配位置的不确定性增加了算法的复杂度,并已成为制约网络内容检测系统发展的瓶颈。三态内容可寻址寄存器(TCAM)是一类能够对存储内容进行并行查找,并在较短的确定时间内给出结果的高速存储器。深度包检测领域已有一些基于TCAM模式匹配算法的研究[1-3]。由于TCAM存储资源有限,因此,压缩存储表项是基于TCAM模式匹配算法的一个研究重点。
1 现有算法的不足
TCAM利用并行比较的方法实现存储内容的快速搜索,但TCAM存在表项位宽限制,长模式需要切割为多个短模式进行存储。TCAM与一般CAM的区别在于其存储内容可以有“0”,“1”或“-”(无关项)三种形式,因此,对于长度小于TCAM位宽的表项可以用无关项填充,搜索时,无关项将对应位置掩掉进行比较。长模式切法为多个短模式后只有连续命中子串序列才能匹配该长模式。Fang Yu等人提出了一种“TCAM+SRAM”的实现方案[1],TCAM匹配输入字符串,SRAM存储命中表项信息,通过在搜索过程中不断更新已匹配信息实现长模式匹配。然而,该方案在一个TCAM查询周期内移动一个字符,造成命中列表极为庞大,增加了很多不必要的计算量。文献[2]将模式进行移位存储,实现搜索一个周期内移动若干字节,但是算法资源利用率低,前后两次查表存在依赖性,流水实现时需要使用多级TCAM。两级TCAM模式匹配算法[3]利用利用第一级TCAM匹配字符串,第二级TCAM匹配命中表项编号序列,从而实现长模式匹配,但算法每次搜索只能向前移动一个字节。文献\[4\]通过第一个子串的移位存储实现周期内多个字节的移动,但该算法在匹配后续子串失败时,必然
文档评论(0)