- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有研究证明在深度包检测中数据包的预处理的时间占用了整.doc
网络数据包深度检测中,比较包头和载荷是一个复杂又耗时的工作,有研究证明在深度包检测中数据包的预处理的时间占用了整个特征匹配大约70%的时间[1],随着网络的迅速发展网络威胁事件的数目逐渐上升,选用一个好的合适的匹配算法可以有效的减少对数据包有效载荷的匹配时间。在深度包检测中有三种最常用的匹配算法:Aho_Corasick[2],Boyer_Moore[3]和Wu_Manber[4]。AC算法主要使用的有限自动机原理(DFN),对字符串的匹配的效率较高,但是随着特征数目的增加,状态表的扩增,需要很大的内存来维护状态机,这些状态表在一定程度上可作优化,文献[8]提出了一种优化策略,这里不做详述。Boyer_Moore作为单模式匹配的经典算法,在只有一个特征的情况下算法的性能优越。Wu_Manber算法是在BM基础上的演化而来的多模式匹配算法,与AC算法相比要求很少的储存空间来存储和维护中间表。
作为多模式匹配算法,Wu_Manber可以在只扫描一次待匹配文本的前提下判断出模式串集合中的所有模式串是否出现。在诸多模式匹配算法中的选用中主要需要考虑的是模式串的最小长度,模式串的总长度,除此之外还有字母表的大小等因素。基于过滤思想的WM算法,它与经典的单模式字符串匹配算法Boyer_Moore的思想相结合,算法的执行过程中,首先先对整个模式串集进行预处理,预处理阶段主要涉及到三个表的建立,分别为SHIFT表、HASH表和前缀PREFIX表。匹配过程中主要通过坏字符来增加每次非匹配字符的窗口滑动的偏移量,即每次考察的都是一个块,而非逐个字符。同时使用散列函数将所有可能的块都散列到一个有限长度的表上,通过比较尾字符块的shift值和hash表确定匹配时滑动距离,然后比较相同后缀的prefix值,由于具有相同后缀的前提下发生前缀相同的散列冲突的可能性比较小,从而可以减少匹配次数从而大幅度的降低算法匹配过程中匹配次数和匹配时间,详细的算法描述可以参考文献[4]。
进行CUDA的并行算法设计首先需要考虑的是如何安排并行处理部分数据的存储方式,如何通过减少线程直接访问设备内存来大幅度降低访问存储器的周期。有相关的一些文献对字符串匹配算法在GPU的研究,文献[5]、[6]中针对入侵检测方面各算法的特点进行了探讨和研究。本文基于WM算法的CUDA并行化算法沿用WM算法中“块”的概念,不同的是在预处理中,将每个块分别置于不同的流处理器SM中,用纹理存储器存储从主机读取的报文流和“块”信息。对于一个SM来说,“块”的大小决定了每一次匹配时候匹配的最小字符数目,在对报文的处理过程中,每个SM共享一套指令流,同时对纹理空间中的报文流并行的进行匹配。
算法匹配和执行过程如下:
根据模式集构造hash表和prefix表,由于测试时候使用的规则数量较少(数目为1000),字符串“块”的长度大小B选为2,即一次比较2个字符,当模式串的长度大于2的时候,使用同一个hash函数对模式集中的模式的后2个字符映射为一组整数,根据映射后的大小排序后构造出哈希表-hash表。使用同样的hash函数对字符集中字符的前两个字符进行映射排序构造出prefix表。
(2)
将预处理阶段生成的块的hash值流和纹理空间的报文流通过kernel函数的参数读入kernel函数。
(3)
kernel函数实现每个SM流处理器根据自己的数据报文流的“块”信息,使用hash函数将计算得到的结果与hash流进行匹配,并将匹配结果输出。
(4)
根据匹配的结果查找hash表,确定匹配成功的模式串。
您可能关注的文档
最近下载
- 某县关于巩固拓展脱贫攻坚成果同乡村振兴有效衔接工作的表态发言.docx VIP
- 体格检查【呼吸内科】--PPT课件.ppt VIP
- 3.2 营造清朗空间 课件 统编版道德与法治 八年级上册.pptx VIP
- 活动课 家国情怀与统一多民族的演进 课件-高一上学期统编版(2019)必修中外历史纲要上.pptx VIP
- 2024高考英语天津卷历年作文范文衡水体临摹字帖(描红无参考线).pdf VIP
- 水工建筑物止水带技术规范DLT52152023年.docx
- Tableau数据可视化基础.pptx VIP
- 2025年职业技能邮件快件安检员参考题库含答案解析(5套试卷).docx VIP
- 地面数字电视接收技术考核试卷.docx VIP
- 呼吸科病史采集.pptx VIP
文档评论(0)