[发明专利]一种在大流量下进行深度包检测的方法有效

专利信息
申请号: 201210004781.2 申请日: 2012-01-09
公开(公告)号: CN102546299A 公开(公告)日: 2012-07-04
发明(设计)人: 岳培培 申请(专利权)人: 北京锐安科技有限公司
主分类号: H04L12/26 分类号: H04L12/26;H04L29/06
代理公司: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 余功勋
地址: 100044 北京市海*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 流量 进行 深度 检测 方法
【说明书】:

技术领域

发明涉及一种在大流量下进行深度包检测的方法,属于数据通信领域。

背景技术

在数据通信网络中,深度包检测技术的应用很广泛,经常用于数据包应用类型分析、用户行为分析,以及入侵检测、病毒/蠕虫检测等方面。

深度包检测技术的实现方法分为软件和硬件两种。软件方法利用各种模式匹配算法来进行特定关键字的匹配,但软件进行深度包检测的速度有限,不能保证线速处理。而采用硬件的方法实现深度包检测,可以在大流量下实现线速处理。

使用硬件进行深度包检测的方法很多,当关键字量大,且需要在运行时更新时,常采用“现场可编程门阵列”(FPGA)加上“三相式内容寻址存储器”(TCAM)的实现方式,将数据包输入到FPGA的缓存中,然后发送给TCAM进行匹配,TCAM将匹配结果返回给FPGA继续处理。虽然TCAM的运算速度非常快,当前主流的TCAM的查找速度能达到300M次查找/秒。但在大流量网络环境下,例如10G~40G,该查找速度仍然达不到每次查找只偏移1个字节。而在需要查找浮动关键字的场合,由于关键字的起始位置不固定,因此查找过程需要每次仅偏移一个字节进行比对。这时,单纯使用TCAM不能满足系统要求。

另一种常用的规则匹配方法是使用布隆过滤器(Bloom Filter)进行匹配。布隆过滤器是由Burton Bloom在1970年提出,其基本工作方法如下:

首先是配置过程:生成一个位串,并清0,位串中的每个存储单元对应一个地址。然后,对需要进行匹配的每个关键字都用多个散列(hash)函数进行计算,并把计算结果作为配置地址,把位串中相应的存储单元置为1。

需要进行匹配时,把待匹配内容用同样的多个hash函数计算,将多个结果作为位串中的查询地址与配置地址进行匹配。若查询到的所有结果不是都为1,说明匹配不成功;若结果都为1,说明匹配有可能成功,且成功的概率可以计算得到。但是当不匹配的待匹配内容的hash运算结果和关键字的hash运算结果相同时,可能会报告匹配成功(假阳性)。

发明内容

本发明针对上述FPGA+TCAM方式实现深度包检测的过程中,大流量时遇到的问题,提出了一种在大流量下进行深度包检测的方法,充分利用了FPGA的特点,在操作系统的主控单元(由用户控制)的内存中和FPGA中分别设置不同种类和数量的布隆计数器,利用布隆过滤器进行初步过滤,使得关键字的增加、删除、匹配过程方便易行。

本发明的硬件环境采用主控单元的内存+FPGA+TCAM。在主控单元的内存中实现关键字统计,在FPGA内部实现布隆过滤器进行粗匹配,随后在TCAM中实现精匹配。

具体技术方案为:

1)在FPGA内部搭建3个层次结构的过滤模块。

a)并行放置L个结构、大小相同的第一层过滤模块,待匹配内容在通过这L个过滤模块进行匹配时依次偏移1个字节,从而使待匹配内容在每个时钟周期内都可以偏移L个字节。L的值由需要进行深度包检测的数据流量和FPGA的工作时钟决定。

b)第一层过滤模块内部并行放置M个第二层过滤模块,用于匹配多种长度的关键字。M的值由关键字的长度分布情况决定。

c)第二层过滤模块内部并行放置N个第三层过滤模块,每个第三层过滤模块由块状随机存储器组成基础布隆过滤器,其中每个布隆过滤器的每个存储单元所存储的内容是1bit。N的值由根据关键字长度采用的hash算法的种类除以2得到。

2)主控单元根据用户的添加及删除操作初始化配置地址。

a)在操作系统的主控单元的内存中保存有一个过滤模块的存储空间,同样分为3个层次,其中第三层是计数型布隆过滤器,即,在第三层的每个存储单元中所存储的内容并不是1bit,而是包含多bit的一个整数。

b)当添加关键字时,若关键字长度为m个字节,则在主控单元的存储空间中找到匹配长度为n个字节的第二层过滤模块,n为小于等于m的最大值,对关键字的前n个字节(n字节前缀)进行hash运算,并把运算结果作为初始化地址,查询N个第三层计数型布隆过滤器,修改相应配置地址内的值(通常是加1)。若第三层计数型布隆过滤器的存储单元内的值发生变化(如从0变为非0),则对应更新FPGA内L个对应的存储单元的值(如变为1)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210004781.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top