一种基于访问控制列表ACL的流量统计方法及装置与流程

文档序号:12376558阅读:401来源:国知局
一种基于访问控制列表ACL的流量统计方法及装置与流程

本发明涉及数据通信领域,特别涉及一种基于访问控制列表ACL的流量统计方法及装置。



背景技术:

ACL访问控制列表,是一种流分类工具,高端路由器使用ACL可以实现端口流量的分类和控制、路由策略、策略路由等功能。ACL可以依据报文中的字段对报文进行筛选过滤,最为常见的筛选字段是数据报文中的五元组,即源IP地址、目的IP地址、协议号、源端口号和目的端口号。

一张ACL列表可以有多条规则,每条规则都描述了一定的匹配条件。对于给定的报文,从第一条规则开始判读是否匹配,一旦匹配中规则,就执行规则内设定的动作(permit或deny)并返回。

访问控制列表统计(ACL log),是用来记录端口转发报文在应用ACL规则后,若报文匹配中规则,且规则log统计开关打开时,匹配中规则的入向、出向报文个数;也就是说需要满足两个条件才会进行统计,一是端口绑定了ACL,二是ACL中需要进行统计的规则使能了log统计。

然而,传统的ACL统计的方法存在如下问题:

1、ACL统计是基于规则配置的,用户需要逐条打开统计开关以及逐条关闭统计开关;打开统计的规则会进行统计,否则不会进行统计;若存在多条规则时,配置复杂。

2、当ACL规则更新后,新ACL中的每条规则需要和原有ACL的所有规则进行比较,以判断集合的变化,增加的规则需要分配新的计数器,删除的规则需要回收计数器,未发生变化的规则其对应的计数器不变。比如,若ACL有10K条规则,则需要比较10K*10K次,非常耗时。

3、当ACL规则更新后,ACL统计不会相应更新,只能通过手动的方式 关闭ACL log。

4、无法基于动作(permit或deny)区分是否进行ACL统计,只能逐个配置。



技术实现要素:

本发明提供了一种基于访问控制列表ACL的流量统计方法及装置,其目的是为了解决传统的ACL统计的方法复杂度高,耗时,且无法基于动作进行ACL统计的问题。

为了达到上述目的,本发明提供了一种基于访问控制列表ACL的流量统计方法,包括:

将第一ACL绑定至一设备的第一端口;

获取所述第一端口的ACL统计配置信息,所述ACL统计配置信息包括有是否使能ACL统计功能、以及统计的方向和动作的信息;

在所述第一端口已使能ACL统计功能时,根据统计的动作和方向,针对所述第一ACL中的规则,进行匹配报文的流量统计。

进一步地,所述将第一ACL绑定至一设备的第一端口的步骤之后,所述方法还包括:

更新所述第一ACL的端口绑定信息,以及更新所述第一端口的ACL绑定信息,其中,所述第一ACL的端口绑定信息中记录有所述第一ACL绑定到的端口的信息,所述第一端口的ACL绑定信息记录有所述第一端口上绑定的ACL的信息。

进一步地,所述方法还包括:

接收第一端口的ACL统计功能的使能命令以及针对第一端口的ACL统计配置的第一配置信息;

获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

在所述第一端口未绑定ACL时,根据所述第一配置信息,使能所述第一端口的ACL统计功能;

在所述第一端口已绑定ACL时,判断所述第一端口是否已使能ACL统计功能,并在所述第一端口已使能ACL统计功能时,根据所述第一配置信息, 更新所述第一端口的ACL统计配置,并在更新完成后,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

进一步地,在所述第一端口已绑定ACL时,且所述第一端口未使能ACL统计功能时,所述方法还包括:

根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

进一步地,所述根据所述第一配置信息,更新所述第一端口的ACL统计配置,具体包括:

比较已使能的ACL统计功能和所述第一配置信息中的统计的动作;

若所述已使能的ACL统计功能和所述第一配置信息中的统计的动作相同,则不执行任何动作;

若所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为all,则保留所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

若所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为all,则保留所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

若所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为deny,则删除所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

若所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为permit,则删除所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

若所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为permit,则保留所述第一端口已有的针对permit动作的计数器,删除所述第一端口已有的针对deny动作的计数器;

若所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为deny,则保留所述第一端口已有的针对动作deny的计数器,删除所述第一端口已有的针对permit动作的计数器。

进一步地,所述方法还包括:

接收对第一ACL的更新命令;

根据所述第一ACL的端口绑定信息,确定所述第一ACL绑定的端口;

针对所述第一ACL绑定的每个端口,删除该端口上所述第一ACL的流量统计缓存,并将更新后的第一ACL下发至该端口,以及针对所述更新后的第一ACL重建流量统计缓存。

进一步地,所述方法还包括:

接收第一端口的ACL统计功能的关闭命令;

获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

在所述第一端口未绑定ACL时,去使能所述第一端口的ACL统计功能;

在所述端口已绑定ACL时,去使能所述第一端口的ACL统计功能并删除该端口上绑定的所述ACL以及所述ACL的流量统计缓存。

为达上述目的,本发明还提供了一种基于访问控制列表ACL的流量统计装置,该装置包括:

绑定模块,用于将第一ACL绑定至一设备的第一端口;

第一获取模块,获取所述第一端口的ACL统计配置信息,所述ACL统计配置信息包括有是否使能ACL统计功能、以及统计的方向和动作的信息;

统计模块,用于在所述第一端口已使能ACL统计功能时,根据统计的动作和方向,针对所述第一ACL中的规则,进行匹配报文的流量统计。

进一步地,所述装置还包括,第一更新模块,用于在所述绑定模块将第一ACL绑定至一设备的第一端口的之后,

更新所述第一ACL的端口绑定信息,以及更新所述第一端口的ACL绑定信息,其中,所述第一ACL的端口绑定信息中记录有所述第一ACL绑定到的端口的信息,所述第一端口的ACL绑定信息记录有所述第一端口上绑定的ACL的信息。

进一步地,所述装置还包括:

第一接收模块,用于接收第一端口的ACL统计功能的使能命令以及针对第一端口的ACL统计配置的第一配置信息;

第二获取模块,用于获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

第一使能模块,用于在所述第一端口未绑定ACL时,根据所述第一配置信息,使能所述第一端口的ACL统计功能;

第一判断模块,用于在所述第一端口已绑定ACL时,判断所述第一端口是否已使能ACL统计功能,并在所述第一端口已使能ACL统计功能时,根据所述第一配置信息,更新所述第一端口的ACL统计配置,并在更新完成后,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

进一步地,所述第一判断模块包括第一执行子模块,

用于在所述第一端口已绑定ACL时,且所述第一端口未使能ACL统计功能时,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

进一步地,所述装置还包括第二更新模块,用于根据所述第一配置信息,更新第一端口的ACL统计配置,并比较已使能的ACL统计功能和所述第一配置信息中的统计的动作;

所述第二更新模块具体包括:

第一子模块,用于在所述已使能的ACL统计功能和第一配置信息中的统计的动作相同时,不执行任何动作;

第二子模块,用于在所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为all时,保留所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

第三子模块,用于在所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为all,则保留所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

第四子模块,用于在所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为deny时,删除所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

第五子模块,用于在所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为permit时,删除所述第一端口已有的针对deny 动作的计数器,并新增一针对permit动作的计数器;

第六子模块,用于在所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为permit时,保留所述第一端口已有的针对permit动作的计数器,删除所述第一端口已有的针对deny动作的计数器;

第七子模块,用于在若所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为deny时,保留所述第一端口已有的针对动作deny的计数器,删除所述第一端口已有的针对permit动作的计数器。

进一步地,所述装置还包括:

第二接收模块,用于接收对第一ACL的更新命令;

第一查找模块,用于根据所述第一ACL的端口绑定信息,确定所述第一ACL绑定的端口;

第三更新模块,用于针对所述第一ACL绑定的每个端口,删除该端口上配置的所述第一ACL以及所述第一ACL的流量统计缓存,并将更新后的第一ACL下发至该端口,以及针对所述更新后的第一ACL重建流量统计缓存。

进一步地,所述装置还包括:

第三接收模块,用于接收第一ACL统计的关闭命令;

第二判断模块,用于获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

第一关闭模块,用于在所述端口未绑定ACL时,去使能所述第一端口的ACL统计功能;

第二关闭模块,用于在所述端口已绑定ACL时,去使能所述第一端口的ACL统计功能并删除该端口上所述ACL的流量统计缓存。

本发明的上述方案至少包括以下有益效果:

本发明提供的基于访问控制列表ACL的流量统计方法及装置,支持开启不同动作的ACL统计,并动态更新ACL统计配置,无需手动配置更新,且在ACL规则更新后,会删除原有ACL的流量统计缓存,重建更新后ACL的流量统计缓存,无需将原有ACL与更新后ACL进行比较,避免了ACL统计配置的繁琐性和耗时性,极大地缩短了ACL统计的比较时间,同时降低了ACL统计的复杂程度。

附图说明

图1为本发明实施例所述的基于访问控制列表ACL的流量统计方法的步骤流程图;

图2为本发明实施例所述的基于访问控制列表ACL的流量统计方法的ACL统计步骤流程图;

图3为本发明实施例所述的基于访问控制列表ACL的流量统计方法的更新ACL统计动作的步骤流程图;

图4为本发明实施例所述的基于访问控制列表ACL的流量统计方法的更新ACL规则的流量统计的步骤流程图;

图5为本发明实施例所述的基于访问控制列表ACL的流量统计方法的关闭ACL统计的步骤流程图;

图6为本发明实施例所述的基于访问控制列表ACL的流量统计的装置的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

为了达到上述目的,本发明的实施例提供了一种基于访问控制列表ACL的流量统计方法;

参见图1,该方法包括:

步骤11,将第一ACL绑定至一设备的第一端口;

步骤12,获取所述第一端口的ACL统计配置信息,所述ACL统计配置信息包括有是否使能ACL统计功能、以及统计的方向和动作的信息;本发明提供的基于访问控制列表ACL的流量统计方法支持开启不同动作的ACL统计,可以是permit、deny或all。

步骤13,在所述第一端口已使能ACL统计功能时,根据统计的动作和方向,针对所述第一ACL中的规则,进行匹配报文的流量统计。

进一步地,步骤11之后,所述方法还包括:

更新所述第一ACL的端口绑定信息,以及更新所述第一端口的ACL绑定信息,其中,所述第一ACL的端口绑定信息中记录有所述第一ACL绑定到的端口的信息,即第一ACL绑定到了哪些端口;所述第一端口的ACL绑定信息记录有所述第一端口上绑定的ACL的信息,即所述第一端口上绑定了哪些ACL规则。

参见图2,所述方法还包括:

步骤21,接收第一端口的ACL统计功能的使能命令以及针对第一端口的ACL统计配置的第一配置信息;

步骤22,获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

步骤23,在所述第一端口未绑定ACL时,根据所述第一配置信息,使能所述第一端口的ACL统计功能;

步骤24,在所述第一端口已绑定ACL时,判断所述第一端口是否已使能ACL统计功能;

步骤25,在所述第一端口已使能ACL统计功能时,根据所述第一配置信息,更新所述第一端口的ACL统计配置;

步骤26,在所述第一端口的ACL统计配置更新完成后,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

步骤27,在所述第一端口已绑定ACL时,且所述第一端口未使能ACL统计功能时,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

本发明提供的基于访问控制列表ACL的流量统计方法,为动态更新ACL统计配置,无需手动更新,避免了手动更新ACL统计配置的繁琐性和耗时性。

进一步地,所述步骤26或步骤27中所述根据所述第一配置信息,更新所述第一端口的ACL统计配置的步骤,具体包括:

步骤31,比较已使能的ACL统计功能和所述第一配置信息中的统计的动作;

步骤32,若所述已使能的ACL统计功能和所述第一配置信息中的统计的动作相同,则不执行任何动作;

步骤322,若所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为all,则执行步骤3221:保留所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

步骤323,若所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为all,则执行步骤3231:保留所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

步骤324,若所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为deny,则执行步骤3241:则删除所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

步骤325,若所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为permit,则执行步骤3251:删除所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

步骤326,若所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为permit,则执行步骤3261:保留所述第一端口已有的针对permit动作的计数器,删除所述第一端口已有的针对deny动作的计数器;

步骤327,若所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为deny,则执行步骤3271:保留所述第一端口已有的针对动作deny的计数器,删除所述第一端口已有的针对permit动作的计数器。

本发明提供的基于访问控制列表ACL的流量统计方法,当ACL规则更新后,ACL统计功能会动态更新,无需手动操作。

参见图4,所述方法还包括:

步骤41,接收对第一ACL的更新命令;

步骤42,根据所述第一ACL的端口绑定信息,确定所述第一ACL绑定的端口;

步骤43,针对所述第一ACL绑定的每个端口,删除该端口上配置的所述第一ACL以及所述第一ACL的流量统计缓存,并将更新后的第一ACL下发至该端口,以及针对所述更新后的第一ACL重建流量统计缓存。

本发明提供的基于访问控制列表ACL的流量统计方法,在ACL规则更新后,会删除原有ACL的流量统计缓存,重建更新后ACL的流量统计缓存,无 需将原有ACL与更新后ACL进行比较,极大地节省了时间。

参见图5,所述方法还包括:

步骤51,接收第一端口的ACL统计功能的关闭命令;

步骤52,获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL:

步骤53,在所述端口未绑定ACL时,去使能所述第一端口的ACL统计功能;

步骤54,在所述端口已绑定ACL时,去使能所述第一端口的ACL统计功能并删除该端口上所述ACL的流量统计缓存。

参见图6,本发明还提供了一种基于访问控制列表ACL的流量统计装置,该装置包括:

绑定模块101,用于将第一ACL绑定至一设备的第一端口;

第一获取模块102,用于获取所述第一端口的ACL统计配置信息,所述ACL统计配置信息包括有是否使能ACL统计功能、以及统计的方向和动作的信息;

统计模块103,用于在所述第一端口已使能ACL统计功能时,根据统计的动作和方向,针对所述第一ACL中的规则,进行匹配报文的流量统计。

进一步地,所述装置还包括,第一更新模块104,用于在所述绑定模块101将第一ACL绑定至一设备的第一端口之后;

更新所述第一ACL的端口绑定信息,以及更新所述第一端口的ACL绑定信息,其中,所述第一ACL的端口绑定信息中记录有所述第一ACL绑定到的端口的信息,所述第一端口的ACL绑定信息记录有所述第一端口上绑定的ACL的信息。

进一步地,所述装置还包括:

第一接收模块105,用于接收第一端口的ACL统计功能的使能命令以及针对第一端口的ACL统计配置的第一配置信息;

第二获取模块106,用于获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

第一使能模块107,用于在所述第一端口未绑定ACL时,根据所述第一 配置信息,使能所述第一端口的ACL统计功能;

第一判断模块108,用于在所述第一端口已绑定ACL时,判断所述第一端口是否已使能ACL统计功能,并在所述第一端口已使能ACL统计功能时,根据所述第一配置信息,更新所述第一端口的ACL统计配置,并在更新完成后,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

进一步地,所述第一判断模块108包括第一执行子模块1081,

用于在所述第一端口已绑定ACL时,且所述第一端口未使能ACL统计功能时,根据所述第一配置信息中的统计的动作和方向,执行已绑定ACL的流量统计。

进一步地,所述装置还包括第二更新模块109,用于根据所述第一配置信息,更新第一端口的ACL统计配置,并比较已使能的ACL统计功能和所述第一配置信息中的统计的动作;

所述第二更新模块109具体包括:

第一子模块1091,用于在所述已使能的ACL统计功能和第一配置信息中的统计的动作相同时,不执行任何动作;

第二子模块1092,用于在所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为all时,保留所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

第三子模块1093,用于在所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为all,则保留所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

第四子模块1094,用于在所述已使能的ACL统计功能中的动作为permit且所述第一配置信息中统计的动作为deny时,删除所述第一端口已有的针对permit动作的计数器,并新增一针对deny动作的计数器;

第五子模块1095,用于在所述已使能的ACL统计功能中的动作为deny且所述第一配置信息中统计的动作为permit时,删除所述第一端口已有的针对deny动作的计数器,并新增一针对permit动作的计数器;

第六子模块1096,用于在所述已使能的ACL统计功能中的动作为all且 所述第一配置信息中统计的动作为permit时,保留所述第一端口已有的针对permit动作的计数器,删除所述第一端口已有的针对deny动作的计数器;

第七子模块1097,用于在若所述已使能的ACL统计功能中的动作为all且所述第一配置信息中统计的动作为deny时,保留所述第一端口已有的针对动作deny的计数器,删除所述第一端口已有的针对permit动作的计数器。

进一步地,所述装置还包括:

第二接收模块110,用于接收对第一ACL的更新命令;

第一查找模块111,用于根据所述第一ACL的端口绑定信息,确定所述第一ACL绑定的端口;

第三更新模块112,用于针对所述第一ACL绑定的每个端口,删除该端口上配置的所述第一ACL以及所述第一ACL的流量统计缓存,并将更新后的第一ACL下发至该端口,以及针对所述更新后的第一ACL重建流量统计缓存。

进一步地,所述装置还包括:

第三接收模块113,用于接收第一ACL统计的关闭命令;

第二判断模块114,用于获取所述第一端口的ACL绑定信息,判断所述第一端口是否已绑定有ACL;

第一关闭模块115,用于在所述端口未绑定ACL时,去使能所述第一端口的ACL统计功能;

第二关闭模块116,用于在所述端口已绑定ACL时,去使能所述第一端口的ACL统计功能并删除该端口上所述ACL的流量统计缓存。

需要说明的是,本发明实施例提供的基于访问控制列表ACL的流量统计装置是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1