一种网络中VLANID分配的方法及控制器与流程

文档序号:11959745阅读:567来源:国知局
一种网络中VLAN ID分配的方法及控制器与流程

本申请涉及通信技术领域,尤其涉及一种网络中(Virtual Local Area Network,VLAN)VLAN标识(Identifier,ID)分配的方法及控制器。



背景技术:

开放堆栈(OpenStack)平台作为具有降低运营成本、提高业务敏捷度、节能减排等优点的云计算平台,各通信运营商将其应用到通信网络中。OpenStack网络服务(又称为:Neutron)作为OpenStack的核心项目之一,提供云计算环境下的虚拟网络功能。

在Neutron网络中通常可以存在针对多个租户创建的虚拟网络,即租户网络。为了保证不同租户的租户网络之间通信的安全性,因此需要通过VLAN技术实现租户网络隔离。

在实现租户网络隔离中,为了保证同一租户的处于不同计算节点的子网(Subnet)互通,通常采用虚拟扩展局域网(Virtual eXtensible Local Area Network,VxLAN)技术和VLAN技术结合实现,其中计算节点为承载虚拟机(Virtual Machine,VM)的运行节点,该计算节点可以为虚拟交换机(Virtual Switch,vSwitch)。具体实现原理为:OpenStack平台将分布在不同计算节点上的不同租户的子网映射到不同的VLAN中,并且为了保证不同计算节点中同一租户的子网互通,OpenStack平台将分布在不同计算节点中同一租户的子网映射到同一VLAN中;OpenStack平台再将不同的VLAN映射到不同的VxLAN中。为了实现在Neutron网络中数据流的传输,需要对数据流中VLAN标签(Tag)和VxLAN网络标识(VxLAN Network Identifier,VNI)之间转换。

然而VLAN Tag字段在报文中占有12比特(bit)位,而VNI字段在报文中 占有24bit位,因此,在上述方式进行租户网络隔离,Neutron网络中的租户的个数将限制在4094(212-2=4094)内,限定了网络规模。

为了扩大网络规模,OpenStack平台可以将上述传统的VLAN-VxLAN两段式映射关系的网络布局方式,升级为通过VLAN1-VxLAN-VLAN2三段式映射关系的网络布局方式,这样,部署于不同的计算节点的同一租户的子网无需映射到同一VLAN中,从而将Neutron网络中的租户的个数限制在VxLAN的数量规格范围224-1=16777215内。

然而,由于在上述三段式映射关系进行网络布局的网络中,租户的子网的VLAN ID是由计算节点来分配的。通过每个计算节点分别为各自连接的租户的子网分配VLAN ID的方式,可以保证将每个计算节点连接的不同租户的子网分配不同的VLAN ID,但是有可能会出现接入同一网络虚拟化边界(Network Virtualization Edge,NVE)设备的同一接入接口的计算节点,为各自连接的不同租户的子网分配的VLAN ID相同的情况,即会出现VLAN ID冲突的问题,而VLAN冲突的问题会进一步导致数据传输错误,租户网络无法实现隔离。



技术实现要素:

本申请提供一种网络中VLAN ID分配的方法及控制器,用以解决现有技术中OpenStack平台通过计算节点来分配VLAN ID时,出现VLAN ID冲突的问题。

本申请提供的具体技术方案如下:

一方面,本申请实施例提供了一种网络中VLAN ID分配的方法,所述网络包括NVE设备和控制器,所述NVE设备为网络边缘设备,所述控制器对所述NVE设备进行控制管理,其中,第一VM和第二VM通过所述NVE设备连接网络,所述NVE设备通过同一接入接口与所述第一VM和所述第二VM连接,所述方法包括:

所述控制器获得所述第一VM的第一VxLAN ID和所述第二VM的第二 VxLAN ID;所述控制器可以通过判断获得的所述第一VxLAN ID和所述VxLAN ID是否相同,来判断所述第一VM和所述第二VM是否属于同一个租户;当所述控制器判定所述第一VM和所述第二VM属于同一个租户后,为所述第一VM和所述第二VM分配相同的VLAN ID;当所述控制判定所述第一VM和所述第二VM属于不同的租户后,为所述第一VM和所述第二VM分配不同的VLAN ID。

通过上述方法,所述控制器可以保证接入同一NVE设备的同一接入接口的多个VM中,属于相同租户的VM分配的VLAN ID相同,而属于不同租户的VM分配的VLAN ID不同,避免出现VLAN冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

在一个可能的设计中,所述第一VM和所述第二VM通过vSwitch连接所述NVE设备,具体包含两种情况:

第一种情况:所述第一VM和所述第二VM通过一个vSwitch连接所述NVE设备;其中,所述vSwitch可以直接接入所述NVE设备的所述接入接口,也可以接入汇聚交换机,再接入所述NVE设备的所述接入接口;

第二种情况:所述第一VM和所述第二VM通过两个vSwitch连接所述NVE设备;所述两个vSwitch需要通过汇聚交换机接入所述NVE设备的所述接入接口。

在一个可能的设计中,所述控制器将为所述第一VM和所述第二VM分配的VLAN ID发送给所述vSwitch,例如:所述控制器生成VLAN配置信息,所述VLAN配置信息中包含为所述第一VM和所述第二VM分配的VLAN ID的信息;所述控制器将所述VLAN配置信息发送至所述OpenStack平台;所述OpenStack平台再将所述VLAN配置信息下发至所述第一VM和所述第二VM连接的所述vSwitch。

通过上述方法,所述vSwitch可以实现对所述第一VM和所述第二VM的VLAN ID进行配置。

在一个可能的设计中,所述控制器从云计算平台OpenStack平台获得所述第一VxLAN ID和所述第二VxLAN ID。

通过上述方法,所述控制器可以快速准确地确定所述第一VM和所述第二VM的VxLAN ID。

在一个可能的设计中,所述控制器存储针对所述接入接口的VxLAN ID和VLAN ID的对应关系;所述控制器可以通过以下步骤为所述第一VM分配VLAN ID:所述控制器根据所述VxLAN ID和VLAN ID的对应关系,确定所述第一VxLAN ID对应的第一VLAN ID;并将所述第一VLAN ID分配给所述第一VM;

同理,所述控制器可以通过以下步骤为所述第二VM分配VLAN ID:

所述控制器根据所述VxLAN ID和VLAN ID的对应关系,确定所述第二VxLAN ID对应的第二VLAN ID;并将所述第二VLAN ID分配给所述第二VM。

通过以上方法,所述控制器可以快速准确地确定所述第一VM和所述第二VM的VLAN ID,同时,可以保证在所述第一VM和所述第二VM属于相同租户时,为上述两个VM分配相同的VLAN ID,在上述两个VM属于不同租户时,分别为上述两个VM分配不同的VLAN ID,避免出现VLAN冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

另一方面,本申请实施例还提供了一种网络中VLAN ID分配的控制器,该控制器具有实现上述方法实例中控制器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一种可能的设计中,所述控制器的结构中包括获取单元和处理单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

在一种可能的设计中,所述控制器的结构中包括收发器、处理器、总线以 及存储器,所述收发器用于与所述网络中的其他设备进行通信交互,所述处理器被配置为支持所述控制器执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述控制器必要的程序指令和数据。

采用本申请提供的网络中VLAN ID分配的方法,所述控制器可以保证接入同一NVE设备的同一接入接口的多个VM中,属于相同租户的VM分配的VLAN ID相同,而属于不同租户的VM分配的VLAN ID不同,避免出现VLAN冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

附图说明

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

图2为本申请实施例提供的一种网络中VLANID分配的方法流程图;

图3为本申请实施例提供的一种控制器的结构图;

图4为本申请实施例提供的另一种控制器的结构图。

具体实施方式

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

本申请实施例提供一种网络中VLAN ID分配的方法及控制器,用以解决现有技术中OpenStack平台通过计算节点来分配VLAN ID时,出现VLAN ID冲突的问题。其中,本申请实施例所述的方法和控制器基于同一发明构思,由于本申请实施例中的方法及控制器解决问题的原理相似,因此控制器与方法的实施可以相互参见,重复之处不再赘述。

本申请实施例中,在包含NVE设备和控制器的网络中,在所述NVE设备通过同一接入接口与第一VM和第二VM连接的情况下,当所述控制器确定所 述第一VM和所述第二VM属于同一租户时,所述控制器为所述第一VM和所述第二VM分配相同的VLAN ID;当所述控制器确定所述第一VM和所述第二VM属于不同的租户时,所述控制器为所述第一VM和所述第二VM分配不同的VLAN ID。上述方法可以保证接入同一NVE设备的同一接入接口的多个VM中,属于相同租户的VM分配的VLAN ID相同,而属于不同租户的VM分配的VLAN ID不同,避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

以下,对本申请中的部分用语进行解释说明,以便与本领域技术人员理解。

本申请实施例涉及的控制器,是网络中对其他网络设备提供集中控制和管理功能的网络设备,所述控制器可以为所述网络中的VM分配VLAN ID。可选的,所述控制器还可以实现业务链集中控制、端到端的服务质量(Quality of Service,QoS)策略集中控制,以及具备路径优化能力、提升网络资源利用率等核心功能。

本申请实施例涉及的NVE设备,为网络边缘设备,是实现虚拟网络的关键模块,它可以实现虚拟交换机的功能,可以在物理交换机或路由器中实现。所述NVE设备可以帮助建立终端节点之间的逻辑连接(即隧道)。在通过VLAN1-VxLAN-VLAN2三段式映射关系进行网络布局的网络中,所述NVE设备实际上为VxLAN和VLAN之间的连接设备,具有VxLAN报文与VLAN报文之间转换的能力,即可以将数据流中的VLAN Tag转换为VxLAN VNI,或将数据流中的VxLAN VNI转换为VLAN Tag。可选的,所述NVE设备可以为列末(End Of Row,EOR)交换机等。

本申请实施例中提到的“多个”,是指两个或两个以上。

另外,需要理解的是,在本申请实施例中的“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

为了更加清晰的描述本申请实施例的技术方案,下面结合图1,对本申请 实施例可能的Neutron网络的架构进行说明。图1示出了本申请实施例的一种可能的Neutron网络的架构,在该网络中包括:OpenStack平台101、控制器102、至少一个NVE设备103、至少一个汇聚交换机104、多个vSwitch 105,以及多个VM 106,其中,

OpenStack平台101,用于实现对Neutron网络的管理,以及为所述Neutron网络中的所述多个VM 106分配VxLAN ID。

控制器102,用于为所述Neutron网络中的中的每个VM 106分配VLAN ID。可选的,所述控制器102与所述至少一个NVE设备103之间可以通过网关(GateWay,GW)等网络设备连接。

NVE设备103,为所述Neutron网络中VxLAN和VLAN之间的连接设备。

可选的,一个NVE设备103可以通过至少一个汇聚交换机104连接多个vSwitch 105,如图中左侧的NVE设备103所示,其中,不同的汇聚交换机104通过不同的所述NVE设备103的接入接口连接所述NVE设备103。可选的,一个NVE设备103的一个接入接口直接连接一个vSwitch 105,如图中右侧的NVE设备103所示。

需要说明的是,图1仅为一个Neutron网络的示例,本申请实施例并不限制所述NVE设备103与vSwitch 105之间的连接方式。在实际的Neutron网络组网时,可以仅通过第一种连接方式,如图中左侧的NVE设备103所示,也可以部分NVE设备103采用第一种连接方式,部分NVE设备103采用第二种连接方式,如图中右侧的NVE设备103所示。

汇聚交换机104,用于将多个vSwitch 105进行汇聚,并连接至一个NVE设备103的一个接入接口中。由此可知,通过所述汇聚交换机104时,NVE设备103的一个接入接口可以连接多个vSwitch 105;不通过汇聚交换机104时,NVE设备103的一个接入接口只可以连接一个vSwitch 105。可选的,所述汇聚交换机104可以为架顶式(Top Of Rack,TOR)交换机。

vSwitch 105,位于所述Neutron网络的计算节点中,对VM提供软件的路 由交换协议栈。

VM 106,承载于所述Neutron网络的计算节点中。一个计算节点中可以承载多个VM 106,一个计算节点中的多个VM 106可以属于不同的租户,而不同的计算节点中承载的VM 106可以属于同一租户。承载在计算节点中的至少一个VM 106通过位于该计算节点内的vSwitch 105连接所述NVE设备103。

在所述Neutron网络通过VLAN1-VxLAN-VLAN2三段式映射关系的网络布局方式时,所述OpenStack平台101为所述Neutron网络中每个租户分配VxLAN ID,其中每个租户对应至少一个VM 106。

所述OpenStack平台101可以采用传统的方式在为每个租户分配VLANID,即所述OpenStack平台101分别通过每个所述vSwitch 105为所在的计算节点中每个租户的VM 106分配VLAN ID。显然,同一租户承载在计算节点A中VLAN ID与承载在计算节点B中的VLAN ID可以不同。

通过上述论述可知,相对于传统的两段式映射关系的网络布局方式中VxLAN ID和VLAN ID需要一一对应,三段式映射关系的网络布局方式中VxLAN ID和VLAN ID的对应关系可以根据计算节点的不同而变化。因此Neutron网络中的租户的个数不会限制在VLAN的数量规格范围内,而是限定在VxLAN的数量规格范围内。由于VxLAN的数量规格远远大于VLAN的数量规格,所以,Neutron网络通过上述三段式映射关系的网络布局方式可以显著地提高租户的数量,扩大了网络规模。

然而,所述OpenStack平台101在采用传统的方式在为每个租户分配VLANID时,由于每个所述vSwitch 105分别为所在的计算节点中每个租户的VM 106分配VLAN ID,有可能会出现接入同一NVE设备103的同一接入接口的多个vSwitch 105,为各自连接的不同租户的VM 106分配的VLAN ID相同的情况,即会出现VLAN冲突的问题。

例如,在图中所示的Neutron网络中,vSwitch1和vSwitch2通过汇聚交换机104接入所述NVE设备的同一接入接口,VM1和VM3属于相同的租户, 而VM2和VM4属于相同的租户。由于vSwitch1和vSwitch2在分别为各自对应的VM分配VLAN ID时,是相互独立的。因此,vSwitch1可以为VM1分配VLAN ID1,并为VM2分配VLAN ID2,vSwitch2可以为VM3分配VLANID3,并为VM4分配VLAN ID1。由于VM1和VM4分配了相同的VLAN ID,当网络侧有下行报文需要传输给VM1时,由于所述VM4和所述VM1的VLAN ID相同,所述汇聚交换机104可能会将所述下行报文转发给所述VM4,从而导致数据传输错误,租户网络无法实现隔离。

在本申请实施例中,所述控制器102可以为接入网络的VM 106分配VLAN ID。其中,所述控制器102在为VM1、VM2、VM3和VM4分配VLAN ID时,先确定OpenStack平台101为上述四个VM分配的VxLAN ID,其中,OpenStack平台101为属于相同租户的VM分配相同的VxLAN ID,为属于不同租户的VM分配不同的VxLAN ID。通过上述四个VM1、VM2、VM3和VM4的VxLAN ID,所述控制器102可以确定所述VM1和所述VM3属于一个租户,所述VM2和所述VM4属于另一个租户;所述控制器为所述VM1和所述VM3分配VLAN ID1,为所述VM2和所述VM3分配所述VLAN ID2。

通过上述方法,可以保证所述Neutron网络中接入同一NVE设备的同一接入接口的多个VM中,属于相同租户的VM分配的VLAN ID相同,而属于不同租户的VM分配的VLAN ID不同,避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

可选的,所述控制器102确定每个VM 106的VLAN ID后,生成VLAN配置信息,并将所述VLAN配置信息发送至所述OpenStack平台101;所述OpenStack平台101会通过远程过程调用(Remote Procedure Call,RPC)技术,将所述VLAN配置信息下发至每个vSwitch 105,使每个vSwitch 105根据所述VLAN配置信息,对每个vSwitch 105连接的VM 106配置VLAN ID,最终实现了对所述Neutron网络中VM的VLAN的配置。

在本申请实施例提供的Neutron网络中,所述控制器可以将接入同一NVE 设备的同一接入接口的多个VM中,属于相同租户的VM分配相同的VLAN ID,而属于不同租户的VM分配不同的VLAN ID,这样,可以避免所述Neutron网络出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

本申请实施例提供的一种网络中VLAN ID分配的方法,所述网络可以为如图1所示的Neutron网络,其中,所述网络包括NVE设备和控制器,所述NVE设备为网络边缘设备,所述控制器对所述NVE设备进行控制管理。多个VM通过所述NVE设备连接网络,且所述多个VM通过所述NVE设备的同一接入接口连接所述NVE设备。所述多个VM中包含第一VM和第二VM。参阅图2所示,该方法的处理流程包括:

步骤201:所述控制器获得所述第一VM的第一VxLAN ID和所述第二VM的第二VxLAN ID。

其中,可选的,所述控制器可以通过所述Neutron网络的所述NVE的拓扑连接关系,确定所述接入接口连接的所述多个VM。所述拓扑连接关系可以体现所述NVE的每个接入接口与接入的VM的连接关系。

可选的,所述第一VM和所述第二VM通过vSwitch连接所述NVE设备。具体包含两种情况:

第一种情况:所述第一VM和所述第二VM通过一个vSwitch连接所述NVE设备;例如图1所示的Neutron网络中VM1和VM2通过vSwitch1连接NVE设备,又例如所述Neutron网络中的VM5和VM6通过vSwitch3连接NVE设备;

第二种情况:所述第一VM和所述第二VM通过两个vSwitch连接所述NVE设备;例如所述Neutron网络中所述第一VM为VM1/VM2,所述第二VM为VM3/VM4,所述第一VM通过vSwitch1连接所述NVE设备,且所述第二VM通过vSwitch2连接所述NVE设备。

在第一种情况下,所述vSwitch可以直接接入所述NVE设备的所述接入 接口,如图1所示的vSwitch3;所述vSwitch也可以接入汇聚交换机,再接入所述NVE设备的所述接入接口,如图1所示的vSwitch1。

在第二种情况下,所述两个vSwitch需要通过汇聚交换机接入所述NVE设备的所述接入接口。例如,图1所示的vSwitch1和vSwitch2通过汇聚交换机104接入所述NVE设备103的一个接入接口。

为了实现租户网络隔离,在Neutron网络组网完成后,OpenStack平台为所述Neutron网络中的所有VM分配VxLAN ID,其中,属于同一租户的VM分配的VxLAN ID相同,属于不同租户的VM分配的VxLAN ID不同。因此,可选的,所述控制器可以从OpenStack平台获得所述第一VxLAN ID和所述第二VxLAN ID。

由于所述OpenStack平台将属于同一租户的VM分配相同的VxLAN ID,将属于不同租户的的VM分配不同的VxLAN ID。因此,所述控制器可以通过判断获得的所述第一VxLAN ID和所述VxLAN ID是否相同,来判断所述第一VM和所述第二VM是否属于同一个租户。

步骤202:当所述第一VxLAN ID和所述第二VxLAN ID相同时,确定所述第一VM和所述第二VM属于同一个租户,所述控制器为所述第一VM和所述第二VM分配相同的VLAN ID;当所述第一VxLAN ID和所述第二VxLANID不同时,确定所述第一VM和所述第二VM属于不同的租户,所述控制器为所述第一VM和所述第二VM分配不同的VLAN ID。

在步骤202中,所述控制器可以通过判断获得的所述第一VxLAN ID和所述VxLAN ID是否相同,来判断所述第一VM和所述第二VM是否属于同一个租户;所述控制器在判定所述第一VM和所述第二VM属于同一个租户后,为所述第一VM和所述第二VM分配相同的VLAN ID;或者所述控制在判定所述第一VM和所述第二VM属于不同的租户后,为所述第一VM和所述第二VM分配不同的VLAN ID。通过上述步骤,所述控制器可以避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

可选的,所述控制器中存储有针对所述Neutron网络中每个NVE设备的每个接入接口的VxLAN ID和VLAN ID的对应关系。其中,针对一个NVE设备的不同接入接口的VxLAN ID和VLAN ID的对应关系之间没有任何约束关系,且针对不同NVE设备的接入接口的VxLAN ID和VLAN ID的对应关系之间也没有任何约束关系。例如,VxLAN ID1在针对NVE设备1的接入接口1的VxLAN ID和VLAN ID的对应关系中,对应VLAN ID1;但是,所述VxLAN ID1在针对NVE设备1的接入接口2的VxLAN ID和VLAN ID的对应关系中,对应VLAN ID2;所述VxLAN ID1在NVE设备2的接入接口1的VxLAN ID和VLAN ID的对应关系中,对应VLAN ID4。

由于所述控制器中保存有针对所述Neutron网络中每个NVE设备的每个接入接口的VxLAN ID和VLAN ID的对应关系,因此,一个VxLAN ID在不同的VxLAN ID和VLAN ID的对应关系中,可以对应不同的VLAN ID,从而实现了Neutron网络三段式映射关系的网络布局方式,保证了较大的网络规模。

可选的,当所述控制器中存储针对针对所述接入接口的VxLAN ID和VLAN ID的对应关系时,所述控制器为所述第一VM分配VLAN ID,包括:

所述控制器根据所述VxLAN ID和VLAN ID的对应关系,确定所述第一VxLAN ID对应的第一VLAN ID;并将所述第一VLAN ID分配给所述第一VM;

同理,所述控制器为所述第二VM分配VLAN ID,包括:

所述控制器根据所述VxLAN ID和VLAN ID的对应关系,确定所述第二VxLAN ID对应的第二VLAN ID;并将所述第二VLAN ID分配给所述第二VM。

通过以上方法,所述控制器可以快速准确地确定所述第一VM和所述第二VM的VLAN ID,同时,可以保证在所述第一VM和所述第二VM属于相同租户时,为上述两个VM分配相同的VLAN ID,在上述两个VM属于不同租户时,分别为上述两个VM分配不同的VLAN ID,避免出现VLAN ID冲突的 问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

本申请实施例仅以所述第一VM和所述第二VM为例,所述控制器可以通过上述方法,为接入所述接入接口的所述多个VM分配VLAN ID;进一步的,所述控制器还可以通过上述方法,为接入所述NVE设备的其他任意一个接入接口的多个VM分配VLAN ID;更进一步的,所述控制器还可以通过上述方法,为接入所述Neutron网络中其他NVE设备的任意一个接入接口的多个VM分配VLAN ID,最终所述控制器可以实现为所述Neutron网络中所有VM分配VLAN ID。

可选的,在所述控制器在执行步骤202后,所述控制器将为所述第一VM和所述第二VM分配的VLAN ID发送给所述vSwitch。

可选的,所述控制器执行上述步骤时,具体包括:

所述控制器生成VLAN配置信息,所述VLAN配置信息中包含为所述第一VM和所述第二VM分配的VLAN ID的信息;

所述控制器将所述VLAN配置信息发送至所述OpenStack平台;所述OpenStack平台将所述VLAN配置信息下发至所述第一VM和所述第二VM连接的所述vSwitch,使所述vSwitch可以根据所述VLAN配置信息,分别对所述第一VM和所述第二VM对应的VLAN ID进行配置,即将第一VLAN ID配置给所述第一VM,将第二VLAN ID配置给所述第二VM。

可选的,在所述vSwitch对所述第一VM和所述第二VM对应VLAN ID进行配置后,所述NVE设备中存储所述第一VxLAN ID和第一接入信息的对应关系,以及存储所述第二VxLAN ID和第二接入信息的对应关系,其中,所述第一接入信息包括:所述接入接口的接口信息和所述第一VLAN ID;所述第二接入信息包括:所述接入接口的接口信息和所述第二VLAN ID。

所述NVE设备维护有所述第一VxLAN ID和所述第一接入信息的对应关系,这样,在所述NVE设备中存在需要向所述第一VM发送的下行报文时,所述下行报文中包含所述第一VxLAN ID,所述NVE设备可以根据所述第一 VxLAN ID和所述第一接入信息的对应关系,确定所述第一接入信息,从而所述NVE设备可以通过所述接入接口和所述第一VLAN ID,将所述下行报文传输给所述第一VM。

同理,所述NVE设备中维护有所述第二VxLAN ID和第二接入信息的对应关系,保证所述NVE设备可以通过所述接入接口和所述第二VLAN ID,将下行报文传输给所述第二VM。

综上所述,所述NVE设备保存所述第一VxLAN ID和所述第一接入信息的对应关系,以及所述第二VxLAN ID和第二接入信息的对应关系,可以保证所述NVE可以将待发送给所述第一VM和所述第二VM的下行报文能够准确的传输至对应的目标VM,保证数据传输的准确性。

采用本申请上述实施例中的网络中VLAN ID分配的方法,所述控制器可以保证接入同一NVE设备的同一接入接口的多个VM中,属于相同租户的VM分配的VLAN ID相同,而属于不同租户的VM分配的VLAN ID不同,避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

基于以上实施例,本申请还提供了一种网络中VLAN ID分配的控制器,该控制器应用于如1所示的Neutron网络中,可以实现如图2所示的网络中VLAN ID分配的方法。其中,所述Neutron网络包括所述控制器和NVE设备,第一VM和第二VM通过所述NVE设备连接网络,所述NVE设备为网络边缘设备,所述控制器对所述NVE设备进行控制管理,所述NVE设备通过同一接入接口与所述第一VM和所述第二VM连接。参阅图3所示,在该控制器300中包括:获取单元301和处理单元302,其中,

获取单元301,用于获得所述第一VM的第一虚拟扩展局域网标识VxLAN ID和所述第二VM的第二VxLAN ID;

处理单元302,用于当所述第一VxLAN ID和所述第二VxLAN ID相同时,确定所述第一VM和所述第二VM属于同一个租户,并为所述第一VM和所 述第二VM分配相同的VLAN ID;以及

当所述第一VxLAN ID和所述第二VxLAN ID不同时,确定所述第一VM和所述第二VM属于不同的租户,并为所述第一VM和所述第二VM分配不同的VLAN ID。

可选的,所述第一VM和所述第二VM通过vSwitch连接所述NVE设备。

可选的,所述控制器300还包括:

发送单元,用于将为所述第一VM和所述第二VM分配的VLAN ID发送给所述vSwitch。

可选的,所述获取单元301获得所述第一VM的第一VxLAN ID和所述第二VM的第二VxLAN ID,包括:

所述获取单元301从OpenStack平台获得所述第一VxLAN ID和所述第二VxLAN ID。

可选的,所述控制器300还包括:

存储单元,用于存储针对所述接入接口的VxLAN ID和VLAN ID的对应关系;

所述处理单元302,在为所述第一VM分配VLAN ID时,具体用于:

根据所述VxLAN ID和VLAN ID的对应关系,确定所述第一VxLAN ID对应的第一VLAN ID;并将所述第一VLAN ID分配给所述第一VM;

所述处理单元302,在为所述第二VM分配VLAN ID时,具体用于:

根据所述VxLAN ID和VLAN ID的对应关系,确定所述第二VxLAN ID对应的第二VLAN ID;并将所述第二VLAN ID分配给所述第二VM。

采用本申请实施例提供的控制器,可以保证在接入同一NVE设备的同一接入接口的多个VM中,为属于相同租户的VM分配相同的VLAN ID,为属于不同租户的VM分配不同的VLAN ID,避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻 辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

基于以上实施例,本申请实施例还提供了一种网络中VLAN ID分配的控制器,所述控制器应用于如1所示的Neutron网络中,可以实现如图2所示的网络中VLAN ID分配的方法。其中,所述Neutron网络还包括NVE设备,第一VM和第二VM通过所述NVE设备连接网络,所述NVE设备为网络边缘设备,所述控制器对所述NVE设备进行控制管理,所述NVE设备通过同一接入接口与所述第一VM和所述第二VM连接。参阅图4所示,所述控制器400包括:收发器401、处理器402、总线403以及存储器404,其中,

所述收发器401、所述处理器402以及所述存储器404通过所述总线403相互连接;所述总线403可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

所述收发器401,用于与所述Neutron网络网络中的与所述控制器相连的其他设备进行通信交互。

所述处理器402,用于实现如图2所示的网络中VLAN ID分配的方法,包括:

获得所述第一VM的第一虚拟扩展局域网标识VxLAN ID和所述第二VM的第二VxLAN ID;

当所述第一VxLAN ID和所述第二VxLAN ID相同时,确定所述第一VM和所述第二VM属于同一个租户,为所述第一VM和所述第二VM分配相同的VLAN ID;

当所述第一VxLAN ID和所述第二VxLAN ID不同时,确定所述第一VM和所述第二VM属于不同的租户,为所述第一VM和所述第二VM分配不同的VLAN ID。

可选的,所述第一VM和所述第二VM通过vSwitch连接所述NVE设备。

可选的,所述处理器402还用于:

将为所述第一VM和所述第二VM分配的VLAN ID发送给所述vSwitch。

可选的,所述处理器402,在获得所述第一VM的所述第一VxLAN ID和所述第二VM的所述第二VxLAN ID时,具体用于:

从OpenStack平台获得所述第一VxLAN ID和所述第二VxLAN ID。

可选的,所述控制器400存储针对所述接入接口的VxLAN ID和VLAN ID的对应关系;

所述处理器402在为所述第一VM分配VLAN ID时,具体用于:

根据所述VxLAN ID和VLAN ID的对应关系,确定所述第一VxLAN ID对应的第一VLAN ID;并将所述第一VLAN ID分配给所述第一VM;

所述处理器402在为所述第二VM分配VLAN ID时,具体用于:

根据所述VxLAN ID和VLAN ID的对应关系,确定所述第二VxLAN ID对应的第二VLAN ID;并将所述第二VLAN ID分配给所述第二VM。

所述存储器404,用于存放程序、针对所述接入接口的VxLAN ID和VLAN ID的对应关系等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器404可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述处理器402执行所述存储器404所存放的应用程序,实现上述功能,从而实现如图2所示的网络中VLAN ID分配的方法。

采用本申请实施例提供的控制器,可以保证在接入同一NVE设备的同一接入接口的多个VM中,为属于相同租户的VM分配相同的VLAN ID,为属于不同租户的VM分配不同的VLAN ID,避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

本申请实施例提供了一种网络中VLAN ID分配的方法及控制器,适用于包含NVE设备和控制器的网络中,其中,所述NVE设备通过同一接入接口与第一VM和第二VM连接,在该方法中,当所述控制器确定所述第一VM和所述第二VM属于同一租户时,所述控制器为所述第一VM和所述第二VM分配相同的VLAN ID;当所述控制器确定所述第一VM和所述第二VM属于不同的租户时,所述控制器为所述第一VM和所述第二VM分配不同的VLAN ID。上述方法可以保证接入同一NVE设备的同一接入接口的多个VM中,属于相同租户的VM分配的VLAN ID相同,而属于不同租户的VM分配的VLAN ID不同,避免出现VLAN ID冲突的问题,提高了分配VLAN ID的准确性,最终实现租户网络隔离。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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