虚拟网络功能的配置方法和装置与流程

文档序号:12600379阅读:243来源:国知局
虚拟网络功能的配置方法和装置与流程

本发明涉及计算机技术,尤其涉及一种虚拟网络功能的配置方法和装置。



背景技术:

现代网络越来越依赖于各种网络处理功能,例如安全(防火墙、入侵检测系统等),流量整形(负载均衡),网络地址转换,提高网络应用程序的性能(流量加速器、缓存、代理)等等。具有这些功能的网络设备已成为关键的网络基础设施,对于网络适应性能,安全性,和政策法规遵循需求至关重要。

由于专业设备很难改变功能以适应不断变化的流量需求,网络功能虚拟化(英文:Network Function Virtualization,简称:NFV)引领网络进入虚拟化的新时代。网络功能虚拟化通过软件来实现网络功能,可以运行在各种标准服务器硬件上,可以根据需要在不同网络位置移动、实例化,而不需要安装新设备,即使用通用平台(通用服务器、存储、交换机)来代替专用的网络设备,通过软件来提供不同的网络处理功能,并通过与硬件加速器,图形处理器(英文:Graphics Processing Unit,简称:GPU)和现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA))等的配合来提高网络功能的性能。

然而,上述方式中,所述通用平台只能选择其中一种加速器进行加速,并且一旦选择了某种加速器,在使用过程中不能再改用其他的加速器。



技术实现要素:

本发明实施例提供一种虚拟网络功能的配置方法和装置,用于解决现有技术中通用平台使用的加速器在使用过程中不能变更的问题。

本发明第一方面提供一种虚拟网络功能的配置方法,包括:

接收网管系统发送的网络功能配置请求,所述网络功能配置请求中包括 业务节点的网络功能需求;

从网络功能NF实例库中获取满足所述业务节点的网络功能需求的NF实例文件,其中,所述NF实例库中包含每个业务功能基于每种加速设备的实例文件;

根据获取的所述NF实例文件对所述业务节点进行网络功能配置。

本方案中的业务链,并不限于单个业务节点的网络功能,该配置方法也适用于业务链上的多个业务节点的配置,即可以只对一个业务节点的网络功能进行配置,也可以针对两个或两个以上的业务节点的网络功能按照上述方式进行动态的配置。

本方案可以在业务链使用过程中,通过网络功能的需求信息的改变,在实例库中查找使用不同加速设备的网络功能,对业务链重新配置有效提高网络功能的性能,实现网络功能的加速资源的动态配置。

在一种具体实现方式中,所述NF实例库还包括NF描述表;所述NF描述表的每个表项包括一个实例描述符,所述实例描述符用于描述一个业务功能基于一个加速设备的实例文件;

所述实例描述符包括功能类型以及以下参数中的至少一个:加速设备类型、吞吐量、最大能力、平均处理批量值和设备利用率。

为实现对各业务功能的加速资源的动态配置,需要在整个系统中设置多种硬件加速器,也称为加速设备,例如:MIPS、GPU、FPGA、CPU等,并且需要配置与现有技术不同的新的虚拟网络功能的实例库,即上述NF实例库,该实例库中包括了每个网络功能对应每种加速设备的实例,并包括每个该种实例的实例描述符,一种具体实现方式是:将该些实例描述符以及对应的实例映射在NF描述表中,用于在配置的过程中进行查询。

可选的,也可以将同一种NF对应的各种加速设备的实例描述符存储在一个子表中,即不同的子表代表不同的NF;另外使用实例描述符的方式只是其中一种实现方式,也可以根据其他方式将该NF实例库中的每个实例进行区别,例如:对每个实例进行编号、命名等方式进行区别即可。对此本申请不做限制,可以根据实际实现环境进行配置。

另外,该实例描述符至少应该能够表示出是什么类型的网络功能,以及对应的加速设备的类型或者性能等。

本方案提供了一种NF实例库的具体实现方式,通过使用NF描述表存储所有的NF实例的实例描述符,对每个实例进行映射,可以在业务链使用过程中,接收到网络功能配置请求后,根据网络功能需求查询该NF描述表,根据查找的实例描述符在实例库中快速查找到符合要求的网络功能的实例,对业务链重新配置有效提高网络功能的性能,实现网络功能的加速资源的动态配置。

在另一种具体实现方式中,所述网络功能需求包括目标吞吐量、请求能力、峰值数据量中的至少一个。

结合上述的实现方式,该网络功能需求需要明确需要配置后的网络功能满足什么样的需要,因此至少需要一种性能参数来做判断。

进一步地,在又一种具体实现方式中,所述从网络功能NF实例库中获取满足所述业务节点的网络功能需求的NF实例文件,包括:

从所述NF描述表中获取包括满足所述网络功能需求的实例描述符的NF描述表项;

根据所述获取到的NF描述表项,从所述NF实例库中的实例文件中获取满足所述网络功能需求的NF实例文件。

上述方案的含义是,根据网络功能需求中的性能要求,查询上述的一种实现方式中的NF描述表,获得能够满足该需要的实例描述符,然后从实例库中找出选择出的实例描述符对应的NF实例。该具体实现方式的实现比较简单,能够在具体配置过程中提高处理效率。

进一步地,当所述业务节点位于一条业务链,所述网络功能配置请求包括所述业务链上每个业务节点的网络功能需求,以及所述业务链的目标吞吐量和峰值数据量,所述每个业务节点的网络功能需求包括所述业务节点的请求能力;所述方法还包括:

按照所述业务链和所述NF描述表,依次获取每个业务节点对应的网络功能的第一实例描述符集合;

从每个业务节点对应的第一实例描述符集合中,获取每个业务节点对应的满足所述目标吞吐量的第二实例描述符集合;

在每个业务节点对应的第二实例描述符集合中,获取最大能力大于所述业务节点的请求能力的第三实例描述符集合;

在每个业务节点对应的第三实例描述符集合中,获取平均处理批量值大于所述峰值数据量的第四实例描述符集合;

在每个业务节点对应的所述第四实施例描述符集合中,根据每个实例描述符对应的网络功能的加速资源的利用率和/或优先级,获取满足所述业务节点的网络功能需求的实例描述符。

进一步地,当所述业务节点位于业务链上时,所述根据获取的NF实例文件对所述业务节点进行网络功能配置包括:

将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续处理;

根据获取到的满足每个所述业务节点的网络功能需求的NF实例文件对所述业务链上的每个业务节点重新配置,生成新的业务链;

将所述失效保护数据平面上的业务重新定向到所述新的业务链上。

上述两个方案综合提供了一种网络功能的具体配置过程,在接收到网络功能配置请求之后,需要根据其中的需求信息去获取合适的NF实例,常用的情况是该需求信息中包括目标吞吐量、请求能力和峰值数据量等性能要求,上述方案只是提供一种方式,按照NF类型、吞吐量、能力、处理批量大小、加速器类型和利用率的顺序进行选择,实际上,在具体实现中可以根据任何顺序去处理,只要最终选择的NF实例满足所有的需求即可,并不限于上述一种实现顺序。

可选的,对于单个业务节点根据获取的NF实例文件对所述业务节点进行网络功能配置,包括:

将所述业务节点正在处理的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续执行;

根据获取到的满足所述业务节点的网络功能需求的NF实例文件对所述业务节点重新进行网络功能配置;

当所述业务节点的网络功能配置完成后,将所述失效保护数据平面上的业务重新定向到所述业务节点上。

在选择完NF实例库之后,具体配置过程中,为了保证业务不中断,不能直接结束当前正在执行的业务,可以将该业务链上的每个业务定向到失效保护数据平面上继续执行,这里提到的失效数据保护平面可以是已经配置的 备用的硬件,也可以是根据该业务链上的每个节点的网络功能生成的数据平面,要求与业务链上的每个节点的业务功能一一对应,这样在具体配置过程中,将当前的业务定向到预先获取到的失效数据保护平面上继续执行,然后根据获取到的满足要求的NF实例构建新的高性能的数据平面,即对每个业务节点重新进行配置,生成新的业务链,再将业务定向回该新的业务链上进行执行,完成配置。

该种配置方案可以支持多个NF组成的服务链、即业务链,能够利用硬件的加速设备增强NF性能的功能,并且该NF实例库是弹性可扩展的,获取合适的NF实例可根据多层匹配的方法,可以快速有效的在线选择合适的NF实例,自动完成加速资源的选择及配置,省时省力。

在上述任一种实现方式的基础上,所述方法还包括:

向所述网管系统发送配置响应消息;所述配置响应消息用于通知所述网管系统是否完成网络功能配置。

无论是否选择到合适的NF实例,都可以向网管系统发送对应的反馈信息,即上述配置响应消息,反馈配置完成或者未完成,也可以反馈最接近的NF实例的性能参数或者实例描述符,以供用户选择。

在之前任一实施例的基础上,进一步的,所述接收网络功能配置请求之前,所述方法还包括:

根据各业务功能以及预先获取的每种加速设备的镜像文件配置所述NF实例库。

为了实现对业务链的上各节点网络功能的动态配置,需要预先建立NF实例库,该NF实例库可以建立在通用服务器中,另外还需要各种类型的硬件加速器,即加速设备,需要根据预先获取的镜像文件进行配置,这个实例可以是预编译的二进制文件,也可以是布局布线后的二进制文件,为了能够根据选择出的NF实例配置新的高性能的业务链,每个NF实例应该明确定义相同的应用程序编程接口(英文:Application Programming Interface,简称:API)。

本发明第二方面提供一种虚拟网络功能的配置装置,包括:

接收模块,用于接收网管系统发送的网络功能配置请求,所述网络功能配置请求中包括业务节点的网络功能需求;

处理模块,用于从网络功能NF实例库中获取满足所述业务节点的网络功能需求的NF实例文件,其中,所述NF实例库中包含每个业务功能基于每种加速设备的实例文件;

配置模块,用于根据获取的所述NF实例文件对所述业务节点进行网络功能配置。

进一步地,所述处理模块还用于根据每个业务功能以及预先获取的每种加速设备的镜像文件配置所述NF实例库;所述NF实例库还包括NF描述表;所述NF描述表的每个表项包括一个实例描述符,所述实例描述符用于描述一个业务功能基于一个加速设备的实例文件;

所述实例描述符包括功能类型以及以下参数中的至少一个:加速设备类型、吞吐量、最大能力、平均处理批量值和设备利用率。

进一步地,所述网络功能需求包括目标吞吐量、请求能力、峰值数据量中的至少一个。

进一步地,所述处理模块具体用于:

从所述NF描述表中获取包括满足所述网络功能需求的实例描述符的NF描述表项;

根据所述获取到的NF描述表项,从所述NF实例库中的实例文件中获取满足所述网络功能需求的NF实例文件。

进一步地,当所述业务节点位于一条业务链,所述网络功能配置请求包括所述业务链上每个业务节点的网络功能需求,以及所述业务链的目标吞吐量和峰值数据量,所述每个业务节点的网络功能需求包括所述业务节点的请求能力;所述处理模块还用于:

按照所述业务链和所述NF描述表,依次获取每个业务节点对应的网络功能的第一实例描述符集合;

从每个业务节点对应的第一实例描述符集合中,获取每个业务节点对应的满足所述目标吞吐量的第二实例描述符集合;

在每个业务节点对应的第二实例描述符集合中,获取最大能力大于所述业务节点的请求能力的第三实例描述符集合;

在每个业务节点对应的第三实例描述符集合中,获取平均处理批量值大于所述峰值数据量的第四实例描述符集合;

在每个业务节点对应的所述第四实施例描述符集合中,根据每个实例描述符对应的网络功能的加速资源的利用率和/或优先级,获取满足所述业务节点的网络功能需求的实例描述符。

进一步地,当所述业务节点位于业务链上时,所述配置模块还用于:

将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续处理;

根据获取到的满足每个所述业务节点的网络功能需求的NF实例文件对所述业务链上的每个业务节点重新配置,生成新的业务链;

将所述失效保护数据平面上的业务重新定向到所述新的业务链上。

可选的,所述配置模块具体用于:

将所述业务节点正在处理的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续执行;

根据获取到的满足所述业务节点的网络功能需求的NF实例文件对所述业务节点重新进行网络功能配置;

当所述业务节点的网络功能配置完成后,将所述失效保护数据平面上的业务重新定向到所述业务节点上。

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

发送模块,用于向所述网管系统发送配置响应消息;所述配置响应消息用于通知所述网管系统是否完成网络功能配置。

本发明第三方面提供一种用于实现上述虚拟网络功能的配置方法的配置管理器,具体包括:接收器、处理器和用于存储程序等缓存内容的存储器;

接收器,用于接收网管系统发送的网络功能配置请求,所述网络功能配置请求中包括业务节点的网络功能需求;

处理器,用于从网络功能NF实例库中获取满足业务节点的网络功能需求的NF实例文件,其中,所述NF实例库中包含每个业务功能基于每种加速设备的实例文件;

所述处理器还用于根据获取的NF实例文件对业务节点进行功能配置。

进一步地,所述处理器还用于根据每个业务功能以及预先获取的每种加速设备的镜像文件配置所述NF实例库;其中,所述NF实例库还包括NF描述表;所述NF描述表的每个表项包括一个实例描述符,所述实例描述符用 于描述一个业务功能基于一个加速设备的实例文件;

所述实例描述符包括功能类型以及以下参数中的至少一个:加速设备类型、吞吐量、最大能力、平均处理批量值和设备利用率。

接收器接收到所述网络功能需求包括目标吞吐量、请求能力、峰值数据量中的至少一个。

进一步地,所述处理器具体用于:

从所述NF描述表中获取包括满足所述网络功能需求的实例描述符的NF描述表项;

根据所述获取到的NF描述表项,从所述NF实例库中的实例文件中获取满足所述网络功能需求的NF实例文件。

进一步地,当所述业务节点位于一条业务链,所述网络功能配置请求包括所述业务链上每个业务节点的网络功能需求,以及所述业务链的目标吞吐量和峰值数据量,所述每个业务节点的网络功能需求包括所述业务节点的请求能力;所述处理器还用于:

按照所述业务链和所述NF描述表,依次获取每个业务节点对应的网络功能的第一实例描述符集合;

从每个业务节点对应的第一实例描述符集合中,获取每个业务节点对应的满足所述目标吞吐量的第二实例描述符集合;

在每个业务节点对应的第二实例描述符集合中,获取最大能力大于所述业务节点的请求能力的第三实例描述符集合;

在每个业务节点对应的第三实例描述符集合中,获取平均处理批量值大于所述峰值数据量的第四实例描述符集合;

在每个业务节点对应的所述第四实施例描述符集合中,根据每个实例描述符对应的网络功能的加速资源的利用率和/或优先级,获取满足所述业务节点的网络功能需求的实例描述符。

进一步地,所述处理器还具体用于:

将所述业务节点正在处理的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续执行;

根据获取到的满足所述业务节点的网络功能需求的NF实例文件对所述业务节点重新进行网络功能配置;

当所述业务节点的网络功能配置完成后,将所述失效保护数据平面上的业务重新定向到所述业务节点上。

可选的,当所述业务节点位于业务链上时,所述处理器还用于:

将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续处理;

根据获取到的满足每个所述业务节点的网络功能需求的NF实例文件对所述业务链上的每个业务节点重新配置,生成新的业务链;

将所述失效保护数据平面上的业务重新定向到所述新的业务链上。

进一步地,发送器,用于向所述网管系统发送配置响应消息;所述配置响应消息用于通知所述网管系统是否完成网络功能配置。

另外,本发明还提供一种可弹性扩展的网络功能的加速设备可配置的系统架构,由通用的服务器和多个加速设备组成,该通用的服务器中设置有用户执行上述技术方案配置管理器、NF实例库等。

本发明提供的虚拟网络功能的配置方法和装置,通过接收到的网管系统发送的网络功能配置请求,从网络功能NF实例库中获取满足各业务节点的网络功能需求的NF实例文件,其中,所述NF实例库中包含各业务功能基于每种加速设备的实例文件,并根据获取的NF实例文件对各业务节点进行功能配置。所述业务节点可以是新加入网络的业务节点或已经部署在网络中且处理某种业务的业务节点。本发明可以根据网络功能配置请求中的网络功能需求来对业务节点进行网络功能配置,能够有效提高网络功能的性能,实现网络功能的加速资源的动态配置。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍。

图1为本发明实施例提供的可实现NF配置的系统架构示意图;

图2为本发明实施例提供的虚拟网络功能的配置方法的流程图;

图3为本发明实施例提供的虚拟网络功能的配置方法中NF描述表的结构示意图;

图4为本发明实施例提供的虚拟网络功能的配置方法中选择符合网络 功能需求的NF实例的流程图;

图5为本发明实施例提供的虚拟网络功能的配置装置的结构示意图;

图6为本发明实施例提供的又一虚拟网络功能的配置装置的结构示意图;

图7为本发明实施例提供的配置管理器的结构示意图;

图8为本发明实施例提供的又一配置管理器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

图1为本发明实施例提供的可实现NF配置的系统架构示意图,该系统架构是一种可弹性扩展的硬件加速NFV结构,由通用服务器和用于加速的硬件设备(即硬件加速器,例如:图中示出的CPUs,MICs,GPUs,FPGAs)组成。本架构中示出了广域网络中最常见的三种网络功能:路由、防火墙和深层报文解析(英文:Deep Packet Inspection,简称:DPI)。该架构支持NFs及加速设备的扩展,并且支持按需在线重配置。

如图1所示,该系统架构包含:a)、NF实例库;b)、配置管理器;c)、根据配置请求从NF实例库选择出的符合要求的NF实例建立的高性能数据平面和d)、用于重配置的失效数据保护平面。NF实例库包括所有NF实例,包含软件实例及基于硬件加速的实例。这些实例可以是预编译的二进制文件(支持CPU,MICs及GPU),或布局布线(英文:placement and routing)后的二进制文件(支持FPGA,可以直接下载到FPGA),另外NF实例库和本发明中的一种具体实现方案中用NF描述表项映射NF实例时,可以如图1所示将该NF描述表项跟NF实例存储在相同的存储空间,也可以分别存储,对此本发明不做限制。为了使配置管理器能够调用NF实例生成高性能数据平面,每个NF实例应该明确定义相同的应用程序编程接口(英文:Application Programming Interface,简称:API),此外,每一个NF实例都对应一个可以被配置管理器访问的NF描述表项。

配置管理器接收来自于网管系统(能够被用户操作,输入相关需求的系统,可以是单独的设备、也可以是该通用服务器中安装的系统)发送的网络 功能配置请求,该网络功能配置请求包括至少一个业务节点的网络功能需求。示例性地,该网络功能需求为图1中示出的EF1,ER,ED,EF2,P以及T,其中,EF1表示Firewall1的最大能力,ER表示Routing的最大能力,ED表示DPI的最大能力,EF2表示Firewall2的最大能力P表示峰值数据量,T表示目标吞吐量;配置管理器根据该网络功能需求在NF描述表中获取包括满足所述网络功能需求的实例描述符的NF描述表项,再根据所述NF描述表项从所述NF实例库中获取对应的实例文件,所述实例文件能够满足所述网络功能需求。然后所述配置管理器创建新的高性能数据平面,并从当前使用的高性能数据平面切换到所述新的高性能数据平面。

另外,图1中的随机存取存储器(英文:random access memory,简称:RAM)用于实现不同的加速设备之间的通信,网络适配器(英文:Network Interface Card,简称:NIC)用于将该系统与网络进行连接,在具体的实现中业务数据从网络中通过NIC进入各业务节点实现不同的网络功能,再通过NIC进入网络。

下面基于图1所示的架构对该虚拟网络功能的配置方法进行详细说明。

图2为本发明实施例提供的虚拟网络功能的配置方法的流程图,该方案的执行主体为上述的配置管理器,如图2所示,该虚拟网络功能的配置方法的具体实现步骤如下。

S101:接收网管系统发送的网络功能配置请求,所述网络功能配置请求中包括业务节点的网络功能需求。

其中,所述业务节点可以是新加入网络的业务节点,也可以是已经部署在网络中的正在处理业务的业务节点,也适用于某个业务链上的某一个业务节点或者整个业务链的所有节点。

在本步骤之前,需要根据各业务功能以及预先获取的每种加速设备的镜像文件配置NF实例库,所述NF实例库中包含每个业务功能基于每种加速设备的实例文件;可选的,NF实例库还可以包括NF描述表;所述NF描述表中的每个表项包括一个实例描述符,所述实例描述符用于描述每种业务功能基于每种加速设备的实例文件;另外,该NF描述表也可以存储在其他位置,在需要查询的时候进行访问。每个实例描述符包括功能类型以及加速设备类型、吞吐量、最大能力、平均处理批量值和设备利用率中的至少一个。

对应于上述的每个NF实例的实例描述符,该网络功能配置请求中可以包括所述业务节点的功能类型以及以下参数中的至少一个:加速设备类型、吞吐量、最大能力、平均处理批量值、设备利用率中的至少一个参数。

所述网络功能配置请求中可以包括一个业务节点的网络功能需求,也可以包括多个业务节点的网络功能需求。

S102:从网络功能NF实例库中获取满足所述业务节点的网络功能需求的NF实例文件。

在本步骤中,一种具体的实现方式是:配置管理器根据所述NF描述表和所述业务节点的网络功能需求,从所述NF描述表中获取包括满足所述业务节点的网络功能需求的实例描述符的NF描述表项;然后根据所述获取到的NF描述表项,从所述NF实例库中的实例文件中获取满足所述网络功能需求的NF实例文件。本方案中的网络功能的实例文件指的是实现该网络功能的程序以及配置文件,或实现不同加速设备功能以及该网络功能的程序以及配置文件。

当所述网络功能配置请求中包括多个业务节点的网络功能需求时,可以按照所述多个业务节点的顺序逐一获取满足每个业务节点的网络功能需求的NF实例,也可以同时获取每个业务节点的网络功能需求对应的NF实例。当获取到满足每个业务节点的网络功能需求的NF实例后,还可以根据所述多个NF实例创建业务链。

S103:根据获取的NF实例文件对所述业务节点进行功能配置。

在本步骤中,优选的,如果所述业务节点是已经部署在网络中的业务节点,将所述业务节点正在处理的业务定向到预先配置的失效保护数据平面上继续,由所述失效保护数据平面继续处理;根据获取到的NF实例文件对所述业务节点重新进行网络功能配置,当所述业务节点的网络功能配置完成后,将所述失效保护数据平面上的业务重新定向到所述业务节点。

当所述业务节点位于业务链上时,对所述业务节点进行功能配置,可以是直接将所述业务节点所在的业务链的业务暂停,根据获取到的NF实例文件创建新的业务链,然后由新的业务链继续处理所述暂停的业务。

类似的,可以将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续处理;根据获取到的满 足每个业务节点的网络功能需求的NF实例文件对每个业务节点重新配置,生成新的业务链;然后,将所述失效保护数据平面上的业务重新定向到所述新的业务链上保证在整个过程中,业务链的业务不会中断。

可选的,所述方法还包括:向所述网管系统发送配置响应消息;所述配置响应消息用于通知所述网管系统是否完成所述业务节点的网络功能配置。

该配置响应消息的作用是向网管系统,也即向用户通知该网络功能配置过程的处理结果,如果选择到了完全满足网络功能配置请求中网络功能需求的NF实例,并完成了配置,反馈配置成功的结果;如果没有选择到完全满足网络功能配置请求中需求信息的NF实例,可以向网管系统反馈配置失败的结果,还可以反馈最接近所述网络功能需求的至少一种实现,以便用户选择较为合适的配置方案。

本实施例提供的虚拟网络功能的配置方法,当收到网络功能配置请求时,根据所述网络功能配置请求中的业务节点的网络功能需求,在NF实例库中查找使用不同加速设备的网络功能的实例文件,根据所述实例文件对所述业务节点进行网络功能配置。所述业务节点可以是新加入网络的业务节点或已经部署在网络中且处理某种业务的业务节点。通过上述方式,可以根据网络功能配置请求中的网络功能需求,实现网络功能以及网络功能的加速资源的动态配置,有效节省网络加速资源配置的时间,提高配置效率,并且可以避免业务中断。

在上述实施例的基础上,下面提供一种具体的实现方式,对本发明提供的虚拟网络功能的配置方法进行具体说明:

图3为本发明实施例提供的虚拟网络功能的配置方法中NF描述表的结构示意图,如图3所示,所述NF描述表包括多个NF描述表项,每个表项包括一个实例描述符(即图3中的每个表项里的一串数字)每个实例描述符由对每个NF实例的参数进行编码得到,所述参数包括NF实例类型NF,设备类型D,NF实例支持的最大能力E,平均处理批量值B,设备利用率U,吞吐量T等。其中,最大能力E可以是路由转发信息表(英文:forwarding information base,简称:FIB)项数,防火墙规则数或DPI规则数。所述实例描述符可以是一个整数,也可以是图3所示的二进制数。表示NF实例类型的编码位于每个实例描述符的最高有效位(可以是一位或者多位)。所述NF 描述表可以由多个子表组成,每个子表中的实例描述符中用于表示实例类型的编码相同,即同一类型的NF的实例描述符存储在同一子表中。

在图3中,总共有四种NF实例类型,分别为防火墙(用F表示),路由(routing,用R表示),DPI(用D表示)以及网络地址转换(英文:Network Address Translation,简称:NAT,用N表示)。所述N的描述表的大小由具有最多实例数的NF决定,如某个系统中有32个Routing实例、16个DPI实例、12个Firewall实例及7个NAT实例,则该系统的NF描述表的大小为4x32=128个。其中,4表示所述系统支持的实例的个数。

配置管理器负责高性能数据平面的生成和失效保护数据平面的配置,并控制软件实例和硬件加速实例之间的流量路由。对于每个NF配置请求,配置管理器访问NF描述表,选择合适的NF实例构成满足需求的高性能数据平面。例如,当NF配置请求中包括了一个业务链上的多个业务节点的网络功能需求时,则所述配置管理器首先要选择所述业务链中所有的NFs,例如图1中EF1,ER,ED,EF2,表示流量需要依次通过业务链上的Firewall1,Routing,DPI,Firewall2,那么配置管理器需要找到上述4个网络功能。其次,所述配置管理要保证选择的NFs可以目标吞吐量(throughput,记为T),以支持最大高峰流量,即峰值数据量(peak,记为P)。最后,为了选择适当的NFs,所述配置管理器需要综合评估所有输入参数。

图4为本发明实施例提供的虚拟网络功能的配置方法中选择符合网络功能需求的NF实例的流程图。如图4所示,当业务节点位于一条业务链,且所述网络功能配置请求包括所述业务链上每个业务节点的网络功能需求,以及所述业务链的业务链的目标吞吐量和峰值数据量,即配置请求中包括(EF1,ER,ED,EF2,P,T),所述每个业务节点的网络功能需求包括所述业务节点的请求能力。则根据所述NF描述表和所述各业务节点的网络功能需求,依次从所述NF描述表中获取满足所述业务链上每个业务节点的网络功能需求的实例描述符的具体流程如下:

S201:按照所述业务链和所述NF描述表,依次获取每个业务节点对应的网络功能的第一实例描述符集合。

在该方案中,首先,按照业务链上每个节点的网络功能,依次读取各个NF子表,获取与每个业务节点的网络功能一致(即满足网络功能需求中NF 种类)的实例描述符组成上述的第一实例描述符集合。

S202:从每个业务节点对应的第一实例描述符集合中,获取每个业务节点对应的满足所述目标吞吐量的第二实例描述符集合。

在本步骤中,针对每个业务节点,按照半分法检索该业务节点对应的第一实例描述符集合,获取满足所述目标吞吐量的第二实例描述符集合。在该方案中,由于每个业务节点属于同一个业务链,连续处理相同的业务,因此一般情况下对于吞吐量的需求是一致的,因此在每个业务节点对应的第一实例描述符集合可以采用同样的目标吞吐量进行检索。

进一步的,在上述第二实例描述符集合中的子表中,按照半分法检索吞吐量T字段,找到满足该目标吞吐量的实例描述符(这里的满足并不限制为完全相等,可以是该目标吞吐量上下20%的范围内,该20%为设置的值,可以根据实际情况进行调整)组成第二实例描述符集合。

S203:在每个业务节点对应的第二实例描述符集合中,获取最大能力大于所述业务节点的请求能力的第三实例描述符集合。

在本步骤中,从所述第二实例描述符集合中获取最大能力大于所述请求能力的第三实例描述符集合。其含义是针对每个业务节点,基于上述选择出的第二实例描述符集合,按照对该业务节点的请求能力,检索能力E字段比请求能力的值高的实例描述符组成与该业务节点对应的第三实例描述符集合。

S204:在每个业务节点对应的第三实例描述符集合中,获取平均处理批量值大于所述峰值数据量的第四实例描述符集合。

在本步骤中,根据所述峰值数据量,从每个业务节点对应的所述第三实例描述符集合中获取平均处理批量值大于所述峰值数据量的第四实例描述符集合。同样的,由于每个业务节点属于同一个业务链,连续处理相同的业务,因此一般情况下峰值数据量的需求是一致的,因此在每个业务节点对应的第三实例描述符集合可以采用同样的峰值数据量进行检索。

即基于上步选择出的第三实例描述符集合,根据网络功能配置请求中的峰值数据量P,选择批量值B大于所述峰值数据量的实例描述符组成的第四实例描述符集合。

S205:在每个业务节点对应的所述第四实施例描述符集合中,根据每个 实例描述符对应的网络功能的加速资源的利用率和/或优先级,获取满足所述业务节点的网络功能需求的实例描述符。

进一步的,基于步骤S204选择出的第四实例描述符集合,选择加速器类型D(如CPU、GPU及FPGA等)和利用率U,如果可以选出合适的NF描述表项,反馈选择完成;如果没有合适的NF描述表项,反馈未完成,反馈最接近的NF描述表项。这里的合适指的是:优先选择利用率低的加速设备,或者根据预先设置的对每个网络功能的加速设备的优先级顺序进行选择,选出对每个网络功能加速效果最好的加速设备。

完成实例描述符选择后,配置管理器访问NF实例库,根据选择出的实例描述符获得NF实例文件,根据所述NF实例文件构建高性能数据平面。配置过程,还需要配置路由,使得加速设备(也称为加速器)之间使用RAM通信(如报文需要穿越多个不同加速器情况),而针对相同的加速设备可直接进行通信,不需要经过RAM(例如:在图1中在同样的加速器GPU中实现路由和DPI,不需要访问RAM)。最后,为了在线按需重配置,配置管理器需要生成失效保护数据平面(与高性能数据平面一一对应)。用于在具体配置过程中,将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上继续执行;根据获取到的满足各业务节点的网络功能需求的NF实例文件对每个业务节点重新配置,生成新的业务链;将所述失效保护数据平面上的业务重新定向到所述新的业务链上执行,完成网络功能配置。

本实施例提供的一种具体的配置方法,基于图1所示的架构,可以支持单个NF业务节点的配置,也可以支持多个NFs组成业务链上的一个或多个业务节点的配置,通过对各节点采用指定的加速设备来增强NF性能。

该体系可以支持弹性扩展,可以根据需要增加NF实例和加速器。增加新的NF实例时,只需要将NF实例增加到NF实例库,并在NF描述符表中增加相应的表项,当新的NF配置请求到达时,配置管理器选择NF实例,并配置NF实例。在重配置过程中,NFs的配置管理器将流量重定向到失效保护数据平面,当重新配置完成后,配置管理器将流量重定向回高性能数据平面,实现在线的网络功能按需配置。

另外,在按照上述的方法配置网络功能及加速设备时业务不中断。在选择新的网络功能实例过程中,不需要复杂优化算法,基于多层匹配的方法, 可以快速有效的在线选择合适的NF实例,整个过程可自动化完成加速设备选择及配置,省时省力。

图5为本发明实施例提供的虚拟网络功能的配置装置的结构示意图,如图5所示,该虚拟网络功能的配置装置10具体包括:

接收模块11,用于接收网管系统发送的网络功能配置请求,所述网络功能配置请求中包括业务节点的网络功能需求;

处理模块12,用于从网络功能NF实例库中获取满足所述业务节点的网络功能需求的NF实例文件,其中,所述NF实例库中包含每个业务功能基于每种加速设备的实例文件;

配置模块13,用于根据获取的所述NF实例文件对所述业务节点进行网络功能配置。

本实施例提供的虚拟网络功能的配置装置,用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,当接收模块接收到网络功能配置请求时,处理模块在NF实例库中查找满足请求中的需求的示例文件,然后对业务链上的一个或多个业务节点或者单独的业务节点进行网络功能配置,实现网络功能以及网络功能的加速资源的动态配置,有效节省网络加速资源配置的时间,提高配置效率。

在上述实施例的基础上,所述处理模块12还用于根据每个业务功能以及预先获取的每种加速设备的镜像文件配置所述NF实例库;所述NF实例库还包括NF描述表;所述NF描述表的每个表项包括一个实例描述符,所述实例描述符用于描述一个业务功能基于一个加速设备的实例文件;

所述实例描述符包括功能类型以及以下参数中的至少一个:加速设备类型、吞吐量、最大能力、平均处理批量值和设备利用率。

可选的,所述接收模块11接收到所述网络功能需求包括目标吞吐量、请求能力、峰值数据量中的至少一个。

进一步的,所述处理模块12具体用于:

从所述NF描述表中获取包括满足所述网络功能需求的实例描述符的NF描述表项;

根据所述获取到的NF描述表项,从所述NF实例库中的实例文件中获取满足所述网络功能需求的NF实例文件。

可选的,当所述业务节点位于一条业务链,所述网络功能配置请求包括所述业务链上每个业务节点的网络功能需求,以及所述业务链的目标吞吐量和峰值数据量,所述每个业务节点的网络功能需求包括所述业务节点的请求能力;所述处理模块12还用于:

按照所述业务链和所述NF描述表,依次获取每个业务节点对应的网络功能的第一实例描述符集合;

从每个业务节点对应的第一实例描述符集合中,获取每个业务节点对应的满足所述目标吞吐量的第二实例描述符集合;

在每个业务节点对应的第二实例描述符集合中,获取最大能力大于所述业务节点的请求能力的第三实例描述符集合;

在每个业务节点对应的第三实例描述符集合中,获取平均处理批量值大于所述峰值数据量的第四实例描述符集合;

在每个业务节点对应的所述第四实施例描述符集合中,根据每个实例描述符对应的网络功能的加速资源的利用率和/或优先级,获取满足所述业务节点的网络功能需求的实例描述符。

可选的,所述配置模块13具体用于:

将所述业务节点正在处理的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续执行;

根据获取到的满足所述业务节点的网络功能需求的NF实例文件对所述业务节点重新进行网络功能配置;

当所述业务节点的网络功能配置完成后,将所述失效保护数据平面上的业务重新定向到所述业务节点上。

可选的,当所述业务节点位于业务链上时,所述配置模块13还用于:

将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续处理;

根据获取到的满足每个所述业务节点的网络功能需求的NF实例文件对所述业务链上的每个业务节点重新配置,生成新的业务链;

将所述失效保护数据平面上的业务重新定向到所述新的业务链上。

本方案中配置模块可以将正在进行的业务节点或者业务链的执行切换至失效保护数据平面上,配置完成后再切换回来,可以避免配置过程中业务中 断。

本实施例提供的虚拟网络功能的配置装置,用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。

图6为本发明实施例提供的又一虚拟网络功能的配置装置的结构示意图,如图6所示,在上述实施例的基础上,该虚拟网络功能的配置装置10还包括:

发送模块14,用于向所述网管系统发送配置响应消息;所述配置响应消息用于通知所述网管系统是否完成网络功能配置。

本实施例提供的虚拟网络功能的配置装置,用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。

图7为本发明实施例提供的配置管理器的结构示意图;如图7所示,该配置管理器具体被实现为:接收器、处理器和用于存储程序等缓存内容的存储器;

接收器,用于接收网管系统发送的网络功能配置请求,所述网络功能配置请求中包括业务节点的网络功能需求;

处理器,用于从网络功能NF实例库中获取满足业务节点的网络功能需求的NF实例文件,其中,所述NF实例库中包含每个业务功能基于每种加速设备的实例文件;

所述处理器还用于根据获取的NF实例文件对业务节点进行功能配置。

进一步地,所述处理器还用于根据每个业务功能以及预先获取的每种加速设备的镜像文件配置所述NF实例库;其中,所述NF实例库还包括NF描述表;所述NF描述表的每个表项包括一个实例描述符,所述实例描述符用于描述一个业务功能基于一个加速设备的实例文件;

所述实例描述符包括功能类型以及以下参数中的至少一个:加速设备类型、吞吐量、最大能力、平均处理批量值和设备利用率。

接收器接收到所述网络功能需求包括目标吞吐量、请求能力、峰值数据量中的至少一个。

进一步地,所述处理器具体用于:

从所述NF描述表中获取包括满足所述网络功能需求的实例描述符的NF描述表项;

根据所述获取到的NF描述表项,从所述NF实例库中的实例文件中获取满足所述网络功能需求的NF实例文件。

进一步地,当所述业务节点位于一条业务链,所述网络功能配置请求包括所述业务链上每个业务节点的网络功能需求,以及所述业务链的目标吞吐量和峰值数据量,所述每个业务节点的网络功能需求包括所述业务节点的请求能力;所述处理器还用于:

按照所述业务链和所述NF描述表,依次获取每个业务节点对应的网络功能的第一实例描述符集合;

从每个业务节点对应的第一实例描述符集合中,获取每个业务节点对应的满足所述目标吞吐量的第二实例描述符集合;

在每个业务节点对应的第二实例描述符集合中,获取最大能力大于所述业务节点的请求能力的第三实例描述符集合;

在每个业务节点对应的第三实例描述符集合中,获取平均处理批量值大于所述峰值数据量的第四实例描述符集合;

在每个业务节点对应的所述第四实施例描述符集合中,根据每个实例描述符对应的网络功能的加速资源的利用率和/或优先级,获取满足所述业务节点的网络功能需求的实例描述符。

进一步地,所述处理器还具体用于:

将所述业务节点正在处理的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续执行;

根据获取到的满足所述业务节点的网络功能需求的NF实例文件对所述业务节点重新进行网络功能配置;

当所述业务节点的网络功能配置完成后,将所述失效保护数据平面上的业务重新定向到所述业务节点上。

可选的,当所述业务节点位于业务链上时,所述处理器还用于:

将所述业务链上的每个业务节点的业务定向到预先配置的失效保护数据平面上,由所述失效保护数据平面继续处理;

根据获取到的满足每个所述业务节点的网络功能需求的NF实例文件对所述业务链上的每个业务节点重新配置,生成新的业务链;

将所述失效保护数据平面上的业务重新定向到所述新的业务链上。

本实施例提供的配置管理器,用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。

图8为本发明实施例提供的又一配置管理器的结构示意图,如图8所示,该配置管理器还包括:

发送器,用于向所述网管系统发送配置响应消息;所述配置响应消息用于通知所述网管系统是否完成网络功能配置。

本实施例提供的配置管理器,用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。

在上述配置管理器的实施例中,应理解,该处理器可以是中央处理单元(英文:central processing unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:DSP)、专用集成电路(英文:application-specific integrated circuit,简称:ASIC)等。该通用处理器可以是微处理器或者是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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