一种流量控制方法及装置与流程

文档序号:13391446阅读:134来源:国知局
一种流量控制方法及装置与流程

本申请涉及互联网技术领域,特别是涉及一种流量控制方法及装置。



背景技术:

随着互联网普及网络流量越来越复杂,用户对于网络流量的控制要求也越来越高。为了使流量控制越来越准确,用户一般会在流量控制设备中配置多个控制策略,例如,上述流量控制设备可以是dpi(deeppacketinspection,深度包检测)设备等。

上述dpi等设备对目标报文所属流量进行控制时,一般按照控制策略的一定顺序,例如,生成时间由短到长的顺序等等,目标报文逐个与各个控制策略进行匹配,若匹配成功,则依据该匹配成功的控制策略对应的控制动作,对目标报文所属的流量进行控制。

应用上述方式虽然能够实现流量控制,但是由于每一控制策略中可以配置一条及其以上过滤条件,每一条过滤条件一般是以一个或者一个以上匹配项进行定义的,这样目标报文与各个控制策略匹配时耗用资源高。

另外,随着用户对网络流量控制要求的提高,用户要求dpi等设备支持的控制策略数量越来多,每一控制策略中对于流量的过滤条件也越来越多,而按照一定顺序匹配各个控制策略过程中,又可能出现与目标报文匹配的控制策略排序靠后的现象,因此,综合前述情况,应用现有技术中的方式对流量进行控制时,易出现匹配效率低且耗用资源高的情况。



技术实现要素:

本申请实施例的目的在于提供一种流量控制方法及装置,以提高流量控制过程中控制策略的匹配效率,减少资源耗用。具体技术方案如下:

一种流量控制方法,所述方法应用于网络设备,所述网络设备中存储有用于流量控制的策略集合,所述策略集合包含至少一个与一种过滤条件中的一个匹配项对应的第一层策略子集合,每个第一层策略子集合包含至少一个第二层策略子集合,每个第二层策略子集合包含属于同一流量控制策略类型的至少一个策略标识;所述方法包括:

当接收到目标报文时,获取所述目标报文的属性特征;

查找流量匹配信息表中是否存在与所述目标报文的属性特征匹配的策略标识;

如果未存在与所述目标报文的属性特征匹配的策略标识,则从所述策略集合中,选择与所述目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合;

当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从所述至少一个共同的策略标识中确定优先级别最高的策略标识;

根据确定出的优先级别最高的策略标识对应的控制动作,对所述目标报文所属的流量进行控制。

一种流量控制装置,所述装置应用于网络设备,所述网络设备中存储有用于流量控制的策略集合,所述策略集合包含至少一个与一种过滤条件中的一个匹配项对应的第一层策略子集合,每个第一层策略子集合包含至少一个第二层策略子集合,每个第二层策略子集合包含属于同一流量控制策略类型的至少一个策略标识;所述装置包括:

特征获取模块,用于当接收到目标报文时,获取所述目标报文的属性特征;

标识查找模块,用于查找流量匹配信息表中是否存在与所述目标报文的属性特征匹配的策略标识,在未存在与所述目标报文的属性特征匹配的策略标识时,触发子集合选择模块;

所述子集合选择模块,用于从所述策略集合中,选择与所述目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合;

标识确定模块,用于当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从所述至少一个共同的策略标识中确定优先级别最高的策略标识;

第一流量控制模块,用于根据确定出的优先级别最高的策略标识对应的控制动作,对所述目标报文所属的流量进行控制。

一种网络设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例所述的流量控制方法步骤。

一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例所述的流量控制方法步骤。

由以上可见,本申请实施例提供的方案中,网络设备中存储了用于流量控制的策略集合,当上述网络设备接收到目标报文时,获取目标报文的属性特征,并查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识。在不存在的情况下,根据目标报文的属性特征,在策略集合中逐层进行选择,得到与目标报文的属性特征匹配的策略标识,以及该策略标识对应的控制动作,进而实现对目标报文所属的流量进行控制。与现有技术相比,本申请实施例中,将对报文执行的控制动作通过与策略标识进行对应,并将大量的策略标识整合在集合中,无需目标报文与策略逐个进行匹配,进而能够提高流量控制过程中策略的匹配效率,减少资源耗用。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的第一种流量控制方法的流程示意图;

图2为本申请实施例提供的第一种策略集合的示意图;

图3为本申请实施例提供的第二种策略集合的示意图;

图4为本申请实施例提供的第二种流量控制方法的流程示意图;

图5为本申请实施例提供的第三种策略集合的示意图;

图6为本申请实施例提供的第一种流量控制装置的结构示意图;

图7为本申请实施例提供的第二种流量控制装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面先对本申请实施例中涉及的几个概念进行介绍:

策略,本申请文件中也称为控制策略,每一策略对应相应的控制动作,网络设备通过执行策略对应的控制动作,实现对报文所属流量的控制。对于一条策略而言,一般包含一个或者一个以上由匹配项定义的过滤条件、报文与过滤条件匹配成功的情况下需要对报文执行的控制动作。

具体的,对于安全类策略,上述控制动作可以为:允许、丢弃、阻断等;

对于审计类策略,上述控制动作可以为:审计、免审计、阻断等等。

需要说明的是,本申请仅仅以上述为例进行说明,实际应用中控制动作并不仅限于上述情况。

具体的,对于一个过滤条件而言,可以是采用一个匹配项定义的,也可以是采用一个以上匹配项进行定义的,本申请并不对此进行限定。

上述过滤条件可以是针对以下信息中任一项的过滤条件:

源安全域、目的安全域、源ip地址、目的ip地址、用户、用户组、应用、英语组、服务、生效时间等等。

本申请仅仅以此为例进行说明,实际应用中并不对过滤条件所针对的具体内容进行限定。

另外,上述过滤条件也可以称之为匹配项类型。

匹配项可以理解为:用于定义过滤条件的参数项。例如:

过滤条件为:针对源安全域的过滤条件时,匹配项可以为:预设的域;

过滤条件为:针对目的ip地址的过滤条件时,匹配项可以为:预设的一个ip地址。

综合以上可见,策略是与匹配项相关的,也可以称之为策略引用一个或者一个以上匹配项。

下面通过具体实施例对本申请实施例提供的流量控制方法进行详细介绍。

图1为本申请实施例提供的第一种流量控制方法的流程示意图,该方法应用于网络设备,上述网络设备中存储有用于流量控制的策略集合,该策略集合包含至少一个与一种过滤条件中的一个匹配项对应的第一层策略子集合,每个第一层策略子集合包含引用匹配项的至少一个策略标识。

本领域内技术人员可以理解的是,作为执行主体的网络设备一般能够支持多种策略,这些策略可能从属于不同的流量控制策略类型,例如,avc(applicationviewcontrol,应用可视化控制)策略类型、uba(userbehavioraudit,用户行为审计)策略类型等等。

其中,avc也称为应用带宽管理。即当ip数据包、tcp(transmissioncontrolprotocol,传输控制协议)或udp(userdatagramprotocol,用户数据报协议)数据流量通过dpi技术获取流量对应的应用程序等内容后,按照已定义的带宽管理策略,对符合策略匹配条件的流量进行整形操作。

uba即当ip数据包、tcp或udp数据流量通过dpi技术获取流量对应的用户、应用程序、应用行为等内容后,按照已定义的审计策略,对符合策略匹配条件的流量进行差异化处理。

鉴于上述情况,第一层策略子集合还可以依据流量控制策略类型进一步划分。

具体的,每个第一层策略子集合包含至少一个第二层策略子集合,每个第二层策略子集合包含属于同一流量控制策略类型的至少一个策略标识。

具体的,由于每个第一层策略子集合均可以依据流量控制策略类型向下划分为一个或者一个以上第二层策略子集合,所以每个第二层策略子集合中包含的策略标识均为该第二层策略子集合所属的第一层策略子集合中包含的策略标识。

又由于每一第二层策略子集合中包含的策略标识对应的策略归属于同一流量控制策略类型,所以可以认为每一第二策略子集合与其包含的策略标识对应的策略所归属的流量控制策略类型之间存在对应关系。

本领域内技术人员可以理解的是,网络设备一般是通过执行策略对应的控制动作实现对报文的流量控制的,所以,上述策略集合可以理解为:用于对报文所属流量进行控制的策略形成的集合,又由于每一条策略均具有具体的策略内容,考虑到表述简洁、清楚、便于使用等因素,上述策略集合可以是由用于对报文所属流量进行控制的各条策略的策略标识形成的。

另外,本申请实施例中,上述策略集合包含至少一个第一层策略子集合,对于一个第一层策略子集合而言,是与一种过滤条件的一个匹配项相对应的。基于此,一个第一层策略子集合包含的是:引用该第一层策略子集合对应的匹配项的策略的策略标识。

也就是,“每个第一层策略子集合包含引用匹配项的至少一个策略标识”中提及的“匹配项”为:第一层策略子集合对应的匹配项,提及的“策略标识”为:引用第一层策略子集合对应的匹配项的策略的标识。

再者,从前面的描述可以得知,对于一个第一层策略子集合而言,其可以包含至少一个第二层策略子集合,假设,该第一层策略子集合对应的匹配项称之为目标匹配项,则对于该第一层策略子集合包含的每一第二层策略子集合而言,所包含策略标识对应的策略均为引用了目标匹配项的策略,也就是说,上述一个第二层策略子集合包含的策略标识对应的策略为:归属于同一流量控制策略类型且引用了目标匹配项的策略。

具体的,上述流量控制方法包括:

s101、当接收到目标报文时,获取目标报文的属性特征。

上述目标报文可以理解为进入网络设备的流量所在会话的前几个报文。例如,上述“前几个报文”可以是前一个报文、前两个报文、前五个报文等等。目标报文的属性特征可以是目标报文的五元组、七元组、应用等等。

另外,获取目标报文的属性特征时,可以仅仅获取目标报文的一个属性特征,也可以获取目标报文的一个以上属性特征,本申请并不对此进行限定。

s102、查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识,如果未存在与目标报文的属性特征匹配的策略标识,则执行s103。

具体的,上述流量匹配信息表用于记录与报文的各种属性特征相匹配的策略的策略标识,也就是,上述流量匹配信息表用于记录报文的属性特征与策略标识之间的对应关系。

基于上述情况,本步骤中,查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识,也就是查找流量匹配信息表中是否存在包含目标报文的属性特征的对应关系,若存在包含目标报文的属性特征的对应关系,则说明流量匹配信息表中存在与目标报文的属性特征匹配的策略标识。

另外,与目标报文的属性特征匹配的策略标识为属于上述策略集合中的一个策略标识。

s103、从策略集合中,选择与目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合。

一种实现方式中,从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合时,所选择的第二层策略子集合对应的流量控制策略类型为网络设备当前所支持的流量控制策略类型。

网络设备当前所支持的流量控制策略类型可以为网络设备能够支持的流量控制策略类型的全部,也可以为网络设备能够支持的流量控制策略类型的部分,本申请并不对此进行限定。

一种实现方式中,可以预先设定报文的属性特征与匹配项之间的对应关系。

例如,报文的属性特征与匹配项之间的对应关系可以包括:

对应关系1:报文的属性特征为:报文的五元组,匹配项为:源ip地址、目的ip地址、源安全域、目的安全域;

对应关系2:报文的属性特征为:报文的七元组,匹配项为:源ip地址、目的ip地址、源安全域、目的安全域、服务类型。

需要说明的是,本申请仅仅以上述为例进行说明,实际应用中报文的属性特征与匹配项之间的对应关系并不仅限于此。

基于上述预先设定的对应关系,从策略集合中选择与目标报文的属性特征匹配的第一层策略子集合时,可以先根据上述对应关系,确定目标报文的属性特征对应的匹配项,然后从策略集合中选择上述所确定的匹配项对应的第一层策略子集合,所选择的第一层策略子集合即为与目标报文的属性特征匹配的第一层策略子集合。

由于目标报文的属性特征可以为一个或者一个以上属性特征,所以上述所确定的匹配项可能是一个,也可能是一个以上。

对于上述所确定的一个匹配项而言,其所对应的第一层策略子集合中包含的策略标识对应的策略均为引用了该匹配项的策略。

在选择出与目标报文的属性特征匹配的第一层策略子集合后,在这些第一层策略子集合中再次选择,选择出网络设备当前支持的流量控制策略类型对应的第二层策略子集合。

s104、当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从至少一个共同的策略标识中确定优先级别最高的策略标识。

本领域内技术人员可以理解的是,每一策略所规定的内容通常是不一样的,同一策略相对于不同的策略其执行优先级通常也存在差异,也就是可以认为策略标识之间存在优先级,基于此,为了更好的实现对目标报文的流量控制,本申请实施例中,从共同的策略标识中选择优先级别最高的策略标识,也即选择优先级最高的策略。

本申请的一种实现方式中,为了便于从共同的策略标识中确定出优先级别最高的策略标识,上述策略集合中除了记录策略标识外,还可以记录各个策略标识的优先级别。

s105、根据确定出的优先级别最高的策略标识对应的控制动作,对目标报文所属的流量进行控制。

可以理解的是,流量所在会话具有多个报文,且由于同一会话中的多个报文类型相同,对报文的处理过程也相同。因此,通过执行步骤s101至步骤s105,对该会话的前几个报文进行处理后,该会话的后续报文也进行相同处理,实现对目标报文所属的流量进行控制。

由以上可见,本实施例提供的方案中,网络设备中存储了用于流量控制的策略集合,当上述网络设备接收到目标报文时,获取目标报文的属性特征,并查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识。在不存在的情况下,根据目标报文的属性特征,在策略集合中逐层进行选择,得到与目标报文的属性特征匹配的策略标识,以及该策略标识对应的控制动作,进而实现对目标报文所属的流量进行控制。与现有技术相比,本实施例中,将对报文执行的控制动作通过与策略标识进行对应,并将大量的策略标识整合在集合中,无需目标报文与策略逐个进行匹配,进而能够提高流量控制过程中策略的匹配效率,减少资源耗用。

本申请的一种实现方式中,第二层策略子集合可以包含第一类策略标识集合和第二类策略标识集合。

其中,第一类策略标识集合具体为:网络设备支持的一种流量控制策略类型中,引用目标匹配项的策略标识形成的集合,上述目标匹配项为:上述第二层策略子集合所属的第一层策略子集合对应的匹配项,上述一种流量控制策略类型记为:目标流量控制策略类型。

也就是,第一类策略标识集合具体表示的是:属于目标流量控制策略类型且引用了目标匹配项的的策略的策略标识形成的集合。

第二类策略标识集合具体为:网络设备支持的一种流量控制策略类型中,未引用上述匹配项的策略标识形成的集合;

第二类策略标识集合可以通过下述表达式确定:

第二类策略标识集合=sub-(第一类策略标识集合∩sub)

其中,sub具体为:归属于同一过滤条件,引用不同匹配项且属于同一流量控制策略类型的至少一个第二层策略子集合形成的交集+归属于同一过滤条件,引用不同匹配项且不属于同一流量控制策略类型的至少一个第二层策略子集合。

也就是说,上述与第二类策略标识集合相关的内容可以解释为以下内容:

上述第二类策略标识集合具体为按照以下表达式确定的策略标识集合:

第二类策略标识集合=sub-(上述第一类策略标识集合∩sub)

sub具体为:第一类集合的交集+第二类集合;

一个第一类集合为:目标流量控制策略类型中引用一个第一类匹配项的策略标识形成的集合;也就是,一个第一类集合中包含的策略标识对应的策略为:属于目标流量控制策略类型且引用了一个第一类匹配项的策略。一个第一类集合与一个第一类匹配项一一对应。

第一类匹配项为:目标匹配项所属的过滤条件包含的每一匹配项。

第二类集合为:第一类匹配项对应的第一层策略子集合中、不包含目标流量控制策略类型的策略标识的第一层策略子集合,其中,目标流量控制策略类型的策略标识可以理解为:目标流量控制策略类型的策略的标识。

也就是,被称之为第二类集合的第一层策略子集合满足以下两个条件:

1、属于第一类匹配项对应的第一层策略子集合中的一个;

2、所包含策略标识对应的策略均不属于目标流量控制策略类型。

由于sub是第一类集合的交集与第二类集合进行“+”运算得到的,“+”可以简单的理解为集合中元素合并操作,所以sub也可以理解为一个集合。

上述∩为取交集的数学符号,所以“上述第一类策略标识集合∩sub”可以理解为:第一类策略标识集合与sub进行取交集操作,其结果仍然为一个集合。

上述“sub-(上述第一类策略标识集合∩sub)”中“-”可以理解为两个集合中元素去重操作。

基于前述情况,上述至少一个共同的策略标识,具体为:对上述至少一个第二层策略子集合包含的第一类策略标识集合和第二类策略标识集合进行取交集处理得到的策略标识。

下面结合图2和图3提供的具体实例对上述各个实施例进行更加详细的介绍。

假设,a、b分别为针对源安全域和目的ip的过滤条件;

a1、a2、a3和a4为a的四个匹配项:源安全域1、源安全域2、源安全域3和源安全域4;

b1和b2为b的两个匹配项:目的ip1和目的ip2;

id1、id2、id3、id4、id5、id6、id7为策略的策略标识;

其中,引用a1的策略的策略标识包括:id1、id2、id3、id4;

引用a2的策略的策略标识包括:id1、id2、id3、id5;

引用a3的策略的策略标识包括:id2、id5、id6;

引用a4的策略的策略标识包括:id5、id6;

引用b1的策略的策略标识包括:id1、id2、id4;

引用b2的策略的策略标识包括:id6、id7。

实例一

在前述假设的基础上,包含a、b两个过滤条件的策略集合u的第一策略子集合包括:

a1对应的{id1、id2、id3、id4};

a2对应的{id1、id2、id3、id5};

a3对应的{id2、id5、id6};

a4对应的{id5、id6};

b1对应的{id1、id2、id4};

b2对应的{id6、id7}。

具体的,上述策略集合u对应的示意图可参见图2。

实例二

假设,网络设备当前支持的策略类型为:i、j、g,例如,i可以表示avc策略类型,j可以表示uba策略类型。

在图2所示示意图的基础上,假设,引用a1的策略中策略标识为id1、id2、id3、id4的策略的策略类型为i,标识为id1、id3、id4的策略的策略类型也为j,引用其他匹配项的策略与策略类型之间的关系,可参见图3中最右侧各个“{”中每一行“+”前的信息。

下面结合图3以匹配项a1为例,对第二层策略子集合进行说明:

a1对应的第一层策略子集合包含两个第二层策略子集合,即:策略类型i对应的第二层策略子集合和策略类型j对应的第二层策略子集合。

对于上述策略类型i对应的第二层策略子集合:

目标流量控制策略类型为:i,目标匹配项为:a1,第一类匹配项包括:a1、a2、a3和a4,

从图3中得知:第一类策略标识包括:id1、id2、id3、id4,

第一类集合包括:

i策略类型中引用a1的第一类集合:{id1、id2、id3、id4}、

i策略类型中引用a2是第一类集合:{id2、id3},

这两个集合的交集为:{id2、id3},

第二类集合为:

a1对应的第一层策略子集合中,不包含i策略类型的策略标识的第一层策略子集合{id2、id5、id6}、{id5、id6},

则sub={id2、id3}+{id2、id5、id6}+{id5、id6}={id2、id3、id5、id6},

sub-(上述第一类策略标识∩sub)={id2、id3、id5、id6}-({id1、id2、id3、id4}∩{id2、id3、id5、id6})={id5、id6},

也就是第二类策略标识包括:id5、id6,

所以上述策略类型i对应的第二层策略子集合为:{id1、id2、id3、id4、id5、id6}。

对于上述策略类型j对应的第二层策略子集合:

目标流量控制策略类型为:j,目标匹配项为:a1,第一类匹配项包括:a1、a2、a3和a4,

从图3中得知:第一类策略标识包括:id1、id3、id4,

第一类集合包括:

j策略类型中引用a1的第一类集合:{id1、id3、id4}、

j策略类型中引用a2的第一类集合:{id1、id5}、

j策略类型中引用a3的第一类集合:{id2},

这三个集合的交集为:空集,

第二类集合为:

a1对应的第一层策略子集合中,不包含j策略类型的策略标识的第一层策略子集合{id5、id6},

则sub=空集+{id5、id6}={id5、id6},

sub-(上述第一类策略标识∩sub)={id5、id6}-({id1、id3、id4}∩{id5、id6})={id5、id6},

也就是第二类策略标识包括:id5、id6,

所以上述策略类型j对应的第二层策略子集合为:{id1、id3、id4、id5、id6}。

图3中最右侧各个“{”中每一行表示一个第二层策略子集合,x1-x8分别为除上述两个第二层策略子集合外其它各个第二层策略子集合的第二类策略标识,这些第二层策略子集合的计算方式与上述两个第二层策略子集合的计算方式相同,这里不再赘述。

另外,由于本申请实施例中各个第二层策略子集合是基于流量控制策略类型分别确定并存储的,所以利用本申请实施例提供的策略集合,确定用于对目标报文所属的流量进行控制的策略时,即使网络设备当前能够支持一个以上流量控制策略类型,依然能够基于各个网络流量策略类型并行查找,进而提高了查找效率,从而使得流量控制的效率更高。

下面再结合图3通过一个具体实例对上述流量控制方法进行详细介绍。

实例三

网络设备接收到目标报文后,获取目标报文的属性特征为x,假设,从预设的报文属性特征与匹配项之间的对应关系得知,x对应的匹配项为a1,流量匹配信息表中未记录与x匹配的策略标识,网络设备当前所支持的流量控制策略类型为:i和j。

则从图3所示的策略集合中可以得知,与x匹配的第一层策略子集合为a1对应的第一层策略子集合,该第一层策略子集合包含的两个第二层策略子集合为:

策略类型i对应的第二层策略子集合:{id1、id2、id3、id4、id5、id6}

策略类型j对应的第二层策略子集合:{id1、id3、id4、id5、id6}

{id1、id2、id3、id4、id5、id6}∩{id1、id3、id4、id5、id6}={id1、id3、id4、id5、id6}

假设,上述策略标识的优先级由高到低的顺序为:

id1>id2>id3>id4>id5>id6

则从上述两个第二层策略子集合的交集中选择的、优先级别最高的策略标识为:id1,这样可以采用id1所对应策略指示的控制动作对目标报文所属的流量进行控制。

鉴于上述情况,本申请的一种实现方式中,流量匹配信息表还可以包括:与策略标识对应的网络设备所支持的流量控制策略类型的类型信息;这种情况下,s102中查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识时,可以根据上述类型信息在流量匹配信息表中的顺序,依次查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识。

基于前述各个实施例,本申请的一种实现方式中,当选择出的每个第二层策略子集合包含的至少一个策略标识中不存在上述至少一个共同的策略标识时,根据预设的控制动作对目标报文所属的流量进行控制;并将上述预设的控制动作对应的策略标识存储至流量匹配信息表中。

其中,上述预设的控制动作可以是“阻断”等等。

基于前面描述的情况,将预设的控制动作的策略标识存储至流量匹配信息表中,可以理解为:确定目标报文的属性特征与上述预设的控制动作对应的策略的策略标识之间的对应关系,并将所确定的对应关系存储至流量匹配信息表中。

这样不仅可以便捷的对目标报文所属的流量进行控制,而且在作为执行主体的网络设备再次接收到属性特征与目标报文一致的报文时,可以直接从流量匹配信息表中查找到用于对报文所属流量进行控制的策略的策略标识,进而提高流量控制的效率。

本申请的一种实现方式中,如果流量匹配信息表中存在与目标报文的属性特征匹配的策略标识时,根据已存在的策略标识对应的控制动作,对目标报文所属的流量进行控制。

具体的,根据已存在的策略标识对应的控制动作,对目标报文所属的流量进行控制即为:根据流量匹配信息表中与目标报文的属性特征匹配的策略标识所对应策略指示的控制动作,对目标报文所属的流量进行控制。

这样仅仅依据流量匹配信息表即可确定用于对目标报文所属的流量进行控制的策略,因此能够更进一步提高流量控制的效率。

本申请的一种实现方式中,参见图4,提供了第二种流量控制方法的流程示意图,上述流量匹配信息表还包括:与策略标识对应的策略集合的版本号信息。

本实施例中,对于流量匹配信息表记录的每一策略标识而言,不仅具有相匹配的报文的属性特征,还具有相对应的策略集合版本号信息,而从前面的描述可以得知,确定与报文的属性特征相匹配的策略标识时,需要参考当时的策略集合,所以,一个策略标识相对应的策略集合版本号信息可以理解为:确定报文的属性特征与该策略标识相匹配时参考的策略集合的版本号信息。

具体的,上述流量控制方法包括:

s401、当接收到目标报文时,获取目标报文的属性特征。

s402、查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识,如果未存在与目标报文的属性特征匹配的策略标识,则执行s403-s405,如果存在与目标报文的属性特征匹配的策略标识,执行s406-s407。

s403、从策略集合中,选择与目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合。

s404、当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从至少一个共同的策略标识中确定出优先级别最高的策略标识。

s405、根据确定出的优先级别最高的策略标识对应的控制动作,对目标报文所属的流量进行控制。

需要说明的是,上述s401-s405与前述图1所示实施例中s101-s105相同,这里不再赘述。

s406、判断流量匹配信息表中的版本号信息是否与策略集合的当前版本号信息相同,如果流量匹配信息表中的版本号信息与策略集合的当前版本号信息相同,执行s407,如果流量匹配信息表中的版本号信息与策略集合的当前版本号信息不同,执行s403。

上述流量匹配信息表中的版本号信息为:流量匹配信息表中记录的、与目标报文的属性特征相匹配的策略标识对应的版本号信息。

由于用户对流量控制的需求等因素发生变化,可能会导致用户修改一些策略,进而导致这些策略所引用的匹配项发生变化,这种情况下,为保证策略集合中记录的信息准确,需要对策略集合中记录的信息进行更新,为区别更新前与更新后的策略集合,可以为策略集合增加版本号信息。

经判断得知流量匹配信息表中的版本号信息与策略集合的当前版本号信息相同时,说明策略集合中记录的信息未发生变化,也就是各个策略未发生变化;而不相同时,说明策略集合中记录的信息发生了变化,也就是策略中可能存在发生变化的策略,此时难以保证流量匹配信息表中记录的与目标报文的属性特征相匹配的策略标识对应的策略未发生变化,在流量控制要求较高的情况下可以不再依据流量匹配信息表中记录的与目标报文的属性特征相匹配的策略标识对应的策略进行流量控制。

s407、根据已存在的策略标识对应的控制动作,对目标报文所属的流量进行控制。

由以上可见,本实施例提供的方案中,通过判断流量匹配信息表中记录的、目标特征对应的集合版本是否与策略匹配项引用集合的当前版本一致,确定是否存在控制策略发生变化的可能,进而尽可能的保证采用准确的控制策略对目标所属的流量进行控制,因此能够大大提高流量控制的准确性。

本申请的一种实现方式中,上述流量控制方法还可以包括:

检测是否存在所引用匹配项发生变化的策略;

若存在,根据检测到的策略更新策略集合,并更新策略集合的版本号信息。

具体的,上述所引用匹配项发生变化的策略可以包括以下几种情况中的至少一种:

新增的策略;

增加、减少或者修改所引用匹配项的策略;

删除了的策略等等。

检测到所引用匹配项发生变化的策略后,对检测到的策略所涉及的第一层策略子集合和第二层策略子集合进行更新。

下面结合图3和图5对本实现方式进行举例说明。

图3所示的是原始策略集合,图5所示的是存在引用匹配项发生变化的策略的策略集合。

通过对比图3和图5可以得知,策略集合中所引用匹配发生变化的策略的策略标识如下:

id1:对应策略被删除;

id4:对应策略从图3中引用匹配项a1变为图5中不再引用匹配项a1,也就是减少了所引用的匹配项;

id8:对应策略为新增的策略,这一策略所引用的匹配项为a1,所属的策略类型为i。

按照前述关于第二层策略子集合的描述,a1对应的第一层策略子集合包含的两个第二层策略子集合,具体如下:

对于策略类型i对应的第二层策略子集合

由{id1、id2、id3、id4、id5、id6}更新为:{id2、id3、id8、id5、id6};

对于策略类型j对应的第二层策略子集合:

由{id1、id3、id4、id5、id6}更新为:{id3、id4、id5、id6}。

策略集合中其他相关的第二层策略子集合也会发生变化,这里不再一一叙述。

本实现方式中检测到控制策略发生变化后,对策略匹配项引用集合进行更新,能够有效保证策略匹配项引用集合的准确性。

与上述流量控制方法相对应,本申请实施例还提供了一种流量控制装置。

图6为本申请实施例提供的一种流量控制装置的结构示意图,该装置应用于网络设备,所述网络设备中存储有用于流量控制的策略集合,所述策略集合包含至少一个与一种过滤条件中的一个匹配项对应的第一层策略子集合,每个第一层策略子集合包含至少一个第二层策略子集合,每个第二层策略子集合包含属于同一流量控制策略类型的至少一个策略标识;所述装置包括:

特征获取模块601,用于当接收到目标报文时,获取所述目标报文的属性特征;

标识查找模块602,用于查找流量匹配信息表中是否存在与所述目标报文的属性特征匹配的策略标识,在未存在与所述目标报文的属性特征匹配的策略标识时,触发子集合选择模块603;

所述子集合选择模块603,用于从所述策略集合中,选择与所述目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合;

标识确定模块604,用于当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从所述至少一个共同的策略标识中确定优先级别最高的策略标识;

第一流量控制模块605,用于根据确定出的优先级别最高的策略标识对应的控制动作,对所述目标报文所属的流量进行控制。

具体的,每个所述第一层策略子集合包含至少一个第二层策略子集合,每个所述第二层策略子集合包含归属于同一流量控制策略类型且引用所述匹配项的至少一个策略标识;

所述流量控制策略类型为所述网络设备当前所支持的策略类型。

具体的,所述第二层策略子集合包含第一类策略标识集合和第二类策略标识集合;

所述第一类策略标识集合具体为:所述网络设备支持的一种策略类型中,引用所述匹配项的策略标识形成的集合;

所述第二类策略标识集合具体为:所述网络设备支持的一种流量控制策略类型中,未引用所述匹配项的策略标识形成的集合;

所述第二类策略标识集合通过下述表达式确定:

所述第二类策略标识集合=sub-(所述第一类策略标识集合∩sub)

其中,所述sub具体为:归属于同一过滤条件,引用不同所述匹配项且属于同一流量控制策略类型的所述至少一个第二层策略子集合形成的交集+归属于同一过滤条件,引用不同所述匹配项且不属于同一流量控制策略类型的所述至少一个第二层策略子集合;

所述至少一个共同的策略标识,具体为:对所述至少一个第二层策略子集合包含的所述第一类策略标识集合和所述第二类策略标识集合进行取交集处理得到的策略标识。

具体的,所述流量控制装置还可以包括:

第二流量控制模块,用于当选择出的每个第二层策略子集合包含的至少一个策略标识中不存在所述至少一个共同的策略标识时,根据预设的控制动作对所述目标报文所属的流量进行控制;

标识存储模块,用于将所述预设的控制动作对应的策略标识存储至所述流量匹配信息表中。

具体的,所述流量匹配信息表还包括:与策略标识对应的所述网络设备所支持的策略类型的类型信息;

所述标识查找模块,具体用于根据所述类型信息在所述流量匹配信息表中的顺序,依次查找所述流量匹配信息表中是否存在与所述目标报文的属性特征匹配的策略标识。

由以上可见,本实施例提供的方案中,网络设备中存储了用于流量控制的策略集合,当上述网络设备接收到目标报文时,获取目标报文的属性特征,并查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识。在不存在的情况下,根据目标报文的属性特征,在策略集合中逐层进行选择,得到与目标报文的属性特征匹配的策略标识,以及该策略标识对应的控制动作,进而实现对目标报文所属的流量进行控制。与现有技术相比,本实施例中,将对报文执行的控制动作通过与策略标识进行对应,并将大量的策略标识整合在集合中,无需目标报文与策略逐个进行匹配,进而能够提高流量控制过程中策略的匹配效率,减少资源耗用。

具体的,所述流量控制装置还可以包括:

第三流量控制模块,用于存在与所述目标报文的属性特征匹配的策略标识时,根据已存在的策略标识对应的控制动作,对所述目标报文所述的流量进行控制。

基于上述情况,本申请的一种实现方式中,参见图7,提供了第二种流量控制装置的结构示意图,本实现方式中,所述流量匹配信息表还包括:与策略标识对应的所述策略集合的版本号信息;

标识查找模块602确定流量匹配信息表中存在与所述目标报文的属性特征匹配的策略标识时,触发版本号判断模块606;

上述流量控制装置还包括:

版本号判断模块606,用于判断所述流量匹配信息表中的所述版本号信息是否与所述策略集合的当前版本号信息相同,如果所述流量匹配信息表中的所述版本号信息与所述策略集合的当前版本号信息相同,则触发所述第三流量控制模块,如果所述流量匹配信息表中的所述版本号信息与所述策略集合的当前版本号信息不同,则触发所述子集合选择模块603。

由以上可见,本实施例提供的方案中,通过判断流量匹配信息表中记录的、目标特征对应的集合版本是否与策略匹配项引用集合的当前版本一致,确定是否存在控制策略发生变化的可能,进而尽可能的保证采用准确的控制策略对目标所属的流量进行控制,因此能够大大提高流量控制的准确性。

具体的,所述流量控制装置还可以包括:

变化检测模块,用于检测是否存在所引用匹配项发生变化的策略,若存在,触发集合更新模块;

所述集合更新模块,用于根据检测到的策略更新所述策略集合,并更新所述策略集合的版本号信息。

本实现方式中检测到控制策略发生变化后,对策略匹配项引用集合进行更新,能够有效保证策略匹配项引用集合的准确性。

与前述流量控制方法、流量控制装置相对应,本申请实施例还提供了一种网络设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例所述的流量控制方法步骤。

具体的,上述网络设备中存储有用于流量控制的策略集合,所述策略集合包含至少一个与一种过滤条件中的一个匹配项对应的第一层策略子集合,每个第一层策略子集合包含至少一个第二层策略子集合,每个第二层策略子集合包含属于同一流量控制策略类型的至少一个策略标识;上述流量控制方法包括:

当接收到目标报文时,获取所述目标报文的属性特征;

查找流量匹配信息表中是否存在与所述目标报文的属性特征匹配的策略标识;

如果未存在与所述目标报文的属性特征匹配的策略标识,则从所述策略集合中,选择与所述目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合;

当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从所述至少一个共同的策略标识中确定优先级别最高的策略标识;

根据确定出的优先级别最高的策略标识对应的控制动作,对所述目标报文所属的流量进行控制。

需要说明的是,上述处理器执行机器可执行指令而实现的流量控制方法的其他实施例与前述方法实施例部分的提供的流量控制方法实施例相同,这里不再赘述。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由以上可见,本申请实施例提供的方案中,网络设备中存储了用于流量控制的策略集合,当上述网络设备接收到目标报文时,获取目标报文的属性特征,并查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识。在不存在的情况下,根据目标报文的属性特征,在策略集合中逐层进行选择,得到与目标报文的属性特征匹配的策略标识,以及该策略标识对应的控制动作,进而实现对目标报文所属的流量进行控制。与现有技术相比,本申请实施例中,将对报文执行的控制动作通过与策略标识进行对应,并将大量的策略标识整合在集合中,无需目标报文与策略逐个进行匹配,进而能够提高流量控制过程中策略的匹配效率,减少资源耗用。

与前述流量控制方法、流量控制装置相对应,本申请实施例还提供了一种机器可读存储介质,该机器可读存储介质为网络设备中的存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例所述的流量控制方法步骤。

具体的,上述网络设备中存储有用于流量控制的策略集合,所述策略集合包含至少一个与一种过滤条件中的一个匹配项对应的第一层策略子集合,每个第一层策略子集合包含至少一个第二层策略子集合,每个第二层策略子集合包含属于同一流量控制策略类型的至少一个策略标识;上述流量控制方法包括:

当接收到目标报文时,获取所述目标报文的属性特征;

查找流量匹配信息表中是否存在与所述目标报文的属性特征匹配的策略标识;

如果未存在与所述目标报文的属性特征匹配的策略标识,则从所述策略集合中,选择与所述目标报文的属性特征匹配的至少一个第一层策略子集合,并从选择出的第一层策略子集合中,选择属于同一流量控制策略类型对应的至少一个第二层策略子集合;

当选择出的每个第二层策略子集合包含的至少一个策略标识中存在至少一个共同的策略标识时,从所述至少一个共同的策略标识中确定优先级别最高的策略标识;

根据确定出的优先级别最高的策略标识对应的控制动作,对所述目标报文所属的流量进行控制。

需要说明的是,上述机器可读存储介质中存储的机器可执行指令被处理器执行而实现的流量控制方法的其他实施例,与前述方法实施例部分的提供的流量控制方法实施例相同,这里不再赘述。

由以上可见,本实施例提供的方案中,网络设备的上述机器可读存储介质中存储了用于流量控制的策略集合,当上述网络设备接收到目标报文时,获取目标报文的属性特征,并查找流量匹配信息表中是否存在与目标报文的属性特征匹配的策略标识。在不存在的情况下,根据目标报文的属性特征,在策略集合中逐层进行选择,得到与目标报文的属性特征匹配的策略标识,以及该策略标识对应的控制动作,进而实现对目标报文所属的流量进行控制。与现有技术相比,本申请实施例中,将对报文执行的控制动作通过与策略标识进行对应,并将大量的策略标识整合在集合中,无需目标报文与策略逐个进行匹配,进而能够提高流量控制过程中策略的匹配效率,减少资源耗用。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、网络设备、机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

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