[发明专利]一种深度包检测方法有效

专利信息
申请号: 201110452443.0 申请日: 2011-12-29
公开(公告)号: CN102437937A 公开(公告)日: 2012-05-02
发明(设计)人: 岳培培;李树佳;刘钧凯 申请(专利权)人: 北京锐安科技有限公司
主分类号: H04L12/26 分类号: H04L12/26
代理公司: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 余功勋
地址: 100044 北京市海*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 深度 检测 方法
【说明书】:

技术领域

发明涉及一种在硬件深度包检测过程中处理关键字的方法,属于数据通信领域。

背景技术

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

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

使用硬件实现深度包检测,最常用的方法是采用“现场可编程门阵列”(FPGA)加上“三相式内容寻址存储器”(TCAM)的实现方式。TCAM是一种进行关键字匹配的专用芯片,输入一条待匹配内容后,TCAM会自动对比待匹配内容与存储器内保存的所有关键字,当发现存储器内有相同的关键字存在时,说明命中,返回命中结果,即该关键字的地址,且该过程为流水线方式进行。

使用FPGA+TCAM的方式实现深度包检测的过程为:首先把关键字配置进TCAM。开始深度包检测时,由FPGA进行数据的接入,并提取数据包中的负载,作为待匹配内容进入TCAM进行检测。若命中,则FPGA使用TCAM返回的地址到“静态随机存储器”(SRAM)中读取,SRAM返回内容即数据包的处理方式,FPGA使用该处理方式对数据包进行相应的操作。

虽然硬件实现速度非常快,但TCAM也有使用限制。一个是硬件速度的限制,在大流量下,例如10G~40G的环境时,处理速度还达不到每次匹配对数据包负载仅偏移1个字节,匹配时需要每次偏移多个字节(假设每次偏移N个字节)。另一个是匹配位宽的限制,由于TCAM能力限制,每次匹配的关键字位宽有限(假设每次匹配的位宽为M字节)。

由于以上限制,某些固定偏移位置的关键字,特别是长关键字,有可能不能放入TCAM的一条匹配规则内。对于这个问题,现有的主要解决方法有以下几种:1,采用多个TCAM级联使用来扩展每次匹配的位宽,这无疑增大了系统复杂度和成本;2,使用TCAM进行前缀匹配,后续再使用一个“同步动态随机存储器”(SDRAM)来进行精确对比,这种方式也同样有实现复杂度问题;3,把关键字分割成多个子关键字,放在TCAM的多个匹配规则中,在深度包检测过程中,进行多次匹配操作,并在最后把各个子命中结果再送入TCAM进行一次匹配,来确定是否命中,这种方法的子命中结果个数不固定,由负载包长度决定,使子命中结果的匹配不易操作。

综上所述,现有的关键字分割方法不易操作,成为硬件进行深度包检测的瓶颈。

发明内容

本发明针对上述问题,提出了一种在硬件深度包检测过程中处理关键字的方法,使关键字的处理:分割、匹配易于操作。

本发明针对FPGA+TCAM方式实现深度包检测的过程中,关键字的分割、匹配不易实现的问题,提出了一种分割、匹配关键字的方法,使该过程便于实现。

一种深度包检测方法,其步骤为,

1)建立现场可编程门阵列(FPGA)模块用于接收待测数据包,所述FPGA模块连接一三相式内容寻址存储器(TCAM)用于接收待测数据包负载并对关键字进行匹配,所述TCAM中支持关键字的匹配长度为M,;

2)在FPGA模块外连接一静态随机存储器(SRAM);

3)分割关键字,所述关键字分割长度N按照N=M/2进行分割;

4)根据关键字偏移位置和结束位置满足的设定条件重组步骤3)中所述关键字,得到该关键字匹配规则;

5)将分割重组后的关键字存入TCAM和SRAM存储器中,完成关键字预处理;

6)FPGA模块提取数据包负载,对所述负载进行分割重组处理,处理完成后FPGA将结果送入TCAM存储器进行匹配,并将匹配结果返回FPGA模块;

7)FPGA通过读取SRAM存储器内的匹配地址将对应的数据包的处理操作方式返回FPGA模块,输出数据包数据。

若关键字偏移位置和结束位置满足的设定条件为,当关键字偏移位置≥N*i,关键字结束位置<N*(i+2),其中i=0,1……,i是整数,对某个关键字是固定的,N是关键字长度,关键字占用一条TCAM匹配,该匹配规则的M字节长度对应N*i到N*(i+2)-1,关键字按照匹配规则进行处理。

若关键字偏移位置和结束位置满足的设定条件为,当N*i≤关键字偏移位置<N*(i+1);N*j≤关键字结束位置<N*(j+1);其中i=0,1……,i是整数,对某个关键字是固定的,j≥i+2,N是关键字长度,关键字占用i-i条TCAM规则,该关键字按照匹配规则进行重组。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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