[发明专利]一种实现多元数据包分类的方法及设备有效
| 申请号: | 200710161065.4 | 申请日: | 2007-12-24 |
| 公开(公告)号: | CN101340363A | 公开(公告)日: | 2009-01-07 |
| 发明(设计)人: | 华蓓;程海鹏;唐锡南 | 申请(专利权)人: | 中国科学技术大学 |
| 主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
| 代理公司: | 北京凯特来知识产权代理有限公司 | 代理人: | 郑立明 |
| 地址: | 230026*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 多元 数据包 分类 方法 设备 | ||
1.一种实现多元数据包分类的方法,其特征在于,包括:
通过构建基于递归流分类算法的数据结构找到所有可能匹配源地址和目 的地址的规则组,对各规则组中的每条规则分别编码并生成对应的代码块,通 过所述代码块描述规则中除所述源地址和目的地址外的其他字段;
采用所述的递归流分类算法对待分类数据包的源地址和目的地址进行匹 配获得与所述待分类数据包的源地址和目的地址匹配的一组规则所对应的代 码块;
采用解释器解释执行所述代码块,对待分类数据包中除所述源地址和目的 地址外的其他字段进行匹配,返回与输入数据包匹配的规则号作为数据包分类 结果。
2.根据权利要求1所述的方法,其特征在于,所述的生成对应的代码块的 处理具体包括:
对各组规则中的每条规则编码为一条指令,生成每组规则对应的代码块, 并为所述代码块分配相应的存储空间;
将各代码块存储空间首地址存放到所述数据结构中与其对应的一组规则 指向的位置。
3.根据权利要求2所述的方法,其特征在于,解释器解释执行所述代码块 的过程具体包括:
获得所述数据结构中的存储空间首地址;
根据所述存储空间首地址载入对应存储空间中的代码块,并执行该代码 块。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
在具备高速缓存器的处理器结构中,将所述的代码块载入高速缓存器;
或者,
在不具备高速缓存器的处理器结构中,将所述的代码块载入片内存储器。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述的编码的处 理过程包括:
按照预定的指令格式对所述各组规则进行编码,所述的指令格式包含操作 符、操作数和规则号,其中,所述的操作符用于指示指令的具体操作类型,所 述的规则号用于标识指令所对应的规则,所述操作数用于进行协议号、源端口 或目的端口的匹配计算。
6.根据权利要求2、3或4所述的方法,其特征在于,为所述代码块分配相 应的存储空间的处理包括:
当针对一组规则的编码获得的代码块需要多个存储空间时,则采用操作符 ‘GOTO’作为从一个存储空间跳转到另一个存储空间的指令。
7.一种实现多元数据包分类的设备,其特征在于,包括:
预处理模块,用于生成基于递归流分类算法查找源地址和目的地址的数据 结构,并对由所述数据结构获得的所有可能的规则组进行编码,以生成对应的 代码块,通过所述代码块描述规则中除所述源地址和目的地址外的其他字段;
包头信息提取模块,用于提取待分类的数据包的包头信息;
二维包分类算法匹配模块,用于通过所述递归流分类算法数据结构对所述 包头信息提取模块获得的数据包中的源地址和目的地址进行匹配,获得与所述 数据包的源地址和目的地址匹配的一组规则所对应的代码块;
解释器,用于载入所述二维包分类算法匹配模块获得的代码块,执行该代 码块中的指令,对待分类数据包中除所述源地址和目的地址外的其他字段进行 匹配,获得匹配的规则号作为包分类的结果。
8.根据权利要求7所述的设备,其特征在于,该设备还包括:
首地址存储模块,用于保存所述预处理模块生成的代码块所在的存储空间 的首地址,并提供给所述解释器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710161065.4/1.html,转载请声明来源钻瓜专利网。





