[发明专利]基于深度包检测的数据处理方法、装置和网络设备在审
| 申请号: | 202010114129.0 | 申请日: | 2020-02-24 |
| 公开(公告)号: | CN111353018A | 公开(公告)日: | 2020-06-30 |
| 发明(设计)人: | 张宁;张伟;邹昕;王晖;李高超;李政;陈训逊;云晓春 | 申请(专利权)人: | 杭州迪普信息技术有限公司 |
| 主分类号: | G06F16/33 | 分类号: | G06F16/33;H04L29/06 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 张萌 |
| 地址: | 310000 浙江省杭州市滨江区*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 深度 检测 数据处理 方法 装置 网络设备 | ||
本发明提供了一种基于深度包检测的数据处理方法、装置和网络设备。涉及通信技术领域,该方法包括:通过基于所述第一部分在预先确定的第一部分的多个基于深度包检测检的子规则中进行匹配,确定匹配成功的第一子规则的位置;以及基于所述第一子规则的位置和所述第二部分在预先确定的第二部分的多个基于深度包检测的子规则中进行匹配,确定匹配成功的第二子规则,并将所述第一子规则和所述第二子规则对应的基于深度包检测检的第一规则作为所述待检测报文的命中结果,以此将较长的关键字规则分为两部分分别进行匹配,并在第二次匹配的时候,结合前一部分的位置,可以解决由于TCAM特性导致的前一部分字节相同的关键字规则可能不命中的问题。
技术领域
本发明涉及通信技术领域,尤其是涉及一种基于深度包检测的数据处理方法、装置和网络设备。
背景技术
使用深度包检测可以发现、识别、分类、重新路由或阻止具有特殊数据或代码有效载荷的数据包,而传统的包过滤只能检测数据包包头,不能发现这些数据包。
深度检测技术简单来说就是用预定义的字符串和网络报文进行匹配,在某设备中定义了一种关键字规则:
关键字规则包含两部分,报文关键字和掩码字段(为方便介绍,本文中关键字掩码字段为全掩),关键字和掩码为十六进制形式。该规则是为了匹配网络报文。关键字和掩码长度最大为128字节,该规则可以设定起始偏移位置,起始位置可以是MAC头、二层报文头、IP头。
关键字规则使用TCAM实现规则匹配,由于TCAM的特性,可以实现规则的快速匹配。规则在TCAM的存放方式和顺序,规则在TCAM里连续存放,例如TCAM中总空间数量为100,每个空间长度为144,规则加载时,按顺序从第一空间开始寻找可用的空间,直到查询到100并且总数量小于100时,从第一空间重新开始查找可用空间。
但TCAM匹配存在以下特性:一次匹配过程只能输出一个匹配结果,优先输出第一个位置较小的匹配结果,即位置越小优先级越高;匹配长度存在限制,一次最多可以匹配72字节的长度,所以针对关键字规则需要进行2次匹配过程才可以得到匹配结果,第一次匹配所有规则的前72字节,第二次匹配第一次匹配结果对应的后56字节。
发明内容
本发明的目的在于提供一种基于深度包检测的数据处理方法、装置和网络设备,以缓解了前一部分字节相同的关键字规则可能不命中的问题。
第一方面,实施例提供一种基于深度包检测的数据处理方法,应用于网络设备,所述方法包括:
确定待检测报文,所述待检测报文包括第一部分和第二部分;
基于所述第一部分在预先确定的第一部分的多个基于深度包检测检的子规则中进行匹配,确定匹配成功的第一子规则的位置;
基于所述第一子规则的位置和所述第二部分在预先确定的第二部分的多个基于深度包检测的子规则中进行匹配,确定匹配成功的第二子规则,并将所述第一子规则和所述第二子规则对应的基于深度包检测检的第一规则作为所述待检测报文的命中结果。
在可选的实施方式中,每个规则包括第一部分的子规则和第二部分的子规则;每个规则对应有规则标记和规则位置;所述规则标记用于指示该规则的第一部分的子规则是否为空。
在可选的实施方式中,还包括:
确定第二规则的规则标记,所述第二规则为待删除的规则;
如果所述第二规则的规则标记指示所述第二规则的第一部分的子规则不为空,则确定所述第二规则的第一部分的子规则的位置是否存在于其他第二部分的子规则中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普信息技术有限公司,未经杭州迪普信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010114129.0/2.html,转载请声明来源钻瓜专利网。





