一种网包分类方法和装置制造方法及图纸

技术编号:14117013 阅读:30 留言:0更新日期:2016-12-07 23:47
本发明专利技术提供一种网包分类方法和装置,其中方法包括:采用循环分组法对初始规则集进行分组,生成预设数目的子规则集,循环分组法包括:由待分组的规则集集合中选取规则集交叠率最高的目标规则集,根据切分点对目标规则集进行切分得到两个子规则集,所述两个子规则集中的其中一个子规则集的规则集交叠率小于另一个子规则集的规则集交叠率;将所述两个子规则集放入规则集集合中,并继续对规则集集合中的子规则集进行切分,直至规则集集合中的子规则集的数目达到预设数目;分别对每一个子规则集进行建树,得到与子规则集对应的决策树,决策树用于对网包进行分类处理。本发明专利技术提高了决策树的生成效率。

【技术实现步骤摘要】

本专利技术涉及网络技术,特别涉及一种网包分类方法和装置
技术介绍
网包分类大致可理解为根据配置的分类规则,对网包包头中各个不同字段的值进行处理,得到匹配的分类规则,并执行该规则配置的操作动作。许多网络设备提供的诸如访问控制、流量控制、负载均衡、入侵检测等功能均需要用到网包分类。相关技术中一种常用的网包分类方法是基于决策树的网包分类,决策树是根据预设的规则集(规则集包括很多分类规则)生成的描述网包分类过程的一种数据结构,当网络设备接收到网包时,将按照该决策树限定的分类过程最终找到与网包匹配的分类规则,并按照分类规则中的操作动作对网包进行处理,比如丢弃网包或者接受网包等。目前的问题是,在生成上述决策树的过程中可能会出现规则复制现象,即某个分类规则由于覆盖了分割点而被一分为二,从而导致决策树的节点太多,决策树规模过大;用于存储决策树的存储器无法支持如此大的信息量,限制了决策树对应的规则集规模;而且较大的决策树也使得决策树的生成时间太长,效率太低,决策树生成慢也使得对应的网包分类的效率降低。
技术实现思路
有鉴于此,本专利技术提供一种网包分类方法和装置,以降低用于进行网包分类的决策树的规模,提高决策树的生成效率。具体地,本专利技术是通过如下技术方案实现的:第一方面,提供一种网包分类方法,包括:采用循环分组法对初始规则集进行分组,生成预设数目的子规则集,所述循环分组法包括:由待分组的规则集集合中选取规则集交叠率最高的目标规则集,根据切分点对所述目标规则集进行切分得到两个子规则集,所述两个子规则集中的其中一个子规则集的规则集交叠率小于另一个子规则集的规则集交叠率;将所述两个子规则集放入所述规则集集合中,并继续对所述规则集集合中的子规则集进行切分,直至所述规则集集合中的子规则集的数目达到所述预设数目;分别对每一个所述子规则集进行建树,得到与所述子规则集对应的决策树,所述决策树用于对网包进行分类处理。第二方面,提供一种网包分类装置,包括:分组模块,用于采用循环分组法对初始规则集进行分组,生成预设数目的子规则集,所述循环分组法包括:由待分组的规则集集合中选取规则集交叠率最高的目标规则集,根据切分点对所述目标规则集进行切分得到两个子规则集,所述两个子规则集中的其中一个子规则集的规则集交叠率小于另一个子规则集的规则集交叠率;将所述两个子规则集放入所述规则集集合中,并继续对所述规则集集合中的子规则集进行切分,直至所述规则集集合中的子规则集的数目达到所述预设数目;建树模块,用于分别对每一个所述子规则集进行建树,得到与所述子规则集对应的决策树,所述决策树用于对网包进行分类处理。本申请实施例提供的网包分类方法和装置,通过将规则集分组成交叠率不同的两个子规则集,并针对该子规则集进行建树,这种方式就可以实现对用于进行网包分类的决策树规模的降低,提高决策树的生成效率。附图说明图1是一个例子中网包分类的原理图;图2是一个例子中决策树的结构形式图;图3是一个例子中网包分类方法的流程图;图4是一个例子中网包分类装置的结构图;图5是一个例子中循环分组法的示意图;图6是一个例子中的使用循环分组法的分组流程图;图7是一个例子中网包分类装置的结构图;图8是一个例子中网包分类装置的结构图;图9是一个例子中传统方式的全补洞决策树示意图;图10是一个例子中部分补洞方式下的决策树示意图;图11是一个例子中的决策树结构示意图;图12是一个例子中的节点合并示意图;图13是一个例子中网包分类装置的结构图;图14是一个例子中的网包分类方法的实施效果图一;图15是一个例子中的网包分类方法的实施效果图二。具体实施方式在网络设备提供的诸如访问控制、流量控制、入侵检测等功能中,均可能使用到“网包分类”,网包分类例如是网络设备对接收到的网包(Packet),根据决策树进行分类规则的匹配查找,最终得到与该网包匹配的分类规则,按照该分类规则中的操作动作对网包进行处理(例如,丢弃网包)。上述的网包分类过程可以参见图1的示例,图1简单示例了网包分类的原理。如图1所示,网包分类实际上是从规则集11中找到与待分类的网包12匹配的分类规则,规则集11包括很多分类规则,该分类规则例如是下表1的形式:表1分类规则Rule ID 源IP 目的IP 源端口 目的端口 操作动作 001 0.0.0.0/0 10.0.8.28/32 80 0~65535 丢弃 如表1所示,是示例的一种分类规则的形式;需要说明的是,表1只是示 例了分类规则的其中一部分信息,分类规则还可以包括其他信息(比如,该规则的优先级)。规则集11中包括很多这样的分类规则,待分类的网包12,如果其中的各个字段能够匹配上述表1中的各个字段,则表明网包与分类规则匹配;例如,网包12中包括的源IP、目的IP、源端口和目的端口,均与表1中各字段匹配,那么表1的分类规则就是与网包12匹配的分类规则,将按照该分类规则对应的操作动作“丢弃”来处理网包12,即将网包12丢弃。而图1即示意了如何从规则集11中查找到与网包12匹配的分类规则的过程,整个过程可以包括三部分:分组、建树和查找;如下:分组器(Tree Splitter)执行的分组处理:对一个规则集执行决策树的建树算法时,通常不可避免地会产生规则裂变和复制,同时随着规则之间重叠情况的加剧,进而导致决策树的规模发生爆炸;将规则集划分为更小的子集可以减少规则之间的重叠度,再分别针对每个子集进行建树将有效减少最终生成决策树的规模。基于此,才要进行规则集的分组,并分别针对各个分组进行建树。例如,规则集11中包括很多的分类规则,本实施例将该规则集中的分类规则进行分组,得到很多的子规则集;例如,假设规则集11中有50条分类规则,本步骤将规则集分成了三个子规则集,一个子规则集包括10条规则,另一个子规则集包括20条规则,另一个子规则集也包括20条规则。建树器(Tree Builder)执行的建树处理:本步骤是对“分组”步骤中得到的各个子规则集,分别使用建树算法进行决策树的建立,每一个子规则集经过建树步骤都能得到对应该子规则集的决策树,如图1中所示的其中一个决策树13。决策树是描述分类过程的一种数据结构,图2示例了一种决策树的结构形式。结合图2,决策树相当于描述了一种分类过程,假设在图2中所示的决策树寻找二维空间点P(3,2)为例,该P(3,2)表示待分类的网包中具有两个维度,一个维度X是“源IP”,另一个维度Y是“目的端口号”(仅是举例),并且每一个维度都可以用数字来表示,源IP的取值代表数字是3,目的端口号取值代表数字是2,那么为P(3,2)寻找匹配的分类规则,即寻找源IP和目的端口 号能与上述网包对应维度的取值相同的分类规则。在图2中,查找流程如下:从决策树根节点开始沿树进行查找,在决策树根节点位置进行匹配,根节点Cut 1以维度Y作为分割维度,以阈值3作为分割点,而P点在维度Y上是2,小于3,故查找逻辑转向根节点的左孩子节点(left child node)继续递归地进行查找;此时在节点Cut 2处的分割维度为X,分割点是阈值2,而P点的维度X的取值是3,大于等于2,故查找逻辑转向该节点的右孩子节点(right child node)继续递归地进行查找,以此类推,查找逻辑顺着虚线箭头所指的路径直本文档来自技高网...
一种网包分类方法和装置

【技术保护点】
一种网包分类方法,其特征在于,包括:采用循环分组法对初始规则集进行分组,生成预设数目的子规则集,所述循环分组法包括:由待分组的规则集集合中选取规则集交叠率最高的目标规则集,根据切分点对所述目标规则集进行切分得到两个子规则集,所述两个子规则集中的其中一个子规则集的规则集交叠率小于另一个子规则集的规则集交叠率;将所述两个子规则集放入所述规则集集合中,并继续对所述规则集集合中的子规则集进行切分,直至所述规则集集合中的子规则集的数目达到所述预设数目;分别对每一个所述子规则集进行建树,得到与所述子规则集对应的决策树,所述决策树用于对网包进行分类处理。

【技术特征摘要】
1.一种网包分类方法,其特征在于,包括:采用循环分组法对初始规则集进行分组,生成预设数目的子规则集,所述循环分组法包括:由待分组的规则集集合中选取规则集交叠率最高的目标规则集,根据切分点对所述目标规则集进行切分得到两个子规则集,所述两个子规则集中的其中一个子规则集的规则集交叠率小于另一个子规则集的规则集交叠率;将所述两个子规则集放入所述规则集集合中,并继续对所述规则集集合中的子规则集进行切分,直至所述规则集集合中的子规则集的数目达到所述预设数目;分别对每一个所述子规则集进行建树,得到与所述子规则集对应的决策树,所述决策树用于对网包进行分类处理。2.根据权利要求1所述的方法,其特征在于,所述根据切分点对所述目标规则集进行切分得到两个子规则集,包括:根据交叠率为1的规则的占比以及平均交叠率,选取切分维度,并将交叠率为1的位置作为切分点;在所述切分维度上,根据所述切分点,将所述目标规则集中的交叠率等于1的分类规则划分入所述两个子规则集中的其中一个子规则集,并将交叠率大于1的分类规则划分入另一个子规则集。3.根据权利要求1所述的方法,其特征在于,所述分别对每一个所述子规则集进行建树,包括:采用快速分割法对所述子规则集进行分割,直至分割后形成的每个分割子集在任一维度上包括一个分割区段,所述快速分割法包括:选取分割点最多的维度作为分割维度,从所述分割维度中选择用于进行分割的目标分割点,根据所述分割维度和目标分割点分割所述子规则集,得到两个分割子集;所述目标分割点位于所述分割维度中所有分割点的中间位置。4.根据权利要求3所述的方法,其特征在于,在所述选取分割点最多的维
\t度作为分割维度之前,还包括:确定所述子规则集的规则集交叠率小于阈值。5.根据权利要求1所述的方法,其特征在于,在所述生成预设数目的子规则集之后,分别对每一个所述子规则集进行建树之前,还包括:在所述子规则集中增加一条黑洞规则,所述黑洞规则包括N个维度,N是自然数,所述N个维度中包括n个非敏感维度,n大于等于1且小于N;所述分别对每一个所述子规则集进行建树,包括:在建树过程中的分割维度是所述非敏感维度时,复制所述黑洞规则至两个分支中。6.根据权利要求1所述的方法,其特征在于,在所述得到与所述子规则集对应的决策树之后,还包括:将所述决策树的节点信息发送至存储器,所述存储器包括位于FPGA上的第一存储器和位于FPGA之外的第二存储器,所述决策树中的融合节点的节点信息放入所述第二存储器中;所述融合节点包括的节点数量为至...

【专利技术属性】
技术研发人员:徐达维魏初舜任凯
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1