网包规则集的分类方法及装置的制造方法
【专利摘要】本申请是关于网包规则集的分类方法及装置,所述方法包括:基于预设的方法从所述网包规则集中确定预设数量的划分有效位;基于所述预设数量的划分有效位生成掩码向量;根据所述掩码向量对所述网包规则集进行划分。由于本申请可以通过掩码向量将多个网包规则集转换为单个网包规则集,大大降低了计算复杂度,因此可以解决相关技术中网包规则集分类速度慢的问题。
【专利说明】
网包规则集的分类方法及装置
技术领域
[0001] 本申请涉及通信技术领域,尤其涉及一种网包规则集的分类方法及装置。
【背景技术】
[0002] 随着互联网的发展,传统路由技术已经不能满足网络业务的需求,因此,网包分类 技术应运而生。网包分类技术是指根据网包中的信息,按照预设的网包规则集(网包规则集 包括多个网包规则)对网包进行分类的过程。网包分类规则的划分通过对预设的规则集进 行预处理,生成多个规则子集,可以有效地提高网包分类时对网包规则的查找速度,提高网 包分类性能。
[0003] 相关技术中,可以通过构建合适的掩码向量将网包规则集划分为多个规则子集, 在网包匹配时,相关技术可以仅在命中的规则子集中进行匹配。由于相关技术可以在匹配 时通过掩码向量过滤掉大部分不可能匹配的规则,因此,相关技术可以提高网包的匹配效 率。
[0004] 然而,相关技术在构建上述合适的掩码向量的过程中,由于采用的是全遍历选择 或随机选择构建法,存在构建速度慢的缺点,因此,当网包规则集过大时,相关技术很有可 能无法在可接受的时间内完成对上述网包规则集的分类。
【发明内容】
[0005] 有鉴于此,本申请提供一种网包规则集的分类方法及装置,来解决相关技术中网 包规则集分类速度慢的问题。
[0006] 具体地,本申请是通过如下技术方案实现的:
[0007] 本申请提供一种网包规则集的分类方法,所述网包规则集包括若干网包规则,所 述方法应用于网络设备上,所述方法包括:
[0008] 基于预设的方法从所述网包规则集中确定预设数量的划分有效位;
[0009] 基于所述预设数量的划分有效位生成掩码向量;
[0010] 根据所述掩码向量对所述网包规则集进行划分。
[0011] 可选的,所述基于预设的方法从所述网包规则集中确定预设数量的划分有效位, 包括:
[0012] 基于预设的方法从所述网包规则集中依次确定预设数量的划分有效位。
[0013] 可选的,所述基于预设的方法从所述网包规则集中依次确定预设数量的划分有效 位,包括:
[0014] 当从所述网包规则集中确定的划分有效位的数量未达到预设数量时,根据确定的 划分有效位依次对所述网包规则集进行若干层划分,并从所述若干层划分得到的网包规则 子集中确定划分有效位,直至确定的划分有效位的数量达到预设数量为止。
[0015] 可选的,所述基于预设的方法从所述网包规则集中依次确定预设数量的划分有效 位,包括:
[0016] 根据每个有效位对所述网包规则集进行划分,并分别统计每次划分得到的若干网 包规则子集的子集差值以及网包规则的数量之和;其中,所述子集差值为网包规则的数量 差值的绝对值;
[0017] 根据所述统计结果将与最小的子集差值以及最小的网包规则的数量之和对应的 有效位确定为最优有效位;
[0018] 当所述网包规则集已存在划分有效位时,从所述已存在的划分有效位中选择子集 差值最小的有效位为候选有效位;
[0019] 基于预设的加权因子从所述最优有效位以及所述候选有效位中确定划分有效位;
[0020] 当所述网包规则集中不存在划分有效位时,确定所述最优有效位为划分有效位。 [0021 ]可选的,所述根据所述掩码向量对所述网包规则集进行划分包括:
[0022] 分别将所述网包规则集中的网包规则与所述掩码向量的有效位进行匹配;
[0023] 根据匹配结果将所述网包规则添加至对应的网包规则子集中。
[0024] 本申请同时提供一种网包规则集的分类装置,所述网包规则集包括若干网包规 贝1J,所述装置应用于网络设备上,所述装置包括:
[0025] 划分有效位确定单元,用于基于预设的方法从所述网包规则集中确定预设数量的 划分有效位;
[0026] 掩码向量生成单元,用于基于所述预设数量的划分有效位生成掩码向量;
[0027] 网包规则集划分单元,用于根据所述掩码向量对所述网包规则集进行划分。
[0028] 可选的,所述划分有效位确定单元包括:
[0029] 划分有效位确定子单元,用于基于预设的方法从所述网包规则集中依次确定预设 数量的划分有效位。
[0030] 可选的,所述划分有效位确定子单元具体用于:
[0031] 当从所述网包规则集中确定的划分有效位的数量未达到预设数量时,根据确定的 划分有效位依次对所述网包规则集进行若干层划分,并从所述若干层划分得到的网包规则 子集中确定划分有效位,直至确定的划分有效位的数量达到预设数量为止。
[0032]可选的,所述划分有效位确定子单元具体用于:
[0033] 根据每个有效位对所述网包规则集进行划分,并分别统计每次划分得到的若干网 包规则子集的子集差值以及网包规则的数量之和;其中,所述子集差值为网包规则的数量 差值的绝对值;
[0034] 根据所述统计结果将与最小的子集差值以及最小的网包规则的数量之和对应的 有效位确定为最优有效位;
[0035]当所述网包规则集已存在划分有效位时,从所述已存在的划分有效位中选择子集 差值最小的有效位为候选有效位;
[0036] 基于预设的加权因子从所述最优有效位以及所述候选有效位中确定划分有效位;
[0037] 当所述网包规则集中不存在划分有效位时,确定所述最优有效位为划分有效位。
[0038] 可选的,所述网包规则集划分单元具体用于:
[0039] 分别将所述网包规则集中的网包规则与所述掩码向量的有效位进行匹配;
[0040] 根据匹配结果将所述网包规则添加至对应的网包规则子集中。
[0041] 在本申请中,网络设备可以基于预设的方法从网包规则集中确定预设数量的划分 有效位,然后,网络设备可以基于该预设数量的划分有效位生成掩码向量,并根据该掩码向 量对上述网包规则集进行划分。由于本申请可以通过掩码向量将多个网包规则集转换为单 个网包规则集,大大降低了计算复杂度,从而可以解决相关技术中网包规则集分类速度慢 的问题。
【附图说明】
[0042] 图1是本申请示出的一种网包规则集的分类方法的实施例流程图;
[0043] 图2是本申请示出的一种网包规则集根据掩码向量进行划分的过程示意图;
[0044] 图3是本申请网包规则集的分类装置所在设备的一种硬件结构图;
[0045] 图4是本申请网包规则集的分类装置的一个实施例框图。
【具体实施方式】
[0046] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0047] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。
[0048]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这 些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第 一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0049] 可以假设某个网包规则集有η条网包规则,每条网包规则有m个比特,相关技术可 以从中选择j个比特位,并依据该j个比特位将η条规则划分到f个规则子集中,目的是使得 规则子集中重复的规则尽可能地少,从而f个规则子集中的规则总数最少,所占用的存储 空间也最小。
[0050] 例如,上述网包规则集中的n = 8,m = 8,且该网包规则集为:R1:10*011*0;R2: 00011010;R3:1*1000*1;R4:111 11000;R5:11*0*010;R6:11101100;R7:10*111*1;R8:1* 110001。如果j = 2,且选择的是第1位和第4位,则上述网包规则集被划分后,可以得到如下 结果:〇(比特00)组:无规则;1(比特01)组:R2;2(比特10)组:1?1,1?3,1?5,以及1?6 ;3(比特11) 组:R4,R7以及R8。从该结果可知,该网包规则集此时被划分的规则总数可以为8。
[0051] 同样可以假设j = 2,且选择的是第3位和第7位,则上述网包规则集被划分后,可以 得到如下结果:〇(比特00)组:R1以及R7;l(比特01)组:R1,R2,R5以及R7;2(比特10)组:R1, R3,R4,R6,R7以及R8; 3(比特11)组:Rl,R3,R5以及R7。从该结果可知,该网包规则集此时被 划分的规则总数可以为16。
[0052] 由上述内容可知,选择不同的j个比特位时,对于网包规则集的的划分也是不同 的。在上述网包规则集来说,第1位和第4位的比特选择规则总数小于第3位和第7位的比特 选择规则总数,占用内存较少。故,针对上述网包规则集,第1位和第4位的比特选择优于第3 位和第7位的比特选择。
[0053]对于j个比特的选取,相关技术给出了两个方法:方法一:先挑选1位,使得整个网 包规则集切分生成的两个子集尽量的小,然后,在剩下的位中继续挑选1位,使得目前挑选 出的所有位切分生成的所有子集尽量的小,这样最终挑选足够多的位构建掩码向量;方法 二:先随机挑选出规定数量的位来构建一个初始的向量,计算该向量切分下的子集大小,然 后随机用没有被选中的位替换向量中的位,重新计算切分后子集情况,如果子集中规则数 量最大值变小,则接收这种替换,否则重新随机选择,直到一定的迭代次数或切分子集满足 要求为止。
[0054] 相关技术虽然可以通过过滤大部分不可能匹配的规则来降低实际需要匹配的规 则的复杂度,从而提高匹配的效率。但是,相关技术存在构建速度慢的特点,因此很有可能 无法在可接受的时间内完成对上述网包规则集的分类。
[0055] 当采用相关技术提出的方法一来选择比特位时,划分次数的累计值高达
,以五元组(源IP地址、目的IP地址、传输协议、源端口以及目的端口)的m=104 为例,假设j = 10,则将η条规则划分为21()= 1024个规则子集时,划分次数累计为
,由于计算复杂度过高,因此,当采用相关技术中的方法一时,会导致网包规 则集的分类速度慢;当采用相关技术提出的方法二来选择比特位时,由于是随机选择j个比 特位,那么随机选择结果可能有种,完全枚举各种选择下的划分情况相当困难,且同样需 要大量的计算,因此,当采用相关技术中的方法二时,同样会导致网包规则集的分类速度 慢。
[0056] 有鉴于此,本申请提供了一种网包规则集的分类方法及装置,来解决相关技术中 网包规则集分类速度慢的问题。在本申请中,网络设备可以基于预设的方法从网包规则集 中确定预设数量的划分有效位,然后,网络设备可以基于该预设数量的划分有效位生成掩 码向量,并根据该掩码向量对上述网包规则集进行划分。由于本申请可以通过掩码向量将 多个网包规则集转换为单个网包规则集,大大降低了计算复杂度,从而可以解决相关技术 中网包规则集分类速度慢的问题。
[0057] 请参见图1,为本申请示出的一种网包规则集的分类方法的实施例流程图,所述方 法应用于网络设备,包括以下步骤:
[0058]步骤101:基于预设的方法从所述网包规则集中确定预设数量的划分有效位。
[0059] 在本申请中,网络设备可以基于预设的方法从网包规则集中确定预设数量的划分 有效位,具体地,网络设备可以基于预设的方法从网包规则集中依次确定预设数量的划分 有效位。其中,该预设数量可以由用户自定义设置或为网络设备默认值。
[0060] 在一个实施例中,当从网包规则集中确定的划分有效位的数量未达到预设数量 时,网络设备可以根据确定的划分有效位依次对该网包规则集进行若干层划分,并从若干 层划分得到的网包规则子集中确定划分有效位,直至确定的划分有效位的数量达到预设数 量为止。
[0061 ] 在示出的一个实施例中,可以假设上述网包规则集为:R1 : 10*011*0; R2: 00011010;R3:1*1000*1;R4:11110000;R5:11*0*010;R6:11101100;R7:10*111*1;R8:1* 110001。可以假设网包规则集中只有第8个有效位为划分有效位,且预设数量为3,故已确定 的划分有效位的数量未达到预设数量。此时,网络设备可以根据第8个有效位对上述网包规 则集进行划分,并得到两个网包规则子集:子集1 :R1:10*011*0; R2 :00011010; R4: 11110000 ;R5:11*0*010 ;R6:11101100;子集 2 :R3:1*1000*1 ;R7:10*111*1 ;R8:1*110001。然 后,网络设备可以分别从子集1和子集2中确定对应的划分有效位。可以假设从子集1中确定 的划分有效位为第1个有效位;从子集2中确定的划分有效位为第4个划分有效位,则由确定 的划分有效位的数量3达到了预设数量3可知,该网包规则集确定了预设数量的划分有效 位,即第1个、第4个以及第8个有效位。
[0062] 在一个实施例中,网络设备可以根据预设的方法来确定网包规则集或网包规则子 集的划分有效位。
[0063] 网络设备可以先根据每个有效位对网包规则集或网包规则子集进行划分,并分别 统计每次划分得到的若干网包规则子集的子集差值以及网包规则的数量之和,其中,子集 差值可以为网包规则的数量差值的绝对值。
[0064] 在示出的一个实施例中,可以假设该网包规则集为上述示出的网包规则集,当根 据每个有效位对上述网包规则集进行划分时,网络设备可以在分别统计每次划分得到的若 干网包规则子集的子集差值以及网包规则的数量之和之后,得到如表1所示的结果:
[0066] 表 1
[0067] 在完成对上述若干网包规则子集的子集差值以及网包规则的数量之和的统计后, 网络设备可以根据该统计结果将与最小的子集差值以及最小的网包规则的数量之和对应 的有效位确定为最优有效位。
[0068] 在示出的一个实施例中,当统计结果如表1所示时,可以得知第4个有效位为最优 有效位。
[0069] 在确定最优有效位后,网络设备可以判断网包规则集是否已存在划分有效位。
[0070] 当该网包规则集不存在划分有效位时,网络设备可以确定该最优有效位为划分有 效位。
[0071] 在示出的一个实施例中,可以假设上述示出的网包规则集中不存在划分有效位, 则网络设备可以确定最优有效位即第4个有效位为划分有效位。
[0072] 当该网包规则集已存在划分有效位时,网络设备可以从已存在的划分有效位中选 择子集差值最小的有效位为候选有效位,然后网络设备可以基于预设的加权因子从上述最 优有效位以及候选有效位中确定划分有效位。
[0073] 在一个实施例中,网络设备在基于预设的加权因子从上述最优有效位以及候选有 效位中确定划分有效位时,可以先确定上述最优有效位以及候选有效位对应的子集差值以 及网包规则数量之和的组合值,其中,该组合值可以由将子集差值与网包规则数量之和分 别与预设的权重相乘,并将相乘结果得到的两个值相加得到,当然,该预设的权重可以由用 户自定义设置或为网络设备的默认值。
[0074] 在确定了上述最优有效位以及候选有效位对应的子集差值以及网包规则数量之 和的组合值后,网络设备可以根据预设的加权因子对上述最优有效位或候选有效位对应的 子集差值以及网包规则数量之和的组合值进行加权。需要说明的是,该预设的加权因子的 加权对象以及加权大小可以由用户自定义设置或为网络设备的默认值。
[0075] 例如,可以预设该加权因子的加权对象为上述最优有效位对应的子集差值以及网 包规则数量之和的组合值,则此时,该加权因子的大小在理论上可以大于1;当然,同样可以 假设该加权因子的加权对象为上述候选有效位对应的子集差值以及网包规则数量之和的 组合值,则此时,该加权因子的大小在理论上可以小于1。在根据加权因子对上述最优有效 位或候选有效位对应的子集差值以及网包规则数量之和的组合值进行加权后,网包规则集 可以选两者中的较小者为划分有效位。
[0076] 在示出的一个实施例中,可以假设上述示出的网包规则集中已存在划分有效位, 且该划分有效位为第4个有效位,则网络设备可以根据第4个有效位对上述示出的网包规则 集进行划分,并得到如下两个网包规则子集:子集V :R1:10*011*0;R3:1*1000*1 ;R5:11*0* 010;R6:11101100;以及子集2' :R2:00011010 ;R4:11110000 ;R7:10*111*1 ;R8:1*110001。然 后,网络设备可以根据每个有效位分别对上述两个网包规则子集进行划分,并分别统计每 次划分得到的若干网包规则子集的子集差值以及网包规则的数量之和。
[0077] 网络设备在针对子集1'以及子集2'分别统计每次划分得到的若干网包规则子集 的子集差值以及网包规则的数量之和后,可以得到如表2和表3所示的结果:
[0081] 表 3
[0082] 当统计结果如表2所示时,可以得知对于子集f,第6个有效位为最优有效位。由于 该网包规则集已存在划分有效位,即第4个有效位,因此,网络设备可以确定该第4个有效位 为候选有效位。此时,网络设备可以先确定最优有效位,即第6个有效位,以及候选有效位, 即第4个有效位,对应的子集差值以及网包规则数量之和的组合值。可以假设该组合值为占 40 %的网包规则数量之和与占60 %的子集差值相加得到,则此时最优有效位对应的组合值 为1.6;候选有效位对应的组合值为4。
[0083] 在确定了上述最优有效位以及候选有效位对应的子集差值以及网包规则数量之 和的组合值后,网络设备可以根据预设的加权因子对上述最优有效位或候选有效位对应的 子集差值以及网包规则数量之和的组合值进行加权。可以假设预设的加权因子的大小为 1.5,加权对象为上述最优有效位对应的子集差值以及网包规则数量之和的组合值,则可以 得知最优有效位对应的加权后的组合值为1.5*1.6 = 2.4。由最优有效位对应的加权后的组 合值2.4小于候选有效位对应的组合值4可知,网包规则集可以确定最优有效位,即第6个有 效位,为划分有效位。
[0084] 在确定第6个有效位为划分有效位后,可以确定网包规则集中已确定的划分有效 位为第4个有效位以及第6个有效位。
[0085] 当统计结果如表3所示时,可以得知对于子集2',第8个有效位为最优有效位。由于 该网包规则集已存在划分有效位,即第4个有效位以及第6个有效位,因此,网络设备可以从 该两个有效位中确定候选有效位。由表3可知,第6个有效位的子集差值比第4个有效位的子 集差值小,因此,可以确定第6个有效位为候选有效位。然后,网络设备可以确定最优有效 位,即第8个有效位,以及候选有效位,即第6个有效位,对应的子集差值以及网包规则数量 之和的组合值。可以假设该组合值为占40%的网包规则数量之和与占60%的子集差值相加 得到,则此时最优有效位对应的组合值为1.6;候选有效位对应的组合值为2.8。
[0086] 在确定了上述最优有效位以及候选有效位对应的子集差值以及网包规则数量之 和的组合值后,网络设备可以根据预设的加权因子对上述最优有效位或候选有效位对应的 子集差值以及网包规则数量之和的组合值进行加权。可以假设预设的加权因子的大小为 〇. 6,加权对象为上述候选有效位对应的子集差值以及网包规则数量之和的组合值,则可以 得知候选有效位对应的加权后的组合值为〇. 6*2.8= 1.68。由候选有效位对应的加权后的 组合值1.68大于最优有效位对应的组合值1.6可知,网包规则集可以确定最优有效位,即第 8个有效位,为划分有效位。
[0087] 在确定第8个有效位为划分有效位后,可以确定网包规则集中已确定的划分有效 位为第4个有效位、第6个有效位以及第8个有效位。
[0088] 在示出的一个实施例中,可以假设上述示出的网包规则集对应的划分有效位的预 设数量为4,则在确定第4个、第6个以及第8个有效位为划分有效位后,还需再确定一个划分 有效位。此时,可以先根据第6个有效位对子集V进行划分,得到子集1^43:1*1000*1 ;R5: 11*0*010;以及子集11101100。然后,网络设备可以根据每个有效位 分别对上述两个网包规则子集进行划分,并分别统计每次划分得到的若干网包规则子集的 子集差值以及网包规则的数量之和。
[0089] 网络设备在针对子集1'A和子集分别统计每次划分得到的若干网包规则子集 的子集差值以及网包规则的数量之和后,可以得到如表4和表5所示的结果:
[0094] 表 5
[0095] 当统计结果如表4所示时,可以得知对于子集VA,第8个有效位为最优有效位。已 选取的划分有效位中,可以由表4得知,第8个有效位为候选有效位,由最优有效位,即第8个 有效位,与候选有效位,即第8个有效位,相同可知,可以确定第8位有效位为划分有效位。
[0096] 类似地,由统计结果表5可知,对于子集f B,第2个有效位为最优有效位,且第4个 有效位、第6个有效位以及第8个有效位都为候选有效位,则同样假设该4个有效位对应的子 集差值以及网包规则数量之和的组合值为占40 %的网包规则数量之和与占60 %的子集差 值相加得到,则此时最优有效位对应的组合值为1.6,上述3个候选有效位对应的组合值都 为2〇
[0097] 在确定了上述最优有效位以及候选有效位对应的子集差值以及网包规则数量之 和的组合值后,可以假设预设的加权因子的大小为1.2,加权对象为上述最优有效位对应的 子集差值以及网包规则数量之和的组合值,则可以得知最优有效位对应的加权后的组合值 为1.2*1.6=1.92。由最优有效位对应的加权后的组合值1.92小于最优有效位对应的组合 值2可知,网包规则集可以确定最优有效位,即第2个有效位,为划分有效位。
[0098] 由上述内容可知,上述网包规则集确定的划分有效位为第4个有效位、第6个有效 位、第8个有效位以及第2个有效位。
[0099] 步骤102:基于所述预设数量的划分有效位生成掩码向量。
[0100] 步骤103:根据所述掩码向量对所述网包规则集进行划分。
[0101] 在本申请中,在确定了预设数量的划分有效位后,网包规则可以根据该预设数量 的划分有效位生成掩码向量,并根据该掩码向量对网包规则集进行划分。
[0102] 在一个实施例中,网络设备可以分别将网包规则集中的网包规则与上述掩码向量 的有效位进行匹配,并根据匹配结果将该网包规则添加至对应的网包规则子集中。
[0103] 在示出的一个实施例中,可以假设网包规则集为上述示出的网包规则集,则由上 述实施例可知,该网包规则集确定的划分有效位为第4个、第6个、第8个以及第2个有效位。 则网包规则集根据上述4个有效位生成的掩码向量进行划分的过程可以如图2所示,其中, 图2是本申请示出的一种网包规则集根据掩码向量进行划分的过程示意图。
[0104] 由图2可知,该网包规则集可以从包含多个网包规则的网包规则集划分为若干个 包含单个网包规则的网包规则集,从而可以大大降低计算的复杂度。
[0105] 在本申请中,网络设备可以基于预设的方法从网包规则集中确定预设数量的划分 有效位,然后,网络设备可以基于该预设数量的划分有效位生成掩码向量,并根据该掩码向 量对上述网包规则集进行划分。由于本申请可以通过掩码向量将多个网包规则集转换为单 个网包规则集,大大降低了计算复杂度,从而可以解决相关技术中网包规则集分类速度慢 的问题。
[0106] 与前述网包规则集的分类方法的实施例相对应,本申请还提供了网包规则集的分 类装置的实施例。
[0107] 本申请网包规则集的分类装置的实施例可以应用在网络设备上。装置实施例可以 通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻 辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令 读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请网包规则集的分类装置 所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器 之外,实施例中装置所在的网络设备通常还可以包括其他硬件,如负责处理报文的转发芯 片等等。
[0108] 请参考图4,是本申请网包规则集的分类装置的一个实施例框图。
[0109] 该装置可以包括:划分有效位确定单元410、掩码向量生成单元420以及网包规则 集划分单元430。
[0110] 其中,划分有效位确定单元410,用于基于预设的方法从所述网包规则集中确定预 设数量的划分有效位;
[0111] 掩码向量生成单元420,用于基于所述预设数量的划分有效位生成掩码向量;
[0112] 网包规则集划分单元430,用于根据所述掩码向量对所述网包规则集进行划分。
[0113] 在一个可选的实施方式中,所述划分有效位确定单元410可以包括(图4中未示 出):
[0114] 划分有效位确定子单元,用于基于预设的方法从所述网包规则集中依次确定预设 数量的划分有效位。
[0115] 在一个可选的实施方式中,所述划分有效位确定子单元可以具体用于:
[0116] 当从所述网包规则集中确定的划分有效位的数量未达到预设数量时,根据确定的 划分有效位依次对所述网包规则集进行若干层划分,并从所述若干层划分得到的网包规则 子集中确定划分有效位,直至确定的划分有效位的数量达到预设数量为止。
[0117] 在一个可选的实现方式中,所述划分有效位确定子单元可以具体用于:
[0118] 根据每个有效位对所述网包规则集进行划分,并分别统计每次划分得到的若干网 包规则子集的子集差值以及网包规则的数量之和;其中,所述子集差值为网包规则的数量 差值的绝对值;
[0119] 根据所述统计结果将与最小的子集差值以及最小的网包规则的数量之和对应的 有效位确定为最优有效位;
[0120]当所述网包规则集已存在划分有效位时,从所述已存在的划分有效位中选择子集 差值最小的有效位为候选有效位;
[0121] 基于预设的加权因子从所述最优有效位以及所述候选有效位中确定划分有效位;
[0122] 当所述网包规则集中不存在划分有效位时,确定所述最优有效位为划分有效位。
[0123] 在一个可选的实现方式中,所述网包规则集划分单元430可以具体用于:
[0124] 分别将所述网包规则集中的网包规则与所述掩码向量的有效位进行匹配;
[0125] 根据匹配结果将所述网包规则添加至对应的网包规则子集中。
[0126] 在本申请中,网络设备可以基于预设的方法从网包规则集中确定预设数量的划分 有效位,然后,网络设备可以基于该预设数量的划分有效位生成掩码向量,并根据该掩码向 量对上述网包规则集进行划分。由于本申请可以通过掩码向量将多个网包规则集转换为单 个网包规则集,大大降低了计算复杂度,从而可以解决相关技术中网包规则集分类速度慢 的问题。
[0127] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再赘述。
[0128] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可以理解并实施。
[0129]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种网包规则集的分类方法,其特征在于,所述网包规则集包括若干网包规则,所述 方法应用于网络设备上,所述方法包括: 基于预设的方法从所述网包规则集中确定预设数量的划分有效位; 基于所述预设数量的划分有效位生成掩码向量; 根据所述掩码向量对所述网包规则集进行划分。2. 根据权利要求1所述的方法,其特征在于,所述基于预设的方法从所述网包规则集中 确定预设数量的划分有效位,包括: 基于预设的方法从所述网包规则集中依次确定预设数量的划分有效位。3. 根据权利要求2所述的方法,其特征在于,所述基于预设的方法从所述网包规则集中 依次确定预设数量的划分有效位,包括: 当从所述网包规则集中确定的划分有效位的数量未达到预设数量时,根据确定的划分 有效位依次对所述网包规则集进行若干层划分,并从所述若干层划分得到的网包规则子集 中确定划分有效位,直至确定的划分有效位的数量达到预设数量为止。4. 根据权利要求2所述的方法,其特征在于,所述基于预设的方法从所述网包规则集中 依次确定预设数量的划分有效位,包括: 根据每个有效位对所述网包规则集进行划分,并分别统计每次划分得到的若干网包规 则子集的子集差值以及网包规则的数量之和;其中,所述子集差值为网包规则的数量差值 的绝对值; 根据所述统计结果将与最小的子集差值以及最小的网包规则的数量之和对应的有效 位确定为最优有效位; 当所述网包规则集已存在划分有效位时,从所述已存在的划分有效位中选择子集差值 最小的有效位为候选有效位; 基于预设的加权因子从所述最优有效位以及所述候选有效位中确定划分有效位; 当所述网包规则集中不存在划分有效位时,确定所述最优有效位为划分有效位。5. 根据权利要求1所述的方法,其特征在于,所述根据所述掩码向量对所述网包规则集 进行划分包括: 分别将所述网包规则集中的网包规则与所述掩码向量的有效位进行匹配; 根据匹配结果将所述网包规则添加至对应的网包规则子集中。6. -种网包规则集的分类装置,其特征在于,所述网包规则集包括若干网包规则,所述 装置应用于网络设备上,所述装置包括: 划分有效位确定单元,用于基于预设的方法从所述网包规则集中确定预设数量的划分 有效位; 掩码向量生成单元,用于基于所述预设数量的划分有效位生成掩码向量; 网包规则集划分单元,用于根据所述掩码向量对所述网包规则集进行划分。7. 根据权利要求6所述的装置,其特征在于,所述划分有效位确定单元包括: 划分有效位确定子单元,用于基于预设的方法从所述网包规则集中依次确定预设数量 的划分有效位。8. 根据权利要求7所述的装置,其特征在于,所述划分有效位确定子单元具体用于: 当从所述网包规则集中确定的划分有效位的数量未达到预设数量时,根据确定的划分 有效位依次对所述网包规则集进行若干层划分,并从所述若干层划分得到的网包规则子集 中确定划分有效位,直至确定的划分有效位的数量达到预设数量为止。9. 根据权利要求7所述的装置,其特征在于,所述划分有效位确定子单元具体用于: 根据每个有效位对所述网包规则集进行划分,并分别统计每次划分得到的若干网包规 则子集的子集差值以及网包规则的数量之和;其中,所述子集差值为网包规则的数量差值 的绝对值; 根据所述统计结果将与最小的子集差值以及最小的网包规则的数量之和对应的有效 位确定为最优有效位; 当所述网包规则集已存在划分有效位时,从所述已存在的划分有效位中选择子集差值 最小的有效位为候选有效位; 基于预设的加权因子从所述最优有效位以及所述候选有效位中确定划分有效位; 当所述网包规则集中不存在划分有效位时,确定所述最优有效位为划分有效位。10. 根据权利要求6所述的装置,其特征在于,所述网包规则集划分单元具体用于: 分别将所述网包规则集中的网包规则与所述掩码向量的有效位进行匹配; 根据匹配结果将所述网包规则添加至对应的网包规则子集中。
【文档编号】H04L12/851GK106027393SQ201610621506
【公开日】2016年10月12日
【申请日】2016年7月29日
【发明人】吴庆
【申请人】杭州迪普科技有限公司