一种数据中心的网络验证方法及装置与流程

文档序号:25543257发布日期:2021-06-18 20:40
一种数据中心的网络验证方法及装置与流程

本申请涉及数据中心技术领域,特别是涉及一种数据中心的网络验证方法及装置。



背景技术:

对于数据中心的生产网络内的业务变更或网络调整,需要运营人员事前细致的分析和规划,避免业务变更或网络调整失败,进而保证业务持续可用。运营人员在面临重大的业务变更或网络调整时,会搭建验证网络,利用验证网络进行业务变更或网络调整的事前验证。其中,事前验证包括关键资源容量验证、连通性验证、对已有业务影响等。

但是,验证网络的资源、配置数据、运行状态等信息,无法与数据中心的生产网络完全一致,存在验证结果不准确的风险。并其,利用验证网络进行事前验证的方法,人力成本和资源成本耗费巨大。



技术实现要素:

本申请实施例的目的在于提供一种数据中心的网络验证方法及装置,以提高网络验证结果的准确性,降低人力成本和资源成本。具体技术方案如下:

第一方面,本申请实施例提供了一种数据中心的网络验证方法,应用于所述数据中心中仿真网络的仿真控制器,所述仿真网络包括多个虚拟化网元,所述数据中心中生产网络包括多个物理设备,所述多个虚拟化网元与所述多个物理设备一一对应,且所述多个虚拟化网元构成的虚拟网络拓扑与所述多个物理设备构成的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同;所述方法包括:

获取用户编排的业务;

将所述业务转换为所述多个虚拟化网元的配置信息;

利用所述配置信息,获取待验证项目的验证结果。

可选的,所述方法还包括:

获取所述多个物理设备的配置信息,以及所述物理网络拓扑,所述配置信息包括所述物理设备的版本信息;

从版本镜像库中获取每个物理设备的版本信息对应的镜像版本信息,所述版本镜像库中存储了多个镜像版本信息;

根据每个物理设备的版本信息对应的镜像版本信息,建立每个物理设备对应的虚拟化网元;

通过虚拟配置桥模拟虚拟化网元的连接,构建与所述物理网络拓扑相同的所述虚拟网络拓扑。

可选的,在获取用户编排的业务之后,将所述业务转换为所述多个虚拟化网元的配置信息之前,所述方法还包括:

获取所述生产网络当前包括的每个物理设备的当前配置信息,以及所述生产网络当前包括的物理设备构成的当前物理网络拓扑;

若每个物理设备的当前配置信息与对应的虚拟化网元的配置信息不完全相同,则调整所述仿真网络中虚拟化网元的配置信息,其中,调整后的虚拟化网元的配置信息与对应的物理设备的当前配置信息相同;

和/或,若所述当前物理网络拓扑与所述虚拟网络拓扑不完全相同,则调整所述虚拟网络拓扑,其中,调整后的虚拟网络拓扑与所述当前物理网络拓扑相同。

可选的,所述待验证项目为关键资源的容量充盈度;

所述利用所述配置信息,获取待验证项目的验证结果的步骤,包括:

针对每个虚拟化网元,确定该虚拟化网元的配置信息所需消耗的第一资源值,并获取该虚拟化网元的已消耗的第二资源值和总资源值;

若所述第一资源值和所述第二资源值的和值小于等于所述总资源值,则确定所述关键资源的容量充盈度的验证结果为仿真通过;

若所述第一资源值和所述第二资源值的和值大于所述总资源值,则确定所述关键资源的容量充盈度的验证结果为仿真未通过。

可选的,所述待验证项目为第一虚拟机与第二虚拟机间的业务连通性;

所述利用所述配置信息,获取待验证项目的验证结果的步骤,包括:

将所述配置信息下发至对应的虚拟化网元;

向目标路径上源虚拟化网元发送仿真报文,所述仿真报文的源地址为所述第一虚拟机的地址,所述仿真报文的目的地址为所述第二虚拟机的地址,所述目标路径为所述第一虚拟机与所述第二虚拟机之间的路径,以使所述源虚拟化网元沿所述目标路径向所述第二虚拟机转发所述仿真报文;

根据所述目标路径上各个虚拟化网元上报的所述仿真报文的处理结果,确定所述业务连通性的验证结果。

可选的,所述方法还包括:

当所述待验证项目的验证结果为仿真通过时,将所述业务提交至所述生产网络的生产控制器。

第二方面,本申请实施例提供了一种数据中心的网络验证装置,应用于所述数据中心中仿真网络的仿真控制器,所述仿真网络包括多个虚拟化网元,所述数据中心中生产网络包括多个物理设备,所述多个虚拟化网元与所述多个物理设备一一对应,且所述多个虚拟化网元构成的虚拟网络拓扑与所述多个物理设备构成的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同;所述装置包括:

第一获取单元,用于获取用户编排的业务;

转发单元,用于将所述业务转换为所述多个虚拟化网元的配置信息;

验证单元,用于利用所述配置信息,获取待验证项目的验证结果。

可选的,所述装置还包括:

第二获取单元,用于获取所述多个物理设备的配置信息,以及所述物理网络拓扑,所述配置信息包括所述物理设备的版本信息;

第三获取单元,用于从版本镜像库中获取每个物理设备的版本信息对应的镜像版本信息,所述版本镜像库中存储了多个镜像版本信息;

建立单元,用于根据每个物理设备的版本信息对应的镜像版本信息,建立每个物理设备对应的虚拟化网元;

构建单元,用于通过虚拟配置桥模拟虚拟化网元的连接,构建与所述物理网络拓扑相同的所述虚拟网络拓扑。

可选的,所述装置还包括:

第四获取单元,用于在获取用户编排的业务之后,将所述业务转换为所述多个虚拟化网元的配置信息之前,获取所述生产网络当前包括的每个物理设备的当前配置信息,以及所述生产网络当前包括的物理设备构成的当前物理网络拓扑;

调整单元,用于若每个物理设备的当前配置信息与对应的虚拟化网元的配置信息不完全相同,则调整所述仿真网络中虚拟化网元的配置信息,其中,调整后的虚拟化网元的配置信息与对应的物理设备的当前配置信息相同;和/或,若所述当前物理网络拓扑与所述虚拟网络拓扑不完全相同,则调整所述虚拟网络拓扑,其中,调整后的虚拟网络拓扑与所述当前物理网络拓扑相同。

可选的,所述待验证项目为关键资源的容量充盈度;

所述验证单元,具体用于:

针对每个虚拟化网元,确定该虚拟化网元的配置信息所需消耗的第一资源值,并获取该虚拟化网元的已消耗的第二资源值和总资源值;

若所述第一资源值和所述第二资源值的和值小于等于所述总资源值,则确定所述关键资源的容量充盈度的验证结果为仿真通过;

若所述第一资源值和所述第二资源值的和值大于所述总资源值,则确定所述关键资源的容量充盈度的验证结果为仿真未通过。

可选的,所述待验证项目为第一虚拟机与第二虚拟机间的业务连通性;

所述验证单元,具体用于:

将所述配置信息下发至对应的虚拟化网元;

向目标路径上源虚拟化网元发送仿真报文,所述仿真报文的源地址为所述第一虚拟机的地址,所述仿真报文的目的地址为所述第二虚拟机的地址,所述目标路径为所述第一虚拟机与所述第二虚拟机之间的路径,以使所述源虚拟化网元沿所述目标路径向所述第二虚拟机转发所述仿真报文;

根据所述目标路径上各个虚拟化网元上报的所述仿真报文的处理结果,确定所述业务连通性的验证结果。

可选的,所述装置还包括:

提交单元,用于当所述待验证项目的验证结果为仿真通过时,将所述业务提交至所述生产网络的生产控制器。

第三方面,本申请实施例提供了一种仿真控制器,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现任一所述的数据中心的网络验证方法步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的数据中心的网络验证方法步骤。

本申请实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一所述的数据中心的网络验证方法步骤。

本申请实施例有益效果:

本申请实施例提供的技术方案中,数据中心中包括两个网络,分别为生产网络和生产网络的全量仿真网络,即该仿真网络的虚拟网络拓扑和生产网络的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同。该全量仿真网络配置信息与生产网络一致,通过该仿真网络进行网络验证,提高了网络验证结果的准确性。

此外,虚拟化网元通过标准的服务器硬件承载运行与物理识别相仿的软件实现,可以实现软件的灵活加载,在任何场景的任何位置灵活配置。这成倍加快网络部署和调整的速度,进而降低网络验证的人力成本和资源成本。

当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本申请实施例提供的数据中心的网络架构的一种示意图;

图2为本申请实施例提供的数据中心的网络验证方法的第一种流程示意图;

图3为本申请实施例提供的仿真网络的构建方法的一种流程示意图;

图4为本申请实施例提供的仿真控制器基于版本镜像库构建的仿真网络的一种示意图;

图5为本申请实施例提供的数据中心的网络验证方法的第二种流程示意图;

图6为本申请实施例提供的数据中心的网络验证方法的第三种流程示意图;

图7为本申请实施例提供的关键资源的关键资源的容量充盈度的一种仿真示意图;

图8为本申请实施例提供的数据中心的网络验证方法的第四种流程示意图;

图9为本申请实施例提供的租户业务连通性的一种仿真示意图;

图10为本申请实施例提供的数据中心的网络验证装置的一种结构示意图;

图11为本申请实施例提供的仿真控制器的一种结构示意图。

具体实施方式

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

为便于理解,下面对本申请实施例中出现的词语进行解释说明。

网络验证指的是业务变更或网络调整时的事前验证。事前验证是指在将变更的业务或调整的网络应用于生产网络之前,对变更的业务或调整网络进行的仿真验证。

仿真网络指仿真系统中使用抽象网元构建的虚拟网络。抽象网元即为虚拟化网元。

全量仿真指的是对生产网络进行全量的精准还原,生成仿真网络,以便基于仿真网络进行网络验证的解决方案。

生产网络的变更包括业务变更和网络调整。

虚拟网络拓扑指的是仿真网络的网络拓扑,为便于区分,本申请实施例中,简称为虚拟网络拓扑。

物理网络拓扑指的是生产网络的网络拓扑,为便于区分,本申请实施例中,简称为物理网络拓扑。

为提高数据中心网络验证结果的准确性,降低人力成本和资源成本,本申请实施例提供的一种数据中心,如图1所示,该数据中心包括生产网络11和仿真网络12、生产控制器13和仿真控制器14。

生产网络11包括多个物理设备111。物理设备111可为交换机或路由器。

仿真网络12为生产网络11的全量仿真网络。仿真网络12包括多个虚拟化网元121,如图1所示的仿真网络包括的多个矩形框。仿真网络12与生产网络11物理隔离,保证生产网络11的正常运行,以及仿真网络验证结果的准确。

其中,多个虚拟化网元121位于仿真计算节点上,用于仿真网络构建。多个虚拟化网元121与多个物理设备111一一对应,且多个虚拟化网元121构成的虚拟网络拓扑与多个物理设备111构成的物理网络拓扑相同,且每个虚拟化网元121的配置信息与对应的物理设备111的配置信息相同。

生产控制器13为sdn(softwaredefinednetwork,软件定义网络)控制器,用于通过netconf通道控制和管理生产网络11包括的多个物理设备111。

仿真控制器14为sdn(softwaredefinednetwork,软件定义网络)控制器,用于通过netconf(网络配置)通道控制和管理仿真网络12包括的多个虚拟化网元121。仿真控制器14的配置信息与生产控制器13的配置信息,以提高利用仿真网络进行网络验证的准确性。一个实施例中,部署软件系统可以通过容器单镜像多实例生成仿真控制器14。

仿真控制器14基于仿真网络进行仿真态编排业务的仿真和评估,同时提供仿真网络自适应能力,保持仿真网络与生产网络的实时同步。仿真态编排业务的仿真和评估始终基于最新的孪生网络进行,大幅提高了仿真和评估(即网络验证结果)的准确性。

本申请实施例中,仿真控制器14为仿真微沙箱(microsandbox-dc)。仿真控制器14上可以部署仿真微服务。仿真微服务可以具有配置管理、数据同步、模型构建、业务仿真、仿真评估和下发部署等功能。

配置管理指的是配置虚拟化网元的基础配置。

数据同步指的是同步生产网络与仿真网络的数据,使得生产网络与仿真网络的数据一致。

模型构建指的是构建仿真网络。

业务仿真和仿真评估指的是基于验证请求,对生产网络的业务进行模拟仿真,对模拟仿真获得的结果进行评估。业务仿真和仿真评估的整个过程可以称为网络验证。

下发部署指的是在验证结果评估为通过验证时,向生产网络部署仿真的业务。

此外,虚拟化网元为nfv(networkfunctionvirtualization,网络功能虚拟化)网元,nfv网元通过标准的服务器硬件承载运行与物理识别相仿的软件实现,可以实现软件的灵活加载,在任何场景的任何位置灵活配置。这成倍加快网络部署和调整的速度,进而降低网络验证的人力成本和资源成本,更为准确的还原生产网络。

另外,基于虚拟化网元可以使网络业务的伸缩性和自动化能力更好。因此,利用基于虚拟化网元的仿真网络,进行网络验证,可以实现数据中心中sdn控制器的自适应全量仿真,实现cpv(controlplaneverification,控制层面验证),进而可以快速准确的应对生产网络的变更,实现生产网络的变更的事前验证。

基于上述数据中心,本申请实施例提供了一种数据中心的网络验证方法,如图2所示,该方法应用于数据中心中仿真网络的仿真控制器,仿真网络包括多个虚拟化网元,数据中心中生产网络包括多个物理设备,多个虚拟化网元与多个物理设备一一对应,且多个虚拟化网元构成的虚拟网络拓扑与多个物理设备构成的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同。该网络验证方法包括如下步骤。

步骤s21,获取用户编排的业务。

本申请实施例中,业务可以为overlay业务,也可以为underlay业务,还以为其他数据中心的生产网络中所执行的业务。

仿真控制器与仿真ui(userinterface,用户界面)连接。生产控制器与生产ui连接,如图1所示。用户可以在仿真ui进行业务编排,并向仿真控制器输入验证请求,该验证请求包括编排好的业务。

本申请实施例中,用户也可以在其他设备上编排业务,并将编排好的业务携带在验证请求中,发送至仿真控制器。

步骤s22,将业务转换为多个虚拟化网元的配置信息。

仿真控制器获取到业务后,仿真执行业务,以进行网络验证,即,将该业务转换为配置信息,并将配置信息分解,散列到具体的虚拟化网元上。例如,仿真控制器在获取到业务后,收集本次仿真产生的所有netconf信息,根据netconf信息的地址信息,将netconf信息散列到具体的虚拟化网元上。上述配置信息为用于实现业务的虚拟化网元的配置信息。

步骤s23,利用配置信息,获取待验证项目的验证结果。

本申请实施例中,待验证项目可以包括但不限于关键资源容量验证、连通性验证、对已有业务影响等。仿真控制器基于仿真网络中多个虚拟化网元的配置信息,进行网络验证,获取待验证项目的验证结果。

本申请实施例提供的技术方案中,数据中心中包括两个网络,分别为生产网络和生产网络的全量仿真网络,即该仿真网络的虚拟网络拓扑和生产网络的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同。该全量仿真网络配置信息与生产网络一致,通过该仿真网络进行网络验证,提高了网络验证结果的准确性。

此外,虚拟化网元通过标准的服务器硬件承载运行与物理识别相仿的软件实现,可以实现软件的灵活加载,在任何场景的任何位置灵活配置。这成倍加快网络部署和调整的速度,进而降低网络验证的人力成本和资源成本。

在本申请的一个实施例中,为了实现本申请实施例提供的网络验证仿真,本申请实施例还提供了一种仿真网络的构建方法,如图3所示,该方法可以包括如下步骤。

步骤s31,获取多个物理设备的配置信息,以及物理网络拓扑,配置信息包括物理设备的版本信息。

在构建仿真网络时,生产控制器采集生产网络中多个物理设备的配置信息,该配置信息可以包括但不限于物理设备的版本信息、物理设备中运行的ospf(openshortestpathfirst,开放式最短路径优先)、bgp(bordergatewayprotocol,边界网关协议)、evpn(ethernetvirtualprivatenetwork,以太网虚拟化专用网络)等协议信息,以及物理设备与生产控制连接的接口地址、物理设备与其他物理设备连接的接口地址等信息。

物理设备的版本信息可以包括物理设备的型号,例如,6800、6850、6860、6890、9820、125g等。物理设备的版本信息还可以包括物理设备的编号,例如,b-c1-s、b-c2-s、b-c3-s、…、b-cn-s等。物理设备的版本信息还可以包括物理设备上安装的软件版本等。

生产控制器将采集的配置信息和物理网络拓扑提交至仿真控制器。进而仿真控制器获取到生产网络中多个物理设备的配置信息以及物理网络拓扑。仿真控制器可以将多个物理设备的配置信息作为基础配置,将物理网络拓扑作为基础拓扑。上述基础配置包括生产网络中所有物理设备的配置信息,因此,该基础配置又可以称为全量基础配置。

其中,基础配置可以表示为:base-config={b-c1-s6800,b-c2-s6850,b-c3-s6860,…,b-cn-s125g},基础拓扑可以表示为base-topo,base-topo包括物理网络拓扑的信息。

步骤s32,从版本镜像库中获取每个物理设备的版本信息对应的镜像版本信息,版本镜像库中存储了多个镜像版本信息。

本申请实施例中,仿真控制器设置了版本镜像库,版本镜像库中存储了多个镜像版本信息。镜像版本信息为物理设备的版本信息的虚拟化版本。例如,版本镜像库中存储的多个镜像版本信息可以表示为版本集virtual-lib={v6800,v6850,v6860,v6890,v9820,v125g,…}。

仿真控制器获取到多个物理设备的配置信息后,对于每个物理设备的版本信息,可以从版本镜像库中获取该对应的镜像版本信息。

步骤s33,根据每个物理设备的版本信息对应的镜像版本信息,建立每个物理设备对应的虚拟化网元。

仿真控制器基于镜像版本信息,建立相应的虚拟化网元。虚拟化网元与物理设备一一对应。虚拟化网元的配置信息与物理设备的配置信息一致。

步骤s34,通过虚拟配置桥模拟虚拟化网元的连接,构建与物理网络拓扑相同的虚拟网络拓扑。

仿真控制器在建立各个物理设备对应的虚拟化网元后,通过虚拟配置桥(如linuxbridge)模拟虚拟化网元的连接,构建与物理网络拓扑相同的虚拟网络拓扑。

例如图4所示,仿真控制器基于版本镜像库构建了仿真网络。该仿真网络(图4中右侧的网络)的虚拟网络拓扑与生产网络(图4中左侧的网络)的物理网络拓扑一致。版本镜像库中,左侧的矩形框为生产网络的版本信息,右侧的矩形框为仿真网络的镜像版本信息。

图4中,border、leaf和spine表示生产网络中不同角色类型物理设备,实现不同的网络功能;vborder、vleaf和vspine表示是仿真网络中担任border、leaf和spine角色类型的虚拟化网元。

当仿真控制器同步了生产控制器中业务数据,且虚拟化网元上,ospf、bgp或evpn等协议运行正常,接口地址与对应物理设备的接口地址一致,且虚拟化网元通过仿真控制器上线时,仿真网络构建完成。

在本申请的一个实施例中,为了进一步提高验证结果的准确性,基于图2,本申请实施例还提供了一种数据中心的网络验证方法,如图5所示,该方法还可以包括如下步骤。

步骤s24,获取生产网络当前包括的每个物理设备的当前配置信息,以及生产网络当前包括的物理设备构成的当前物理网络拓扑。

在获取到用户编排的业务后,仿真控制器获取当前时刻生产网络包括的每个物理设备的配置信息,即当前配置信息。同时,仿真控制器获取当前时刻生产网络包括的物理设备构成的物理网络拓扑,即当前物理网络拓扑。以便仿真控制器确定生产网络是否发生变化。

步骤s25,若每个物理设备的当前配置信息与对应的虚拟化网元的配置信息不完全相同,则调整仿真网络中虚拟化网元的配置信息,其中,调整后的虚拟化网元的配置信息与对应的物理设备的当前配置信息相同;和/或,若当前物理网络拓扑与虚拟网络拓扑不完全相同,则调整虚拟网络拓扑,其中,调整后的虚拟网络拓扑与当前物理网络拓扑相同。

每个物理设备在仿真网络中需要存在对应的虚拟化网元。仿真控制器比较当前物理网络拓扑与虚拟网络拓扑是否相同,并比较每个物理设备的当前配置信息与对应的虚拟化网元的配置信息是否相同。

若每个物理设备的当前配置信息与对应的虚拟化网元的配置信息不完全相同,即存在至少一个物理设备的当前配置信息与对应的虚拟化网元的配置信息不同,则说明生产网络发生业务变更,仿真控制器调整虚拟化网元的配置信息,如上述配置信息不同的虚拟化网元的配置信息,使得生产网络和仿真网络的数据一致。

一个示例中,用户通过生产控制器,变更生产网络的业务,对生产网络进行调整时,生产控制器会对用户的操作进行记录,形成网关记录。仿真控制器可通过解析生产控制器中网关记录,得出发生业务变更的虚拟化网元,即得出发生业务变更的范围。进而,仿真控制器调整发生业务变更的虚拟化网元的配置信息。

若当前物理网络拓扑与虚拟网络拓扑不完全相同,即生产网络中存储新物理设备的加入,和/或旧物理设备的退出,则说明生产网络发生网络调整,仿真控制器调整虚拟网络拓扑。具体为,仿真控制器确定调整范围,即变化的虚拟化网元,借助虚拟化网元的灵活性,建立或删除相应的虚拟化网元。

通过上述实施例,可以快速准确的完成仿真网络的适应过程,保证了仿真网络与生产网络的数据一致,提高了验证结果的准确性。

在本申请的一个实施例中,待验证项目为关键资源的容量充盈度。其中,关键资源可以包括但不限于vni(virtualprivatenetworkinstance,虚拟专用网实例)资源、epg(end-pointgroup,具有相同属性/策略的一组终端组)资源、vrf(virtualroutingforwarding,虚拟路由转发)资源、静态路由资源、vsi(virtualswitchinterface,虚拟交换接口)资源等。

对于关键资源的容量充盈度的验证,如图6所示,步骤s23可以细化步骤s231、s232和s233。

步骤s231,针对每个虚拟化网元,确定该虚拟化网元的配置信息所需消耗的第一资源值,并获取该虚拟化网元的已消耗的第二资源值和总资源值。

虚拟化网元的配置信息包括该虚拟化网元所需资源的资源值。针对每个虚拟化网元,仿真控制器可以获取该虚拟化网元中已存在的配置信息,通过分析比对该虚拟化网元的需要下发的配置信息和该虚拟化网元中已存在的配置信息,可获得执行配置信息对应业务需要消耗的资源值,即第一资源值。

或者,仿真控制器可以将配置信息下发至该虚拟化网元,该虚拟化网元执行配置信息对应业务。进而,仿真控制器获得该虚拟化网元执行配置信息对应业务实际需要消耗的第一资源值。

另外,仿真控制器可以通过生产控制器,从生产网络提取该虚拟化网元对应的物理设备的已消耗的资源值(即第二资源值)和总资源值,该物理设备的第二资源值和总资源值即为该虚拟化网元的第二资源值和总资源值。因为生产网络与仿真网络的数据一致。

仿真控制器可以从仿真网络提取该虚拟化网元的已消耗的第二资源值和总资源值。本申请实施例中,对仿真控制器获取第二资源值和总资源值的方式不进行限定。

仿真控制器获取到第一资源值、第二资源值和总资源值后,比较第一资源值和第二资源值的和值与总资源值的大小,以确定验证结果是否通过。

步骤s232,若第一资源值和第二资源值的和值小于等于总资源值,则确定关键资源的容量充盈度的验证结果为仿真通过。

步骤s233,若第一资源值和第二资源值的和值大于总资源值,则确定关键资源的容量充盈度的验证结果为仿真未通过。

本申请实施例中,若第一资源值和第二资源值的和值小于等于总资源值,则说明该虚拟化网元的剩余资源足够完成本次业务,仿真控制器确定本次关键资源的容量充盈度的验证结果为仿真通过。

若第一资源值和第二资源值的和值小于等于总资源值,第一资源值和第二资源值的和值大于总资源值,则说明该虚拟化网元的剩余资源无法完成本次业务,仿真控制器确定本次关键资源的容量充盈度的验证结果为仿真未通过。

例如,如图7所示的关键资源的容量充盈度的仿真示意图。其中,关键资源包括vni资源、epg资源、vrf资源、静态路由资源和vsi资源。图7中,以关键资源包括上述5种资源为例进行说明,实际应用中关键资源可以包括上述5种资源中的任一一个或多个。

仿真控制器通过生产控制器从生产网络提取各个物理设备的上述各个关键资源的第二资源值和总资源值。

仿真控制器基于数据中心的租户1编排的业务,获取相应虚拟化网元所需消耗的第一资源值。

仿真控制器基于第一资源值、第二资源值和总资源值,确定vni资源的验证结果为仿真通过,epg资源的验证结果为仿真通过,vrf资源的验证结果为仿真未通过,静态路由资源的验证结果为仿真未通过,vsi资源的验证结果为仿真未通过,如图7所示。

仿真控制器获取到验证结果后,可将验证结果下发至生产网络。由生产网络的生产控制器进行相应处理。

在本申请的一个实施例中,待验证项目为第一虚拟机与第二虚拟机间的业务连通性。第一虚拟机与第二虚拟机可以为任意两个虚拟机,第一虚拟机与第二虚拟机可以位于同一vpn(virtualprivatenetwork,虚拟专用网)中,也可以位于不同的vpn。

对于第一虚拟机与第二虚拟机间的业务连通性的验证,如图8所示,步骤s23可以细化步骤s234、s235和s236。

步骤s234,将配置信息下发至对应的虚拟化网元。

步骤s235,向目标路径上源虚拟化网元发送仿真报文,仿真报文的源地址为第一虚拟机的地址,仿真报文的目的地址为第二虚拟机的地址,目标路径为第一虚拟机与第二虚拟机之间的路径,以使源虚拟化网元沿目标路径向第二虚拟机转发仿真报文。

本申请实施例中,仿真网络正常运行ospf、bgp等协议,并学习了路由。仿真控制器可根据学习到的真实路由进行路径探测,进而确定上述目标路径,完成业务连通性的检测。

具体的,仿真控制器模拟第一虚拟机,向目标路径上源虚拟化网元发送仿真报文。该仿真报文用于验证第一虚拟机与第二虚拟机之间的业务连通性,其源地址为第一虚拟机的地址,目的地址为第二虚拟机的地址。

步骤s236,根据目标路径上各个虚拟化网元上报的仿真报文的处理结果,确定业务连通性的验证结果。

本申请实施例中,目标路径上的各个虚拟化网元接收到仿真报文后,对仿真报文进行转发处理,得到处理结果,并将处理结果上报至仿真控制器。其中,处理结果可以为转发成功或转发失败等。

仿真控制器根据各个虚拟化网元上报的处理结果,确定第一虚拟机与第二虚拟机之间业务连通性的验证结果。

例如,如图9所示的租户业务连通性的仿真示意图。图9中,需要验证虚拟机vm1和vm2间的业务连通性。虚拟化网元上报的处理结果为转发成功或转发失败。图9中,vborder、vleaf和vspine表示是仿真网络中担任border、leaf和spine角色的虚拟化网元。border、leaf和spine角色为生产网络中设备的角色类型,实现不同的网络功能。

租户业务连通性的仿真过程中,仿真控制器通过生产控制器从生产网络中提取配置信息和物理网络拓扑,构建仿真网络。租户1编排业务,基于编排的业务,仿真控制器确定需要验证vm1和vm2间的业务连通性。仿真控制器基于学习到的路由,确定vm1至vm2的目标路径为虚拟化网元vleaf1-vspine1-vleaf2,如图9所示。

仿真控制器向vleaf1下发仿真报文1,仿真报文1的源地址为vm1的地址,仿真报文1的目的地址为vm2的地址。vleaf1接收到仿真报文1后,向vspine1转发仿真报文1。若转发成功,则vleaf1向仿真控制器上报指示转发成功的处理结果1。若转发失败,则vleaf1向仿真控制器上报指示转发失败的处理结果2。

vspine1接收到仿真报文1后,向vleaf2转发仿真报文1。若转发成功,则vspine1向仿真控制器上报指示转发成功的处理结果3。若转发失败,则vspine1向仿真控制器上报指示转发失败的处理结果4。

vleaf2接收到仿真报文1后,向vm2转发仿真报文1。若转发成功,则vleaf2向仿真控制器上报指示转发成功的处理结果5。若转发失败,则vleaf2向仿真控制器上报指示转发失败的处理结果6。

若仿真控制器接收到了处理结果1、3和5,则仿真控制器确定本次vm1和vm2间的业务连通性的验证结果为仿真通过。否则,仿真控制器确定本次vm1和vm2间的业务连通性的验证结果为仿真未通过。

仿真控制器获取到验证结果后,若验证结果为仿真通过,可将业务下发至生产网络。由生产网络的生产控制器进行相应处理。

在本申请的一个实施例中,当待验证项目的验证结果为仿真通过时,将业务提交至生产网络的生产控制器。进而,生产控制器将业务转换为多个物理设备的配置信息,并下发至各个物理设备,实现在生产网络中执行本次编排的业务。之后,可开始新一轮仿真业务的编排。

与上述数据中心的网络验证方法对应,本申请实施例还提供了一种数据中心的网络验证装置,如图10所示,该装置应用于数据中心中仿真网络的仿真控制器,仿真网络包括多个虚拟化网元,数据中心中生产网络包括多个物理设备,多个虚拟化网元与多个物理设备一一对应,且多个虚拟化网元构成的虚拟网络拓扑与多个物理设备构成的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同;该装置包括:

第一获取单元101,用于获取用户编排的业务;

转发单元102,用于将业务转换为多个虚拟化网元的配置信息;

验证单元103,用于利用配置信息,获取待验证项目的验证结果。

一个可选的实施例中,上述数据中心的网络验证装置还可以包括:

第二获取单元,用于获取多个物理设备的配置信息,以及物理网络拓扑,配置信息包括物理设备的版本信息;

第三获取单元,用于从版本镜像库中获取每个物理设备的版本信息对应的镜像版本信息,版本镜像库中存储了多个镜像版本信息;

建立单元,用于根据每个物理设备的版本信息对应的镜像版本信息,建立每个物理设备对应的虚拟化网元;

构建单元,用于通过虚拟配置桥模拟虚拟化网元的连接,构建与物理网络拓扑相同的虚拟网络拓扑。

一个可选的实施例中,上述数据中心的网络验证装置还可以包括:

第四获取单元,用于在获取用户编排的业务之后,将业务转换为多个虚拟化网元的配置信息之前,获取生产网络当前包括的每个物理设备的当前配置信息,以及生产网络当前包括的物理设备构成的当前物理网络拓扑;

调整单元,用于若每个物理设备的当前配置信息与对应的虚拟化网元的配置信息不完全相同,则调整所述仿真网络中虚拟化网元的配置信息,其中,调整后的虚拟化网元的配置信息与对应的物理设备的当前配置信息相同;和/或,若所述当前物理网络拓扑与所述虚拟网络拓扑不完全相同,则调整所述虚拟网络拓扑,其中,调整后的虚拟网络拓扑与所述当前物理网络拓扑相同。

一个可选的实施例中,待验证项目为关键资源的容量充盈度;

验证单元103,具体可以用于:

针对每个虚拟化网元,确定该虚拟化网元的配置信息所需消耗的第一资源值,并获取该虚拟化网元的已消耗的第二资源值和总资源值;

若第一资源值和第二资源值的和值小于等于总资源值,则确定关键资源的容量充盈度的验证结果为仿真通过;

若第一资源值和第二资源值的和值大于总资源值,则确定关键资源的容量充盈度的验证结果为仿真未通过。

一个可选的实施例中,待验证项目为第一虚拟机与第二虚拟机间的业务连通性;

验证单元103,具体可以用于:

将配置信息下发至对应的虚拟化网元;

向目标路径上源虚拟化网元发送仿真报文,仿真报文的源地址为第一虚拟机的地址,仿真报文的目的地址为第二虚拟机的地址,目标路径为第一虚拟机与第二虚拟机之间的路径,以使源虚拟化网元沿目标路径向第二虚拟机转发仿真报文;

根据目标路径上各个虚拟化网元上报的仿真报文的处理结果,确定业务连通性的验证结果。

一个可选的实施例中,上述数据中心的网络验证装置还可以包括:

提交单元,用于当待验证项目的验证结果为仿真通过时,将业务提交至生产网络的生产控制器。

本申请实施例提供的技术方案中,数据中心中包括两个网络,分别为生产网络和生产网络的全量仿真网络,即该仿真网络的虚拟网络拓扑和生产网络的物理网络拓扑相同,且每个虚拟化网元的配置信息与对应的物理设备的配置信息相同。该全量仿真网络配置信息与生产网络一致,通过该仿真网络进行网络验证,提高了网络验证结果的准确性。

此外,虚拟化网元通过标准的服务器硬件承载运行与物理识别相仿的软件实现,可以实现软件的灵活加载,在任何场景的任何位置灵活配置。这成倍加快网络部署和调整的速度,进而降低网络验证的人力成本和资源成本。

与上述数据中心的网络验证方法对应,本申请实施例还提供了一种仿真控制器,如图11所示,包括处理器1110和机器可读存储介质1111,机器可读存储介质1111存储有能够被处理器1110执行的机器可执行指令,处理器1110被机器可执行指令促使:实现任一所述的数据中心的网络验证方法步骤。

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

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

与上述数据中心的网络验证方法对应,在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据中心的网络验证方法的步骤。

与上述数据中心的网络验证方法对应,在本申请提供的又一实施例中,还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述实施例中任一数据中心的网络验证方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

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

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

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

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