System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种海量流表中让增删流表规则快速生效的森林算法制造技术_技高网

一种海量流表中让增删流表规则快速生效的森林算法制造技术

技术编号:43389584 阅读:6 留言:0更新日期:2024-11-19 18:03
本发明专利技术涉及算法优化技术领域,公开了一种海量流表中让增删流表规则快速生效的森林算法,本发明专利技术提供一种海量流表中让增删流表规则快速生效的森林算法,它可以通过将规则中IP地址的高中位拆分出来作为单颗规则树的编号,将原本一颗高大的规则树拆分成几千万颗或几十亿颗低矮的规则树森林,用于降低海量规则场景中单颗规则树过大时建树编译缓慢所导致的增删规则生效时间过长问题。

【技术实现步骤摘要】

本专利技术涉及算法优化,具体涉及一种海量流表中让增删流表规则快速生效的森林算法


技术介绍

1、当前,物联网正在超快地发展,无处不在的iot设备需要海量的ip地址作为万物互联的基础,因此推进ipv6规模部署及应用,是产业升级的必然选择。ipv6的普及将会带来海量的地址空间,其中汇聚网、核心网的网络访问控制流表规则空间将需要爆发式增长才能满足对ipv6网络的管控。当前的网络设备用于网络访问控制的多元组规则流表功能,为了保证高性能数据包处理能力,主要采用字典树或其它树类算法实现的流表规则查找。树类算法在规则匹配时有着很高的查找速度,但是存在叶子节点发生变更时需要进行重新编译建树的弊端,在规则树的规则量较小时,重新编译建树时间短,能够在网络管理员无感知的情况下让规则生效,所以不影响使用,但是一颗规则树中的规则量超过几十万条或者几百万时,以当前cpu硬件主频速度,所需的建树时间,会让管理员能够明显感知到增删的规则迟迟无法生效,规则量越多时增删规则时间将会无限延长,这将会导致下发的增删规则积压,引起无法及时对网络流量进行访问控制问题。所以面对ipv6海量流表时只能放弃高性能的树类查找算法,采用低性能的线性匹配算法用于满足规则增删实时生效的需求,或者限制流表空间容量,逼迫网络管理员对相近网段的地址段进行合并,以压缩流表规则数量,用于减少规则生效时间。

2、现有的算法主要缺陷在于:

3、1、放弃高性能的树类查找算法,采用低性能的线性匹配算法,虽然解决了海量流表规则增删快速生效问题,但是会丢失网络设备处理性能,让网络管控的设备投入成本变高;

4、2、限制流表空间容量,逼迫网络管理员对相近地址段进行合并,压缩流表规则数量的方法,治标不治本,不但会造成人员投入成本变高,同时在规则数量远远大于设备流表空间容量的场景中会变的无效。


技术实现思路

1、本专利技术的目的在于提供一种海量流表中让增删流表规则快速生效的森林算法,解决上述技术问题。

2、本专利技术的目的可以通过以下技术方案实现:

3、一种海量流表中让增删流表规则快速生效的森林算法,包括如下步骤:

4、步骤1、规则添加将根据添加的流表规则源地址字段,识别出规则树编号建立规则树森林;

5、步骤2、规则匹配将根据网络流量报文中的源地址字段,在规则森林中找到规则树,并在规则树中找到规则节点,完成规则查找;

6、步骤3、规则删除将根据删除的规则源地址字段,识别出规则树编号找到规则树中具体规则,完成删除。

7、作为本专利技术方案的进一步描述,所述步骤1的具体步骤包括:

8、步骤1.1、接收到新增的流表规则后,解析出规则树算法所需的五元字段和行为字段;

9、步骤1.2、从规则字段中解析出源地址字段;

10、步骤1.3、对解析出的源地址进行高16位和中16位取值,合并取值后作为规则树编号;

11、步骤1.4、根据规则树编号查找规则树是否存在。

12、作为本专利技术方案的进一步描述,所述步骤1.4的具体步骤包括:

13、步骤1.4.1、对应编号规则树已存在,根据树查找算法,在规则树中查找新增的规则条目是否存在;

14、步骤1.4.2、对应编号规则树不存在,根据编号创建规则树配置,将新增规则插入对应规则树配置中,并根据编号和规则树配置新建规则树使新增规则生效,添加规则成功。

15、作为本专利技术方案的进一步描述,所述步骤1.4.1的具体步骤包括:

16、步骤1.4.1.1、规则树中不存在新增的规则,将新增规则插入规则树对应规则配置中,并重新编译规则树使新增规则生效,添加规则成功;

17、步骤1.4.1.2、规则树中已存在新增的规则,替换规则节点对应data中的行为,新增规则成功。

18、作为本专利技术方案的进一步描述,所述步骤2的具体步骤包括:

19、步骤2.1、对输入的网络流量进行解析,从流量报文中解析出规则树算法所需的五元字段;

20、步骤2.2、从流量报文中解析出源地址字段;

21、步骤2.3、对解析出的源地址进行高16位和中16位取值,合并取值后作为规则树编号;

22、步骤2.4、根据规则树编号查找规则树是否存在;

23、作为本专利技术方案的进一步描述,所述步骤2.4的具体步骤包括:

24、步骤2.4.1、对应编号规则树存在,通过流量报文中解析出的源地址、目的地址、协议号、源端口号、目的端口号等树类算法查找字段,并根据树类算法在对应编号规则树中进行规则匹配,确定规则是否命中;

25、步骤2.4.2、对应编号规则树不存在,未命中规则,根据系统默认规则行为字段进行流量报文处置。

26、作为本专利技术方案的进一步描述,所述步骤2.4.1的具体步骤包括:

27、步骤2.4.1.1、命中规则,根据规则对应的行为字段进行流量报文处置;

28、步骤2.4.1.2、未命中规则,根据系统默认规则行为字段进行流量报文处置。

29、作为本专利技术方案的进一步描述,所述步骤3的具体步骤包括:

30、步骤3.1、接收到删除的流表规则后,解析出规则树算法所需的五元字段,从规则字段中解析出源地址字段;

31、步骤3.2、对解析出的源地址进行高16位和中16位取值,合并取值后作为规则树编号;

32、步骤3.3、根据规则树编号查找规则树是否存在。

33、作为本专利技术方案的进一步描述,所述步骤3.3的具体步骤包括:

34、步骤3.3.1、对应编号规则树已存在,根据树类算法,在规则树中查找删除的规则是否存在;

35、步骤3.3.2、对应编号规则树不存在,返回删除规则不存在,删除结束。

36、作为本专利技术方案的进一步描述,所述步骤3.3.1的具体步骤包括:

37、步骤3.3.1.1、规则树中不存在删除的规则,返回删除规则不存在,删除结束;

38、步骤3.3.1.2、规则树中存在删除的规则,从规则树对应规则配置中删除该规则,并重新编译规则树使删除规则生效,删除规则成功。

39、本专利技术的有益效果:

40、1、多元流表规则对网络流量管理或访问控制场景中,需要使用高性能的树算法进行规则查找,否则会大幅度降低网络流量处理性能,本专利技术降低了在海量流表规则中,采用树查找算法,增删流表规则需要大量编译(建树)时间,导致规则生效时间过长的问题,能够让网络设备在高性能规则查找时不受海量流表规则的影响,有效的降低了在高性能、海量流表规则场景中的网络设备投入成本。

本文档来自技高网...

【技术保护点】

1.一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤1的具体步骤包括:

3.根据权利要求2所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤1.4的具体步骤包括:

4.根据权利要求3所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤1.4.1的具体步骤包括:

5.根据权利要求1所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤2的具体步骤包括:

6.根据权利要求5所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤2.4的具体步骤包括:

7.根据权利要求6所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤2.4.1的具体步骤包括:

8.根据权利要求1所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤3的具体步骤包括:

9.根据权利要求8所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤3.3的具体步骤包括:

10.根据权利要求9所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤3.3.1的具体步骤包括:

...

【技术特征摘要】

1.一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤1的具体步骤包括:

3.根据权利要求2所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤1.4的具体步骤包括:

4.根据权利要求3所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤1.4.1的具体步骤包括:

5.根据权利要求1所述的一种海量流表中让增删流表规则快速生效的森林算法,其特征在于,所述步骤2的具体步骤包括:

6.根据权利要求...

【专利技术属性】
技术研发人员:汤忠泽庞文俊李小超
申请(专利权)人:清创网御合肥科技有限公司
类型:发明
国别省市:

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

1