一种二层网络互联环境下的虚拟机定位方法和设备转让专利

申请号 : CN201310070458.X

文献号 : CN104038357B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李晓东吴才富

申请人 : 新华三技术有限公司

摘要 :

本发明公开了一种二层网络互联环境下的虚拟机定位方法和设备。该方法包括:网络管理设备维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息;网络管理设备获取到虚拟机迁移事件后,根据该虚拟机的VPN属性匹配各站点网络的VPN属性信息,确定该虚拟机的候选站点网络集合的成员,将所述候选站点网络集合中,将从站点内部接口学习到所述虚拟机的MAC地址的边缘设备所在的站点网络,确定为所述虚拟机所在的站点网络;依据交换机接口是否为虚拟机接入接口的判断原则,定位该虚拟机的接入位置。采用本发明可在虚拟机定位过程中逐步缩小定位范围,提高定位效率。

权利要求 :

1.一种二层网络互联环境下的虚拟机定位方法,其特征在于,包括:

网络管理设备维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息;其中,边缘交换机是指直连虚拟机的交换机;

所述网络管理设备获取到虚拟机迁移事件后,执行以下步骤:

根据所述虚拟机的VPN属性匹配所述网络管理设备维护的各站点网络的VPN属性信息,将VPN属性与所述虚拟机的VPN属性匹配的站点网络,确定为所述虚拟机的候选站点网络集合的成员;

查询所述候选站点网络集合中,各候选站点网络的边缘设备的站点内部接口学习到的MAC地址,并将从站点内部接口学习到所述虚拟机的MAC地址的边缘设备所在的站点网络,确定为所述虚拟机所在的站点网络;根据所述虚拟机所在的站点网络以及所述网络管理设备维护的各站点网络内的边缘交换机的信息,确定出所述虚拟机所在的站点网络内的边缘交换机,针对确定出的各边缘交换机,查询学习到所述虚拟机的MAC地址的接口所学习到的所有MAC地址,若查询到的MAC地址中未包含其它边缘交换机的MAC地址,则确定所述虚拟机连接在对应边缘交换机的对应接口上;

所述边缘设备是位于站点网络边缘的执行EVI功能的交换设备;

所述站点内部接口是边缘设备上连接到站点网络内部的交换或者路由设备的二层接口。

2.如权利要求1所述的方法,其特征在于,查询边缘设备的站点内部接口学习到的MAC地址,具体包括:所述网络管理设备向边缘设备发送用于查询站点内部接口学习到的MAC地址的查询请求,所述查询请求中携带所述虚拟机的VPN属性信息,所述VPN属性信息中包括所述虚拟机所属的VLAN;

所述网络管理设备接收所述边缘设备返回的查询响应,获取其中携带的所述边缘设备的站点内部接口学习到的该VLAN内的MAC地址。

3.如权利要求1所述的方法,其特征在于,查询边缘交换机的接口学习到的MAC地址,具体包括:所述网络管理设备向边缘交换机发送用于查询该边缘交换机的接口学习到的MAC地址的查询请求,所述查询请求中携带所述虚拟机的VPN属性信息,所述VPN属性信息中包括所述虚拟机所属的VLAN;

所述网络管理设备接收所述边缘交换机返回的查询响应,获取其中携带的所述边缘交换机的接口学习到的该VLAN内的MAC地址。

4.如权利要求1、2或3所述的方法,其特征在于,网络管理设备所维护的所述站点网络的VPN属性信息,具体包括:站点网络内配置的各VPN以及各自对应的VLAN;

所述虚拟机的VPN属性,具体包括:虚拟机所属的VPN和所属的VLAN。

5.如权利要求1、2或3所述的方法,其特征在于,网络管理设备所维护的所述边缘交换机的信息,具体包括:边缘交换机的MAC地址。

6.一种网络管理设备,其特征在于,包括:信息维护模块、设备管理模块、虚拟机定位模块;

所述信息维护模块,用于维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息;其中,边缘交换机是指直连虚拟机的交换机;

所述设备管理模块,用于在获取到虚拟机迁移事件后,指示所述虚拟机定位模块定位所述虚拟机所接入的交换机和接口;

所述虚拟机定位模块,具体用于根据所述虚拟机的VPN属性匹配所述信息维护模块维护的各站点网络的VPN属性信息,将VPN属性与所述虚拟机的VPN属性匹配的站点网络,确定为所述虚拟机的候选站点网络集合的成员;查询所述候选站点网络集合中,各候选站点网络的边缘设备的站点内部接口学习到的虚拟机的MAC地址,并将从站点内部接口学习到所述虚拟机的MAC地址的边缘设备所在的站点网络,确定为所述虚拟机所在的站点网络;根据所述虚拟机所在的站点网络以及所述信息维护模块维护的各站点网络内的边缘交换机的信息,确定出所述虚拟机所在的站点网络内的边缘交换机,针对确定出的各边缘交换机,查询学习到所述虚拟机的MAC地址的接口所学习到的所有MAC地址,若查询到的MAC地址中未包含其它边缘交换机的MAC地址,则确定所述虚拟机连接在对应边缘交换机的对应接口上;

所述边缘设备是位于站点网络边缘的执行EVI功能的交换设备;

所述站点内部接口是边缘设备上连接到站点网络内部的交换或者路由设备的二层接口。

7.如权利要求6所述的设备,其特征在于,所述虚拟机定位模块具体用于,向边缘设备发送用于查询站点内部接口学习到的MAC地址的查询请求,所述查询请求中携带所述虚拟机的VPN属性信息,所述VPN属性信息中包括所述虚拟机所属的VLAN;接收所述边缘设备返回的查询响应,获取其中携带的所述边缘设备的站点内部接口学习到的该VLAN内的MAC地址。

8.如权利要求6所述的设备,其特征在于,所述虚拟机定位模块具体用于,向边缘交换机发送用于查询该边缘交换机的接口学习到的MAC地址的查询请求,所述查询请求中携带所述虚拟机的VPN属性信息,所述VPN属性信息中包括所述虚拟机所属的VLAN;接收所述边缘交换机返回的查询响应,获取其中携带的所述边缘交换机的接口学习到的该VLAN内的MAC地址。

9.如权利要求6、7或8所述的设备,其特征在于,所述信息维护模块所维护的所述站点网络的VPN属性信息,具体包括:站点网络内配置的各VPN以及各自对应的VLAN。

10.如权利要求6、7或8所述的设备,其特征在于,所述信息维护模块所维护的所述边缘交换机的信息,具体包括:边缘交换机的MAC地址。

说明书 :

一种二层网络互联环境下的虚拟机定位方法和设备

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种二层网络互联环境下的虚拟机定位方法和设备。

背景技术

[0002] 为了实现高可靠性和冗余部署,当今大多数企业网络及其数据中心跨越了多个位于不同地理位置的物理站点,在这些站点网络部署类似的业务。为了实现站点网络间的资源动态调配和管理,虚拟机在数据中心之间要能够自由迁移,由于虚拟机迁移过程对用户透明,不能改变IP地址,所以必须在分布于异地的站点网络之间实现二层网络互联。
[0003] EVI(Ethernet Virtualization Interconnection,以太网虚拟化互联)是一种先进的“MAC in IP”技术,用于实现基于IP核心网络的L2VPN(Layer2VirtualPrivate Network,二层虚拟专用网络)。EVI技术基于现有的服务提供商网络和企业网络,在站点网络边缘部署一个或多个支持EVI功能的设备,通过EVI技术在站点网络的边缘设备上维护路由和转发信息,企业网络和服务提供商网络无需做任何变动就可给分散的物理站点网络提供灵活的二层互联功能。
[0004] EVI整体网络由站点网络、交叠网络和核心网络组成,如图1所示。站点网络是通过一台或者多台边缘设备连接到核心网络的具有独立业务功能的二层网络,通常由单个组织管理控制,主要由主机和交换设备组成,其中,位于站点网络边缘的执行EVI功能的交换设备称为边缘设备(Edge Device,ED),ED设备在站点侧作为二层设备运行,在核心侧作为三层设备运行,主要负责VPN业务的接入,完成报文从私网到公网隧道,以及公网隧道到私网的映射与转发。交叠网络是各站点网络的ED设备之间建立的虚拟网络,提供站点网络之间的二层互联,通过ISIS(Intermediate system to intermediate system,中间系统到中间系统)路由消息来相互通告连接到ED设备所有主机和路由器的MAC(Media  Access Control,媒体接入控制)地址,将多个站点网络互联形成更大的二层转发域。核心网络是主要由IP路由设备承载的提供站点网络之间互联的网络。
[0005] ED设备上连接到站点网络内部的交换或者路由设备的二层接口,称为站点内部接口;ED设备上连接到核心网的三层接口称为承载接口,是对原始以太帧进行隧道封装之后的报文在核心网中传输的源头。该三层接口拥有核心网络地址空间的IP地址,可以是三层以太网口、三层聚合接口、VLAN(VirtualLocal Area Network,虚拟局域网)虚接口、三层环回接口等类型。
[0006] 交叠网络实现VLAN在不同站点网络之间的扩展,不同的VLAN承载不同的业务功能,需要扩展的站点网络也不同,从而交叠网络支持多实例功能,不同实例的控制平面协议交互以及数据平面流量转发完全隔离,扩展VLAN不能重叠,并且可以独立的配置每个实例的相关网络参数(如EVI ISIS时间参数等)。每个实例表示一个VPN,使用Network ID来唯一标识,不同实例的NetworkID不同,同一个实例中所有的ED设备必须配置相同的Network ID。如图2所示定义了三个VPN实例。
[0007] 随着虚拟化技术,特别是虚拟机迁移技术(比如:vMotion)引入之后,虚拟机接入网络的位置是动态的,为了保证虚拟机迁移后获得的网络参数(比如:VLAN、网络带宽、QoS(Quality of Service,服务质量))以及安全参数(比如:ACL(Access Control List,访问控制列表))不受影响,这就要求虚拟机的相关参数也能随需而动,这样才能保证VM业务的连续性。网络参数和安全参数最终需要部署在物理交换机及其接口上,因此必须快速、准确、实时的定位出虚拟机迁移后接入网络的交换机及其接口。
[0008] 为了便于描述,以下将虚拟机用VM代替,VM迁移后的接入网络的交换机称为边缘交换机。
[0009] 当VM迁移到新的host(主机)上时,网络管理设备根据VM的MAC地址实时查找VM迁移后的网络接入位置,目前的主要实现方式为:
[0010] 网络管理设备通过与每台交换机交互一次查询报文,或者逐条读取交换机的所有MAC地址信息,探测出交换机是否学习到发生迁移的VM的MAC地址,以及学习到该VM的MAC地址的接口索引;获取到所有学习到该VM的MAC地址的交换机接口后,依据交换机接口是否为VM接入接口的判断原则(接口上没有学习到其它交换机和路由器的MAC地址)过滤出VM迁移后的位置。
[0011] 可以看出,上述现有技术中,网络管理设备需要与每台交换机交互,随着网络规模的扩大,定位VM接入位置以及进行网络参数配置的实时性得不到保证,探测效率会降低,消耗性能太高。

发明内容

[0012] 本发明实施例提供了一种二层网络互联环境下的虚拟机定位方法和设备,用以提高虚拟机接入位置定位效率。
[0013] 本发明实施例提供的二层网络互联环境下的虚拟机定位方法,包括:
[0014] 网络管理设备维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息;其中,边缘交换机是指直连虚拟机的交换机;
[0015] 所述网络管理设备获取到虚拟机迁移事件后,执行以下步骤:
[0016] 根据所述虚拟机的VPN属性匹配所述网络管理设备维护的各站点网络的VPN属性信息,将VPN属性与所述虚拟机的VPN属性匹配的站点网络,确定为所述虚拟机的候选站点网络集合的成员;
[0017] 查询所述候选站点网络集合中,各候选站点网络的边缘设备的站点内部接口学习到的MAC地址,并将从站点内部接口学习到所述虚拟机的MAC地址的边缘设备所在的站点网络,确定为所述虚拟机所在的站点网络;
[0018] 根据所述虚拟机所在的站点网络以及所述网络管理设备维护的各站点网络内的边缘交换机的信息,确定出所述虚拟机所在的站点网络内的边缘交换机,针对确定出的各边缘交换机,查询学习到所述虚拟机的MAC地址的接口所学习到的所有MAC地址,若查询到的MAC地址中未包含其它边缘交换机的MAC地址,则确定所述虚拟机连接在对应边缘交换机的对应接口上。
[0019] 本发明实施例提供的网络管理设备,包括:信息维护模块、设备管理模块、虚拟机定位模块;
[0020] 所述信息维护模块,用于维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息;其中,边缘交换机是指直连虚拟机的交换机;
[0021] 所述设备管理模块,用于在获取到虚拟机迁移事件后,指示所述虚拟机定位模块定位所述虚拟机所接入的交换机和接口;
[0022] 所述虚拟机定位模块,具体用于根据所述虚拟机的VPN属性匹配所述信息维护模块维护的各站点网络的VPN属性信息,将VPN属性与所述虚拟机的VPN属性匹配的站点网络,确定为所述虚拟机的候选站点网络集合的成员;查询所述候选站点网络集合中,各候选站点网络的边缘设备的站点内部接口学习到的虚拟机的MAC地址,并将从站点内部接口学习到所述虚拟机的MAC地址的边缘设备所在的站点网络,确定为所述虚拟机所在的站点网络;根据所述虚拟机所在的站点网络以及所述信息维护模块维护的各站点网络内的边缘交换机的信息,确定出所述虚拟机所在的站点网络内的边缘交换机,针对确定出的各边缘交换机,查询学习到所述虚拟机的MAC地址的接口所学习到的所有MAC地址,若查询到的MAC地址中未包含其它边缘交换机的MAC地址,则确定所述虚拟机连接在对应边缘交换机的对应接口上。
[0023] 本发明的上述实施例中,由于网络管理设备维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息,在进行虚拟机接入位置定位时,依据所维护的信息,并借助二层互联网络环境下的特性,进行虚拟机接入位置定位,在定位过程中逐步缩小定位范围,提高了定位效率。

附图说明

[0024] 图1为现有技术中典型的EVI网络示意图;
[0025] 图2为现有技术中的EVI网络中的VPN配置示意图;
[0026] 图3为本发明实施例提供的VM接入位置定位流程示意图;
[0027] 图4为本发明实施例中的站点网络内部架构示意图;
[0028] 图5为本发明实施例提供的网络管理设备的结构示意图。

具体实施方式

[0029] 为解决现有技术存在的问题,本发明实施例借助EVI环境的一些特性,提供一种通用的、并能有效提高VM位置定位效率的技术,从而保证虚拟网络配置动态迁移的实时性和准确性。采用其它技术实现的二层网络互联,其二层网络互联环境下的VM位置定位过程,也可以此为参考。
[0030] 下面结合附图对本发明实施例进行详细描述。
[0031] 在EVI网络中通常设置有网络管理设备,该网络管理设备可以与EVI网络中的各设备进行通信,实现对EVI网络中的设备进行管理。本发明实施例中,在该网络管理设备上配置了以下信息:
[0032] (1)EVI网络中各站点网络的VPN属性信息。具体的,站点网络的VPN属性信息可以包括:站点网络中配置的VPN,以及各VPN对应的VLAN。
[0033] (2)EVI网络中各站点网络内的边缘交换机的信息。具体的,边缘交换机的信息可以是边缘交换机的MAC地址。这里的“边缘交换机”是指与VM直连的交换机,边缘交换机可与所在站点网络的ED设备直连或通过其它交换机与ED设备连接。
[0034] 上述信息中,各站点网络的VPN属性信息的数据结构,可采用以ED设备的标识信息(如设备标识或地址)为索引的列表形式,每个站点网络的ED设备对应一个表项,其中记录有用于标识VPN的Network ID,以及该VPN对应的VLAN ID列表。如果一个站点网络(即ED设备)配置有多个VPN,则针对每个VPN,均对应一个表项,用于记录该VPN的Network ID,以及该VPN对应的VLAN ID列表。当然,也可以采用其它数据结构记录上述信息,本发明实施例对所使用的数据结构形式不做限制。
[0035] 上述信息中,站点网络内边缘交换机的信息的数据结构,可采用以ED设备的标识信息(如设备标识或地址)为索引的列表形式,每个站点网络的ED设备对应一个表项,其中记录有该ED所连接的所有边缘交换机的信息,如边缘交换机的MAC地址。当然,也可以采用其它数据结构记录上述信息,本发明实施例对所使用的数据结构形式不做限制。
[0036] 上述信息将用于对VM所接入的交换机和接口进行定位。
[0037] 上述信息通常是在网络配置阶段,根据网络的具体配置情况,配置在网络管理设备中的。当EVI网络配置变化时,比如:新增VPN或VLAN配置改变,则需要根据更新后的网络配置,更新网络管理设备上的上述信息。
[0038] 上述信息的配置方法和更新方法,可采用手工配置方式或其它方式(比如使用自动配置工具进行配置),本发明实施例对此不做限制。
[0039] 当VM发生迁移(即从源主机迁移到目标主机)时,连接源主机的边缘交换机将VM迁移(vmotion)事件通知给网络管理设备。根据802.1Qbg定义的VDP(VSI Discovery and Configuration Protocol,VSI发现和配置协议),物理交换机可感知VM的迁移过程,并将变化信息通知给网络管理设备。网络管理设备可通过接收到的VM迁移事件获知发生迁移的VM的MAC地址。
[0040] VM迁移到目标主机后,广播免费ARP(Address Resolution Protocol,地址解析协议)报文,该免费ARP报文中携带该VM的MAC地址。连接该目标主机的边缘交换机接收到该免费ARP报文后,从该免费ARP报文的接收接口学习到该VM的MAC地址,并继续转发该免费ARP报文。在EVI网络内广播的免费ARP报文被转发到该VM所在的目标站点网络的ED设备处,该ED设备从其站点内部接口学习到该VM的MAC地址。
[0041] 根据ISIS协议,该VM所在的目标站点网络中的ED设备将其从内部站点接口学习到的该发生迁移的VM的MAC地址信息,封装为LSP(Link-statePacket,链路状态数据包)报文并在交叠网络中进行通告。其它站点网络的ED设备在从承载接口接收到该LSP报文后,解封装报文,学习该LSP报文中的MAC地址并将该地址写入本地的MAC转发表。
[0042] 当网络管理设备接收到VM迁移事件后,触发对该VM的接入位置的定位过程。为描述方便,以下将发生迁移的VM称为VM_motion。
[0043] 参见图3,为本发明实施例提供的VM接入位置定位流程示意图,如图所示,该流程可包括:
[0044] 步骤301:网络管理设备根据VM_motion的VPN属性,匹配网络管理设备所维护的各站点网络的VPN属性信息,将VPN属性与VM_motion的VPN属性匹配的站点网络,确定为VM_motion的候选站点网络集合的成员。
[0045] 通常,网络管理设备中存储有设备信息表,用于记录设备信息,比如MAC地址、VPN属性信息等。该步骤中,网络管理设备可根据接收到的VM迁移事件,得知发生迁移的VM_motion的MAC地址,根据VM_motion的MAC地址查询设备信息表,得到VM_motion的VPN属性,即,VM_motion所属的VPN以及对应的VLAN,从而用VM_motion的VPN属性去匹配网络管理设备所维护的各站点网络的VPN属性信息。如果VM_motion的VPN属性与某个或某些站点网络的一个VPN的属性信息相同(一个站点网络中可配置多个VPN),则所述某个或某些站点网络即为VM_motion的候选站点网络。
[0046] 步骤302:网络管理设备查询候选站点网络集合中,各候选站点网络的ED设备的站点内部接口学习到的MAC地址,并将从站点内部接口学习到VM_motion的MAC地址的ED设备所在的站点网络,确定为VM_motion所在的站点网络。
[0047] 具体的,网络管理设备可通过以下方式进行查询:向ED设备发送用于查询站点内部接口学习到的MAC地址的查询请求;接收ED设备返回的查询响应,获取其中携带的该ED设备的站点内部接口学习到的MAC地址。具体的,网络管理设备在发送的查询请求中可携带VLAN ID,该VLAN ID为VM_motion所属的VLAN的ID,用于请求获取对应VLAN内的MAC地址。
[0048] 网络管理设备获取到ED设备的站点内部接口学习到的MAC地址后,将返回VM_motion的MAC地址的ED设备所在的站点网络,确定为VM_motion所在的站点网络。
[0049] 步骤303:网络管理设备根据VM_motion所在的站点网络,以及网络管理设备所维护的各站点网络内的边缘交换机的信息,确定出VM_motion所在的站点网络内的边缘交换机,针对确定出的各边缘交换机,查询学习到VM_motion的MAC地址的接口所学习到的所有MAC地址,若查询到的MAC地址中未包含其它边缘交换机的MAC地址,则确定VM_motion连接在对应边缘交换机的对应接口上。
[0050] 具体的,网络管理设备可通过以下方式进行查询:向边缘交换机发送用于查询该边缘交换机的接口学习到的MAC地址的查询请求;接收该边缘交换机返回的查询响应,获取其中携带的该边缘交换机的接口学习到的MAC地址。具体的,网络管理设备在发送的查询请求中可携带VLAN ID,该VLAN ID为VM_motion所属的VLAN的ID,用于请求获取对应VLAN内的MAC地址。
[0051] 网络管理设备根据各边缘交换机的接口所学习到的MAC地址,如果判断出有边缘交换机的接口学习到VM_motion的MAC地址,且没有学习到其它边缘交换机的MAC地址,则将该边缘交换机和该接口确定为VM_motion的接入位置。
[0052] 此后,网络管理设备根据定位出的VM_motion的接入位置,在连接VM_motion的边缘交换机上,以及该边缘交换机连接VM_motion的接口上进行网络参数配置,如配置VLAN、网络带宽、QoS,以及安全参数(比如:ACL)等。
[0053] 根据以上流程可以看出,通过步骤301,网络管理设备可依据VM_motion的VPN属性,缩小查找范围,使查找范围限于所属VPN的站点网络内,提高了VM定位的准确性和实时性;通过步骤302,网络管理设备在步骤301确定出的查找范围内,而不是全网的所有设备范围内,通过判定ED设备的站点内部接口是否学习到VM_motion的MAC地址,判定出其所属的站点网络,从而提高了VM定位效率;通过步骤303,网络管理设备在VM_motion所在的站点网络范围内,而不是所有能学习到的站点网络的交换机范围内,依据交换机接口是否为VM_motion接入接口的判断原则(接口上没有学习到其它交换机和路由器的MAC地址),确定出VM_motion迁移后的接入位置,从而缩小了VM定位范围,提高了VM定位效率。
[0054] 为了更清楚的对本发明的上述实施例进行说明,下面结合具体应用场景描述本发明实施例的具体实现过程。
[0055] 该应用场景如图2和图4所示,EVI网络中包含5个站点网络,分别为Site1、Site2、Site3、Site4、Site5,EVI网络中配置有如图2所示的3个VPN,VPN1的Network ID表示为Network ID1,VPN2的Network ID表示为NetworkID2,VPN3的Network ID表示为Network ID3。VPN1对应的VLAN为:VLAN100和VLAN101,VPN2对应的VLAN为:VLAN4000,VPN3对应的VLAN为:VLAN50~80。
[0056] 如图4所述,ED2是Site2的边缘设备,Site2通过ED2与其它站点网络(Site1、Site3、Site4、Site5)进行交互。Switch1、Switch2、Switch3、Switch4为Site2内的交换机,MAC地址依次为:MAC1、MAC2、MAC3、MAC4。Switch1、Switch2、Switch4与VM直连,为边缘交换机。
[0057] 基于上述网络架构和网络配置,针对Site2,网络管理设备上维护有以下信息:
[0058] Site2:
[0059] VPN属性:Network ID1:VLAN100、VLAN101;
[0060] Network ID2:VLAN4000。
[0061] 边缘交换机:MAC1、MAC2、MAC4。
[0062] 同理,针对Site1、Site3、Site4、Site5,网络管理设备上维护有类似信息。
[0063] VM_motion(MAC地址为MAC_vm)从Site3迁移到Site2。VM_motion迁移到Site2中的Switch1后,Switch1的接口P1_sw1学习到VM_motion的MAC地址(即MAC_vm),Switch1广播免费ARP报文,其中携带MAC_vm。Switch3接收到该免费ARP报文后,从接口P1_sw3学习到MAC_vm,并继续转发该免费ARP报文。Switch2接收到该免费ARP报文后,从接口P1_sw2学习到MAC_vm,ED2接收到该免费ARP报文后,从站点内部接口P1_ed2学习到MAC_vm,并继续转发该免费ARP报文。Switch4接收到该免费ARP报文后,从接口P1_sw4学习到MAC_vm。ED2将学习到的MAC_vm封装到LSP报文中,通过交叠网络发送给其它站点网络的边缘设备,其它站点网络的边缘设备在从承载接口接收到该LSP报文后,学习MAC_vm并将该地址写入本地的MAC转发表。
[0064] VM_motion从Site3迁出时,Site3的边缘设备将VM迁移事件通知给网络管理设备。网络管理设备获取到VM_motion所属的VPN为VPN1,对应的VLAN为:VLAN100,然后用该VPN属性信息与网络管理设备维护的各站点网络的信息进行匹配,可匹配到Site2、Site3、Site4,因此将Site2、Site3、Site4作为VM_motion的候选站点网络。
[0065] 根据VM_motion的候选站点网络,网络管理设备分别向这些候选站点网络的边缘设备请求查询站点内部接口学习到的MAC地址,再判断哪个候选站点网络的边缘设备的内部接口学习到了VM_motion的MAC地址(即MAC_vm),该从内部接口学习到MAC_vm的边缘设备所在的站点网络,即为VM_motion所在的站点网络。在本场景下,由于Site2中的ED2从其内部接口P1_ed学习到MAC_vm,而其它Site中的边缘设备均从承载接口学习到MAC_vm,因此,网络管理设备确定VM_motion迁移到Site2。
[0066] 网络管理设备根据VM_motion迁移到的目标站点网络Site2,查询其所维护的Site2的信息,得到Site2中的边缘交换机的MAC地址包括MAC1、MAC2、MAC4,网络管理设备分别向对应的边缘交换机查询该边缘交换机学习到的MAC地址,根据查询结果确定出这些交换机上学习到MAC_vm的接口,并进一步判断这些接口中的哪个接口没有学习到其它边缘交换机的MAC地址,找到该接口后,即可确定出VM_motion的接入位置(即该接口以及该接口所在的边缘交换机)。本场景下,由于switch1从其接口P1_sw1学习到MAC_vm,且没有从该接口学习到其它交换机的MAC地址,而switch1的接口P2_sw1未学习到MAC_vm,switch2的接口P1_sw2虽然学习到MAC_vm但还学习到switch1的MAC地址,switch4的接口P1_sw4虽然学习到MAC_vm但还学习到switch1和switch2的MAC地址,因此确认VM_motion接入了switch1的接口sw1_P1。
[0067] 基于相同的技术构思,本发明实施例还提供了一种堆叠设备。
[0068] 参见图5,为本发明实施例提供的网络设备的结构示意图。该网络管理设备可包括:信息维护模块51、设备管理模块52、虚拟机定位模块53,其中:
[0069] 信息维护模块51,用于维护各站点网络的VPN属性信息,以及各站点网络内的边缘交换机的信息,这些信息可记录在信息表50中;其中,边缘交换机是指直连虚拟机的交换机;
[0070] 设备管理模块52,用于在获取到虚拟机迁移事件后,指示虚拟机定位模块53定位该虚拟机所接入的交换机和接口;
[0071] 虚拟机定位模块53,具体用于根据该虚拟机的VPN属性(如虚拟机所属的VPN和所属的VLAN)匹配信息表50中各站点网络的VPN属性信息,将VPN属性与所述虚拟机的VPN属性匹配的站点网络,确定为所述虚拟机的候选站点网络集合的成员;查询所述候选站点网络集合中,各候选站点网络的边缘设备的站点内部接口学习到的虚拟机的MAC地址,并将从站点内部接口学习到所述虚拟机的MAC地址的边缘设备所在的站点网络,确定为所述虚拟机所在的站点网络;根据所述虚拟机所在的站点网络以及信息表50中各站点网络内的边缘交换机的信息,确定出所述虚拟机所在的站点网络内的边缘交换机,针对确定出的各边缘交换机,查询学习到所述虚拟机的MAC地址的接口所学习到的所有MAC地址,若查询到的MAC地址中未包含其它边缘交换机的MAC地址,则确定所述虚拟机连接在对应边缘交换机的对应接口上。
[0072] 进一步的,虚拟机定位模块53将定位结果返回给设备管理模块52,设备管理模块52根据该定位结果,在该虚拟机接入的交换机及接入接口上进行网络参数配置。
[0073] 具体的,虚拟机定位模块53采用以下方式查询边缘设备的内部接口学习到的MAC地址:向边缘设备发送用于查询站点内部接口学习到的MAC地址的查询请求,所述查询请求中携带所述虚拟机的VPN属性信息,所述VPN属性信息中包括所述虚拟机所属的VLAN;接收所述边缘设备返回的查询响应,获取其中携带的所述边缘设备的站点内部接口学习到的该VLAN内的MAC地址。
[0074] 具体的,虚拟机定位模块53通过以下方式查询边缘交换机的接口学习到的MAC地址:向边缘交换机发送用于查询该边缘交换机的接口学习到的MAC地址的查询请求,所述查询请求中携带所述虚拟机的VPN属性信息,所述VPN属性信息中包括所述虚拟机所属的VLAN;接收所述边缘交换机返回的查询响应,获取其中携带的所述边缘交换机的接口学习到的该VLAN内的MAC地址。
[0075] 具体的,信息维护模块51所维护的所述站点网络的VPN属性信息,具体包括:站点网络内配置的各VPN以及各自对应的VLAN。
[0076] 具体的,信息维护模块51所维护的所述边缘交换机的信息,具体包括:边缘交换机的MAC地址。
[0077] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0078] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。