虚拟专用网络的创建方法、装置和服务器与流程

文档序号:16925571发布日期:2019-02-22 19:50阅读:218来源:国知局
虚拟专用网络的创建方法、装置和服务器与流程

本公开涉及云应用拓扑编排技术领域,尤其是涉及一种虚拟专用网络的创建方法、装置和服务器。



背景技术:

在云计算环境下,云端资源所承担的业务数量和种类日益增多,业务处理也变得越来越复杂。一项业务的运行可能需要多种硬件资源和软件资源的相互协调配合。为每项业务安排对应的运行资源、以及为多项业务之间进行资源协调的过程,可以称为云编排。

上述云编排的过程可以通过nfv(networkfunctionvirtualization,网络功能虚拟化)编排器实现;该nfv编排器实现编排定义网络拓扑模板。该网络拓扑模板可以由用户使用上述nfv编排器编排得到。用户编排好的网络拓扑模板中通常包含业务所需要的硬件资源和软件资源;在网络拓扑模板中,这些资源以不同的节点元素体现,各资源间的运行关系、通信关系等通过节点元素间的连接表示。

上述网络拓扑模板编排好后,需要对该模板中的各个节点元素进行创建,创建完成后再将创建后的配置信息下发至网络设备中,才能得到运行业务所需的各类资源。由于模板中的各节点元素之间往往具有一定的运行关系或通信关系,在创建当前节点元素时,常需要获取模板中已创建完成后的节点元素的配置信息。如某些特殊的业务场景,需要编排并创建l2vpn(layer2virtualprivatenetworks,二层虚拟专用网络)和l3vpn(layer3virtualprivatenetworks,三层虚拟专用网络)组合网络,现有的l2vpn和l3vpn组合网络的创建方式中,需要先创建三层虚拟专用网络,再手动查询获得该三层虚拟专用网络创建后的vlan,进而在该vlan下创建二层虚拟专用网络,使得组合网络的创建过程难以自动化实现。



技术实现要素:

有鉴于此,本公开的目的在于提供一种虚拟专用网络的创建方法、装置和服务器,以使二层虚拟专用网络和三层虚拟专用网络的组合网络的创建过程能够自动化实现。

为了实现上述目的,本公开采用的技术方案如下:

第一方面,本公开提供了一种虚拟专用网络的创建方法,方法应用于运行nfv编排器的设备;该方法包括:当接收到用户触发的网络创建指令时,查找待创建的网络拓扑模板中是否存在二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,且二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素间具有依赖关系;如果存在,获取用户设置的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素所需的虚拟局域网信息;根据虚拟局域网信息确定二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;根据确定的vlanid创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,得到包含有二层虚拟专用网络和三层虚拟专用网络的虚拟专用网络。

第二方面,本公开提供了一种虚拟专用网络的创建装置,装置设置于运行nfv编排器的设备;该装置包括:节点元素查找模块,用于当接收到用户触发的网络创建指令时,查找待创建的网络拓扑模板中是否存在二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,且二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素间具有依赖关系;信息获取模块,用于如果存在,获取用户设置的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素所需的虚拟局域网信息;vlanid确定模块,用于根据虚拟局域网信息确定二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;网络创建模块,用于根据确定的vlanid创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,得到包含有二层虚拟专用网络和三层虚拟专用网络的虚拟专用网络。

第三方面,本公开提供了一种服务器,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述虚拟专用网络的创建方法。

第四方面,本公开提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述虚拟专用网络的创建方法。

上述虚拟专用网络的创建方法、装置、服务器和机器可读存储介质,如果待创建的网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,则获取用户设置的虚拟局域网信息;再根据该虚拟局域网信息确定vlanid并创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;该方式在创建具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之前,设置好所需的虚拟局域网信息,无需再在创建过程中由工作人员手动查询,使得二层虚拟专用网络和三层虚拟专用网络的组合网络创建过程能够自动化进行,进而有利于实现根据业务场景自由地定义网络拓扑。

进一步地,二层虚拟专用网络和三层虚拟专用网络的组合网络的创建过程能够自动化进行减少了人工操作维护的成本,同时用户无需关心二层虚拟专用网络和三层虚拟专用网络的创建顺序,也能便捷地编排二层虚拟专用网络和三层虚拟专用网络的组合网络或其他相关的组网形式。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

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

图1为本公开实施方式提供的一种涉及二层虚拟专用网络和三层虚拟专用网络组合网络的网络结构;

图2为本公开实施方式提供的一种虚拟专用网络的创建方法的流程图;

图3为本公开实施方式提供的另一种虚拟专用网络的创建方法的流程图;

图4为本公开实施方式提供的另一种虚拟专用网络的创建方法的流程图;

图5为本公开实施方式提供的一种虚拟专用网络的创建装置的结构示意图;

图6为本公开实施方式提供的一种服务器的结构示意图。

具体实施方式

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

为了便于理解,本实施方式首先提供一种涉及二层虚拟专用网络和三层虚拟专用网络组合网络的网络结构;如图1中以二层虚拟专用网络和三层虚拟专用网络组合网络包含两个二层虚拟专用网络和一个三层虚拟专用网络为例进行说明。两个二层虚拟专用网络和一个三层虚拟专用网络在形成组合网络之前,可能彼此之间不具有通信关系,或者需要经过较为复杂路径才能实现网络间的数据传输。受到某些特殊业务场景的业务需求或组网需求,需要将上述二层虚拟专用网络和三层虚拟专用网络形成组合网络。

形成组合网络的过程中,首先需要用户使用运行nfv编排器的设备,通过nfv编排器设计相关的网络拓扑模板,该网络拓扑模板中包含上述两个二层虚拟专用网络和一个三层虚拟专用网络分别对应的节点元素,以及各节点元素的配置信息。网络拓扑模板设计完成后,再通过nfv编排器创建对该模板中的各个节点元素;各节点元素创建完成后,nfv编排器通过对应的接口将节点元素创建后的配置信息同步至二层虚拟专用网络和三层虚拟专用网络分别对应的控制器、以及控制器连接的各网络的网络设备中,该网络设备可以为网络边缘路由器、客户终端设备(简称为cpe设备)、核心路由器等;信息同步后,各网络之间的网络设备具有了直接的通信连接关系,进而得到上述两个二层虚拟专用网络和一个三层虚拟专用网络的组合网络。

上述节点元素创建的过程也可以称为节点元素实例化过程,也可以理解为根据各个节点元素的配置信息分配网络资源的过程。

继续参考图1中,组合网络建立后,两个二层虚拟专用网络的网络设备(如边缘路由器)分别与三层虚拟专用网络的网络设备(如边缘路由器)通信连接,从而实现两个二层虚拟专用网络和一个三层虚拟专用网络的融合,即上述二层虚拟专用网络和三层虚拟专用网络的组合网络。

通常,二层虚拟专用网络和三层虚拟专用网络需要创建在同一vlan(virtuallocalareanetwork,虚拟局域网)下才能实现网络互通。因此,现有的虚拟专用网络的创建过程中,受二层虚拟专用网络和三层虚拟专用网络的路由方式差异的影响,接入三层虚拟专用网络的二层虚拟专用网络设备需要提前获取三层虚拟专用网络所属的虚拟局域网的vlanid,且该vlanid需要三层虚拟专用网络创建完成后才能获得;因此,为了实现上述二层虚拟专用网络和三层虚拟专用网络的组合网络,需要先创建三层虚拟专用网络,再从该三层虚拟专用网络创建后的配置信息中手动查询获得vlanid,进而再在该vlanid对应的vlan下继续创建二层虚拟专用网络。该方式需要工程师手动查询参数,使得组合网络的创建过程难以自动化实现。

基于上述问题,本公开实施方式提供了虚拟专用网络的创建方法、装置和服务器。

本公开实施方式首先提供一种虚拟专用网络的创建方法;该方法应用于运行nfv编排器的设备。该nfv编排器也可以称为nfvo(networkfunctionvirtualizationorchestrator,网络功能虚拟化编排器);用户使用nfv编排器设计网络拓扑模板过程中可以采用tosca软件,当然也可以采用其他软件进行编排,本实施例对nvf编排器具体如何进行网络拓扑模板编排并不加以限定。参见图2所示的一种虚拟专用网络的创建方法的流程图;该方法包括如下步骤:

步骤s202,当接收到用户触发的网络创建指令时,查找待创建的网络拓扑模板中是否存在二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,且该二层虚拟专用网络对应的节点元素和该三层虚拟专用网络对应的节点元素间具有依赖关系;

其中,网络拓扑模板的节点元素通常包括节点名称和配置信息。如果当前业务需要实现二层虚拟专用网络和三层虚拟专用网络的组合网络,在网络拓扑模板会同时出现二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,且至少一对二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之间具有依赖关系。

具体地,具有依赖关系的节点元素之间,某一节点元素创建过程中可能需要获取被依赖的节点元素已经创建后的配置参数;则该节点元素的配置信息中,部分配置信息需要通过预设的命令从被依赖的节点元素的配置信息中查找;如果从节点元素的配置信息中查找到了该命令,并从该命令中查找到了被依赖的节点元素的节点名称,则说明该节点名称对应的节点元素与该命令所属的节点元素具有依赖关系。例如,具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之间,二层虚拟专用网络对应的节点元素在创建过程中需要三层虚拟专用网络对应的节点元素创建完成后的配置信息,则二层虚拟专用网络对应的节点元素中通常包含有预设的命令,且该命令中包含有上述三层虚拟专用网络对应的节点元素的节点名称。

因而,具体可以通过查找该网络拓扑模板中各节点元素的节点元素类型以及各节点元素之间的依赖关系,确定该模板中是否同时存在具有依赖关系的二层虚拟专用网络节点元素和三层虚拟专用网络节点元素。

当网络拓扑模板需要进行创建时,用户可以在nfv编排器的页面上点击创建服务的按钮,同时选择该网络拓扑模板,即可触发该模板对应的网络创建指令。

步骤s204,如果待创建的网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,获取用户设置的上述二层虚拟专用网络对应的节点元素和上述三层虚拟专用网络对应的节点元素所需的虚拟局域网信息;

步骤s206,根据上述虚拟局域网信息确定二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;

如果用户预先知晓该网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,可以在触发网络创建指令时,同时设置所需的虚拟局域网信息;也可以在nfv编排器查询到网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素后,提示用户输入该虚拟局域网信息。

该虚拟局域网信息可以仅包括vlan资源池id或vlanid,也可以同时包括vlan资源池id和vlanid。

具体地,在第一种实施方式中:如果该虚拟局域网信息仅包括vlan资源池id,nfv编排器可以根据该vlan资源池id查找到对应的vlan资源池,vlan资源池中通常包含多个vlanid;进而在该vlan资源池中为上述具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素分配一个可用的vlanid。

在第二种实施方式中:如果该虚拟局域网信息同时包括vlan资源池id和vlanid,通常需要先确认该vlanid是否可用(或者是否被占用),如果可用,即可直接使用该vlanid创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;如果不可用,则可以从该vlan资源池id对应的vlan资源池中分配一个可用的vlanid。

另外,在第三种实施方式中,如果上述虚拟局域网信息仅包括vlanid,且该vlanid经确认可用后,即可使用该vlanid创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素。

步骤s208,根据确定的vlanid创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,得到包含有二层虚拟专用网络和三层虚拟专用网络的虚拟专用网络。

现有方式中,如果网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,通常先创建其中的三层虚拟专用网络对应的节点元素,将该三层虚拟专用网络节点元素的创建后的配置信息同步,可得到对应的三层虚拟专用网络服务;再选择已创建的三层虚拟专用网络服务,并获取对应的vlanid,根据该vlanid创建二层虚拟专用网络对应的节点元素,将该二层虚拟专用网络的节点元素的创建后的配置信息同步,可得到对应的二层虚拟专用网络服务,进而得到最终的二层虚拟专用网络和三层虚拟专用网络组合网络。

现有方式不仅不利于二层虚拟专用网络和三层虚拟专用网络的组合网络的创建过程能够自动化进行,nfv编排器的北向接口的用户如果不知晓上述流程,则难以成功创建二层虚拟专用网络和三层虚拟专用网络的组合网络,也难以实现与该二层虚拟专用网络和三层虚拟专用网络的组合网络相关的组网需求,影响了组网编排的便捷性和用户体验。

而本实施方式中,由于在创建组合网络之前,已经确定了创建该组合网络时二层虚拟专用网络和三层虚拟专用网络共同使用的vlanid,因此在组合网络的创建过程中无需一定先创建三层虚拟专用网络,也无需用户手动查询该三层虚拟专用网络创建后的vlanid,再创建二层虚拟专用网络。此时,可以按照上述网络拓扑模板中各个节点元素的默认顺序创建该组合网络,创建过程也可自动化实现。

例如,可以先创建组合网络中的二层虚拟专用网络,再创建三层虚拟专用网络;也可以先创建组合网络中的三层虚拟专用网络,再创建二层虚拟专用网络;或者同时创建组合网络中的二层虚拟专用网络和三层虚拟专用网络。

本公开实施方式提供的虚拟专用网络的创建方法,如果待创建的网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,则获取用户设置的虚拟局域网信息;再根据该虚拟局域网信息确定vlanid并创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;该方式在创建具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之前,设置好所需的虚拟局域网信息,无需再在创建过程中由工作人员手动查询,使得二层虚拟专用网络和三层虚拟专用网络的组合网络创建过程能够自动化进行,进而有利于实现根据业务场景自由地定义网络拓扑。

进一步地,二层虚拟专用网络和三层虚拟专用网络的组合网络的创建过程能够自动化进行减少了人工操作维护的成本,同时用户无需关心二层虚拟专用网络和三层虚拟专用网络的创建顺序,也能便捷地编排二层虚拟专用网络和三层虚拟专用网络的组合网络或其他相关的组网形式。

本公开实施方式还提供另一种虚拟专用网络的创建方法;该方法基于上述实施方式实现;上述实施方式中描述了虚拟局域网信息可以包含多种具体的信息;本实施方式中进一步描述对虚拟局域网信息中具体信息的判断过程,以及包含每种具体信息时确定二层虚拟专用网络和三层虚拟专用网络的组合网络的vlanid的方式。如图3所示,该方法包括如下步骤:

步骤s302,接收到用户触发的网络创建指令;

步骤s304,查找待创建的网络拓扑模板中是否存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;如果存在,执行步骤s306;如果不存在,结束。

步骤s306,获取用户设置的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素所需的虚拟局域网信息;

步骤s308,判断该虚拟局域网信息是否包括vlan资源池id;如果包括vlan资源池id,执行步骤s310;如果不包括vlan资源池id,执行步骤s318;

通常,当前云资源中可能设置有多个vlan资源池,每个vlan资源池通过vlan资源池id进行标识;每个vlan资源池包含有对应的vlanid段,该vlanid段可以由连续或间断的vlanid组成。各个vlan资源池id,以及每个vlan资源池id对应的vlan资源池所包含的vlanid,可以以列表或数据库的形式预先保存在nfv编排器中,以供用户查询并设置相应的虚拟局域网信息。

步骤s310,判断虚拟局域网信息是否还包括vlanid;如果包括vlanid,执行步骤s312;如果不包括vlanid,执行步骤s316;

步骤s312,判断该vlanid是否被占用;如果未占用,执行步骤s314;如果被占用,执行步骤s324;

步骤s314,将vlanid作为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;执行步骤s326;

如果虚拟局域网信息同时包括vlan资源池id和vlanid,说明用户为该组合网络指定了明确的vlanid;如果网络中在很短时间内创建多个网络拓扑模板,各vlanid的占用状况来不及更新,用户可能并不知晓预先设置的vlanid已经占用;为了避免一个vlanid下创建多个虚拟专用网,nfv编排器在使用该vlanid前,可以通过相关接口向控制器查询该vlanid的真实占用状况,以避免造成网络创建混乱的情况。

如果该vlanid已被占用,可以提示用户该vlanid已被占用,请用户重新输入虚拟局域网信息;另一种方式中,由于虚拟局域网信息包括了vlan资源池id,因此也可以由用户选择是重新输入虚拟局域网信息,还是从上述vlan资源池id对应的vlan资源池中分配一个未占用的vlanid;或者经查询上述vlanid已被占用后,直接从上述vlan资源池id对应的vlan资源池中分配一个未占用的vlanid,并将分配的vlanid告知给用户。

步骤s316,从vlan资源池id对应的vlan资源池中分配未占用的vlanid,将分配的vlanid作为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;执行步骤s326;

如果虚拟局域网信息仅包括vlan资源池id,说明创建该组合网络的vlanid仅需要处于某个vlanid段即可,此时用户可以仅为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素指定该vlanid段对应的vlan资源池id。vlan资源池id对应的vlan资源池中可以记录有各个vlanid的占用状况,可以根据记录的占用状况为该二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素分配未占用的vlanid。具体的分配方式可以是从vlan资源池中随机选取一个未占用的vlanid,也可以根据vlanid的顺序获取未占用的vlanid。

如上文中所述,记录的占用状况可能不能及时更新,因此分配好vlanid后,还可以通过相关接口向控制器查询该vlanid的真实占用状况,如果该vlanid确实未被占用,即可将该vlanid确定为创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素最终的vlanid;如果该vlanid已被占用,则可以从上述vlan资源池中重新分配一个vlanid。

步骤s318,判断该虚拟局域网信息是否包括vlanid;如果包括vlanid,执行步骤s320;如果不包括vlanid,执行步骤s324;

步骤s320,判断该vlanid是否被占用;如果未占用,执行步骤s322;如果被占用,执行步骤s324;

步骤s322,将vlanid作为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;执行步骤s326。

如果虚拟局域网信息中不包括vlan资源池id,仅包括vlanid,同样需要查询确定该vlanid是否被占用;具体的查询确定方式可如上文所述,在此不再赘述。由于用户未指定vlan资源池id,如果该vlanid已被占用,可以通知用户重新输入虚拟局域网信息。

步骤s324,向用户返回提示信息,以提示用户重新输入虚拟局域网信息;

步骤s326,根据确定的vlanid创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素。

本实施方式中,首先判断虚拟局域网信息是否包括vlan资源池id,以分别描述包括vlan资源池id和不包括vlan资源池id两种情况下的处理方式;在另外一种方式中,还可以首先判断虚拟局域网信息中是否包括vlanid,如果包括vlanid且该vlanid未被占用,则通过该vlanid创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;如果虚拟局域网信息中不包括vlanid,但包括vlan资源池id,则从该vlan资源池id对应的vlan资源池中分配一个未占用的vlanid,用于创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素。

上述虚拟专用网络的创建方法中,根据用户设置的虚拟局域网信息中的具体内容,通过不同的方式确定所需的vlanid并创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;该方式在创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之前设置好所需的虚拟局域网信息,无需再在创建过程中由工作人员手动查询,使得二层虚拟专用网络和三层虚拟专用网络组合网络的创建过程能够自动化进行,进而有利于实现根据业务场景自由定义网络拓扑。

本公开实施方式还提供另一种虚拟专用网络的创建方法;该方法基于上述实施方式实现;本实施方式中重点描述确定组合网络的vlanid之后,组合网络的具体创建过程和信息同步过程;如图4所示,该方法包括如下步骤:

步骤s402,接收用户触发的网络创建指令;

步骤s404,查找待创建的网络拓扑模板中是否存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;如果存在,执行步骤s406;如果不存在,结束。

步骤s406,获取用户设置的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素所需的虚拟局域网信息;

步骤s408,判断该虚拟局域网信息是否包括vlan资源池id;如果包括vlan资源池id,执行步骤s410;如果不包括vlan资源池id,执行步骤s418;

步骤s410,判断虚拟局域网信息是否还包括vlanid;如果包括vlanid,执行步骤s412;如果不包括vlanid,执行步骤s416;

步骤s412,判断该vlanid对应的虚拟局域网是否被占用;如果未被占用,执行步骤s414;如果被占用,执行步骤s424;

步骤s414,将vlanid作为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;执行步骤s426;

步骤s416,从vlan资源池id对应的vlan资源池中分配未占用的vlanid,将分配的vlanid作为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;执行步骤s426;

步骤s418,判断虚拟局域网信息是否包括vlanid;如果包括vlanid,执行步骤s420;如果不包括vlanid,执行步骤s424;

步骤s420,判断该vlanid是否被占用;如果未被占用,执行步骤s422;如果被占用,执行步骤s424;

步骤s422,将vlanid作为上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;执行步骤s426。

步骤s424,向用户返回提示信息,以提示用户重新输入虚拟局域网信息;

步骤s426,从网络拓扑模板中提取组合网络中二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;

通过网络拓扑模板中各个节点元素的排列顺序,可以确定创建各个节点元素的顺序。当需要创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素时,从网络拓扑模板中提取该二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,该二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素中通常包含上述确定的vlanid,还包含创建节点元素所需的其他默认配置信息或者获取这些配置信息的命令和路径。

步骤s428,根据步骤s422中确定的vlanid更新二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的配置信息;

具体地,可以将上述vlanid添加至二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的配置信息中的对应字段中。

步骤s430,根据更新后的配置信息分别创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,得到包含有二层虚拟专用网络和三层虚拟专用网络的虚拟专用网络。

由于已经确定对应的vlanid,该步骤中创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的具体顺序不再受vlanid这一参数的限制,按照网络拓扑模板中各节点元素的顺序进行创建即可。

nfv编排器不仅为网络拓扑模板的设计提供操作接口,还提供北向接口和南向接口,该北向接口和南向接口可以用于创建网络拓扑模板中的各个节点元素,实现当前业务场景的资源分配。其中,北向接口具体可以是为oss(operationsupportsystem,运营支撑系统)或bss(businesssupportsystem,业务支撑系统)系统提供资源管理和调度的接口、业务快速编排、下发和监控的功能接口等;南向接口可以连接vim(virtualizedinfrastructuremanager,虚拟基础设施管理)系统、sdn(softwaredefinednetwork,软件定义网络)控制器和vnfm(networkfunctionvirtualizationmanager,网络功能虚拟化管理器)平台等。

网络拓扑模板设计完成后,需要通过上述nfv编排器创建模板中的各个节点元素。对于上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,均可以通过下述方式创建:以二层虚拟专用网络对应的节点元素为例,nfv编排器可以通过上述vnfm计算该二层虚拟专用网络对应的节点元素的资源需求,通过上述vim根据资源需求的计算结果为二层虚拟专用网络对应的节点元素分配资源(该资源包括计算资源、存储资源、网络资源等),vim资源分配成功后,通知nfv编排器。该nfv编排器再通知vnfm利用分配的资源按照二层虚拟专用网络对应的节点元素的配置信息配置该二层虚拟专用网络对应的节点元素,配置完成后,通知nfv编排器创建成功,nfv编排器再通知用户创建成功。

步骤s432,获取二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素创建完成后的配置信息;将创建完成后的配置信息分别发送至二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素对应的控制器,以使控制器在各个区域组网中进行创建完成后的配置信息的同步操作。

二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素均创建成功后,nfv编排器将二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素创建化后的配置信息下发至控制器,控制器再下发至底层路由器。用户在设计网络拓扑模板中,预先在上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的配置信息中设置了节点元素的配置信息下发的控制器,即配置信息中保存了下发的控制器的标识。通过查询配置信息中的控制器标识,即可确定上述二层虚拟专用网络对应的节点元素的配置信息,以及三层虚拟专用网络对应的节点元素的配置信息需要下发至哪些控制器中。

继续参考图1,网络拓扑模板的设计过程以及模板中各节点元素的创建过程都是在nfv编排器完成;为了使创建的包含有二层虚拟专用网络和三层虚拟专用网络的虚拟专用网络能够正常运行,需要使网络中的二层虚拟专用网络和三层虚拟专用网络中的相关设备知晓已创建该虚拟专用网络,并协助运行该虚拟专用网络;基于该目的则需要进行配置信息的同步操作,具体地,nfv编排器将创建完成后的配置信息发送至二层虚拟专用网络和三层虚拟专用网络分别对应的控制器,再由控制器下放置各网络中的网络设备中,如二层虚拟专用网络和三层虚拟专用网络边缘路由器、客户终端设备、核心路由器等。

需要说明的是,上述运行nfv编排器可以单机运行,也可以联网运行;在联网运行的情况下,用户可以通过终端设备上的nfv编排器设计网络拓扑模板,设计完成后将该网络拓扑模板上传至系统服务器中,用户通过终端设备中的nfv编排器控制该网络拓扑模板各节点元素的创建,由系统服务器完成节点元素的创建过程。

本公开实施方式提供的虚拟专用网络的创建方法,确定了vlanid之后,根据确定的vlanid更新二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的配置信息并创建节点元素,进而再将创建后的配置信息进行同步操作;该方式在创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之前设置好该所需的虚拟局域网信息,无需再在创建过程中由工作人员手动查询,使得二层虚拟专用网络和三层虚拟专用网络组合网络的创建过程能够自动化进行,进而有利于实现根据业务场景自由定义网络拓扑。

需要说明的是,上述各方法实施方式均采用递进的方式描述,每个实施方式重点说明的都是与其他实施方式的不同之处,各个实施方式之间相同相似的部分互相参见即可。

对应于上述方法实施方式,参见图5所示的一种虚拟专用网络的创建装置的结构示意图,该装置设置于运行nfv编排器的设备;该装置包括如下步骤:

节点元素查找模块50,用于当接收到用户触发的网络创建指令时,查找待创建的网络拓扑模板中是否存在二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,且二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素间具有依赖关系;

信息获取模块51,用于如果存在,获取用户设置的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素所需的虚拟局域网信息;

vlanid确定模块52,用于根据虚拟局域网信息确定二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;

网络创建模块53,用于根据确定的vlanid创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,得到包含有二层虚拟专用网络和三层虚拟专用网络的虚拟专用网络。

本公开实施方式提供的虚拟专用网络的创建装置,如果待创建的网络拓扑模板中存在具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素,则获取用户设置的虚拟局域网信息;再根据该虚拟局域网信息确定vlanid并创建上述二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;该方式在创建具有依赖关系的二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素之前,设置好所需的虚拟局域网信息,无需再在创建过程中由工作人员手动查询,使得二层虚拟专用网络和三层虚拟专用网络的组合网络创建过程能够自动化进行,进而有利于实现根据业务场景自由地定义网络拓扑。

进一步地,上述vlanid确定模块52还用于:判断虚拟局域网信息是否包括vlan资源池id;如果包括vlan资源池id,判断虚拟局域网信息是否还包括vlanid;如果包括vlanid,且vlanid未占用,将vlanid作为二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid;如果不包括vlanid,从vlan资源池id对应的vlan资源池中分配未占用的vlanid,将分配的vlanid作为二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid。

进一步地,上述vlanid确定模块52还用于:如果虚拟局域网信息不包括vlan资源池id,判断虚拟局域网信息是否包括vlanid;如果包括vlanid,且vlanid未占用,将vlanid作为二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素的vlanid。

进一步地,上述网络创建模块53用于:从网络拓扑模板中提取二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素;根据确定的vlanid更新二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应节点元素的配置信息;根据更新后的配置信息分别创建二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素。

进一步地,上述装置包括:信息获取模块和信息发送模块,其中,该信息获取模块用于获取二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素创建完成后的配置信息;信息发送模块用于将创建完成后的配置信息分别发送至二层虚拟专用网络对应的节点元素和三层虚拟专用网络对应的节点元素对应的控制器,以使控制器在各个区域组网中进行创建完成后的配置信息的同步操作。

本实施方式提供了一种与上述方法实施方式相对应的服务器。图6为该服务器的结构示意图,如图6所示,该服务器包括处理器601和存储器600;其中,存储器600用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述虚拟专用网络的创建方法。

图6所示的服务器还包括总线602和通信接口603,处理器601、通信接口603和存储器600通过总线602连接。该服务器可以是网络边缘设备。

其中,存储器600可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。总线602可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

通信接口603用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的ipv4报文或ipv8报文通过网络接口发送至用户终端。

处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器600,处理器601读取存储器600中的信息,结合其硬件完成前述实施方式的方法的步骤。

本发明实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述虚拟专用网络的创建方法,具体实现可参见方法实施方式,在此不再赘述。

本发明实施方式所提供的服务器,其实现原理及产生的技术效果和前述方法实施方式相同,为简要描述,装置实施方式部分未提及之处,可参考前述方法实施方式中相应内容。

在本申请所提供的几个实施方式中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

最后应说明的是:以上所述实施方式,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施方式对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施方式技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

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