掌桥专利:专业的专利平台
掌桥专利
首页

一种OVS流表创建方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:21


一种OVS流表创建方法、装置、设备及介质

技术领域

本发明属于网络流量管理技术领域,具体涉及一种OVS流表创建方法、装置、设备及介质。

背景技术

OVS,是Open Virtual Swi tch的简称,是一种开源虚拟机交换机。在当前互联网的网络环境中,为保证网络性能和安全性能需要进行网络流量管理,OVS因为可借助流表来对网络流量进行匹配和动作分发,已经成为虚拟化和软件定义网络中的重要组件,通过OVS流表可以实现流量的控制和优化。

传统的OVS流表中通常根据源IP地址、目的IP地址、源端口以及目的端口等关键在来进行流量匹配,匹配成功后再执行相应的动作,但随着网络流量规模的增加和流量特征的多样化,传统OVS流表匹配方式已经难以满足现代网络环境的需求。首先,传统流表中作为匹配条件的关键字数量有限,无法识别和管理各种类型的网络流量;其次,传统流表中的行动选项相对有限,无法提供灵活和高效的流量控制策略。

再者,当前流表管理是对OVS中的单条流表进行添加、修改和删除等操作,单条流表中可以配置多个匹配条件以及动作,通常将流表绑定到对应的网桥或端口上,再通过配置的流表对流量进行处理。此种流表管理方式在进行多个匹配条件组合配置时,若此匹配条件组合同时适用于多个网桥,需要在每个网桥配置一遍,容易遗漏匹配条件或出错,同样多个动作组合配置适用于多个网桥的情景也不能复用。而且,当前绑定到网桥的流表和绑定网桥时指定端口的流表同时存在,不易于管理,配置复杂。

因此,针对上述缺陷,提供一种OVS流表创建方法、装置、设备及介质,是非常有必要的。

发明内容

针对上述传统流表中匹配条件和执行动作数量有限,识别网络流量类型和流量控制策略受限,当前流表管理方式进行多个匹配条件组合以及多个动作组合配置时无法复用,需要在每个网桥或端口一遍遍重复设置,且绑定到网桥的流表和指定端口的流表同时存在,管理混乱,配置复杂的缺陷,本发明提供一种OVS流表创建方法、装置、设备及介质,以解决上述技术问题。

第一方面,本发明提供一种OVS流表创建方法,包括如下步骤:

为OVS流表创建匹配条件模板和执行动作模板;

使用匹配条件模板和执行动作模板在OVS系统创建层级式流表;

使用层级式流表逐级对OVS系统接收的流量转发过滤。

进一步地,为OVS流表创建匹配条件模板和执行动作模板的具体步骤如下:

对原OVS流表进行统计,建立匹配条件集合和执行动作集合;

根据需求从匹配条件集合中选取待聚合匹配条件或统计出匹配条件集合中同时使用次数大于阈值的匹配条件作为待聚合匹配条件;

根据需求从执行动作集合中选取待聚合执行动作或统计出执行动作集合中同时使用次数大于阈值的执行动作作为待聚合执行动作;

将待聚合匹配条件组合生成匹配条件模板并进行命名,将匹配条件模板、名称以及匹配条件模板的各匹配条件保存到OVS数据库;

将待聚合执行动作组合生成执行动作模板并进行命名,将执行动作模板、名称以及执行动作模板的各执行动作保存到OVS数据库;

在OVS数据库创建匹配条件模板及执行动作模板的增加接口、删除接口以及修改接口。在原流表直接配置匹配条件和执行动作的基础上,将匹配条件和执行动作抽取出来,匹配条件组合形成匹配条件模板,执行动作组合形成执行动作模板。

进一步地,使用匹配条件模板和执行动作模板在OVS系统创建层级式流表的具体步骤如下:

判断是否需要创建OVS系统级流表;

需要创建OVS系统级流表时,获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表;

不需要创建OVS系统级流表或OVS系统级流表创建完毕后,依次判断各网桥是否需要创建网桥级流表;

需要创建网桥级流表时,获取网桥的网桥流量管理需求,根据网桥流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在网桥使用查找到的匹配条件模板及执行动作模板创建网桥级流表;

不需要创建网桥级流表或网桥级流表创建完毕后,依次判断网桥下各端口是否需要创建端口级流表;

需要创建端口级流表时,获取端口的端口流量管理需求,根据端口流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在端口使用查找到的匹配条件模板及执行动作模板创建端口级流表;

不需要创建端口级流表或端口级流表创建完毕后,进入流量管理步骤。流表原来的配置匹配条件和执行动作替换为配置匹配条件模板和执行动作模板,获取到匹配条件模板名称后,根据匹配条件模板名称从OVS数据库获取到具体匹配条件,同样,获取到执行动作模板名称后,根据执行动作模板名称,获取到具体执行动作。通过逐级配置方式线配置OVS系统级流表,再配置网桥级流表,最后配置端口级流表,将流表划分级便于后续逐级对流量分级进行处理。

进一步地,获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表的具体步骤如下:

获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表的具体步骤如下:

获取OVS系统的系统流量管理需求,查找OVS数据库并判断OVS数据库中各匹配条件模板是否满足系统流量管理需求;

当OVS数据库中匹配条件模板满足系统级流量管理需求时,选取并使用满足条件的匹配条件模板进行OVS系统流表设置,进入执行动作模板的系统流量管理需求判断步骤;

当OVS数据库中匹配条件模板不满足系统级流量管理需求时,依据系统流量管理需求在OVS系统逐条设置匹配条件;

根据系统流量管理需求,查找OVS数据库并判断OVS数据库中各执行动作模板是否满足系统流量管理需求;

当OVS数据库中执行动作模板满足系统流量管理需求时,选取并使用满足条件的执行动作模板进行OVS系统流表设置,进入网桥级流表创建判断步骤;

当OVS数据库中匹配条件模板不满足系统级流量管理需求时,依据系统流量管理需求在OVS系统逐条设置执行动作;

获取网桥的网桥流量管理需求,根据网桥流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在网桥使用查找到的匹配条件模板及执行动作模板创建网桥级流表具体步骤如下:

获取网桥的网桥流量管理需求,查找OVS数据库并判断OVS数据库中各匹配条件模板是否满足网桥流量管理需求;

当OVS数据库中匹配条件模板满足网桥级流量管理需求时,选取并使用满足条件的匹配条件模板,进行网桥流表设置,进入执行动作模板的网桥级流量管理需求判断步骤;

当OVS数据库中匹配条件模板不满足网桥级流量管理需求时,依据网桥流量管理需求在网桥逐条设置匹配条件;

根据网桥流量管理需求,查找OVS数据库并判断OVS数据库中各执行动作模板是否满足网桥流量管理需求;

当OVS数据库中执行动作模板满足网桥级流量管理需求时,选取并使用满足条件的执行动作模板进行网桥流表设置,进入端口级流表创建判断步骤;

当OVS数据库中执行动作模板不满足网桥级流量管理需求时,依据网桥流量管理需求在网桥逐条设置执行动作;

获取端口的端口流量管理需求,根据端口流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在端口使用查找到的匹配条件模板及执行动作模板创建端口级流表具体步骤如下:

获取端口的端口流量管理需求,查找OVS数据库并判断OVS数据库中各匹配条件模板是否满足端口流量管理需求;

当OVS数据库中匹配条件模板满足端口流量管理需求时,选取并使用满足条件的匹配条件模板进行端口流表设置,进入端口级流表创建判断步骤;

当OVS数据库中匹配条件模板不满足端口级流量管理需求时,依据端口流量管理需求在端口逐条设置匹配条件;

根据端口流量管理需求,查找OVS数据库并判断OVS数据库中各执行动作模板是否满足端口流量管理需求;

当OVS数据库中执行动作模板满足端口流量管理需求时,选取并使用满足条件的执行动作模板进行端口流表设置,进入流量管理步骤;

当OVS数据库中执行动作模板不满足端口流量管理需求时,依据端口流量管理需求在端口逐条设置执行动作。在进行流表配置时,若OVS数据库中没有合适的匹配条件模板和执行动作模板,仍可使用原有单独配置匹配条件及执行动作方式进行配置。

进一步地,使用层级式流表逐级对OVS系统接收的流量逐级转发过滤具体步骤如下:

OVS系统接收到外部设备的流量后,获取OVS系统级流表中匹配条件模板和执行动作模板;

从OVS数据库中查找OVS系统级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

OVS系统使用查找到的各匹配条件对外部设备流量进行过滤,再使用查找到的各执行动作对过滤后流量进行处理,确定目的网桥进行流量转发;

接收到OVS系统转发流量的目的网桥,获取网桥级流表中匹配条件模板和执行动作模板;

从OVS数据库中查找网桥级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

目的网桥使用查找到的各匹配条件对OVS系统转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,确定目的端口进行流量转发;

接收到目的网桥转发流量的目的端口,获取端口级流表中匹配条件模板和执行动作模板;

从OVS数据库中查找端口级流表的匹配条件模板对应各匹配条件以及执行动作;

目的端口使用查找到的各匹配条件对目的网桥转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,完成流量转发。按照流表级别分级对流量进行处理,其中,系统级流表可从整体对所有流量拦截或转发,实现了流量的统一处理,各网桥和端口的流表又实现了精确的流量处理。

进一步地,OVS数据库中还保存有默认OVS系统级流表、默认网桥级流表和默认端口级流表;

在OVS系统级流表创建判断步骤中,当不需要创建OVS系统级流表时,在OVS系统使用默认OVS系统级流表,进入网桥级流表创建判断步骤;

在网桥级流表创建判断步骤中,当不需要创建网桥级流表时,在网桥使用默认网桥级流表,网桥级流表创建判断步骤;

在端口级流表创建判断步骤中,当不需要创建端口级流表时,在端口使用默认端口级流表,进入流量管理步骤;

在获取OVS系统级流表的匹配条件模板和执行动作模板步骤中,OVS系统接收到外部设备的流量后,判断是否存在OVS默认系统级流表;

若是,OVS系统不对外部设备流量进行管理,将OVS系统各个网桥均作为目的网桥,进入获取网桥级流表的匹配条件模板和执行动作模板步骤;

若否,获取OVS系统级流表的匹配条件模板和执行动作模板,进入从OVS数据库查找匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作的步骤;

在获取网桥级流表中匹配条件模板和执行动作模板步骤中,接收到OVS系统转发流量的目的网桥,判断是否存在默认网桥级流表;

若是,目的网桥不对OVS系统流量进行管理,将目的网桥下各个端口均作为目的端口,进入获取端口级流表中匹配条件模板和执行动作模板步骤;

若否,获取网桥级流表的匹配条件模板和执行动作模板,进入从OVS数据库查找匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作的步骤;

在获取端口级流表中匹配条件模板和执行动作模板步骤中,接收到目的网桥转发流量的目的端口,判断是否存在默认端口级流表;

若是,目的端口不对目的网桥流量进行管理,直接进行流量转发。默认流表便于选择是否配置各级流表,对于选择不配置的流表,可通过默认流表不对流量进行处理,避免了未配置流表而出现的影响流量转发的情形。

进一步地,在网桥级流表创建判断步骤中,判断需要创建网桥级流表的各网桥是否存在相同类型,当存在类型相同的网桥时,网桥级流表创建步骤中完成首个网桥级流表创建后,将该网桥级流表直接复制到同类型网桥,完成同类型网桥的网桥级流表创建;

在端口流表创建判断步骤中,中判断需要创建端口级流表的各端口是否存在相同类型,当存在相同类型的端口时,端口级流表创建步骤中,完成首个端口级流表创建后,将该端口级流表直接负责到同类型端口,完成同类型端口的端口级流表创建。对于同类型网桥或端口,需要配置的流表相同,匹配条件模板和执行动作的模板的使用使得可在完成一个流表配置后,将流表配置简单进行复制即可。

第二方面,本发明提供一种OVS流表创建装置,包括:

模板生成模块,用于为OVS流表创建匹配条件模板和执行动作模板;

流表分级创建模块,用于使用匹配条件模板和执行动作模板在OVS系统创建层级式流表;

流量管理模块,用于使用层级式流表逐级对OVS系统接收的流量转发过滤。

进一步地,模板生成模块包括:

集合建立单元,用于对原OVS流表进行统计,建立匹配条件集合和执行动作集合;

待聚合匹配条件获取单元,用于根据需求从匹配条件集合中选取待聚合匹配条件或统计出匹配条件集合中同时使用次数大于阈值的匹配条件作为待聚合匹配条件;

待聚合执行动作获取单元,用于根据需求从执行动作集合中选取待聚合执行动作或统计出执行动作集合中同时使用次数大于阈值的执行动作作为待聚合执行动作;

匹配条件模板保存单元,用于将待聚合匹配条件组合生成匹配条件模板并进行命名,将匹配条件模板、名称以及匹配条件模板的各匹配条件保存到OVS数据库;

执行动作模板保存单元,用于将待聚合执行动作组合生成执行动作模板并进行命名,将执行动作模板、名称以及执行动作模板的各执行动作保存到OVS数据库;

模板编辑接口创建单元,用于在OVS数据库创建匹配条件模板及执行动作模板的增加接口、删除接口以及修改接口。

进一步地,流表分级创建模块包括:

系统流表创建判断单元,用于判断是否需要创建OVS系统级流表;

系统流表创建单元,用于需要创建OVS系统级流表时,获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表;

网桥流表创建判断单元,用于不需要创建OVS系统级流表或OVS系统级流表创建完成后,依次判断各网桥是否需要创建网桥级流表;

网桥流表创建单元,用于需要创建网桥级流表时,获取网桥的网桥流量管理需求,根据网桥流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在网桥使用查找到的匹配条件模板及执行动作模板创建网桥级流表;

端口级流表创建判断单元,用于不需要创建网桥级流表或网桥级流表创建完成时,依次判断网桥下各端口是否需要创建端口级流表;

端口级流表创建单元,用于需要创建端口级流表时,获取端口的端口流量管理需求,根据端口流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在端口使用查找到的匹配条件模板及执行动作模板创建端口级流表。

进一步地,流量管理模块包括:

系统模板获取单元,用于在OVS系统接收到外部设备的流量后,获取OVS系统级流表中匹配条件模板和执行动作模板;

系统流表匹配条件及执行动作查找单元,用于从OVS数据库中查找OVS系统级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

系统流量管理单元,用于在OVS系统使用查找到的各匹配条件对外部设备流量进行过滤,再使用查找到的各执行动作对过滤后流量进行处理,确定目的网桥进行流量转发;

网桥模板获取单元,用于在接收到OVS系统转发流量的目的网桥,获取网桥级流表中匹配条件模板和执行动作模板;

网桥流表匹配条件及执行动作查找单元,用于从OVS数据库中查找网桥级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

网桥流量管理单元,用于在目的网桥使用查找到的各匹配条件对OVS系统转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,确定目的端口进行流量转发;

端口模板获取单元,用于在接收到目的网桥转发流量的目的端口,获取端口级流表中匹配条件模板和执行动作模板;

端口流表匹配条件及执行动作查找单元,用于从OVS数据库中查找端口级流表的匹配条件模板对应各匹配条件以及执行动作;

端口流量管理单元,用于在目的端口使用查找到的各匹配条件对目的网桥转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,完成流量转发。

第三方面,本发明提供一种计算机设备,包括处理器和存储器;

其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得计算机设备执行上述第一方面所述的方法。

第四方面,本发明提供了一种存储介质,

所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

本发明的有益效果在于:

本发明提供的OVS流表创建方法、装置、终端及存储介质,将OVS流表的匹配条件及执行动作分别组合形成模板,利于流表的配置和复用,方便管理,将流表划分等级,逐级处理,实现兼顾流量的统一处理和精确分类后处理。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

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

图1是本发明的OVS流表创建方法实施例1流程示意图。

图2是本发明的OVS流表设创建方法实施例2流程示意图。

图3是本发明的创建OVS系统级流表的流程示意图。

图4是本发明的创建网桥级流表的流程示意图。

图5是本发明的创建端口级流表的流程示意图。

图6是本发明的OVS流表创建装置示意图。

具体实施方式

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

实施例1:

如图1所示,本发明提供一种OVS流表创建管理方法,包括如下步骤:

S1.为OVS流表创建匹配条件模板和执行动作模板;

S2.使用匹配条件模板和执行动作模板在OVS系统创建层级式流表;

S 3.使用层级式流表逐级对OVS系统接收的流量转发过滤。

实施例2:

如图2所示,本发明提供一种OVS流表创建方法,包括如下步骤:

S1.为OVS流表创建匹配条件模板和执行动作模板;步骤S1具体步骤如下:

S11.对原OVS流表进行统计,建立匹配条件集合和执行动作集合;

S12.根据需求从匹配条件集合中选取待聚合匹配条件或统计出匹配条件集合中同时使用次数大于阈值的匹配条件作为待聚合匹配条件;

S13.根据需求从执行动作集合中选取待聚合执行动作或统计出执行动作集合中同时使用次数大于阈值的执行动作作为待聚合执行动作;

S14.将待聚合匹配条件组合生成匹配条件模板并进行命名,将匹配条件模板、名称以及匹配条件模板的各匹配条件保存到OVS数据库;

S15.将待聚合执行动作组合生成执行动作模板并进行命名,将执行动作模板、名称以及执行动作模板的各执行动作保存到OVS数据库;

S16.在OVS数据库创建匹配条件模板及执行动作模板的增加接口、删除接口以及修改接口;

S2.使用匹配条件模板和执行动作模板在OVS系统创建层级式流表;步骤S2具体如下:

S21.判断是否需要创建OVS系统级流表;

若是,进入步骤S22;

若否,进入步骤S23;

S22.获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表;

S23.依次判断各网桥是否需要创建网桥级流表;

若是,进入步骤S24;

若否,进入步骤S25;

S24.获取网桥的网桥流量管理需求,根据网桥流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在网桥使用查找到的匹配条件模板及执行动作模板创建网桥级流表;

S25.依次判断网桥下各端口是否需要创建端口级流表;

若是,进入步骤S26;

若否,进入步骤S 3;

S26.获取端口的端口流量管理需求,根据端口流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在端口使用查找到的匹配条件模板及执行动作模板创建端口级流表;

S 3.使用层级式流表逐级对OVS系统接收的流量逐级转发过滤;步骤S 3具体步骤如下:

S 31.OVS系统接收到外部设备的流量后,获取OVS系统级流表中匹配条件模板和执行动作模板;

S 32.从OVS数据库中查找OVS系统级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

S 33.OVS系统使用查找到的各匹配条件对外部设备流量进行过滤,再使用查找到的各执行动作对过滤后流量进行处理,确定目的网桥进行流量转发;

S 34.接收到OVS系统转发流量的目的网桥,获取网桥级流表中匹配条件模板和执行动作模板;

S 35.从OVS数据库中查找网桥级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

S 36.目的网桥使用查找到的各匹配条件对OVS系统转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,确定目的端口进行流量转发;

S 37.接收到目的网桥转发流量的目的端口,获取端口级流表中匹配条件模板和执行动作模板;

S 38.从OVS数据库中查找端口级流表的匹配条件模板对应各匹配条件以及执行动作;

S 39.目的端口使用查找到的各匹配条件对目的网桥转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,完成流量转发。

实施例3:

如图2所示,本发明提供一种OVS流表创建方法,包括如下步骤:

S1.为OVS流表创建匹配条件模板和执行动作模板;步骤S1具体步骤如下:

S11.对原OVS流表进行统计,建立匹配条件集合和执行动作集合;

S12.根据需求从匹配条件集合中选取待聚合匹配条件或统计出匹配条件集合中同时使用次数大于阈值的匹配条件作为待聚合匹配条件;

S13.根据需求从执行动作集合中选取待聚合执行动作或统计出执行动作集合中同时使用次数大于阈值的执行动作作为待聚合执行动作;

S14.将待聚合匹配条件组合生成匹配条件模板并进行命名,将匹配条件模板、名称以及匹配条件模板的各匹配条件保存到OVS数据库;

S15.将待聚合执行动作组合生成执行动作模板并进行命名,将执行动作模板、名称以及执行动作模板的各执行动作保存到OVS数据库;

S16.在OVS数据库创建匹配条件模板及执行动作模板的增加接口、删除接口以及修改接口;在原流表直接配置匹配条件和执行动作的基础上,将匹配条件和执行动作抽取出来,匹配条件组合形成匹配条件模板,执行动作组合形成执行动作模板;

匹配条件模板是将多个匹配条件组合为一个匹配条件模板,OVS数据库中通过“ovs-ofctladd-tmpl匹配条件模板名称第一匹配条件,第二匹配条件…”命令新增匹配条件模板,通过“ovs-ofctldel-tmpl匹配条件模板名称第一匹配条件,第二匹配条件…”命令删除匹配条件模板,通过“ovs-ofctlmod-tmpl匹配条件模板名称第一匹配条件,第二匹配条件…”命令修改匹配条件模板;

执行动作模板是将多个执行动作组合为一个匹配条件模板,OVS数据库中通过“ovs-ofctladd-tmpl执行动作模板名称第一执行动作,第二执行动作…”命令新增匹配条件模板,通过“ovs-ofctldel-tmpl执行动作模板名称第一执行动作,第二执行动作…”命令删除执行动作模板,通过“ovs-ofctlmod-tmpl执行动作模板名称第一执行动作,第二执行动作…”命令修改执行动作模板;

OVS数据库中记录的匹配条件模板格式为(匹配条件ID、匹配条件名称、第一匹配条件、第二匹配条件……);OVS数据库中记录的执行动作格式为(执行动作ID、执行动作名称、第一执行动作、第二执行动作……);

匹配条件决定了流量中哪些数据将被处理,例如匹配条件1为流量中源地址为第一IP地址的数据,匹配条件2为流量中目的地址为第二IP地址的数据,匹配条件3为流量中协议号为A的数据;

执行动作决定了流量中匹配到的数据该如何处理,例如执行动作1对流量中数据进行拦截,执行动作2为对流量中数据进行转发,执行动作3为对流量中数据从本地端口转发;

流表通过匹配条件与执行动作结合来对流量进行处理,例如匹配条件1与执行动作2结合为对流量中源地址为第一IP地址的数据进行转发,匹配条件2与执行动作结合为对流量中目的地址为第二IP地址的数据进行拦截;

流表中匹配条件与执行动作模板化之后,可以实现多个匹配条件及多个执行动作的一次性配置;

OVS数据库中还保存有默认OVS系统级流表、默认网桥级流表和默认端口级流表;

S2.使用匹配条件模板和执行动作模板在OVS系统创建层级式流表;步骤S2具体如下:

S21.判断是否需要创建OVS系统级流表;

若是,进入步骤S22;

若否,在OVS系统使用默认OVS系统级流表,进入步骤S23;

S22.获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表;如图3所示,步骤S22具体步骤如下:

S221.获取OVS系统的系统流量管理需求,查找OVS数据库并判断OVS数据库中各匹配条件模板是否满足系统流量管理需求;

若是,进入步骤S222;

若否,进入步骤S223;

S222.选取并使用满足条件的匹配条件模板进行OVS系统流表设置,进入步骤S224;

S223.依据系统流量管理需求在OVS系统逐条设置匹配条件;

S224.根据系统流量管理需求,查找OVS数据库并判断OVS数据库中各执行动作模板是否满足系统流量管理需求;

若是,进入步骤S225;

若否,进入步骤S226;

S225.选取并使用满足条件的执行动作模板进行OVS系统流表设置,进入步骤S23;

S226.依据系统流量管理需求在OVS系统逐条设置执行动作;

S23.依次判断各网桥是否需要创建网桥级流表;

若是,进入步骤S24;

若否,在网桥使用默认网桥级流表,进入步骤S25;

S24.获取网桥的网桥流量管理需求,根据网桥流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在网桥使用查找到的匹配条件模板及执行动作模板创建网桥级流表;如图4所示,步骤S24具体步骤如下:

S241.获取网桥的网桥流量管理需求,查找OVS数据库并判断OVS数据库中各匹配条件模板是否满足网桥流量管理需求;

若是,进入步骤S242;

若否,进入步骤S243;

S242.选取并使用满足条件的匹配条件模板,进行网桥流表设置,进入步骤S244;

S243.依据网桥流量管理需求在网桥逐条设置匹配条件;

S244.根据网桥流量管理需求,查找OVS数据库并判断OVS数据库中各执行动作模板是否满足网桥流量管理需求;

若是,进入步骤S245;

若否,进入步骤S246;

S245.选取并使用满足条件的执行动作模板进行网桥流表设置,进入步骤S25;

S246.依据网桥流量管理需求在网桥逐条设置执行动作;

S25.依次判断网桥下各端口是否需要创建端口级流表;

若是,进入步骤S26;

若否,在端口使用默认端口级流表,进入步骤S 3;

S26.获取端口的端口流量管理需求,根据端口流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在端口使用查找到的匹配条件模板及执行动作模板创建端口级流表;如图5所示,步骤S26具体步骤如下:

S261.获取端口的端口流量管理需求,查找OVS数据库并判断OVS数据库中各匹配条件模板是否满足端口流量管理需求;

若是,进入步骤S262;

若否,进入步骤S263;

S262.选取并使用满足条件的匹配条件模板进行端口流表设置,进入步骤S264;

S263.依据端口流量管理需求在端口逐条设置匹配条件;

S264.根据端口流量管理需求,查找OVS数据库并判断OVS数据库中各执行动作模板是否满足端口流量管理需求;

若是,进入步骤S265;

若否,进入步骤S266;

S265.选取并使用满足条件的执行动作模板进行端口流表设置,进入步骤S 3;

S266.依据端口流量管理需求在端口逐条设置执行动作;

流表原来的配置匹配条件和执行动作替换为配置匹配条件模板和执行动作模板,获取到匹配条件模板名称后,根据匹配条件模板名称从OVS数据库获取到具体匹配条件,同样,获取到执行动作模板名称后,根据执行动作模板名称,获取到具体执行动作;通过逐级配置方式线配置OVS系统级流表,再配置网桥级流表,最后配置端口级流表,将流表划分级便于后续逐级对流量分级进行处理;在进行流表配置时,若OVS数据库中没有合适的匹配条件模板和执行动作模板,仍可使用原有单独配置匹配条件及执行动作方式进行配置;

S 3.使用层级式流表逐级对OVS系统接收的流量转发过滤;步骤S 3具体步骤如下:

S 31.OVS系统接收到外部设备的流量后,判断是否存在OVS默认系统级流表;

若是,OVS系统不对外部设备流量进行管理,将OVS系统各个网桥均作为目的网桥,进入步骤S 34;

若否,获取OVS系统级流表中匹配条件模板和执行动作模板;

S 32.从OVS数据库中查找OVS系统级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

S 33.OVS系统使用查找到的各匹配条件对外部设备流量进行过滤,再使用查找到的各执行动作对过滤后流量进行处理,确定目的网桥进行流量转发;

S 34.接收到OVS系统转发流量的目的网桥,判断是否存在默认网桥级流表;

若是,目的网桥不对OVS系统流量进行管理,将目的网桥下各个端口均作为目的端口,进入步骤S 37;

若否,获取网桥级流表中匹配条件模板和执行动作模板;

S 35.从OVS数据库中查找网桥级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

S 36.目的网桥使用查找到的各匹配条件对OVS系统转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,确定目的端口进行流量转发;

S 37.接收到目的网桥转发流量的目的端口,判断是否存在默认端口级流表;

若是,目的端口不对目的网桥流量进行管理,直接进行流量转发,结束;

若否,获取端口级流表中匹配条件模板和执行动作模板;

S 38.从OVS数据库中查找端口级流表的匹配条件模板对应各匹配条件以及执行动作;

S 39.目的端口使用查找到的各匹配条件对目的网桥转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,完成流量转发;按照流表级别分级对流量进行处理,其中,系统级流表可从整体对所有流量拦截或转发,实现了流量的统一处理,各网桥和端口的流表又实现了精确的流量处理;

OVS系统级流表配置在OVS中起着重要的作用,其作用域是整个OVS系统;所有进入OVS系统的流量都会首先经过OVS系统级流表处理,通过OVS系统级流表,可以实现对所有流量的全局控制;根据需求,可以配置OVS系统级流表阻止所有符合要求的流量进入OVS系统,或者只允许满足要求的流量进入;另外,也可以选择不配置OVS系统级流表,使用默认的放通流表,这样所有流量都会进入到网桥级流表进行匹配;

与OVS系统级流表不同,网桥级流表的作用域是具体的网桥,只对该网桥上的所有端口生效;当流量通过OVS系统级流表后进入到指定的网桥,它会进一步经过网桥级流表的筛选,通过网桥级流表的配置,可以实现对特定网桥上的流量进行细粒度的控制和管理;

而端口级流表是最小的作用域,仅作用在具体的端口上,用于对符合该端口要求的流量执行对应的动作;通过配置端口级流表,可以实现对每个端口上的流量进行个性化的处理,例如限制带宽、实施安全策略等。

在某些实施例中,步骤S23中判断需要创建网桥级流表的各网桥是否存在相同类型,当存在类型相同的网桥时,步骤S24中完成首个网桥级流表创建后,将该网桥级流表直接复制到同类型网桥,完成同类型网桥的网桥级流表创建;

步骤S25中判断需要创建端口级流表的各端口是否存在相同类型,当存在相同类型的端口时,步骤S26中完成首个端口级流表创建后,将该端口级流表直接负责到同类型端口,完成同类型端口的端口级流表创建;

对于同类型网桥或端口,需要配置的流表相同,匹配条件模板和执行动作的模板的使用使得可在完成一个流表配置后,将流表配置简单进行复制即可。

实施例4:

如图6所示,本发明提供一种OVS流表创建装置,包括:

模板生成模块,用于为OVS流表创建匹配条件模板和执行动作模板;模板生成模块包括:

集合建立单元,用于对原OVS流表进行统计,建立匹配条件集合和执行动作集合;

待聚合匹配条件获取单元,用于根据需求从匹配条件集合中选取待聚合匹配条件或统计出匹配条件集合中同时使用次数大于阈值的匹配条件作为待聚合匹配条件;

待聚合执行动作获取单元,用于根据需求从执行动作集合中选取待聚合执行动作或统计出执行动作集合中同时使用次数大于阈值的执行动作作为待聚合执行动作;

匹配条件模板保存单元,用于将待聚合匹配条件组合生成匹配条件模板并进行命名,将匹配条件模板、名称以及匹配条件模板的各匹配条件保存到OVS数据库;

执行动作模板保存单元,用于将待聚合执行动作组合生成执行动作模板并进行命名,将执行动作模板、名称以及执行动作模板的各执行动作保存到OVS数据库;

模板编辑接口创建单元,用于在OVS数据库创建匹配条件模板及执行动作模板的增加接口、删除接口以及修改接口;

流表分级创建模块,用于使用匹配条件模板和执行动作模板在OVS系统创建层级式流表;流表分级创建模块包括:

系统流表创建判断单元,用于判断是否需要创建OVS系统级流表;

系统流表创建单元,用于需要创建OVS系统级流表时,获取OVS系统的系统流量管理需求,根据系统流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在OVS系统使用查找到的匹配条件模板及执行动作模板创建OVS系统级流表;

网桥流表创建判断单元,用于不需要创建OVS系统级流表或OVS系统级流表创建完成后,依次判断各网桥是否需要创建网桥级流表;

网桥流表创建单元,用于需要创建网桥级流表时,获取网桥的网桥流量管理需求,根据网桥流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在网桥使用查找到的匹配条件模板及执行动作模板创建网桥级流表;

端口级流表创建判断单元,用于不需要创建网桥级流表或网桥级流表创建完成时,依次判断网桥下各端口是否需要创建端口级流表;

端口级流表创建单元,用于需要创建端口级流表时,获取端口的端口流量管理需求,根据端口流量管理需求查找OVS数据库中匹配条件模板及执行动作模板,并在端口使用查找到的匹配条件模板及执行动作模板创建端口级流表;

流量管理模块,用于使用层级式流表逐级对OVS系统接收的流量转发过滤;流量管理模块包括:

系统模板获取单元,用于在OVS系统接收到外部设备的流量后,获取OVS系统级流表中匹配条件模板和执行动作模板;

系统流表匹配条件及执行动作查找单元,用于从OVS数据库中查找OVS系统级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

系统流量管理单元,用于在OVS系统使用查找到的各匹配条件对外部设备流量进行过滤,再使用查找到的各执行动作对过滤后流量进行处理,确定目的网桥进行流量转发;

网桥模板获取单元,用于在接收到OVS系统转发流量的目的网桥,获取网桥级流表中匹配条件模板和执行动作模板;

网桥流表匹配条件及执行动作查找单元,用于从OVS数据库中查找网桥级流表的匹配条件模板对应各匹配条件以及执行动作模板对应各执行动作;

网桥流量管理单元,用于在目的网桥使用查找到的各匹配条件对OVS系统转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,确定目的端口进行流量转发;

端口模板获取单元,用于在接收到目的网桥转发流量的目的端口,获取端口级流表中匹配条件模板和执行动作模板;

端口流表匹配条件及执行动作查找单元,用于从OVS数据库中查找端口级流表的匹配条件模板对应各匹配条件以及执行动作;

端口流量管理单元,用于在目的端口使用查找到的各匹配条件对目的网桥转发的流量进行过滤,再使用各执行动作对过滤后流量进行处理,完成流量转发。

实施例5:

本发明提供一种计算机设备,包括处理器和存储器;

其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得计算机设备执行上述实施例1、实施例2或实施例3所述的方法。

实施例6:

本发明提供一种存储介质,

所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例1、实施例2或实施例3所述的方法。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种存储池创建方法、装置、设备及可读存储介质
  • 一种存储快照创建方法、装置、设备及存储介质
  • 一种快照创建方法、装置、设备及可读存储介质
  • 一种可写快照的创建方法、装置、系统、设备及存储介质
  • 一种推流方法、装置、设备及存储介质
  • 一种流表创建方法、装置、计算机设备及存储介质
  • 一种水平分区表的二级索引创建方法、装置、设备及存储介质
技术分类

06120116483415