【技术实现步骤摘要】
选择数据包分类算法的方法和装置
本专利技术涉及通信
,并且更具体地,涉及选择数据包分类算法的方法和装置。
技术介绍
数据包分类技术被广泛应用于各类网络设备中,是构建灵活可编程网络的关键技术。工业界一般采用三态内容寻址存储器(Ternary Content Addressable Memory,简称“TCAM”)来实现数据包分类,其主要缺点有功耗大,容量小,芯片尺寸大,价格昂贵。与TCAM对应的另一种数据包分类方法是算法解决方案。算法解决方案采用高性能算法,快速检索数据包分类规则,达到高性能数据包分类的目的。算法解决方案功耗小,价格低廉,因此,数据包分类算法具有很大的应用场景。不同的数据包分类算法具有不同的性能,因此,正确地选择数据包分类算法能够取得较好的性能。在大量已专利技术的数据包分类算法中,基于决策树的数据包分类算法是性能最优的一类算法。基于决策树的数据包分类算法的代表算法是HyperSplit算法和HyperCuts算法。但是,HyperCuts和HyperSplit算法存在创建决策树时间过长的问题。然而,现有技术中需要分别对HyperCuts算法和HyperSplit算法进行创建决策树,并通过比较两种数据包分类算法的建树结果来选择数据包分类算法对数据包进行分类。由于HyperCuts算法和HyperSplit算法创建决策树的时间过长,因此,该选择数据包分类算法的方法耗时过长,效率低。
技术实现思路
本专利技术实施例提供一种选择数据包分类算法的方法和装置,能够提高选择数据包分类算法的方法的效率。第一方面,提供了一种选择数据包分类算法 ...
【技术保护点】
一种选择数据包分类算法的方法,其特征在于,包括:确定数据包的第一域的第一取值范围和对所述数据包进行分类的规则集中的规则在所述第一域上的第一范围的集合;根据所述第一取值范围和所述第一范围的集合,生成第一分割树,所述第一分割树的根节点代表的区间为所述第一取值范围,所述第一分割树的叶子节点代表的区间为所述第一范围;根据所述第一分割树,确定第一最大平衡距离,所述第一最大平衡距离为所述第一分割树的根节点所在的第一子树与所述第一分割树的叶子节点所在的第二子树之间包含的子树的最大个数;根据所述第一最大平衡距离,选择用于对所述数据包进行分类的数据包分类算法。
【技术特征摘要】
1.一种选择数据包分类算法的方法,其特征在于,包括: 确定数据包的第一域的第一取值范围和对所述数据包进行分类的规则集中的规则在所述第一域上的第一范围的集合; 根据所述第一取值范围和所述第 一范围的集合,生成第一分割树,所述第一分割树的根节点代表的区间为所述第一取值范围,所述第一分割树的叶子节点代表的区间为所述第一范围; 根据所述第一分割树,确定第一最大平衡距离,所述第一最大平衡距离为所述第一分割树的根节点所在的第一子树与所述第一分割树的叶子节点所在的第二子树之间包含的子树的最大个数; 根据所述第一最大平衡距离,选择用于对所述数据包进行分类的数据包分类算法。2.根据权利要求1所述的方法,其特征在于,还包括: 确定所述数据包的第二域的第二取值范围和对所述数据包进行分类的所述规则集中的规则在所述第二域上的第二范围的集合; 根据所述第二取值范围和所述第二范围的集合,生成第二分割树,所述第二分割树的根节点代表的区间为所述第二取值范围,所述第二分割树的叶子节点代表的区间为所述第二范围; 根据所述第二分割树,确定第二最大平衡距离,所述第二最大平衡距离为所述第二分割树的根节点所在的第三子树与所述第二分割树的叶子节点所在的第四子树之间包含的所述子树的最大个数; 其中,所述根据所述第一最大平衡距离,选择用于对所述数据包进行分类的数据包分类算法,包括: 确定所述第一最大平衡距离和所述第二最大平衡距离的较大值; 根据所述较大值,选择用于对所述数据包进行分类的数据包分类算法。3.根据权利要求2所述的方法,其特征在于,所述第一域为源IP地址域,所述第二域为目的IP地址域,或者所述第一域为目的IP地址域,所述第二域为源IP地址域。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述第一取值范围和所述第一范围的集合,生成第一分割树,包括: 根据所述第一取值范围,生成所述第一分割树的根节点; 根据所述第一取值范围,确定所述第一分割树的根节点的第一分割点; 从所述第一范围的集合中选择第一窄范围的集合,所述第一窄范围的长度与所述第一取值范围的长度的比值小于第一数值; 根据所述第一取值范围、所述第一分割点和所述第一窄范围的集合,生成所述第一分割树的子节点,所述子节点代表的区间与所述第一窄范围相交; 根据所述第一分割树的根节点和所述第一分割树的子节点,生成所述第一分割树,所述第一分割树的叶子节点代表的区间为所述第一窄范围。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一取值范围,确定所述第一分割树的根节点的第一分割点,包括: 根据公式4 =Imax —2/min +1+4;a -1确定所述第一分割点;其中,Im是所述第一分割点,Imax是所述第一取值范围的最大值,Ifflin是所述第一取值范围的最小值。6.根据权利要求4或5所述的方法,其特征在于,所述根据所述第一最大平衡距离,选择用于对所述数据包进行分类的数据包分类算法,包括: 根据所述第一窄范围的集合,确定所述第一窄范围的集合对应的第一规则数; 根据所述第一规则数,确定第一判断值; 根据所述第一最大平衡距离和所述第一判断值,选择用于对所述数据包进行分类的数据包分类算法。7.根据权利要求6所述的方法,其特征在于,所述根据所述第一规则数,确定第一判断值,包括: 根据公式I = l0g2 }WRl,leS确定所述第一判断值; 其中,X是所述第一判断值,numRules是所述第一规则数;其中, 所述根据所述第一最大平衡距离和所述第一判断值,选择用于对所述数据包进行分类的数据包分类算法,包括: 在所述第一最大平 衡距离大于所述第一判断值时,选择HyperSplit算法; 在所述第一最大平衡距离小于或者等于所述第一判断值时,选择HyperCuts算法。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述子树为准平衡子树,所述根据所述第一分割树,确定第一最大平衡距离,包括: 根据所述第一分割树,确定所述第一分割树包含的所述准平衡子树,所述准平衡子树的k+Ι层的节点数与k层的节点数的比值大于或者等于第二数值,k为大于或者等于I的正整数; 对所述第一分割树进行深度优先遍历,确定所述第一分割树的根节点所在的第一准平衡子树和所述第一分割树的叶子节点所在的第二准平衡子树; 确定所述第一准平衡子树和所述第二准平衡子树之间包含的...
【专利技术属性】
技术研发人员:贺鹏,丁万夫,林程勇,谢高岗,关洪涛,黄昆,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。