[发明专利]一种实现多元数据包分类的方法及设备有效
| 申请号: | 200710161065.4 | 申请日: | 2007-12-24 |
| 公开(公告)号: | CN101340363A | 公开(公告)日: | 2009-01-07 |
| 发明(设计)人: | 华蓓;程海鹏;唐锡南 | 申请(专利权)人: | 中国科学技术大学 |
| 主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
| 代理公司: | 北京凯特来知识产权代理有限公司 | 代理人: | 郑立明 |
| 地址: | 230026*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 多元 数据包 分类 方法 设备 | ||
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络中实现多元数据包分类 的方法及装置。
背景技术
数据包分类技术是网络提供更优质、更安全服务的基础。其中的快速包分 类技术则是实现高速路由器的关键技术之一。现有技术中的包分类方法中,一 种称为RFC(Recursive Flow Classification递归流分类)的包分类方法是目 前已知的软件算法中速度最快的包分类方法。所述的递归流分类RFC方法的工 作原理是通过构建RFC缩减树,将包头中参与分类的S长度比特数据映射到相 应的多个阶段的等价类上,其中每个映射称为一次缩减,以达到加快分类速度 的目的。
下面将结合附图1对上述RFC算法进行详细描述。在描述过程中假设采用 的规则集包含有4条规则,具体如表1所示:
表1
首先,根据表1给定的规则集构建一颗二阶段RFC缩减树,其中,规则集 的每条规则中包含3个域,每个域值长度为3比特。则,二阶段RFC缩减树的构 建过程如下:
Phase0阶段,将规则集的3个域(F1-F3)分别映射到图1中对应的3个预 处理表(Chunk0-Chunk2)中。其中,每张预处理表的表项序号表示与该预处 理表对应的域的一种可能取值,例如:Chunk0的表项表项序号“0”表示域F1 的取值为‘000’。而每张预处理表的表项内容则为一个eqID号,所述的eqID 号存储在与该预处理表相关联的eqID表中,根据相应的CBM位串确定。所述的 CBM位串长度与规则集中的规则数相同,且CBM位串由高到低的每一位顺序 对应一个规则号。以Chunk0中的eqID号的确定为例:表项序号“0”对应的域 F1取值为‘000’,检查每条规则,只有R4的F1域取值与‘000’匹配,则CBM 位串中与R4对应的位置‘1’(表示匹配表项序号“0”对应的域F1的取值‘000’), 其余位置‘0’,即表项序号“0”对应的CBM位串为‘0001’。该位串第一 次出现,因此将其填入Chunk0对应的eqID表的首位,并分配eqID号为‘0’。 同理,表项序号“1”对应的域F1的取值为‘001’,相应的CBM位串为‘1101’, 将该CBM位串填入eqID表的第二位,并分配eqID号为‘1’。按照同样的方法, 依次各表项序号对应的eqID号。
Phase1阶段,计算Phase0阶段中各eqID表的交叉乘积表 (Cross-Producting Table,CPT)。其中,所述的交叉乘积表的每个表项序 号代表了eqID0-eqID2的一种组合(eqID0eqID1eqID2),例如表A的表项序号 “0”代表(eqID0eqID1eqID2)的组合‘000’。而所述的交叉乘积表的表项 内容为一个新的eqID号,所述的新的eqID号存储在与交叉乘积表对应的eqID 表中,交叉乘积表中的eqID号通过以下方法获得:对于每一个表项序号,将该 表项序号所代表的eqID组合中各eqID号对应的CBM位串按位相与,得到一个 新的CBM位串;若该CBM位串在eqID表中已出现过,则将其对应的eqID号填 入表项,否则分配一个新的eqID号,并在eqID表中添加一条新的纪录。例如, 表A的表项“0”代表(eqID0eqID1eqID2)= ‘000’,对应的3个CBM位串 分别为‘0001’,‘0001’和‘0011’,按位相“与”得到新的CBM位串为 ‘0001’,分配eqID为‘0’。
完成上述二阶段缩减树的构建,即可根据该二阶段缩减树对数据包进行分 类,以数据包头P(010,100,011)的查找过程为例,包括:
Phase 0阶段,用P1=010,P2=100和P3=011分别索引Chunk 0-Chunk2, 查找匹配的eqID号,得到(eqID0eqID1eqID2)=221。
Phase 1阶段,按照Index=eqID0*3*2+eqID1*2+eqID2查找交叉乘积表 A,匹配表项序号“17”,查表A得到eqID号=3,其对应的CBM位串为‘0011’, 表示规则R3和R4均匹配,但按照最佳匹配原则,数据包匹配规则R3。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710161065.4/2.html,转载请声明来源钻瓜专利网。





