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

技术编号:17784010 阅读:41 留言:0更新日期:2018-04-22 15:19
本发明专利技术涉及一种网包分类的方法及装置,规则集中的规则包含目的网络协议IP地址,该方法包括:根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。本发明专利技术实施例,网包匹配的速度快。

【技术实现步骤摘要】
一种网包分类的方法及装置
本专利技术涉及计算机领域,尤其涉及一种网包分类的方法及装置。
技术介绍
随着互联网络的飞速发展,网包分类方法在网络传输、网络安全以及网络监测方面发挥着越来越重要的作用。在路由器中,网包分类被用来实现异常包的丢弃和网包传输速率的控制;网包分类在防火墙中实现包的过滤;在服务质量(QualityofService,QoS)中实现把包映射到不同的服务;在虚拟局域网(VirtualPrivateNetwork,VPNs)中,每个VPNs都需要一个网包分类器。网包分类速度的快慢直接决定了网络处理和传输数据的效率,从而影响网络的整体性能。网包分类,就是根据网络上传输的数据包的包头,按照一定的规则进行分类。网包通过其包头信息与分类器(也称为规则集)通过一定的算法进行匹配并执行相应的操作。以网包五元组为例,规则集中的每一条规则都包含了源网络协议(InternetProtocol,IP)地址、目的IP地址、源端口号、目的端口号以及协议类型五元组,以及匹配之后对网包执行的动作。随着互联网功能需求不断的增加,需要网包匹配的字段数量或元组数量越来越多,匹配的规模和范围也越来越大,这就要求网包匹配的速度只有更快才能满足网络性能的需求。所以设计一种可以加速目前网包分类方法的技术显得尤为重要。
技术实现思路
本专利技术提供一种网包分类的方法及装置,网包匹配的速度快。第一方面,提供了一种网包分类的方法,规则集中的规则包含目的IP地址,所述方法包括:根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。第二方面,提供了一种网包分类的装置,规则集中的规则包含目的IP地址,所述装置包括:划分模块,用于根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;匹配模块,用于当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述划分模块划分的多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。第三方面,提供了一种计算机存储介质,用于储存为上述方法所用的计算机软件指令,其包含用于执行上述第一方面所设计的程序。第四方面,提供了一种计算机程序产品,其包含指令,当所述程序被计算机所执行时,该指令使得计算机执行上述第一方面方法设计中所执行的功能。本专利技术实施例中,根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。由上可见,在网包的目的IP地址已经确定的情况下,网包更容易在子规则集中匹配到合适的规则,从而提高网包分类的速度。附图说明图1为本专利技术实施例提供的一种网包分类的方法流程图;图2为本专利技术实施例提供的一种多叉树示意图;图3为本专利技术实施例提供的一种网包与规则集匹配的流程图;图4为本专利技术实施例提供的一种网包分类的装置结构图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为便于对本专利技术实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本专利技术实施例的限定。图1为本专利技术实施例提供的一种网包分类的方法流程图,该方法用于将网包与规则集中的规则相匹配,从而实现网包分类,规则集中的规则包含目的IP地址,该方法的执行主体可以为任何具有网包分类需求的终端,例如,路由器,该方法包括:步骤101,根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集。在一个示例中,根据所述规则集中每项规则包含的目的IP地址的十进制前N位构建一个根节点为*,深度为N+1的多叉树;所述多叉树对应所述规则集,所述多叉树的每个叶子节点对应所述多个子规则集中的一个子规则集,其中,1≤N≤12。步骤102,当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。在一个示例中,当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配,然后再将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配。在另一个示例中,根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配;若匹配到所述第一叶子节点,则将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配;若未匹配到所述第一叶子节点,则将所述网包的目的IP地址的十进制前N位转换成二进制地址,将所述二进制地址缩减一位再转换为十进制作为所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配。在另一个示例中,所述规则集中的规则还包含优先级,所述多叉树中每个叶子节点的优先级为该叶子节点对应的子规则集中的规则的最高优先级;先根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配,然后再将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配之后,将所述网包的目的IP地址的十进制前N位转换成二进制地址,将所述二进制地址缩减M位再转换为十进制作为所述网包的目的IP地址的十进制前N位,根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第二叶子节点匹配,若所述第一规则包含的优先级低于所述第二叶子节点的优先级,则将所述网包与所述第二叶子节点对应的第二子规则集中的第二规则相匹配,其中,1≤N≤12,1≤M。本专利技术实施例中,根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。由上可见,在网包的目的IP地址已经确定的情况下,网包更容易在子规则集中匹配到合适的规则,从而提高网包分类的速度。如图2所示是本专利技术实施例构建的多叉树示意图。多叉树的根节点为*,表示转发表中的默认地址,即0.0.0.0/0。按照目的IP地址的前N位(这里以N取6为例)将大的规则集划分为多个小的子规则集。具体实现步骤可以包括:步骤1)对于规则r,其目的地址前N位中的第n位(n在最高位为1,最低位为N,初始时n=1),查找多叉树中是否存在该节点,它的父节点是第n-1位。(n=1时,该节点的父节点为根节点)。若多叉树中存在该节点,执行步骤2)。若多叉树中不存在该节点,则插入这个节点,本文档来自技高网...
一种网包分类的方法及装置

【技术保护点】
一种网包分类的方法,其特征在于,规则集中的规则包含目的网络协议IP地址,所述方法包括:根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。

【技术特征摘要】
1.一种网包分类的方法,其特征在于,规则集中的规则包含目的网络协议IP地址,所述方法包括:根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集;当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配。2.如权利要求1所述的方法,其特征在于,所述根据所述规则集中每项规则包含的目的IP地址,将所述规则集划分为多个子规则集,包括:根据所述规则集中每项规则包含的目的IP地址的十进制前N位构建一个根节点为*,深度为N+1的多叉树;所述多叉树对应所述规则集,所述多叉树的每个叶子节点对应所述多个子规则集中的一个子规则集。3.如权利要求2所述的方法,其特征在于,所述当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址将所述网包与所述多个子规则集中的第一子规则集匹配,然后再将所述网包与所述第一子规则集中的第一规则相匹配,包括:当将网包与所述规则集中的规则进行匹配时,先根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配,然后再将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配。4.如权利要求3所述的方法,其特征在于,所述先根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配,然后再将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配,包括:根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配;若匹配到所述第一叶子节点,则将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配;若未匹配到所述第一叶子节点,则将所述网包的目的IP地址的十进制前N位转换成二进制地址,将所述二进制地址缩减一位再转换为十进制作为所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配。5.如权利要求3所述的方法,其特征在于,所述规则集中的规则还包含优先级,所述多叉树中每个叶子节点的优先级为该叶子节点对应的子规则集中的规则的最高优先级;所述先根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第一叶子节点匹配,然后再将所述网包与所述第一叶子节点对应的第一子规则集中的第一规则相匹配之后,所述方法还包括:将所述网包的目的IP地址的十进制前N位转换成二进制地址,将所述二进制地址缩减M位再转换为十进制作为所述网包的目的IP地址的十进制前N位,根据所述网包的目的IP地址的十进制前N位将所述网包与所述多叉树中的第二叶子节点匹配,若所述...

【专利技术属性】
技术研发人员:陈晓井丽南康立毅
申请(专利权)人:中国科学院声学研究所北京中科智网科技有限公司
类型:发明
国别省市:北京,11

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

1