System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于分区策略的高性能报文分类方法、设备及介质技术_技高网

一种基于分区策略的高性能报文分类方法、设备及介质技术

技术编号:40533714 阅读:7 留言:0更新日期:2024-03-01 13:55
本申请涉及一种基于分区策略的高性能报文分类方法、设备及介质。所述方法包括:根据多个元数据域定义规则集并构建决策树;决策树包括分区节点和划分节点;在决策树中分区节点和划分节点间层分布,奇数层为分区节点,偶数层为划分节点,根据分区节点、划分节点和叶节点进行报文分类,在分区节点中时,网络报文依次顺序搜索分区节点的子节点,在划分节点中时,网络报文根据划分节点的掩码生成子节点列表定位值,根据定位值仅搜索一个子节点进行规则匹配,在叶节点中时将所包含规则按优先级顺序组织在一个链表中,顺序搜索链表直到命中匹配一条规则完成报文分类。采用本方法能够提高报文分类性能。

【技术实现步骤摘要】

本申请涉及报文分类,特别是涉及一种基于分区策略的高性能报文分类方法、设备及介质


技术介绍

1、报文分类是计算机网络的基本问题,解决报文分类问题的算法被广泛应用到路由器、交换机、防火墙和网络入侵检测系统等各种网络设备和功能中。

2、报文分类问题涉及一个规则集,其中每条规则有优先级、匹配域和成功匹配后采取的动作三部分组成。其中规则匹配域由报文头部元数据(如ip地址、端口号等)定义,确定一条规则如何匹配。报文分类问题是从规则集中寻找网络报文匹配的规则,并返回一条优先级最高的匹配规则。

3、现今解决报文分类问题的方法有:决策树方法、元组空间方法以及决策树与元组空间的混合方法等。决策树方法由于在子节点划分时难以避免规则复制(即一条规则分布于多个子节点)的问题,在大规模规则集上可能发生内存爆炸并且难以支持规则集的动态更新。元组空间方法存在多字段组合元组数多,分类性能低的问题。决策树与元组空间的混合方法对二者进行了权衡,能达到各方面性能的一个较好平衡,但是分类性能仍然较低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高报文分类性能的基于分区策略的高性能报文分类方法、设备及介质。

2、一种基于分区策略的高性能报文分类方法,所述方法包括:

3、获取网络报文头部;网络报文头部包括多个元数据域;

4、根据多个元数据域定义规则集并构建决策树;决策树包括分区节点和划分节点;

5、在决策树中分区节点和划分节点间层分布,奇数层为分区节点,偶数层为划分节点,将分区节点和划分节点中包含规则数小于预先设置的阈值的节点设置为叶节点;

6、根据分区节点、划分节点和叶节点进行报文分类,在分区节点中时,网络报文依次顺序搜索分区节点的子节点,搜索过程中根据前端子节点中已匹配规则最高优先级进行后续子节点的剪枝;在划分节点中时,网络报文根据划分节点的掩码生成子节点列表定位值,根据定位值仅搜索一个子节点进行规则匹配,在叶节点中时将所包含规则按优先级顺序组织在一个链表中,顺序搜索链表直到命中匹配一条规则即结束匹配,完成报文分类;

7、在对规则集进行动态规则更新时,待更新规则从根节点进入决策树进行决策树重构。

8、在其中一个实施例中,根据多个元数据域定义规则集并构建决策树,包括:

9、决策树的根节点初始定义为分区节点,在分区节点中采用启发式方法依据规则集构造子节点,根据启发式方法每次遍历一遍规则集生成一个新分区,每一个新分区构造一个子划分节点,直到规则集剩余规则数小于等于叶节点阈值并用于构造一个子叶节点。

10、在其中一个实施例中,在分区节点中采用启发式方法依据规则集构造子节点,包括:

11、首先设置一个最小掩码有效位数阈值b;初始化一个掩码m值为全1,之后按照优先级顺序遍历规则集,将规则集中每条规则r的掩码依次和m做与运算;当与运算结果掩码有效位数大于等于b时,将规则r移除规则集并置于新分区同时更新m,否则将规则r保留于规则集在后续过程中划分到其他分区;每一个新分区构造一个子划分节点,直到规则集剩余规则数小于等于叶节点阈值并用于构造一个子叶节点。

12、在其中一个实施例中,当进行动态规则更新时,待更新规则从根节点进入决策树进行决策树重构,包括:

13、在决策树的分区节点中时,规则依次遍历分区节点的所有子节点,直到完成更新;

14、在决策树的划分节点中时,规则根据划分节点的掩码生成子节点列表定位值,根据定位值定位一个子节点并尝试在该子节点中完成更新;

15、在决策树的叶节点中时,若为规则插入操作,则在规则链表的适合位置进行插入,若为规则删除操作,则依次匹配各规则,当发现相等规则时进行删除;当叶节点规则数大于预定义的阈值或者等于0时,重建决策树的部分结构。

16、在其中一个实施例中,在规则删除后,当一个节点包含规则数等于0时,采用一种指针低有效位数标记策略标记节点;指针低有效位数标记策略在父节点的子节点指针列表中使用一个指针空闲位标记每个节点是否包含规则,仅选择在占用内存超过一定阈值时遍历决策树释放标记为不含规则的节点。

17、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

18、获取网络报文头部;网络报文头部包括多个元数据域;

19、根据多个元数据域定义规则集并构建决策树;决策树包括分区节点和划分节点;

20、在决策树中分区节点和划分节点间层分布,奇数层为分区节点,偶数层为划分节点,将分区节点和划分节点中包含规则数小于预先设置的阈值的节点设置为叶节点;

21、根据分区节点、划分节点和叶节点进行报文分类,在分区节点中时,网络报文依次顺序搜索分区节点的子节点,搜索过程中根据前端子节点中已匹配规则最高优先级进行后续子节点的剪枝;在划分节点中时,网络报文根据划分节点的掩码生成子节点列表定位值,根据定位值仅搜索一个子节点进行规则匹配,在叶节点中时将所包含规则按优先级顺序组织在一个链表中,顺序搜索链表直到命中匹配一条规则即结束匹配,完成报文分类;

22、在对规则集进行动态规则更新时,待更新规则从根节点进入决策树进行决策树重构。

23、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

24、获取网络报文头部;网络报文头部包括多个元数据域;

25、根据多个元数据域定义规则集并构建决策树;决策树包括分区节点和划分节点;

26、在决策树中分区节点和划分节点间层分布,奇数层为分区节点,偶数层为划分节点,将分区节点和划分节点中包含规则数小于预先设置的阈值的节点设置为叶节点;

27、根据分区节点、划分节点和叶节点进行报文分类,在分区节点中时,网络报文依次顺序搜索分区节点的子节点,搜索过程中根据前端子节点中已匹配规则最高优先级进行后续子节点的剪枝;在划分节点中时,网络报文根据划分节点的掩码生成子节点列表定位值,根据定位值仅搜索一个子节点进行规则匹配,在叶节点中时将所包含规则按优先级顺序组织在一个链表中,顺序搜索链表直到命中匹配一条规则即结束匹配,完成报文分类;

28、在对规则集进行动态规则更新时,待更新规则从根节点进入决策树进行决策树重构。

29、上述基于分区策略的高性能报文分类方法、设备及介质,首先根据多个元数据域定义规则集并构建决策树;决策树包括分区节点和划分节点;在决策树中分区节点和划分节点间层分布,奇数层为分区节点,偶数层为划分节点,将分区节点和划分节点中包含规则数小于预先设置的阈值的节点设置为叶节点;根据分区节点、划分节点和叶节点进行报文分类,在分区节点中时,网络报文依次顺序搜索分区节点的子节点,搜索过程中根据前端子节点中已匹配规则最高优先级进行后续子节点的剪枝;在划分节点中时,网络报文根据划分节点的掩码本文档来自技高网...

【技术保护点】

1.一种基于分区策略的高性能报文分类方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,根据所述多个元数据域定义规则集并构建决策树,包括:

3.根据权利要求2所述的方法,其特征在于,在所述分区节点中采用启发式方法依据规则集构造子节点,包括:

4.根据权利要求1所述的方法,其特征在于,当进行动态规则更新时,待更新规则从根节点进入决策树进行决策树重构,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。

【技术特征摘要】

1.一种基于分区策略的高性能报文分类方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,根据所述多个元数据域定义规则集并构建决策树,包括:

3.根据权利要求2所述的方法,其特征在于,在所述分区节点中采用启发式方法依据规则集构造子节点,包括:

4.根据权利要求1所述的方法,其特征在于,当进行动态规则更新时,待更新规则从根节点进入决策树进行决策...

【专利技术属性】
技术研发人员:钟金诚陈曙晖虞万荣王飞魏子令
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1