云环境下网络配置校验方法及相关设备与流程

文档序号:11138305阅读:461来源:国知局
云环境下网络配置校验方法及相关设备与制造工艺

本申请涉及网络配置校验技术领域,更具体地,涉及云环境下网络配置校验方法及相关设备。



背景技术:

租户可以向云平台申请网络资源,云平台根据该租户的需求,组建相应结构的虚拟网络。虚拟网络,如同物理网络一样包含各种设备,但虚拟网络中的网络设备是虚拟设备,如虚拟交换机、虚拟路由器等。与同一虚拟网络相连的VM(Virtual Manufacturing,虚拟主机)可以通过虚拟的网络设备进行通信。

云平台为复杂的分布式系统,可能由于系统等原因导致虚拟网络设备配置出错,从而导致VM不能互通等问题。因此,需要对虚拟网络中的配置进行检验。

现有的配置检验方式,收集虚拟网络中所有的配置信息上传至校验工具,上传的数据量较大,校验效率较低。



技术实现要素:

本申请提出一种云环境下网络配置校验方法及相关设备,用以减少网络配置校验过程中上传的数据量,提高校验效率。

为实现以上发明目的,本申请提供的技术方案如下:

一方面,本申请的实施例提供了一种云环境下网络配置校验系统,用于校验云环境中主机上运行的虚拟机的地址,该系统包括:配置搜集模块、配置比较模块以及运行在所述主机上的配置分析模块;其中:所述配置分析模块,与所述主机上运行的虚拟网络设备相连,用于从所述虚拟网络设备中,查询与所述虚拟网络设备相连的虚拟机的地址,并将所述虚拟机关联的虚拟网络的标识及所述虚拟机的地址发送至所述配置搜集模块;所述配置搜集模块,用于将所述配置分析模块发送的所述虚拟网络的标识及虚拟机的地址,生成转发向量,并将所述转发向量发送至所述配置比较模块;所述配置比较模块,用于从预设数据库中,查询所述虚拟网络中所有端口关联的虚拟机的地址,将所述虚拟网络的标识及查询到的虚拟机的地址生成配置信息集合,并比较所述配置信息集合与所述转发向量,以校验所述转发向量中的虚拟机的地址。通过本实施例提供的方案,配置分析模块上传与虚拟机的地址相关的配置信息,配置搜集模块将各个配置信息汇总为转发向量发送至配置比较模块进行比较,该过程中传输及比较的数据量较小,校验效率较高。

在一个可能的设计中,云环境下网络配置校验系统还包括:调度器;所述调度器,用于确定所述虚拟网络中的虚拟网络设备所在的主机,向所述主机上的配置分析模块发送校验指令,以使所述配置分析模块从所述虚拟网络设备中,查询与所述虚拟网络设备相连的虚拟机的地址。通过本实施例中的调度器,可以实现对整个校验方法的控制,若需要对通过某虚拟网络互连的虚拟机的地址进行校验,便通过调度器为本次校验确定所涉及的主机,并通过校验指令触发校验的开始执行。

在一个可能的设计中,所述调度器监测所述虚拟网络设备的性能,根据所述性能确定间隔时长,并根据所述间隔时长周期性地向所述主机上的配置分析模块发送校验指令。在本方案中,调度器自动周期性地触发校验流程的执行,并且可以根据虚拟网络设备的资源使用情况,确定相适应的流程执行周期,例如可用资源较少则延迟执行周期,可用资源较多则缩短执行周期,使得校验流程更加灵活,避免资源浪费等情况。

在一个可能的设计中,所述虚拟网络中的虚拟网络设备为虚拟交换机,所述配置搜集模块具体用于:从所述虚拟交换机的流表及端口表中,查询与所述虚拟交换机相连的虚拟机的MAC地址。在本实施例中,虚拟网络为二层虚拟网络,通过本实施例的方案可以通过同一个二层虚拟网络进行互连的虚拟机的MAC地址的校验。

在一个可能的设计中,所述虚拟网络中的虚拟网络设备为虚拟路由器,所述配置搜集模块具体用于:从所述虚拟路由器的路由表及邻居表中,查询与所述虚拟路由器相连的虚拟机的IP地址。在本实施例中,虚拟网络为三层虚拟网络,通过本实施例的方案可以通过同一个三层虚拟网络进行互连的虚拟机的IP地址的校验。

另一方面,本申请还提供了一种云环境下网络配置校验方法,用于校验云环境中主机上运行的虚拟机的地址,该方法包括:从与所述虚拟机相连的虚拟网络设备中,查询所述虚拟机的地址;将所述虚拟网络的标识及所述虚拟机的地址,生成转发向量;从预设数据库中,查询与所述虚拟机关联的虚拟网络中所有端口关联的虚拟机的地址,将所述虚拟网络的标识及查询到的虚拟机的地址生成配置信息集合;比较所述配置信息集合与所述转发向量,以校验所述转发向量中的虚拟机的地址。

在一个可能的设计中,所述从与所述虚拟机相连的虚拟网络设备中,查询所述虚拟机的地址具体包括:确定所述虚拟网络中的虚拟网络设备所在的主机;从所述主机上的虚拟网络设备中,查询与所述虚拟网络设备相连的虚拟机的地址。

在一个可能的设计中,所述从与所述虚拟机相连的虚拟网络设备中,查询所述虚拟机的地址具体包括:监测所述虚拟网络设备的性能,根据所述性能确定间隔时长;根据所述间隔时长周期性地从与所述虚拟机相连的虚拟网络设备中,查询所述虚拟机的地址。

在一个可能的设计中,所述虚拟网络中的虚拟网络设备为虚拟交换机;相应地,所述从与所述虚拟机相连的虚拟网络设备中,查询所述虚拟机的地址具体包括:从所述虚拟交换机的流表及端口表中,查询与所述虚拟交换机相连的虚拟机的MAC地址。

在一个可能的设计中,所述虚拟网络中的虚拟网络设备为虚拟路由器;相应地,所述从与所述虚拟机相连的虚拟网络设备中,查询所述虚拟机的地址具体包括:从所述虚拟路由器的路由表及邻居表中,查询与所述虚拟路由器相连的虚拟机的IP地址。

又一方面,本申请提供了一种主机,包括处理器及通信接口;其中:所述处理器,用于从虚拟网络的虚拟网络设备中,查询与所述虚拟网络设备相连的虚拟机的地址;所述通信接口,用于发送所述虚拟网络的标识及所述虚拟机的地址。

又一方面,本申请提供了另一种主机,包括处理器及通信接口;其中:所述通信接口,用于接收虚拟网络的标识及虚拟机的地址;所述处理器,用于将所述虚拟网络的标识及所述虚拟机的地址,生成转发向量;从预设数据库中,查询所述虚拟网络中所有端口关联的虚拟机的地址,将所述虚拟网络的标识及查询到的虚拟机的地址生成配置信息集合;比较所述配置信息集合与所述转发向量,以校验所述转发向量中的虚拟机的地址。

附图说明

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

图1为本申请提供的虚拟网络的一个示例图;

图2为现有技术中的网络配置校验方法流程图;

图3为本申请提供的与二层虚拟网络结合的网络配置校验系统的示例图;

图4为本申请提供的网络配置校验方法实施例1的流程图;

图5为本申请提供的与三层虚拟网络结合的网络配置校验系统的示例图;

图6为本申请提供的网络配置校验方法实施例2的流程图;

图7为本申请提供的主机通用计算机架构示意图。

具体实施方式

首先介绍本申请可能使用到的术语及概念。

网络虚拟化,是在一个物理网络上模拟出多个逻辑网络来,如虚拟局域网、虚拟网络设备等;

边缘虚拟化,一种网络虚拟化方案,是在最靠近服务器的一级交换机上实现网络虚拟化的功能;

转发配置,交换设备的转发规则;

转发向量,将转发配置抽象后得到的数据模型;

EMS,Element Management System(网元管理系统)的简称,指的是管理特定类型的电信网络单元NE的系统;

OVS,open vSwitch(虚拟交换机)的简写,是一个基于Apache 2.0license的交换机软件;

Openflow,用于描述控制器和交换机之间交互所用信息的标准、以及控制器和交换机的接口标准。

本申请应用在基于云平台的虚拟网络中,为了便于理解,首先对此应用场景进行介绍。

租户可以向云平台申请网络资源,云平台根据该租户的需求,组建相应结构的虚拟网络。虚拟网络,如同物理网络一样包含各种设备,但虚拟网络中的设备是虚拟网络设备(其中,虚拟网络设备可以简称为虚拟设备),如虚拟交换机、虚拟路由器等。与同一虚拟网络相连的VM(Virtual Machine,虚拟主机或虚拟机)可以通过虚拟网络设备进行通信。

组建过程中,云平台首先创建虚拟设备,并生成虚拟网络的数据模型,数据模型用于描述虚拟设备的配置信息,如虚拟交换机的端口、端口与VM的MAC(Media Access Control,媒体访问控制)地址的对应关系等。云平台将数据模型转化为实际的网络拓扑配置,并配置到虚拟网络的虚拟设备中,如将端口与VM的对应关系配置到虚拟交换机上,完成VM的报文转发路径配置。

见图1,其示出了虚拟网络的一个示例。如图1所示,该虚拟网络中包括多个虚拟交换机br-int,分布在多个不同的主机上。不同的VM与不同的虚拟交换机br-int相连,在对虚拟交换机br-int进行网络配置后,VM之间可以通过虚拟交换机br-int进行通信。

云平台为复杂的分布式系统,可能由于系统等原因导致虚拟设备配置出错,从而导致VM不能互通等问题。因此,需要对虚拟网络中的配置进行检验。

现有的配置检验方式是,收集AP(Access Point,接入点)如虚拟设备上的配置信息,直接将收集到的配置信息与云平台中保存的配置记录进行比对,从而得出配置是否正确的结果。

具体的一种校验流程见图2。如图2所示,当接收到EMS的启动宏网配置参数上报指令后,AP1、AP2及AP3各自均将自身的宏网配置参数上报给EMS,由EMS将各个AP上报的宏网配置参数进行汇总后,生成宏网配置参数表上报给校验工具进行校验。

需要说明的是,EMS进行汇总时,并未对宏网配置参数进行压缩整理,仅仅是将各个AP上报的宏网配置参数罗列在一张参数表中。因此,上报给校验工具的宏网配置参数并无数据量上的减少,该数据量与AP的个数相关,AP设备越多,则上报的宏网配置参数表中的数据量越大。

另外,上述校验过程中,每个网络设备需要将自身所有的网络配置均上传至校验工具,校验工具需要将各条网络配置,逐个与云平台中保存的配置记录进行比较。在云平台场景中,虚拟网络中的网络设备数量较多,且每个网络设备上的配置数据量也较大,现有的校验方式数据交互量及计算量较大,检验效率较低,及时性较差。

为解决上述问题,本申请提供了一种网络配置校验方法,该校验方法可以检验特定类型的网络配置,并不需要每个网络设备上传全部的配置信息。并且,将收集到的配置信息压缩后再上传,以进一步减少数据量。

以下对本申请提供的两种具体网络配置校验方法实施例进行说明。

实施例一

本实施例针对的是二层的虚拟网络VLAN(Virtual Local Area Network,虚拟局域网)。二层的虚拟网络中,虚拟交换机根据VM的MAC地址,实现VM之间的通信。本实施例提供的网络配置校验方法,用于校验为VM配置的MAC地址是否准确,因此,校验内容为VM的MAC地址(物理地址)。

需要说明的是,VM及虚拟网络中虚拟交换机的数量,根据虚拟网络的规模来设置。为了简化,本申请以2个虚拟交换机组成的虚拟网络且3个VM连接该虚拟网络的结构为例说明。当然,实际应用中虚拟网络可以包括多个虚拟交换机,并且可以有大量的VM通过该虚拟网络互通,对其进行的网络配置校验仍可以使用以下提供的校验方案。

见图3,其是云平台创建的虚拟网络的一种示例。如图3所示,主机1上创建有2个VM及1个br-int(虚拟网桥,功能上类似交换机,也可以称为虚拟交换机)。其中,VM1使用主机1上的虚拟交换机br-int上的端口1,VM2使用主机1上的虚拟交换机br-int上的端口2。主机2上创建有1个VM,为VM3。其中,VM3使用主机2上的虚拟交换机br-int上的端口3。

为实现网络配置校验方法,本申请提供了一种网络配置校验系统,如图3所示,网络配置校验系统包括:配置分析模块、配置搜集模块、调度器及配置比较模块。其中,配置分析模块与虚拟设备数量相同,且配置分析模块设置在虚拟设备所在的主机上。配置搜集模块、调度器及配置比较模块可以设置在同一主机上,也可以分别设置在不同主机上。

见图4,网络配置校验方法实施例1的流程具体包括如下步骤。

S41:校验开始后,调度器确定虚拟网络中待校验的主机范围。

其中,调度器可以根据管理员的请求或者自动周期性地执行网络配置校验流程。

校验内容不同,则涉及的主机范围可能不同,因此调度器需要首先根据校验内容,为待校验的虚拟网络确定主机范围。本实施例中,校验内容为VM的MAC地址,而MAC地址需要从虚拟交换机中搜集到。因此,确定的主机范围是虚拟交换机所在的主机范围。

例如,管理员请求检测租户A的网络配置,假设租户A的虚拟网络结构如图3所示,每个主机上均设置有虚拟交换机,因此,调度器确定出的主机范围包括主机1及主机2。

另外,调度器还可以进一步确定校验内容,校验内容表示需要校验虚拟网络哪一方面的配置,例如,在本实施中,校验内容为VM的MAC地址。根据校验内容,其他模块可以确定出需要分析、搜集及比较哪一方面的内容。当然,调度器也可以不必确定校验内容,只需发送校验指令即可,其他模块按照预先设定的校验内容进行校验即可。

S42:调度器向配置搜集模块发送校验指令。

其中,校验指令中包含主机范围,以指示配置搜集需要搜集哪些主机上的配置信息。若调度器周期性地执行网络配置校验任务,则调度器还可以监测云平台及虚拟网络中虚拟设备的性能,根据云平台或虚拟设备的资源使用情况,对校验任务进行调整。

若发现云平台或虚拟络设备的资源紧张,例如,大部分资源用于执行业务生产,剩余的可用资源低于一定资源阈值,则可以延长校验任务执行的周期时长,以避免正常业务生产的进行。

S43:配置搜集模块根据校验指令,向校验指令所指示的主机上的配置分析模块发送分析指令。

其中,配置分析模块设置在虚拟交换机所在的主机上。前一步骤中,配置搜集模块接收到的校验指令中包含主机范围,该范围内的主机表示的是虚拟交换机所在的主机,则向这些主机上的配置分析模块发送分析指令,从而,配置分析模块可以根据自身主机上的虚拟交换机上的流表及端口表,生成配置信息集合。

需要说明的是,各个配置分析模块是独立的,配置分析模块接收到分析指令后,搜集各自所在主机上的配置信息。

配置搜集模块向配置分析模块发送的分析指令中,可以包含校验内容,以使配置分析模块搜集校验内容所指示的特定方面的配置。或者,校验指令及分析指令自身可以指示校验内容。或者,校验指令及分析指令也可以并不包含或指示校验内容,配置分析模块及配置搜集模块中可以设置校验内容,只要接收到指令后,便执行该预先设置的校验内容。

在本实施例的应用场景中,校验内容为VM的MAC地址,当然,在其他实施例中,校验内容可以是其他。

S44:配置分析模块根据虚拟交换机上的流表及端口表,查找属于同一VLAN的MAC地址,生成配置信息集合{MAC,VLAN}。

其中,虚拟交换机上配置有流表,用来转发各个VM之间的数据包。

主机1上的虚拟交换机br-int上的流表包括:

in_port=1,dl_vlan=100actions=NORMAL;

in_port=2,dl_vlan=100actions=NORMAL。

主机2上的虚拟交换机br-int上的流表包括:

in_port=3,dl_vlan=100actions=NORMAL。

其中,in_port表示虚拟交换机br-int上的端口,dl_vlan表示VLAN的编号,actions表示转发方式。从流表中的记录可以得出端口与VLAN的对应关系,进一步地,还可以从该对应关系得出属于同一VLAN的端口有哪些。可以理解的是,属于同一VLAN的端口可以互通,例如,从上述两个流表中可以看出,端口为1且VLAN为100的数据包可以被转发至端口2及端口3。

另外,虚拟交换机上设置有数据库,数据库中的端口表中记录了端口的多个属性。具体地,端口表的一个字段为MAC地址,该字段用来记录端口与VM的MAC地址的对应关系。针对图3所示的虚拟网络,端口表中的port(即in_port)与MAC地址的对应关系包括:1-mac1、2-mac2、3-mac3,其中,mac1、mac2及mac3表示的是物理地址的数值,此处为了便于描述,使用mac1、mac2及mac3这种标识而已。

根据上述VLAN与端口的对应关系,以及端口与MAC地址的对应关系可以得出,MAC地址与VLAN的对应关系。

例如,云平台为租户A所创建的虚拟网络如图3所示,云平台为租户A创建该虚拟网络时,会保存虚拟网络的编号(VLAN=100)与租户A的对应关系。在需要校验租户A的网络配置时,调度器可以确定出租户A的VLAN编号为100,则调度器向配置搜集模块发送的校验指令中包含VLAN=100的标识,以及配置搜集模块向配置分析模块发送的分析指令中也包含该标识。

进而,配置分析模块从流表中查找VLAN=100的端口in_port,并从端口表中查找端口in_port所对应的MAC地址,从而生成配置信息集合{MAC,VLAN}。

以上述流表为例,主机1上的配置分析模块生成的配置信息集合为[{mac1,100}、{mac2,100}],主机2上的配置分析模块生成的配置信息集合为[{mac3,100}]。

S45:各个配置分析模块将配置信息集合发送至配置搜集模块。

其中,待校验的主机上的配置分析模块获得配置信息集合后,将各自的配置信息集合发送至配置搜集模块。

S46:配置搜集模块根据各个配置信息集合,生成转发向量,并将转发向量发送至配置比较模块。

其中,转发向量表示的是通过同一虚拟网络互连的VM的MAC地址。仍以上述示例为例,将主机1及主机2上的配置分析模块发送的配置信息集合生成的转发向量为[{mac1,100},{mac2,100},{mac3,100}]。

S47:配置比较模块从云平台的数据模型中,获取虚拟网络中所有端口的MAC地址,并生成配置信息集合{vlan,[mac]}。

前已述及,数据模型是云平台配置虚拟网络的依据,虚拟网络中的配置信息均是根据数据模型配置的。数据模型可以是云平台的数据库中的数据表。

云平台的数据库中保存有多张数据表,数据表记录虚拟网络的各种配置信息,数据表之间具有关联关系。数据表中记录的配置信息可以认为是数据模型。配置比较模块通过关联关系从多张数据表中,查找与校验内容相关的配置信息。需要说明的是,调度器向配置比较模块发送调度指令,该调度指令中指示配置比较模块需要搜集的虚拟网络为哪一虚拟网络。

在本实施例中,网络表network记录各个VLAN的配置信息,端口表port记录端口的配置信息。因此,首先从网络表network中,查询到编号为100的VLAN的network id,然后从端口表prot中,查询所有关联到该network id的端口,并进一步获取端口对应的MAC地址,进而得到配置信息集合,如配置信息集合为{100,[mac1,mac2,mac3]}。

S48:配置比较模块将配置信息集合{vlan,[mac]}与转发向量进行比较,以确定网络配置是否准确。

其中,转发向量表示虚拟网络按照数据模型进行配置后的实际配置信息,而配置信息集合{vlan,[mac]}是从数据模型中提取出的,因此,将配置信息集合{vlan,[mac]}与转发向量进行比较,可以得出虚拟网络的配置是否准确的结果。

如上所述,转发向量为[{mac1,100},{mac2,100},{mac3,100}],配置信息集合为{100,[mac1,mac2,mac3]},两者比较结果为相同,则可以确定虚拟网络的配置准确。

若与配置信息集合{vlan,[mac]}相比,转发向量中的MAC地址出现增多、减少或者不同中的任意一种情况,则认为网络配置出现问题。例如,若由于系统故障导致VM1的MAC地址错误配置为mac4,则配置搜集模块生成的转发向量为[{mac4,100},{mac2,100},{mac3,100}],该转发向量与配置信息集合{100,[mac1,mac2,mac3]}相比,mac4与mac1不同,则可以确定网络配置错误。

进一步地,配置比较模块还可以确定出错的MAC属于哪一主机上的VM。具体地,根据配置信息集合与转发向量的比较结果,可以确定出mac4配置错误,该MAC地址的正确配置为mac1。云平台的端口表中记录有与端口相连的MAC地址及端口所在的主机,从而可以查找到mac1连接的端口为端口1,且该端口设置在主机1上。并且,根据端口1可以还确定配置出错的VM为VM1。

与现有技术相比,配置分析模块上传到配置搜集模块的配置信息并非虚拟设备上的所有配置信息,而仅提取与校验内容相关的配置信息,在本实施例中,仅仅提取通过特定虚拟网络互连的VM的MAC地址,从而,配置搜集模块生成的转发向量的数据量较小,配置比较模块进行比较的数据量也较小,传输及计算的数据量减少,校验的效率较高,及时性较好。

实施例二

本实施例针对的是三层的虚拟网络。三层虚拟网络中,虚拟路由器根据路由表,通过识别VM发送的数据包中的IP地址来转发路由,以实现VM之间的通信。本实施例提供的网络配置校验方法,用于校验为VM配置的IP地址是否准确,因此,校验内容为VM的IP地址(网络地址)。

与实施例一相同,为了简化说明,本实施例使用图5所示的结构简单的虚拟网络,对本实施例的方案进行介绍。如图5所示,虚拟网络中包含两个虚拟交换机br-int及一个虚拟路由器。虚拟机VM1的网卡设备tap1连接在虚拟交换机br-int1上,虚拟机VM2的网卡设备tap2连接在虚拟交换机br-int2上。

虚拟交换机br-int上设置有网关端口,例如,虚拟交换机br-int1的网关端口为qr1,虚拟交换机br-int2的网关端口为qr2。网关端口加入到虚拟路由器的网络命名空间namespace中。配置虚拟路由器时,在网络命名空间中添加路由表及邻居表,以完成对虚拟路由器的配置。

其中,关于图5所示的虚拟网络结构,虚拟路由器中的邻居表包括:

182.81.81.2dev qr1lladdr fa:16:3e:59:b9:05PERMANENT;

182.82.82.2dev qr2lladdr fa:16:3e:25:a9:24PERMANENT。

其中,182.81.81.2、fa:16:3e:59:b9:05分别为VM1的IP地址及MAC地址,因此,可以确定VM1发送的数据包可以通过网关qr1。182.82.82.2、fa:16:3e:25:a9:24分别为VM2的IP地址及MAC地址,因此,可以确定VM2发送的数据包可以通过网关qr2。

关于图5所示的虚拟网络结构,虚拟路由器中的路由表中的路由包括:

181.81.81.0/24dev qr1proto kernel scope link src 181.81.81.1;

182.82.82.0/24dev qr2proto kernel scope link src 182.82.82.1。

根据该路由表可以得出,目的IP地址在181.81.81.0/24子网范围内的数据包通过网关qr1发送,目的IP地址在182.82.82.0/24子网范围内的数据包通过网关qr2发送。

VM1属于181.81.81.0/24这一子网范围,VM2属于182.82.82.0/24这一子网范围。根据以上路由表及邻居表可以得知,VM1向VM2发送的数据包可以通过网关qr1达到虚拟路由器,虚拟路由器通过匹配路由表,将该数据包转发给网关qr2,网关qr2将数据包转发给VM2。

在上述结构的虚拟网络中,若VM的IP地址配置错误,则数据包不能正常转发,影响VM之间的互通性。本申请提供的网络配置校验方法,用来校验上述虚拟网络中的VM的IP地址是否配置准确。

见图6,网络配置校验方法实施例2的流程具体包括以下步骤。需要说明的是,有关本实施例中各个步骤的说明可以参见上述实施例一,以下仅对本实施例与实施例一的不同之处进行说明。

S61:校验开始后,调度器确定虚拟网络中待校验的主机范围。

本实施例中,校验内容为VM的IP地址,而IP地址需要从虚拟路由器中搜集到。因此,确定的主机范围是虚拟路由器所在的主机范围。如图5所示,虚拟路由器设置在主机3上,则确定出的主机范围为主机3。

S62:调度器向配置搜集模块发送校验指令,校验指令中包含主机范围。

S63:配置搜集模块根据校验指令,向校验指令所指示的主机上的配置分析模块发送分析指令。

其中,虚拟路由器所在的主机上设置有配置分析模块,配置搜集模块向配置分析模块发送分析指令,以使配置分析模块从虚拟路由器上获得配置信息。

S64:配置分析模块根据虚拟路由器上的路由表表及邻居表,查找属于同一subnet的ip地址,生成配置信息集合[{subnet,[ip]}]。

其中,subnet是从路由表中获得的,ip是从邻居表中获得的,两者的关联关系是通过路由表与邻居表中的相同项即网关qr建立的。

具体地,subnet为路由表中的目标地址所在的子网,从路由表中查找网关所对应的子网,并且从邻居表中查找网关关联的VM的ip地址,进而将查找到的ip地址与其所在的subnet生成配置信息集合[{subnet,[ip]}]。可以理解的是,配置信息集合[{subnet,[ip]}]表示的是,网关所管理的子网中的ip地址的集合。

以图5为例,从上述路由表中查找到的网关包括qr1及qr2,且网关qr1对应的子网为181.81.81.0/24,网关qr2对应的子网为182.82.82.0/24。从上述邻居表中查找到,网关qr1关联的VM的ip地址为182.81.81.2,网关qr2关联的VM的ip地址为182.82.82.2。

对于网关qr1而言,ip地址182.81.81.2属于该网关所对应的子网181.81.81.0/24,因此,生成的配置信息为{181.81.81.0/24,[182.81.81.2]}。

对于网关qr2而言,ip地址182.82.82.2属于该网关所对应的子网181.81.82.0/24,因此,生成的配置信息为{182.82.82.0/24,[182.82.82.2]}。

将上述两个网关的的配置信息整理后,配置分析模块生成的配置信息集合为[{181.81.81.0/24,[182.81.81.2]},{182.82.82.0/24,[182.82.82.2]}]。

S65:各个配置分析模块将配置信息集合发送至配置搜集模块。

S66:配置搜集模块根据各个配置信息集合,生成转发向量,并将转发向量发送至配置比较模块。

以图5为例,配置分析模块为一个,则配置搜集模块生成的转发向量仅包括该配置分析模块发送的配置信息集合。当然,若配置分析模块为多个,则配置搜集模块将多个配置分析模块发送的配置信息集合,整合为一个转发向量。

S67:配置比较模块从云平台的数据模型中,获取虚拟网络中所有网关对应的子网subnet中端口对应的ip地址,生成配置信息集合[{subnet,[ip]}]。

调度器向配置比较模块发送的调度指令中包含虚拟网络标识,用于指示配置比较模块获取哪一虚拟网络的配置信息。

在本实施例中,云平台的数据模型可以包含多张数据表如网关表、端口表及路由器表等。配置比较模块从路由器表中查询虚拟网络包含的网关,进一步地,从网关表中查询到网关对应的子网subnet,从端口表中查询子网subnet包含的所有端口的ip地址。从而,将ip地址与子网subnet保存为配置信息集合[{subnet,[ip]}]。

例如,根据云平台上数据模型生成的配置信息集合包括[{181.81.81.0/24,[182.81.81.2,182.81.81.3]},{182.82.82.0/24,[182.82.82.2]}]。

S68:配置比较模块将配置信息集合[{subnet,[ip]}]与转发向量进行比较,以确定网络配置是否准确。

其中,若转发向量中的ip地址与配置信息集合中的ip地址完全相同,则表明网络配置准确,若转发向量中的ip地址增加、缺少或者与配置集合中的ip地址不同,则表明网络配置不准确。

例如,配置搜集模块生成的转发向量包括[{181.81.81.0/24,[182.81.81.2]},{182.82.82.0/24,[182.82.82.2]}],配置比较模块生成的配置信息集合包括[{181.81.81.0/24,[182.81.81.2,182.81.81.3]},{182.82.82.0/24,[182.82.82.2]}],则可以确定虚拟网络中配置的ip缺少一个。

进一步地,可以根据云平台中的数据模型,查找该ip地址所对应的主机,进而确定出缺少配置的主机为哪一主机,并且,可以根据ip地址与端口及端口与VM的对应关系,查找到该主机上的哪一VM的ip地址出现错误。

通过以上两个具体实施例可以得出,本申请在虚拟网络中虚拟设备所在的主机上设置配置分析模块,配置分析模块可以根据虚拟设备的配置信息,确定通过该虚拟网络互连的虚拟机的地址(物理地址或网络地址),并将地址与虚拟网络的标识生成配置信息集合,进而将配置信息集合上传至配置搜集模块。

例如,在实施例一中,配置分析模块上传的是包含MAC地址与虚拟局域网VLAN的对应关系的配置信息集合{vlan,[mac]},在实施例二中,配置分析模块上传的是包含ip地址与子网subnet的对应关系的配置信息集合[{subnet,[ip]}]。

配置搜集模块将各个主机的配置分析模块上传的配置信息集合整理在同一转发向量中,并将该转发向量上传至配置比较模块。配置比较模块从云平台的数据模型中,查找该虚拟网络包含的虚拟机的地址,同样生成虚拟机的地址与虚拟网络的标识的对应关系。将该对应关系与转发向量进行比较。

由于虚拟网络是根据云平台的数据模型配置的,因此,通过上述比较可以校验虚拟网络中的配置是否出错,具体校验的是虚拟机的地址是否出错。可以理解的是,虚拟机的地址配置错误,则虚拟机不能正常通信,因此可以在虚拟网络中的虚拟机出现通信故障时,执行上述校验方法,以校验是否由于地址配置错误原因导致虚拟机不能正常通信。

本申请还提供了一种主机,该主机可以实现上述配置分析模块的功能,为了与下文的主机区分,可以将该主机称为第一主机。本申请还提供了另一种主机,该主机可以实现上述调度器、配置搜集模块及配置比较模块的功能,可以将该主机称为第二主机。

见图7,其示出了第一主机/第二主机的一种可能的结构示意,包括:

总线、控制器/处理器1、存储器2、通信接口3、输入设备4和输出设备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:

总线可包括一通路,在计算机系统各个部件之间传送信息。

控制器/处理器1可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(Network Processor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器1也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。具体地:

第一主机的控制器/处理器可用于执行图4及图6中涉及配置分析模块的处理过程(即图4中的S44及图6中的S64)和/或用于本申请所描述的技术的其他过程。

第二主机的控制器/处理器可用于执行图4及图6中涉及调度器、配置搜集模块及配置比较模块的处理过程(执行图4中的S41-S43、S46-S48及图6中的S61-S63、S66-S68)和/或用于本申请所描述的技术的其他过程。

存储器2中保存有执行本申请技术方案的程序,还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器2可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(randomaccess memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。

通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。

其中,第一主机的通信接口3可用于执行图4中的S45、图6中的S65,以发送网络配置信息,第二主机的通信接口3用于接收第一主机发送的网络配置信息。

输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏等。

输出设备5可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。

结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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