[发明专利]一种在大流量下进行深度包检测的方法有效
申请号: | 201210004781.2 | 申请日: | 2012-01-09 |
公开(公告)号: | CN102546299A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 岳培培 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余功勋 |
地址: | 100044 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种在大流量下进行深度包检测的方法,针对FPGA+TCAM方式实现深度包检测的过程中,大流量时遇到的问题,在操作系统的主控单元的内存中和FPGA中分别构建不同种类和数量的层次化布隆计数器,利用布隆过滤器进行初步过滤,在主控单元的内存中实现关键字统计,在FPGA内部实现布隆过滤器进行粗匹配,随后在TCAM中实现精匹配。本发明通过两步匹配的方法,既实现了精确匹配,又减少了TCAM的压力,并充分考虑了关键字量大且长度不同的问题,使得关键字的增加、删除、匹配过程方便易行。 | ||
搜索关键词: | 一种 流量 进行 深度 检测 方法 | ||
【主权项】:
一种在大流量下进行深度包检测的方法,包括:在FPGA内部搭建3层过滤模块,并行放置L个第一层过滤模块;每第一层过滤模块内部并行放置M个第二层过滤模块;每第二层过滤模块内部并行放置N个第三层过滤模块,由多个块状随机存储器组成基础布隆过滤器;在主控单元的内存中保存一个过滤模块的存储空间,构建与FPGA对应的3层结构,其中第三层组成计数型布隆过滤器;主控单元对关键字取其字节前缀作运算,把运算结果配置为初始化地址,并根据第三层计数型布隆过滤器的存储单元内的值的变化更新FPGA内L个对应的存储单元的值;以及检测过程,步骤包括:a)输入数据分别送到L个第一层过滤模块中,并截取相应的字节前缀,同时送入M个第二层过滤模块;b)在第二层过滤模块内部,截取的字节前缀分别进行hash运算,并根据结果查询第三层的基础布隆过滤器的配置地址并进行匹配;c)根据待匹配内容在FPGA的第三层基础布隆过滤器内的各个运算结果,记录对应的第一层过滤模块所在的偏移位置,存储进FPGA的缓存器中;d)将被记录下来的偏移位置对应的待匹配内容,从数据包中重新提取出来,送入TCAM进行精匹配。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210004781.2/,转载请声明来源钻瓜专利网。