WO2018040530A1 - 一种确定虚拟机迁移的方法和装置 - Google Patents

一种确定虚拟机迁移的方法和装置 Download PDF

Info

Publication number
WO2018040530A1
WO2018040530A1 PCT/CN2017/075619 CN2017075619W WO2018040530A1 WO 2018040530 A1 WO2018040530 A1 WO 2018040530A1 CN 2017075619 W CN2017075619 W CN 2017075619W WO 2018040530 A1 WO2018040530 A1 WO 2018040530A1
Authority
WO
WIPO (PCT)
Prior art keywords
arp
vtep
vtep device
address
migrated
Prior art date
Application number
PCT/CN2017/075619
Other languages
English (en)
French (fr)
Inventor
高远
孙兴国
梁文辉
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP22202725.2A priority Critical patent/EP4220395A1/en
Priority to EP21163688.1A priority patent/EP3913480B1/en
Priority to EP17844840.3A priority patent/EP3401783B1/en
Publication of WO2018040530A1 publication Critical patent/WO2018040530A1/zh
Priority to US16/135,996 priority patent/US10853127B2/en
Priority to US17/106,179 priority patent/US20210200578A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a method and device for determining a virtual machine (English: Virtual Machine, VM) migration.
  • VM Virtual Machine
  • each tenant needs to be assigned a logical network that can be well isolated from other logical networks.
  • the isolation of the logical network can be through a virtual extensible local area network (VXLAN).
  • VXLAN virtual extensible local area network
  • the VXLAN network is identified by a 24-bit VXLAN network identifier (VNI).
  • VXLAN is deployed in the Data Center (DC) network.
  • the VXLAN Tunnel Endpoint (VTEP) is responsible for the encapsulation and decapsulation of VXLAN packets.
  • VTEP communicates through the VXLAN tunnel.
  • the VM sends a gratuitous ARP packet to sense the migration of the virtual machine.
  • many vendors do not send gratuitous ARP packets after the VM is migrated, but send a reverse address resolution protocol. (English: Reverse Address Resolution Protocol, RARP) message.
  • the RARP packet carries only the media access control (MAC) address of the virtual machine.
  • MAC media access control
  • the migrated VTEP cannot confirm that the virtual machine is migrated according to the RARP packet.
  • the VTEP that the virtual machine migrates out cannot quickly sense that the accessed virtual machine migrates out, and the network cannot perform route convergence in time.
  • the embodiment of the present invention provides a method, a device, and a system for determining a virtual machine migration.
  • the device is not limited to the virtual machine sending a gratuitous ARP packet to sense VM migration, thereby effectively improving the virtual machine. Configuration compatibility. Further, the migrating device can quickly and accurately sense the migration of the virtual machine.
  • an embodiment of the present application provides a method for determining a virtual machine VM migration.
  • the first VTEP device acquires the MAC address of the VM from the first interface.
  • the first interface is connected to the access circuit AC, and the first interface may be, for example, an eth1 interface of the VTEP.
  • the first VTEP device searches for the ARP cache cache table saved by the first VTEP device by using the MAC address as a key. According to the result of the lookup table, it is determined that the VM is connected to the second VTEP device in the ARP Cache table.
  • the first VTEP device obtains an Internet Protocol (IP) address of the VM according to the ARP Cache table, and constructs an ARP unicast request message by using the IP address as the destination IP address.
  • IP Internet Protocol
  • the ARP unicast request packet is sent to the first interface.
  • Receiving, by the first VTEP device, the ARP sent by the VM from the first interface The ARP response packet of the request packet is sent to determine that the VM is migrated. That is, the VM is migrated from the other VTEP device to the first VTEP device.
  • the VM's migration device after the migration of the VM, only needs to obtain the MAC address of the VM, and the IP address of the VM can be obtained by searching the ARP Cache table, and further learning through ARP. To determine if the VM has migrated. After the VM is migrated, the device is not restricted to the virtual machine to send gratuitous ARP packets to the VM. This improves the compatibility of the VM configuration.
  • the method further includes: the first VTEP device generating, according to the ARP unicast request packet or the ARP response packet, The host route of the VM is described, and the host route of the VM is synchronized to other VTEP devices.
  • each VTEP device By synchronizing the host routes of the virtual machines connected to each other between the VTEP devices, each VTEP device obtains the host routes of all the VTEP devices accessing the virtual machine, which can speed up the convergence of the network routes.
  • the first VTEP device migrates according to the VM
  • the IP address of the VTEP that is accessed later is updated with the ARP Cache entry information corresponding to the VM, and the ARP Cache entry information is synchronized to other VTEP devices.
  • each VTEP device By synchronizing the ARP Cache table information between the VTEP devices, each VTEP device obtains the ARP Cache table information saved by all the VTEP devices, and obtains the routing information of the access VMs saved by all the VTEP devices. By looking up the ARP Cache table, you can quickly and accurately sense the migration of virtual machines.
  • the first VTEP device receives the reverse address resolution protocol sent by the VM according to the first interface
  • the RARP packet or the free ARP packet obtains the MAC address of the VM.
  • an embodiment of the present application provides a method for determining a virtual machine VM migration.
  • the second VTEP device receives the ARP Cache entry information corresponding to the VM that is sent by the first VTEP device.
  • the second VTEP device determines that the ARP Cache entry information records that the VM accesses the first VTEP device according to the received ARP Cache entry information.
  • the second VTEP device determines that the VM is the local host that accesses the second VTEP device in the ARP Cache table saved by the second VTEP device.
  • the second VTEP device receives the ARP Cache entry information sent by the first VTEP device, and records that the VM accesses the first VTEP device, but the record in the table saved by the second VTEP device itself is: the VM is accessing itself. Local device. Therefore, the second device obtains the IP address of the VM, and obtains the IP address through the ARP Cache table saved by the first VTEP device, and obtains the IP address by using the ARP Cache entry information sent by the first VTEP device. After acquiring the IP address of the VM, the second device constructs and sends an ARP unicast request packet by using the IP address as the destination IP address. If the second VTEP device does not receive the ARP response packet sent by the VM for the ARP unicast request packet, the VM is migrated by the second VTEP device, that is, by the second VTEP. The equipment moved out.
  • the VTEP device After the VTEP device receives the ARP Cache entry information sent by all the peer devices, the VTEP device triggers the VTEIP device to determine whether the virtual machine is migrated, so that the virtual machine migration can be quickly and accurately perceived.
  • the second VTEP device saves the ARP in the second VTEP device itself.
  • the ARP entry corresponding to the VM is deleted from the table.
  • the ARP entry corresponding to the first VM is deleted in the ARP table saved by the second VTEP device, without The aging time is reached after the aging time of the ARP entry is reached. Therefore, the occupation of the ARP table resource by the ARP entry information is saved.
  • the second VTEP device after the second VTEP device determines that the VM is migrated, the second VTEP device revocation points to the first
  • the host of the VM of the two VTEP devices routes and sends control information to other VTEP devices.
  • the control information is used to instruct the other VTEP device to revoke a host route directed to the VM of the second VTEP device.
  • the VTEP device confirms that the host device accessing the host device is migrated, the host route of the migrated virtual machine is revoked, and the host route of the vacated virtual machine is revoked to other VTEP devices, thereby accelerating route convergence. speed.
  • the second VTEP device determines that the VM is migrated, the second VTEP device utilizes the foregoing The ARP Cache entry sent by the VTEP device updates the ARP Cache entry corresponding to the VM in the ARP Cache table saved by the second VTEP device.
  • the VTEP device After the VTEP device obtains the synchronous ARP Cache table information sent by the peer VTEP device, the VTEP device updates the ARP Cache table information saved by the peer VTEP device, and updates the host route of the access VM saved by all the VTEP devices in real time. By looking up the ARP Cache table, you can quickly and accurately sense the migration of virtual machines and accelerate the convergence of routes.
  • the embodiment of the present application provides an apparatus for determining a virtual machine migration, which is used to perform the method in the first aspect or any possible implementation manner of the first aspect.
  • the apparatus comprises means for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • the embodiment of the present application provides an apparatus for determining a virtual machine migration, where the method in any of the possible implementations of the second aspect or the second aspect is performed.
  • the apparatus comprises means for performing the method of any of the second aspect or any of the possible implementations of the second aspect.
  • an embodiment of the present application provides a communication system, including the apparatus provided by the third aspect and the apparatus provided by the fourth aspect.
  • an embodiment of the present application provides an apparatus for determining a virtual machine migration, where the apparatus includes: an input interface, an output interface, a processor, and a memory. Wherein, the input interface, the output interface, the processor and the memory can be connected by a bus system.
  • the memory is for storing a program, instruction or code for executing a program, instruction or code in the memory to perform the method of the first aspect or any possible implementation of the first aspect.
  • an embodiment of the present application provides an apparatus for determining a virtual machine migration, where the apparatus includes: an input interface, an output interface, a processor, and a memory. Wherein, the input interface, the output interface, the processor and the memory can be connected by a bus system.
  • the memory is for storing a program, instruction or code for executing a program, instruction or code in the memory, and performing the method of any of the second aspect or any of the possible implementations of the second aspect.
  • an embodiment of the present application provides a communication system, including the apparatus provided in the sixth aspect and the apparatus provided in the seventh aspect.
  • the embodiment of the present application provides a computer readable storage medium for storing a computer program for performing the first aspect, the second aspect, any possible implementation of the first aspect, or the second An instruction of a method in any of the possible implementations.
  • FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application
  • FIG. 2 is a flowchart of a method for determining a virtual machine migration according to an embodiment of the present application
  • FIG. 3 is a flowchart of another method for determining virtual machine migration according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of an apparatus for determining a virtual machine migration according to an embodiment of the present disclosure
  • FIG. 5 is a schematic structural diagram of another apparatus for determining virtual machine migration according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of hardware of an apparatus for determining virtual machine migration according to an embodiment of the present disclosure
  • FIG. 7 is a schematic structural diagram of another hardware of an apparatus for determining virtual machine migration according to an embodiment of the present disclosure.
  • the embodiments of the present application refer to "first”, “second”, etc. ordinal numbers for distinguishing multiple objects, and are not used to define the order of multiple objects, unless stated to the contrary.
  • the application scenario of the embodiment of the present application is exemplarily described below with reference to FIG. 1 .
  • FIG. 1 exemplarily shows a VXLAN network 100 to which the embodiment of the present application is applied.
  • the network 100 includes core layer devices spine1 and spine2, and access layer devices leaf1, leaf2, and leaf3; wherein the core layer devices spine1 and spine2 are not aware
  • the VXLAN network service is only used to forward Internet Protocol IP packets.
  • the access layer devices leaf1, leaf2, and leaf3 are edge nodes of the VXLAN network 100 and are used to access the user's virtual machine.
  • VM1 and VM2 access the VXLAN network 100 through leaf1, and VM3 accesses the VXLAN network 100 through leaf3.
  • Leaf1, leaf2, and leaf3 are the VTEPs of the VXLAN network.
  • a VXLAN Layer 3 gateway is deployed on leaf1, leaf2, and leaf3.
  • a VXLAN tunnel is established between the three VXLAN Layer 3 gateways, and the host of the VM accessing the VXLAN network 100 is routed to other BGP neighbors through the Border Gateway Protocol (BGP) to implement cross-leaf.
  • BGP Border Gateway Protocol
  • three VXLAN Layer 3 gateways are deployed with an intermediate system to an intermediate system (ISIS) protocol, and are carried by a link state protocol data unit (LSP) packet.
  • the host that accesses the VM via the VM accessing the VXLAN network 100 is routed to other VXLAN Layer 3 gateway devices, thereby implementing mutual communication between VMs across the leaf nodes.
  • ISIS intermediate system
  • LSP link state protocol data unit
  • the IP address of VM1 is IP_1, the media access control (MAC) address is MAC_1, the IP address of VM2 is IP_2, the MAC address is MAC_2, the IP address of VM3 is IP_3, and the MAC address is MAC_3.
  • the IP address of the VTEP that leaf1 uses to access the host device is VTEP_1.
  • the IP address of the VTEP used by leaft2 to access the host device is VTEP_2.
  • the IP address of the VTEP used by leaf3 to access the host device is VTEP_3.
  • the host device may be a VM, may be a server, or may be a personal computer (English: Personal Computer, PC) or the like having its own IP address and MAC address.
  • FIG. 2 exemplarily shows a method 200 for determining virtual machine VM migration provided by an embodiment of the present application.
  • the method 200 can be applied to the VXLAN network 100 as shown in FIG. 1, but the embodiment of the present application is not limited thereto.
  • the first VTEP device acquires a first MAC address of the first VM from the first interface of the first VTEP device.
  • the first VTEP device can be configured to access the first VM to a VXLAN network.
  • the first VTEP device may be leaf3 as shown in FIG. 1.
  • the first VM may be VM1 shown in FIG. 1.
  • the first interface is connected to an access line (English: Attachment Circuit, AC).
  • the first interface may be the eth1 interface of leaf3. This embodiment of the present application does not specifically limit this.
  • the first VTEP device receives the gratuitous ARP packet sent by the first VM, where the gratuitous ARP packet carries the first MAC address of the first VM.
  • the first VTEP device acquires the first MAC address from the gratuitous ARP packet.
  • VM1 after VM1 is migrated from leaf1 to leaf3, VM1 sends a gratuitous ARP packet, which includes the MAC address of VM1.
  • Leaf3 receives the gratuitous ARP packet sent by VM1 from the eth1 interface, and obtains the MAC address of the VM1.
  • the first VTEP device receives an RARP packet sent by the first VM, where the RARP packet carries a first MAC address of the first VM.
  • the first VTEP device acquires the first MAC address from the RARP packet.
  • leaf3 receives the RARP packet sent by VM1 from the eth1 interface, and obtains the MAC address of the VM1.
  • the first VTEP device determines that the ARP Cache table saved by the first VTEP device records that the VM accesses the second VTEP device.
  • the first VTEP device performs the ARP Cache table search by using the first MAC address as a key in the ARP Cache table of the address resolution protocol cache that is saved in the first MAC address, and determines that the first VTEP device saves the ARP Cache table.
  • the ARP Cache table records the VM access to the second VTEP device.
  • the second VTEP device may specifically be leaf1 shown in FIG. 1.
  • the ARP Cache table includes: an IP address of a host device that accesses the VTEP device, a MAC address of the host device, a VXLAN Network Identifier (VNI) to which the host device belongs, and a VTEP to which the host device accesses. IP address.
  • the VTEP device synchronizes the entries of the ARP Cache table generated and saved by itself to other VTEP devices through the BGP protocol. On the VTEP device, by querying the ARP Cache table, you can know which VTEP the other hosts are distributed on, as well as the IP address and MAC address of the host.
  • the basic format of the ARP Cache table can be as shown in Table 1:
  • IP indicates the IP address of the host device accessed on the VTEP; the "MAC” field indicates the MAC address of the host device; the "VNI” field indicates the VXLAN network identifier to which the host device belongs; the "VTEP” field Indicates the IP address of the VTEP that the host device accesses.
  • Table 1 is further described below with reference to FIG. 1: Table 1 is specifically the ARP Cache table saved on leaf3. Among them, Table 1 contains the IP address, MAC address, VNI of VM1-VM3 and the IP address of the accessed VTEP. Leaf3 may determine that the VM3 is a local host accessing itself according to the IP address of the VTEP accessed by VM1, VM2, and VM3, and VM1 and VM2 are remote hosts accessing other VTEP devices.
  • the basic format of the ARP Cache table can also be as shown in Table 2:
  • Table 2 differs from Table 1 in that the ARP Cache table further includes a "FLAG" field.
  • the "FLAG” indicates identification information for identifying whether the host device is a local host or a remote host with respect to the local VTEP device, where "remote” is used to identify that the host device is a remote host relative to the local VTEP device. "local” is used to identify that the host device is a local host relative to the local VTEP device.
  • Table 2 is described in conjunction with FIG. 1: Table 2 is specifically an ARP Cache table saved on leaf3.
  • the leaf3 node finds the ARP Cache table corresponding to the VM3, and the FLAG is displayed as "local” in the ARP Cache entry corresponding to the VM3, and the FLAG is displayed as "remote” in the ARP Cache entry corresponding to the VM1 and VM2. It is determined that VM3 is the local host accessing leaf3 itself, and VM1 and VM2 are the remote hosts.
  • the leaf3 After the VM1 is migrated from the leaf1 to the leaf3, the leaf3 receives the gratuitous ARP packet or the RARP packet sent by the VM1 from the eth1 interface, and obtains the MAC address of the VM1.
  • the leaf 3 searches for the MAC address of the VM1 and searches for the ARP Cache table stored in the leaf3.
  • the ARP Cache table can be determined according to the VTEP or FLAG of the VM1 access record in the ARP Cache table.
  • the VM1 is recorded to access other VTEP devices, that is, non-local host devices.
  • the first VTEP device acquires a first IP address of the first VM.
  • leaf3 uses the first MAC address as a key to search for an ARP Cache table locally saved by leaf3, and hits an ARP Cache entry that holds the first MAC address, and then hits the ARP Cache from the hit.
  • the first IP address is obtained in the entry.
  • the first VTEP device generates and sends a first ARP unicast request message by using the first IP address as the destination IP address.
  • the first MAC address is obtained when the first VTEP device receives the gratuitous ARP packet or the RARP packet sent by the first VM from the first interface. However, by searching the ARP Cache table saved by the first VTEP device, it is found that the first VM is recorded as a remote host accessing other VTEP devices in the ARP Cache table. Therefore, the first device obtains the first IP address by using a lookup table, and generates and sends a first ARP unicast request message. The first ARP indifferent request message is sent to the first interface to detect whether the ARP response packet sent by the first VM can be received, so as to determine whether the first VM has moved in.
  • leaf3 determines that the VM1 is accessed from the eth1 interface, but finds that the VM1 is a remote host that accesses VTEP_1 in the ARP Cache table by looking up the ARP Cache table. Therefore, after obtaining the IP address of the VM1, the leaf 3 generates an ARP unicast request packet by using the IP address of the VM1 as the destination IP address, and sends the ARP unicast request packet to the eth1 interface to detect whether Received an ARP response packet from VM1. In this way, it is confirmed whether the VM1 is migrated, that is, whether it is a local device that accesses itself.
  • the first VTEP device receives the first ARP response packet sent by the first VM.
  • the leaf A sends the ARP unicast request packet, and the first ARP response packet sent by the VM1 to the first ARP unicast request packet is received in the specified time, indicating that the VM1 is migrated.
  • the first VTEP device determines that the first VM is migrated.
  • the VM's migration device after the migration of the VM, only needs to obtain the MAC address of the VM, and the IP address of the VM can be obtained by searching the ARP Cache table, and further learning through ARP. To determine if the VM has migrated. After the VM is migrated, the device is not restricted to the virtual machine to send gratuitous ARP packets to the VM. This improves the compatibility of the VM configuration.
  • the method 200 may further include: S207: the first VTEP device generates a host route of the first VM according to the ARP unicast request message or the ARP response packet, and routes the host Synchronize to other VTEP devices.
  • the first VTEP device generates a host route of the first VM by sending the first ARP unicast request message or the received first ARP response packet sent by the VM.
  • the first VTEP device sends the first ARP unicast request message from the first interface or receives the ARP response message from the first interface, the first VTEP The device translates the learned ARP entry into a host route to the first VM, and advertises the host route of the first VM to other VTEP devices through a routing protocol. Specifically, the first VTEP device obtains an IP address of the first VM and a corresponding physical interface by using the first ARP unicast request packet or the ARP response packet, thereby generating the physics included The routing entry of the interface information, that is, the host route of the first VM. When the device in the network wants to access the first VM, the host route of the first VM is found according to the longest match, and the traffic is sent to the first VTEP device.
  • the first VTEP device synchronizes the host route to other VTEP devices.
  • the first VTEP device may advertise the host route by using a BGP packet.
  • the first VTEP device may also advertise the host route by using an LSP packet.
  • the other VTEP device stores the BGP packet or the LSP packet sent by the first VTEP device, and stores the host route of the first VM carried in the packet locally, and identifies the host synchronized by the first VTEP device. routing.
  • each VTEP device By synchronizing the host routes of the virtual machines connected to each other between the VTEP devices, each VTEP device obtains the host routes of all the VTEP devices accessing the virtual machine, which can speed up the convergence of the network routes.
  • the method 200 may further include: S208: the first VTEP device updates the ARP cache table, and obtains an updated ARP Cache entry information corresponding to the first VM, and The updated ARP Cache entry information corresponding to the first VM is synchronized to other VTEP devices.
  • the ARP Cache table saved in the local area is updated, and the updated ARP Cache entry information of the VM1 is updated.
  • each VTEP device By synchronizing the ARP Cache table information between VTEP devices, each VTEP device obtains all the peer VTEP device protections.
  • the ARP Cache table information is stored, and the routing information of the access VMs saved by all the VTEP devices is obtained.
  • the ARP Cache table can be used to quickly and accurately sense the migration of the VMs.
  • S206-S208 The order of execution of S206-S208 is not limited in the embodiment of the present application. For example, S206 may be performed before S207 or after S207. Similarly, the order of S207 and S208 is not specifically limited.
  • FIG. 3 exemplarily shows a method 300 for determining virtual machine VM migration provided by an embodiment of the present application.
  • the method 300 can be applied to the VXLAN network 100 as shown in FIG. 1, but the embodiment of the present application is not limited thereto.
  • the second VTEP device receives the ARP Cache entry information corresponding to the first VM that is sent by the first VTEP device.
  • the second VTEP device can be used to access the virtual machine VM.
  • the second VTEP device may be leaf1 as shown in FIG. 1.
  • the first VM is VM1 shown in FIG. 1.
  • the first VTEP device is leaf3 shown in FIG. 1.
  • leaf3 senses the migration of VM1, updates the locally saved ARPCache table, and obtains the updated ARP Cache entry information corresponding to the first VM, and updates the updated
  • the ARP Cache entry information corresponding to the first VM is synchronized to other VTEP devices, for example, leaf1 and leaf2 shown in FIG.
  • the second VTEP device determines that the first VM accesses the first VTEP device in the ARP Cache entry information.
  • the second VTEP device determines an IP address of the VTEP that is accessed by the first VM from the ARP Cache entry information, and further determines that the first VM accesses the first VTEP.
  • leaf1 determines, from the ARP Cache entry information, that the IP address of the VTEP that the VM1 accesses is VTEP_3, and further determines that the VM1 access leaf3 is recorded in the ARP Cache entry information.
  • the second VTEP device determines that the first VM is the local host in the ARP Cache table saved by the second VTEP device.
  • the second VTEP device determines, according to the received ARP Cache entry information, that the first VM is a host that accesses the first VTEP device, and obtains the ARP Cache entry information according to the received information.
  • the first MAC address or the first IP address of the first VM is searched for the ARP Cache table saved by the second VTEP device by using the first MAC address or the first IP address as a key, and hits the ARP of the first VM.
  • Cache entry information from the ARP Cache entry information, determining the record in the ARP Cache table saved by the second VTEP device according to the IP address of the VTEP accessed by the first VM or the FLAG identifier information
  • a VM is a local host.
  • the second VTEP device acquires the first IP address of the first VM, and generates and sends a second ARP unicast request message by using the first IP address as the destination IP address.
  • the second VTEP device obtains the first IP address from the ARP Cache entry information of the first VM that is sent by the first VTEP device.
  • the second VTEP device may also obtain the first IP address from an ARP Cache table saved by the second VTEP device.
  • the second ARP unicast request packet is generated by using the first IP address as the destination IP address, and the second ARP unicast request packet is sent to the second ARP request packet.
  • Corresponding AC side interface to detect whether the second ARP response packet of the first VM response can be received.
  • the second VTEP device does not receive the second ARP response packet sent by the first VM within a predetermined time, and determines that the first VM is migrated.
  • the second VTEP device since the VM is migrated by the second VTEP device to the first VTEP device, the second VTEP device cannot receive the first VM response in a predetermined time. Two ARP response messages, Then determining that the first VM has moved out.
  • the VTEP device After the VTEP device receives the ARP Cache entry information sent by all the peer devices, the VTEP device triggers the VTEIP device to determine whether the virtual machine is migrated, so that the virtual machine migration can be quickly and accurately perceived.
  • the method 300 further includes: S306: the second VTEP device deletes an ARP entry corresponding to the first VM in an ARP table saved by the second VTEP device.
  • the ARP entry corresponding to the first VM is deleted in the ARP table saved by the second VTEP device, without The aging time is reached after the aging time of the ARP entry is reached. Therefore, the occupation of the ARP table resource by the ARP entry information is saved.
  • the method 300 further includes S307:
  • the second VTEP device revokes a host route directed to the first VM of the second VTEP device, and sends control information to the other VTEP device, the control information being used to indicate that the other VTEP device revokes the The host route of the first VM of the two VTEP devices.
  • control information is a BGP update message
  • the second VTEP device may send the BGP packet to another VTEP device, and carry the first VM.
  • Host address used to revoke the host route of the VM is a BGP update message
  • control information may also be a Path Computation Element Protocol (PCEP) message, which is defined by defining a new routing object and a new message type in the PCEP message.
  • PCEP Path Computation Element Protocol
  • the host route of the first VM is revoked.
  • the new routing object carries a host address of the first VM, and the new message type is used to indicate that the PCEP message is a host route for revoking the first VM.
  • control information enumerated above are merely exemplary and should not be construed as limiting the application. This application does not limit the specific protocol used to revoke the host route of the first VM.
  • the VTEP device confirms that the host device accessing the host device is migrated, the host route of the migrated virtual machine is revoked, and the host route of the vacated virtual machine is revoked to other VTEP devices, thereby accelerating route convergence. speed.
  • the method 300 may further include: S308: the second VTEP device updates the ARP Cache table saved by the second VTEP device by using the ARP Cache entry information sent by the first VTEP device.
  • leaf1 determines that VM1 is migrated out, the locally saved ARP Cache table is updated.
  • leaf1 After leaf1 determines that VM1 migrates to leaf3, it updates the locally saved ARP Cache table, as shown in Table 5:
  • the VTEP device After the VTEP device obtains the synchronous ARP Cache table information sent by the peer VTEP device, the VTEP device updates the ARP Cache table information saved by the peer VTEP device, and updates the host route of the access VM saved by all the VTEP devices in real time. By looking up the ARP Cache table, you can quickly and accurately sense the migration of virtual machines and accelerate the convergence of routes.
  • FIG. 4 is a schematic diagram of an apparatus 400 for determining virtual machine migration, in accordance with an embodiment of the present application.
  • the apparatus 400 can be any one of leaf1 to leaf3 in FIG. 1 and can be used to perform the method shown in FIG. 2.
  • the apparatus 400 includes a processing module 401, a transmitting module 402, and a receiving module 403.
  • the processing module 401 is configured to acquire a first media access control MAC address of the first VM from a first interface of the access circuit AC side of the first VTEP device.
  • the processing module 401 is further configured to: use the first MAC address as a key, search for an address resolution protocol cache ARP Cache table saved by the first VTEP device, and determine that the ARP Cache table records the first VM access Two VTEP devices.
  • the processing module is further configured to: obtain the first ARP unicast request packet by using the first IP address as the destination IP address, and the first IP address as the destination IP address.
  • the sending module 402 is configured to send the first ARP unicast request message.
  • the receiving module 403 is configured to receive, by the first interface, a first ARP response packet sent by the first VM for the first ARP unicast request message.
  • the processing module 401 is further configured to determine that the first VM is migrated in response to receiving the first ARP response packet.
  • the VM's migration device only needs to obtain the VM's MAC address to determine that the VM has migrated. After the VM is migrated, the device is not restricted to the virtual machine to send gratuitous ARP packets to the VM. This improves the compatibility of the VM configuration.
  • the processing module 401 is further configured to generate, according to the first ARP unicast request packet or the first ARP response packet, a host route of the first VM, and the first The host route of the VM is synchronized to other VTEP devices.
  • each VTEP device By synchronizing the host routes of the virtual machines connected to each other between the VTEP devices, each VTEP device obtains the host routes of all the VTEP devices accessing the virtual machine, which can speed up the convergence of the network routes.
  • the processing module 401 is further configured to: after determining that the first VM is migrated, update an ARP Cache corresponding to the first VM according to an IP address of the VTEP that is accessed after the first VM is migrated.
  • the item information is synchronized to the other VTEP devices.
  • each VTEP device By synchronizing the ARP Cache table information between the VTEP devices, each VTEP device obtains the ARP Cache table information saved by all the VTEP devices, and obtains the routing information of the access VMs saved by all the VTEP devices. By looking up the ARP Cache table, you can quickly and accurately sense the migration of virtual machines.
  • the processing module is configured to obtain, according to the reverse address resolution protocol RARP packet or the gratuitous ARP packet sent by the first VM, received by the first interface, to acquire the first VM.
  • the first MAC address is configured to obtain, according to the reverse address resolution protocol RARP packet or the gratuitous ARP packet sent by the first VM, received by the first interface.
  • the modules in the device 400 and the other operations and/or functions described above are respectively implemented in order to implement the corresponding processes of the method 200 in FIG. 2, and are not described herein again for brevity.
  • FIG. 5 is a schematic diagram of an apparatus 500 for determining virtual machine migration in accordance with an embodiment of the present application.
  • the apparatus 500 can be used to perform the method illustrated in FIG.
  • the apparatus 500 includes a receiving module 501, a processing module 502, and a sending module 503.
  • the receiving module 501 is configured to receive, by the first VTEP device, an address resolution protocol corresponding to the first VM. Store ARP Cache entry information.
  • the processing module 502 is configured to determine that the ARP Cache entry information records that the first VM accesses the first VTEP device, and determines that the first VM is recorded in an ARP Cache table saved by the second VTEP device. To access the local host of the second VTEP device.
  • the processing module 502 is further configured to obtain a first IP address of the first VM, and generate a second ARP unicast request message by using the first IP address as the destination IP address.
  • the sending module 503 is configured to send the second ARP unicast request message.
  • the processing module 502 is further configured to determine, when the receiving module 501 does not receive the second ARP response packet for the second ARP unicast request message sent by the first VM, within a predetermined time. The first VM is migrated.
  • the VTEP device after receiving the ARP Cache entry information sent by all the peer devices, the VTEP device triggers the VTEIP device to determine whether the virtual machine is migrated, so that the virtual machine migration can be quickly and accurately perceived.
  • the processing module 502 is further configured to: after determining that the first VM is migrated, deleting an ARP entry corresponding to the first VM in an ARP table saved by the second VTEP device.
  • the ARP table corresponding to the first VM is deleted in the ARP table saved by the second VTEP device. You do not have to wait until the aging time of the ARP entry arrives before aging. Therefore, the occupation of the ARP table resource by the ARP entry information is saved.
  • the processing module 502 is further configured to: after determining that the first VM is migrated, revoke a host route to the first VM of the second VTEP device, and send control information to other VTEP devices.
  • the control information is used to instruct the other VTEP device to revoke a host route directed to the first VM of the second VTEP device.
  • the sending module 503 is further configured to send the control information to the other VTEP device.
  • the VTEP device confirms that the host device accessing the host device is migrated, the host route of the migrated virtual machine is revoked, and the host route of the vacated virtual machine is revoked to other VTEP devices, thereby accelerating route convergence. speed.
  • the processing module 502 is further configured to: after determining that the first VM is migrated, update the ARP saved by the second VTEP device by using the ARP Cache entry information sent by the first VTEP device. An ARP Cache entry corresponding to the first VM in the Cache table.
  • the VTEP device After the VTEP device obtains the synchronous ARP Cache table information sent by the peer VTEP device, the VTEP device updates the ARP Cache table information saved by the peer VTEP device, and updates the host route of the access VM saved by all the VTEP devices in real time. By looking up the ARP Cache table, you can quickly and accurately sense the migration of virtual machines and accelerate the convergence of routes.
  • the modules in the device 500 and the other operations and/or functions described above are respectively implemented in order to implement the corresponding processes of the method 300 in FIG. 3, and are not described herein again for brevity.
  • the device 400 and the device 500 provided in the foregoing embodiments of the present application are only illustrated by the division of the above functional modules. In actual applications, the function distribution may be completed by different functional modules according to requirements, that is, the internal structure of the device. Divided into different functional modules to perform all or part of the functions described above.
  • FIG. 6 is another schematic diagram of an apparatus 600 for determining virtual machine migration in accordance with an embodiment of the present application.
  • the apparatus 600 can be used to perform the method 200 of FIG.
  • the apparatus 600 includes an input interface 601, an output interface 602, a processor 603, and a memory 604.
  • the input interface 601, output interface 602, processor 603, and memory 604 can be coupled by a bus system 605.
  • the memory 604 is used to store programs, instructions or code.
  • the processor 604 is configured to execute a program, an instruction or a code in the memory 604 to control the input interface 601 to receive a signal, control the output interface 602 to send a signal, and complete the operations in S201-S208.
  • FIG. 7 is another schematic diagram of an apparatus 700 for determining virtual machine migration in accordance with an embodiment of the present application.
  • the network device 700 can be used to perform the method 300 of FIG.
  • the network device 700 includes an input interface 701, an output interface 702, a processor 703, and a memory 704.
  • the input interface 701, the output interface 702, the processor 703, and the memory 704 can be connected by a bus system 705.
  • the memory 704 is configured to store programs, instructions or code.
  • the processor 704 is configured to execute a program, an instruction or a code in the memory 704 to control the input interface 701 to receive a signal, control the output interface 702 to send a signal, and complete the operations in S301-S308.
  • the processor 603 and the processor 703 may be a central processing unit ("CPU"), and may be other general-purpose processors and digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 604 and memory 704 can include read only memory and random access memory and provide instructions and data to the processor 603 and the processor 703, respectively.
  • Memory 604 or a portion of memory 704 may also include non-volatile random access memory.
  • the memory 604 or the memory 704 can also store information of the device type.
  • the bus system 605 and the bus system 705 may include, in addition to the data bus, a power bus, a control bus, a status signal bus, and the like. However, for the sake of clarity, the various buses are labeled as bus systems in the figure.
  • the steps of method 200 and method 300 may be performed by integrated logic circuits of hardware in processor 603 and processor 703, or instructions in software form, respectively.
  • the steps of the positioning method disclosed in the embodiments of the present application may be directly implemented by the hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 604 and the memory 704, respectively.
  • the processor 603 reads the information in the memory 604.
  • the processor 703 reads the information in the memory 704 and completes the steps of the method 200 and the method 300 in combination with the hardware thereof. To avoid repetition, it will not be described in detail here.
  • the apparatus provided in FIG. 4 and FIG. 6 and the apparatus provided in FIG. 5 and FIG. 7 are applied to the network 100 shown in FIG. 1 to implement a method for determining virtual machine migration.
  • the processing module 401 in FIG. 4 can be implemented by the processor 603 of FIG. 6, the sending module 402 can be implemented by the output interface 602 of FIG. 6, and the receiving module 403 can be implemented by the input interface 601 of FIG. .
  • the processing module 502 in FIG. 5 is implemented by the processor 703 of FIG. 7, the transmitting module 503 can be implemented by the output interface 702 of FIG. 7, and the receiving module 501 can be implemented by the input interface 701 of FIG.
  • the present application also provides a communication system including the apparatus provided by the embodiment corresponding to FIG. 4 and the apparatus provided by the embodiment corresponding to FIG. 5.
  • the communication system is for performing the method 200 of the embodiment corresponding to FIG. 2 and the method 300 of the embodiment corresponding to FIG.
  • the present application also provides a communication system including the apparatus provided by the embodiment corresponding to FIG. 5 and the apparatus provided by the embodiment corresponding to FIG. 7.
  • the communication system is for performing the method 200 of the embodiment corresponding to FIG. 2 and the method 300 of the embodiment corresponding to FIG.
  • the size of the sequence number of each process does not mean the order of execution sequence, and the order of execution of each process should be determined by its function and internal logic, and should not be taken by the embodiment of the present application.
  • the implementation process constitutes any qualification.
  • modules and method steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. These functions are Hardware or software implementation depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present application.
  • the functions described herein can be implemented in hardware, software, or any combination thereof.
  • the functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供了一种确定虚拟机VM迁移的方法和装置。该方法包括:VM发生迁移后,向迁入的VTEP设备发送免费ARP报文或RARP报文。该VTEP设备获取该VM的MAC地址,根据该MAC地址进行ARP Cache表查找,获取该VM的IP地址。以该IP地址为目的IP地址构造ARP单播请求报文,如果VTEP设备接收到该VM发送的针对该ARP单播请求报文的ARP响应报文,则确定该VM发生迁移。根据本申请实施例提供的方法,当VM发生迁移后,VM的迁入设备仅需获取VM的MAC地址,即可确定VM发生迁移。迁入设备不必受限于虚拟机发送免费ARP报文来感知VM迁入,有效提高了对虚拟机配置的兼容性。

Description

一种确定虚拟机迁移的方法和装置
本申请要求于2016年08月30日提交中国专利局、申请号为201610777000.1、发明名称为“一种确定虚拟机迁移的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种确定虚拟机(英文:Virtual Machine,VM)迁移的方法及其装置。
背景技术
在云计算的多租户环境中,每个租户都需要分配一个能够与其它逻辑网络进行很好隔离的逻辑网络,逻辑网络的隔离可以通过虚拟可扩展局域网(英文:Virtual Extensible Local Area Network,VXLAN)技术来实现。VXLAN网络通过24bit的VXLAN网络标识(VXLAN network identifier,VNI)来标识。
一般情况下,VXLAN会在数据中心(英文:Data Center,DC)网络中部署,VXLAN隧道端点(英文:VXLAN Tunnel Endpoint,VTEP)负责VXLAN报文的封装和解封装。VTEP之间通过VXLAN隧道通信。
随着DC的服务器虚拟化技术的大量使用,DC中经常会进行虚拟机(英文:Virtual Machine,VM)迁移。现有技术中,当虚拟机从第一VTEP迁移到第二VTEP下时,VM向所述第二VTEP发送免费地址解析协议(英文:Address Resolution Protocol,ARP)报文。第二VTEP通过免费ARP学习所述VM的主机路由,并将学习到的所述VM的主机路由与之前从第一VTEP获取的以太网虚拟私有网络(英文:Ethernet Virtual Private Network,EVPN)集成路由和桥接(英文:Integrated Rout ing and Bridging,IRB)路由比较,以确定所述VM是否发生迁移。
由上可知,现有技术中,依赖于VM发送免费ARP报文来感知虚拟机发生迁移,但是目前,很多厂商的VM迁移后不会发送免费ARP报文,而是发送比如反向地址解析协议(英文:Reverse Address Resolution Protocol,RARP)报文。RARP报文只携带所述虚拟机的媒体接入控制(英文:Media Access Control,MAC)地址,现有技术中,迁入的VTEP无法根据RARP报文确认虚拟机发生迁移。
进一步的,现有技术中,虚拟机迁出的VTEP也无法快速感知到接入的虚拟机迁出,从而导致网络无法及时的进行路由收敛。
发明内容
本申请实施例提供了一种确定虚拟机迁移的方法、装置和系统,使得VM迁移后,迁入设备不必受限于虚拟机发送免费ARP报文来感知VM迁入,有效提高了对虚拟机配置的兼容性。进一步的,迁出设备能够快速,准确的感知到虚拟机发生迁移。
第一方面,本申请实施例提供了一种确定虚拟机VM迁移的方法。首先,第一VTEP设备从第一接口获取该VM的MAC地址。其中,该第一接口与接入电路AC连接,该第一接口例如可以是VTEP的eth1接口。该第一VTEP设备以该MAC地址为关键字,查找该第一VTEP设备保存的ARP缓存Cache表。根据查表的结果,确定该ARP Cache表中记录该VM接入第二VTEP设备。该第一VTEP设备根据该ARP Cache表获取该VM的互联网协议(英文:Internet Protocol,IP)地址,并以该IP地址为目的IP地址构造ARP单播请求报文。将该ARP单播请求报文发送到上述的第一接口。如果该第一VTEP设备从该第一接口接收到所述VM发送的针对该ARP单 播请求报文的ARP响应报文,则确定所述VM发生迁移。即VM由其他的VTEP设备迁移至第一VTEP设备。
由此可见,根据本申请实施例提供的方法,当VM发生迁移后,VM的迁入设备仅需获取VM的MAC地址,即可通过查找ARP Cache表获取该VM的IP地址,进一步通过ARP学习,来确定VM是否发生迁移。使得VM迁移后,迁入设备不必受限于虚拟机发送免费ARP报文来感知VM迁入,有效提高了对虚拟机配置的兼容性。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:所述第一VTEP设备根据所述ARP单播请求报文或所述ARP响应报文,生成所述VM的主机路由,并将所述VM的主机路由同步给其它VTEP设备。
通过在VTEP设备间同步各自接入的虚拟机的主机路由,从而各VTEP设备获取所有对端VTEP设备接入虚拟机的主机路由,能够加快网络路由收敛的速度。
结合第一方面以及上述可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一VTEP设备确定所述VM发生迁移后,所述第一VTEP设备根据所述VM迁移后接入的VTEP的IP地址更新与所述VM对应的ARP Cache表项信息,并将所述ARP Cache表项信息同步给其它VTEP设备。
通过在VTEP设备间同步ARP Cache表信息,从而各VTEP设备获取所有对端VTEP设备保存的ARP Cache表信息,进而获取所有对端VTEP设备保存的接入虚拟机的路由信息,在虚拟机发生迁移时,通过查找ARP Cache表,能够快速,准确的感知虚拟机的迁移。
结合第一方面以及上述可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一VTEP设备根据所述第一接口接收到的所述VM发送的反向地址解析协议RARP报文或免费ARP报文,获取所述VM的MAC地址。
第二方面,本申请实施例提供了一种确定虚拟机VM迁移的方法。首先,第二VTEP设备接收第一VTEP设备发送的与所述VM对应的ARP Cache表项信息。根据接收到的该ARP Cache表项信息,该第二VTEP设备确定该ARP Cache表项信息记录该VM接入该第一VTEP设备。该第二VTEP设备确定第二VTEP设备保存的ARP Cache表中记录所述VM为接入该第二VTEP设备的本地主机。即第二VTEP设备接收到第一VTEP设备发送的ARP Cache表项信息中记录该VM接入该第一VTEP设备,然而第二VTEP设备自身保存的表中的记录为:该VM是接入自身的本地设备。由此,第二设备获取所述VM的IP地址,可以通过自身保存的ARP Cache表获取该IP地址,也可以通过第一VTEP设备发送的ARP Cache表项信息获取该IP地址。第二设备获取所述VM的IP地址以后,以该IP地址为目的IP地址,构造并发送ARP单播请求报文。如果所述第二VTEP设备在预定时间内未接收到所述VM发送的、针对该ARP单播请求报文的ARP响应报文,则该第二VTEP设备该VM发生迁移,即由第二VTEP设备迁出。
通过本实施例提供的方法,VTEP设备在接收到所有对端设备发送的ARP Cache表项信息后,触发VTEIP设备确定虚拟机是否发生迁移,从而能够快速,准确的感知虚拟机迁移。
结合第二方面,在第二方面第一种可能的实现方式中,在所述第二VTEP设备确定所述VM发生迁移后,所述第二VTEP设备在所述第二VTEP设备自身保存的ARP表中删除与所述VM对应的ARP表项。
当第二VTEP设备在预定时间内,未接收到所述第二ARP响应报文,则在该第二VTEP设备自身保存的ARP表中删除与所述第一VM对应的ARP表项,而不必等到所述ARP表项老化时间到达后再进行老化。由此节省所述ARP表项信息对所述ARP表资源的占用。
结合第二方面以及上述可能的实现方式,在第二方面第二种可能的实现方式中,在所述第二VTEP设备确定所述VM发生迁移后,所述第二VTEP设备撤销指向所述第二VTEP设备的所述VM的主机路由,并向其他VTEP设备发送控制信息。所述控制信息用于指示所述其他VTEP设备撤销指向所述第二VTEP设备的所述VM的的主机路由。
由此,当VTEP设备确认接入自身的主机设备发生迁移时,通过撤销迁出的虚拟机的主机路由,同时发送撤销该迁出的虚拟机的主机路由至其他VTEP设备,从而加快路由收敛的速度。
结合第二方面以及上述可能的实现方式,在在第二方面第三种可能的实现方式中,在所述第二VTEP设备确定所述VM发生迁移后,所述第二VTEP设备利用所述第一VTEP设备发送的所述ARP Cache表项信息更新所述第二VTEP设备保存的ARP Cache表中与所述VM对应的ARP Cache表项。
VTEP设备根据获取到对端VTEP设备发送的同步ARP Cache表信息后,更新自身保存的ARP Cache表信息,并且实时更新所有对端VTEP设备保存的接入虚拟机的主机路由,在虚拟机发生迁移时,通过查找ARP Cache表,能够快速,准确的感知虚拟机的迁移,加速路由的收敛。
第三方面,本申请实施例提供了一种确定虚拟机迁移的装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第四方面,本申请实施例提供了一种确定虚拟机迁移的装置,用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第五方面,本申请实施例提供了一种通信系统,包括第三方面提供的装置和第四方面提供的装置。
第六方面,本申请实施例提供了一种确定虚拟机迁移的装置,所述装置包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面的任意可能的实现方式中的方法。
第七方面,本申请实施例提供了一种确定虚拟机迁移的装置,所述装置包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面或第二方面的任意可能的实现方式中的方法。
第八方面,本申请实施例提供了一种通信系统,包括第六方面提供的装置和第七方面提供的装置。
第九方面,本申请提实施例供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行第一方面、第二方面、第一方面任意可能的实现方式或第二方面任意可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作 简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例涉及一种应用场景示意图;
图2为本申请实施例所涉及的一种确定虚拟机迁移的方法流程图;
图3为本发明实施例所涉及的另一种确定虚拟机迁移的方法流程图
图4为本申请实施例提供的一种确定虚拟机迁移的装置的结构示意图;
图5为本申请实施例提供的另一种确定虚拟机迁移的装置的结构示意图;
图6为本申请实施例提供的一种确定虚拟机迁移的装置的硬件结构示意图;
图7为本申请实施例提供的另一种确定虚拟机迁移的装置的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本申请保护的范围。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定。本领域普通技术人可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适应。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。下面结合图1对本申请实施例的应用场景进行示例性的说明。
图1示例性的示出了本申请实施例应用的VXLAN网络100.该网络100包括核心层设备spine1和spine2,以及接入层设备leaf1、leaf2和leaf3;其中,核心层设备spine1和spine2不感知VXLAN网络业务,仅用于转发互联网协议IP报文。接入层设备leaf1、leaf2和leaf3为VXLAN网络100的边缘节点,用于接入用户的虚拟机。由图1可知,VM1和VM2通过leaf1接入VXLAN网络100,VM3通过leaf3接入VXLAN网络100。leaf1、leaf2和leaf3作为VXLAN网络的VTEP。在leaf1、leaf2和leaf3上分别部署VXLAN三层网关。三个VXLAN三层网关两两之间建立VXLAN隧道,并通过边界网关协议(英文:Border Gateway Protocol,BGP)发布通过自身接入VXLAN网络100的VM的主机路由给其它BGP邻居,从而实现跨leaf节点的VM之间的相互通信。可选的,三个VXLAN三层网关都部署中间系统到中间系统(英文:Intermediate System to Intermediate System,ISIS)协议,通过链路状态协议数据模块(link state protocol data unit,LSP)报文携带接入经由自身接入VXLAN网络100的VM的主机路由给其它VXLAN三层网关设备,从而实现跨leaf节点的VM之间的相互通信
图1中,VM1的IP地址为IP_1,媒体接入控制(英文:Media Access Control,MAC)地址为MAC_1;VM2的IP地址为IP_2,MAC地址为MAC_2;VM3的IP地址为IP_3,MAC地址为MAC_3。leaf1用于接入主机设备的VTEP的IP地址为VTEP_1。leaft2的用于接入主机设备的VTEP的IP地址为VTEP_2。leaf3的用于接入主机设备的VTEP的IP地址为VTEP_3。所述主机设备可以是VM,可以是服务器,也可以是一台个人计算机(英文:Personal Computer,PC)等有自身的IP地址和MAC地址的设备。
图2示例性的示出了本申请实施例提供的一种确定虚拟机VM迁移的方法200。该方法200可以应用于如图1所示的VXLAN网络100,但本申请实施例不限于此。
S201、第一VTEP设备从该第一VTEP设备的第一接口获取第一VM的第一MAC地址。
所述第一VTEP设备,可以用于将所述第一VM接入VXLAN网络。示例地,所述第一VTEP设备,可以为图1所示的leaf3。所述第一VM可以为图1所示的VM1。该第一接口与接入线路(英文:Attachment Circuit,AC)连接。例如,该第一接口可以为leaf3的eth1接口。本申请实施例对此不作具体限定。
在一个具体的实施方式中,所述第一VTEP设备接收所述第一VM发送的免费ARP报文,所述免费ARP报文中携带有所述第一VM的第一MAC地址。所述第一VTEP设备从所述免费ARP报文获取所述第一MAC地址。具体地,当VM1由leaf1迁移到leaf3后,VM1发送免费ARP报文,该免费ARP报文包括VM1的MAC地址。leaf3从eth1接口接收到VM1发送的免费ARP报文,获取所述VM1的MAC地址。
在另一个具体的实施方式中,所述第一VTEP设备接收所述第一VM发送的RARP报文,所述RARP报文中携带有所述第一VM的第一MAC地址。所述第一VTEP设备从所述RARP报文获取所述第一MAC地址。具体地,当VM1从leaf1迁移到leaf3后,VM1发送RARP报文,leaf3从eth1接口接收到VM1发送的RARP报文,获取所述VM1的MAC地址。
S202、第一VTEP设备确定该第一VTEP设备保存的ARP Cache表记录所述VM接入第二VTEP设备。
具体的,所述第一VTEP设备根据所述第一MAC地址,在自身保存的地址解析协议缓存ARP Cache表中,以所述第一MAC地址为关键字,进行ARP Cache表查找,确定自身保存的ARP Cache表记录所述VM接入第二VTEP设备。
所述第二VTEP设备具体可以是图1所示的leaf1。
所述ARP Cache表包括:接入VTEP设备的主机设备的IP地址、该主机设备的MAC地址、该主机设备所属的VXLAN网络标识(英文:VXLAN Network Identifier,VNI)以及该主机设备接入的VTEP的IP地址。VTEP设备通过BGP协议,将自身生成并保存的ARP Cache表的表项信息同步给其它VTEP设备。在VTEP设备上,通过查询ARP Cache表,可以知道其它主机分布在哪个VTEP上以及该主机的IP地址,MAC地址等信息。
所述ARP Cache表的基本格式,可以如表1所示:
IP MAC VNI VTEP
IP_1 MAC_1 1000 VTEP_1
IP_2 MAC_2 1000 VTEP_1
IP_3 MAC_3 1000 VTEP_3
表1
其中,“IP”字段表示VTEP上接入的主机设备的IP地址;“MAC”字段表示所述主机设备的MAC地址;“VNI”字段表示所述主机设备所属的VXLAN网络标识;“VTEP”字段表示所述主机设备接入的VTEP的IP地址。
下面结合图1对表1做进一步说明:表1具体为leaf3上保存的ARP Cache表。其中,表1中包含了VM1-VM3的IP地址、MAC地址、VNI以及接入的VTEP的IP地址。leaf3可以根据VM1、VM2和VM3接入的所述VTEP的IP地址,确定所述VM3为接入自身的本地主机,而VM1和VM2为接入其它VTEP设备的远端主机。
所述ARP Cache表的基本格式,也可以如表2所示:
IP MAC VNI VTEP FLAG
IP_1 MAC_1 1000 VTEP_1 remote
IP_2 MAC_2 1000 VTEP_1 remote
IP_3 MAC_3 1000 VTEP_3 local
表2
表2和表1共同的字段说明参见对于表1的说明,此处不再赘述。表2与表1的区别在于所述ARP Cache表中还包括“FLAG”字段。在表2中,所述“FLAG”表示标识信息,用于标识主机设备相对于本地VTEP设备是本地主机还是远端主机,其中“remote”用于标识主机设备相对于本地VTEP设备是远端主机,“local”用于标识主机设备相对于本地VTEP设备是本地主机。
结合图1对表2进行说明:表2具体为leaf3上保存的ARP Cache表。leaf3节点通过查找该ARP Cache表确定VM3对应的ARP Cache表项中,“FLAG”显示为“local”,而VM1和VM2对应的ARP Cache表项中,“FLAG”显示为“remote”,由此确定VM3为接入leaf3自身的本地主机,而VM1和VM2则为远端主机。
当VM1由leaf1迁移至leaf3以后,leaf3从所述eth1接口接收到VM1发送的免费ARP报文或RARP报文,获取所述VM1的MAC地址。leaf3以所述VM1的MAC地址为关键字,在leaf3保存的ARP Cache表中进行查找,根据所述ARP Cache表中记录的VM1接入的“VTEP”或“FLAG”,可以确定该ARP Cache表中记录VM1接入其它的VTEP设备,即非本地主机设备。
本领域技术人员可以理解,表1和表2仅用于对ARP Cache表的形式进行示例性的说明,本申请实施例对此不作具体限定。
下文中,本申请实施例中各VTEP设备保存的ARP Cache表均以表2的形式为例进行说明。
S203、所述第一VTEP设备获取所述第一VM的第一IP地址。
具体的,S202后,leaf3以所述第一MAC地址为关键字,查找leaf3本地保存的ARP Cache表,命中保存有所述第一MAC地址的ARP Cache表项,进而从命中的所述ARP Cache表项中获取所述第一IP地址。
S204、所述第一VTEP设备以所述第一IP地址为目的IP地址,生成并发送第一ARP单播请求报文。
当第一VTEP设备从所述第一接口接收到所述第一VM发送的免费ARP报文或RARP报文,获得所述第一MAC地址。但是通过查找第一VTEP设备保存的ARP Cache表发现在ARP Cache表中记录所述第一VM为接入其它VTEP设备的远端主机。由此,第一设备通过查表获取所述第一IP地址,生成并发送第一ARP单播请求报文。将该第一ARP淡泊请求报文发送至所述第一接口,以探测是否能够收到第一VM发送的ARP响应报文,以此来确定所述第一VM是否已经迁入。
具体地,在S201中,leaf3确定所述VM1从eth1接口接入,但是通过查找ARP Cache表发现在ARP Cache表中记录所述VM1为接入VTEP_1的远端主机。因此,leaf3在获取所述VM1的IP地址以后,以所述VM1的IP地址为目的IP地址生成ARP单播请求报文,并将该ARP单播请求报文发送到eth1接口上,探测是否能够收到VM1回应的ARP响应报文。以此确认所述VM1是否发生迁移,即是否是接入自身的本地设备。
S205、所述第一VTEP设备收到所述第一VM发送的第一ARP响应报文。
具体的,leaf3发送所述ARP单播请求报文,在指定时间内收到所述VM1发送的针对所述第一ARP单播请求报文的第一ARP响应报文,则表示所述VM1迁入。
S206、所述第一VTEP设备确定所述第一VM发生迁移。
由此可见,根据本申请实施例提供的方法,当VM发生迁移后,VM的迁入设备仅需获取VM的MAC地址,即可通过查找ARP Cache表获取该VM的IP地址,进一步通过ARP学习,来确定VM是否发生迁移。使得VM迁移后,迁入设备不必受限于虚拟机发送免费ARP报文来感知VM迁入,有效提高了对虚拟机配置的兼容性。
可选的,所述方法200还可以包括S207:第一VTEP设备根据所述ARP单播请求报文或所述ARP响应报文,生成所述第一VM的主机路由,并将所述主机路由同步给其它VTEP设备。
所述第一VTEP设备通过发送所述第一ARP单播请求报文或者通过接收到的所述VM发送的所述第一ARP响应报文,生成所述第一VM的主机路由。
在一个具体的实施方式中,所述第一VTEP设备从所述第一接口发送所述第一ARP单播请求报文或从所述第一接口接收到所述ARP响应报文,第一VTEP设备将学习到的ARP表项转化为一条指向所述第一VM的主机路由,并通过路由协议将该第一VM的主机路由发布给其它的VTEP设备。具体的,所述第一VTEP设备通过所述第一ARP单播请求报文或所述ARP响应报文,获取所述第一VM的IP地址以及对应的物理接口,由此生成包含所述物理接口信息的路由表项,即所述第一VM的主机路由。当网络中设备想要访问该第一VM时,会根据最长匹配查找到该第一VM的主机路由,将流量发送到该第一VTEP设备。
所述第一VTEP设备将所述主机路由同步给其它的VTEP设备。可选的,所述第一VTEP设备可以通过BGP报文发布所述主机路由。可选的,所述第一VTEP设备也可以通过LSP报文发布所述主机路由。其他的VTEP设备接收到该第一VTEP设备发送的BGP报文或LSP报文时,将报文中携带的第一VM的主机路由在本地存储,并标识是由该第一VTEP设备同步的主机路由。
通过在VTEP设备间同步各自接入的虚拟机的主机路由,从而各VTEP设备获取所有对端VTEP设备接入虚拟机的主机路由,能够加快网络路由收敛的速度。
可选的,在S206以后,所述方法200还可以包括S208:所述第一VTEP设备更新所述ARPCache表,得到更新后的与所述第一VM对应的ARP Cache表项信息,并将所述更新后的与所述第一VM对应的ARP Cache表项信息同步给其它VTEP设备。
在一个具体的实施方式中,结合图1:leaf3确定所述VM1为本地主机后,更新本地保存的所述ARP Cache表,将与VM1的对应的ARP Cache表项信息进行更新,得到更新后的与所述VM对应的ARP Cache表项信息,并将所述更新后的与所述VM对应的ARP Cache表项信息同步给其它VTEP设备。
VM1迁入之前,leaf3上本地保存的ARP Cache表为表2时,确定VM1迁入后,leaf3将所述ARP Cache表更新,如表3所示:
IP MAC VNI VTEP FLAG
IP_1 MAC_1 1000 VTEP_3 local
IP_2 MAC_2 1000 VTEP_1 remote
IP_3 MAC_3 1000 VTEP_3 local
表3
通过在VTEP设备间同步ARP Cache表信息,从而各VTEP设备获取所有对端VTEP设备保 存的ARP Cache表信息,进而获取所有对端VTEP设备保存的接入虚拟机的路由信息,在虚拟机发生迁移时,通过查找ARP Cache表,能够快速,准确的感知虚拟机的迁移。
本申请实施例对于S206-S208的执行顺序不作限定。例如:S206可以先于S207执行,也可以后于S207执行。同理,对于S207和S208的顺序也不作具体限定。
图3示例性的示出了本申请实施例提供的一种确定虚拟机VM迁移的方法300。该方法300可以应用于如图1所示的VXLAN网络100,但本申请实施例不限于此。
S301、第二VTEP设备接收第一VTEP设备发送的与所述第一VM对应的ARP Cache表项信息。
所述第二VTEP设备,可以用于接入虚拟机VM。在一个具体的实施方式中,所述第二VTEP设备,可以为图1所示的leaf1。所述第一VM为图1所示的VM1。所述第一VTEP设备为图1所示的leaf3。VM1从leaf1迁移到leaf3后,leaf3感知到VM1的迁移以后,更新本地保存的ARPCache表,得到更新后的与所述第一VM对应的ARP Cache表项信息,并将所述更新后的与所述第一VM对应的ARP Cache表项信息同步给其它VTEP设备,例如,图1所示的leaf1和leaf2。
ARP Cache表的相关说明参见方法200中的描述,此处不再赘述。
S302、第二VTEP设备确定所述ARP Cache表项信息中记录所述第一VM接入所述第一VTEP设备。
第二VTEP设备从所述ARP Cache表项信息中确定所述第一VM接入的VTEP的IP地址,进而确定所述第一VM接入第一VTEP。
具体的,结合图1,leaf1从所述ARP Cache表项信息中确定所述VM1接入的VTEP的IP地址为VTEP_3,进而确定所述ARP Cache表项信息中记录所述VM1接入leaf3。
S303、第二VTEP设备确定该第二VTEP设备保存的ARP Cache表中记录所述第一VM为本地主机。
所述第二VTEP设备从接收到的所述ARP Cache表项信息中确定所述第一VM为接入到所述第一VTEP设备的主机后,根据接收到的所述ARP Cache表项信息获取所述第一VM的第一MAC地址或者第一IP地址,以该第一MAC地址或者第一IP地址为关键字,查找第二VTEP设备保存的ARP Cache表,命中所述第一VM的ARP Cache表项信息,从该ARP Cache表项信息中,根据所述第一VM接入的VTEP的IP地址或者“FLAG”标识信息,确定该第二VTEP设备保存的ARP Cache表中记录所述第一VM为本地主机。
S304、第二VTEP设备获取所述第一VM的所述第一IP地址,并以所述第一IP地址为目的IP地址,生成并发送第二ARP单播请求报文。
可选的,所述第二VTEP设备从接收到的所述第一VTEP设备发送的所述第一VM的ARP Cache表项信息中获取所述第一IP地址。可选的,所述第二VTEP设备也可以从该第二VTEP设备保存的ARP Cache表中获取所述第一IP地址。
所述第二VTEP设备获取到所述第一IP地址以后,以该第一IP地址为目的IP地址,生成第二ARP单播请求报文,并将该第二ARP单播请求报文发送到对应的AC侧接口,以探测能否接收到所述第一VM回应的第二ARP响应报文。
S305、第二VTEP设备在预定时间内未收到所述第一VM发送的所述第二ARP响应报文,则确定所述第一VM发生迁移。
在一个具体的实施方式中,由于所述一VM已经由该第二VTEP设备迁移到该第一VTEP设备下,所以预定时间内,该第二VTEP设备无法收到所述第一VM回应的第二ARP响应报文, 则确定所述第一VM已经迁出。
通过本实施例提供的方法,VTEP设备在接收到所有对端设备发送的ARP Cache表项信息后,触发VTEIP设备确定虚拟机是否发生迁移,从而能够快速,准确的感知虚拟机迁移。
可选的,S305之后,所述方法300还包括S306:所述第二VTEP设备在该第二VTEP设备自身保存的ARP表中删除与所述第一VM对应的ARP表项。
当第二VTEP设备在预定时间内,未接收到所述第二ARP响应报文,则在该第二VTEP设备自身保存的ARP表中删除与所述第一VM对应的ARP表项,而不必等到所述ARP表项老化时间到达后再进行老化。由此节省所述ARP表项信息对所述ARP表资源的占用。
可选的,S305之后,所述方法300还包括S307:
所述第二VTEP设备撤销指向所述第二VTEP设备的所述第一VM的主机路由,并向其他VTEP设备发送控制信息,所述控制信息用于指示所述其他VTEP设备撤销指向所述第二VTEP设备的所述第一VM的的主机路由。
在一个具体的实施方式中,所述控制信息为BGP更新消息,第二VTEP设备确定接入的VM1已经迁出时,可以通过向其它VTEP设备发送该BGP报文,携带所述第一VM的主机地址,用于撤销所述VM的主机路由。
在另一个具体的实施方式中,所述控制信息还可以是路径计算模块通信协议(英文:Path Computation Element Protocol,PCEP)消息,通过在PCEP消息中定义新的路由对象以及新的消息类型,用于撤销所述第一VM的主机路由。所述新的路由对象携带所述第一VM的主机地址,所述新的消息类型用于指示该PCEP消息是用于撤销所述第一VM的主机路由。
应理解,上述列举的控制信息的类型仅为示例性说明,不应对本申请构成任何限定。本申请对于撤销所述第一VM的主机路由所使用的的具体协议不做限定。
由此,当VTEP设备确认接入自身的主机设备发生迁移时,通过撤销迁出的虚拟机的主机路由,同时发送撤销该迁出的虚拟机的主机路由至其他VTEP设备,从而加快路由收敛的速度。
可选的,S305之后,所述方法300还可以包括S308:所述第二VTEP设备利用所述第一VTEP设备发送的ARP Cache表项信息更新所述第二VTEP设备保存的ARP Cache表中与所述第一VM对应的ARP Cache表项。
在一个具体的实施方式中,结合图1:leaf1确定VM1迁出之后,更新本地保存的ARP Cache表。VM1迁出之前,leaf1上本地保存的ARP Cache表,如表4所示:
IP MAC VNI VTEP FLAG
IP_1 MAC_1 1000 VTEP_1 local
IP_2 MAC_2 1000 VTEP_1 local
IP_3 MAC_3 1000 VTEP_3 remote
表4
当leaf1确定VM1迁移到leaf3之后,更新本地保存的ARP Cache表,如表5所示:
IP MAC VNI VTEP FLAG
IP_1 MAC_1 1000 VTEP_3 remote
IP_2 MAC_2 1000 VTEP_1 local
IP_3 MAC_3 1000 VTEP_3 remote
表5
VTEP设备根据获取到对端VTEP设备发送的同步ARP Cache表信息后,更新自身保存的ARP Cache表信息,并且实时更新所有对端VTEP设备保存的接入虚拟机的主机路由,在虚拟机发生迁移时,通过查找ARP Cache表,能够快速,准确的感知虚拟机的迁移,加速路由的收敛。
需要说明的是,S306-S308的执行顺序不分先后,本申请实施例对此不作限定。
以上,结合图1至图3详细说明了根据本申请实施例提供的确定虚拟机迁移的方法。以下,结合图4-图7详细说明根据本申请实施例提供的用于确定虚拟机迁移的装置和系统。
图4是根据本申请一实施例的确定虚拟机迁移的装置400的示意图。该装置400可以是图1中的leaf1至leaf3中任一个节点设备,可以用于执行图2所示的方法。如图4所示,该装置400包括:处理模块401,发送模块402和接收模块403。
该处理模块401用于从所述第一VTEP设备的接入电路AC侧的第一接口获取所述第一VM的第一媒体接入控制MAC地址。该处理模块401还用于以所述第一MAC地址为关键字,查找该第一VTEP设备保存的地址解析协议缓存ARP Cache表,并确定所述ARP Cache表记录所述第一VM接入第二VTEP设备。该处理模块,进一步用于根据所述ARP Cache表获取所述第一VM的第一IP地址,并以所述第一IP地址为目的IP地址,生成第一ARP单播请求报文。该发送模块402,用于发送所述第一ARP单播请求报文。该接收模块403,用于从所述第一接口接收所述第一VM发送的针对所述第一ARP单播请求报文的第一ARP响应报文。响应于接收到所述第一ARP响应报文,所述处理模块401,还用于确定所述第一VM发生迁移。
由此可见,当VM发生迁移后,VM的迁入设备仅需获取VM的MAC地址,即可确定VM发生迁移。使得VM迁移后,迁入设备不必受限于虚拟机发送免费ARP报文来感知VM迁入,有效提高了对虚拟机配置的兼容性。
可选的,所述处理模块401,还用于根据所述第一ARP单播请求报文或所述第一ARP响应报文,生成所述第一VM的主机路由,并将所述第一VM的主机路由同步给其它VTEP设备。
通过在VTEP设备间同步各自接入的虚拟机的主机路由,从而各VTEP设备获取所有对端VTEP设备接入虚拟机的主机路由,能够加快网络路由收敛的速度。
可选的,所述处理模块401,还用于在确定所述第一VM发生迁移后,根据所述第一VM迁移后接入的VTEP的IP地址更新与所述第一VM对应的ARP Cache表项信息,并将所述ARPCache表项信息同步给其它VTEP设备。
通过在VTEP设备间同步ARP Cache表信息,从而各VTEP设备获取所有对端VTEP设备保存的ARP Cache表信息,进而获取所有对端VTEP设备保存的接入虚拟机的路由信息,在虚拟机发生迁移时,通过查找ARP Cache表,能够快速,准确的感知虚拟机的迁移。
可选的,所述所述处理模块,用于根据所述第一接口接收到的所述第一VM发送的反向地址解析协议RARP报文或免费ARP报文,获取所述第一VM的所述第一MAC地址。
根据本申请实施例的装置400中的各模块和上述其它操作和/或功能分别为了实现图2中方法200的相应流程,为了简洁,此处不再赘述。
图5是根据本申请实施例的确定虚拟机迁移的装置500的示意图。该装置500可以用于执行图2所示的方法。如图5所示,该装置500包括:接收模块501,处理模块502以及发送模块503。
所述接收模块501用于接收第一VTEP设备发送的与所述第一VM对应的地址解析协议缓 存ARP Cache表项信息。所述处理模块502用于确定所述ARP Cache表项信息记录所述第一VM接入所述第一VTEP设备,并确定所述第二VTEP设备保存的ARP Cache表中记录所述第一VM为接入所述第二VTEP设备的本地主机。所述处理模块502还用于获取所述第一VM的第一IP地址,并以所述第一IP地址为目的IP地址,生成第二ARP单播请求报文。所述发送模块503用于发送所述第二ARP单播请求报文。所述处理模块502还用于当所述接收模块501在预定时间内未接收到所述第一VM发送的、针对所述第二ARP单播请求报文的第二ARP响应报文时,确定所述第一VM发生迁移。
由此可见,VTEP设备在接收到所有对端设备发送的ARP Cache表项信息后,触发VTEIP设备确定虚拟机是否发生迁移,从而能够快速,准确的感知虚拟机迁移。
可选的,所述处理模块502,还用于在确定所述第一VM发生迁移后,在所述第二VTEP设备保存的ARP表中删除与所述第一VM对应的ARP表项。
由此可见,当第二VTEP设备在预定时间内,未接收到所述第二ARP响应报文,则在该第二VTEP设备自身保存的ARP表中删除与所述第一VM对应的ARP表项,而不必等到所述ARP表项老化时间到达后再进行老化。由此节省所述ARP表项信息对所述ARP表资源的占用。
可选的,所述处理模块502,还用于在确定所述第一VM发生迁移后,撤销指向所述第二VTEP设备的所述第一VM的主机路由,并向其他VTEP设备发送控制信息,所述控制信息用于指示所述其他VTEP设备撤销指向所述第二VTEP设备的所述第一VM的的主机路由。所述发送模块503还用于向所述其它VTEP设备发送所述控制信息。
由此,当VTEP设备确认接入自身的主机设备发生迁移时,通过撤销迁出的虚拟机的主机路由,同时发送撤销该迁出的虚拟机的主机路由至其他VTEP设备,从而加快路由收敛的速度。
可选的,所述处理模块502,还用于在确定所述第一VM发生迁移后,利用所述第一VTEP设备发送的所述ARP Cache表项信息更新所述第二VTEP设备保存的ARP Cache表中与所述第一VM对应的ARP Cache表项。
VTEP设备根据获取到对端VTEP设备发送的同步ARP Cache表信息后,更新自身保存的ARP Cache表信息,并且实时更新所有对端VTEP设备保存的接入虚拟机的主机路由,在虚拟机发生迁移时,通过查找ARP Cache表,能够快速,准确的感知虚拟机的迁移,加速路由的收敛。
根据本申请实施例的装置500中的各模块和上述其它操作和/或功能分别为了实现图3中方法300的相应流程,为了简洁,此处不再赘述。
本申请上述实施例中提供的装置400和装置500,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或部分功能。
图6是根据本申请实施例的确定虚拟机迁移的装置600的另一示意图。该装置600,能够用于执行图2中的方法200。如图6所示,该装置600包括:输入接口601、输出接口602、处理器603和存储器604。该输入接口601、输出接口602、处理器603和存储器604可以通过总线系统605相连。
所述存储器604用于存储包括程序、指令或代码。所述处理器604,用于执行所述存储器604中的程序、指令或代码,以控制输入接口601接收信号、控制输出接口602发送信号以及完成S201-S208中的操作。
图7是根据本申请一实施例的确定虚拟机迁移的装置700的另一示意图。该网络设备700能够用于执行图3中的方法300。如图7所示,该网络设备700包括:输入接口701、输出接口702、处理器703和存储器704。该输入接口701、输出接口702、处理器703和存储器704可以通过总线系统705相连。
所述存储器704用于存储包括程序、指令或代码。所述处理器704,用于执行所述存储器704中的程序、指令或代码,以控制输入接口701接收信号、控制输出接口702发送信号以及完成S301-S308中的操作。
应理解,在本申请实施例中,该处理器603和处理器703可以是中央处理模块(Central Processing Unit,简称为“CPU”),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器604和存储器704可以包括只读存储器和随机存取存储器,并分别向处理器603和处理器703提供指令和数据。存储器604或存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器604或存储器704还可以存储设备类型的信息。
该总线系统605和总线系统705除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
在实现过程中,方法200和方法300的各步骤可以分别通过处理器603和处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的定位方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质分别位于存储器604和存储器704中,处理器603读取存储器604中的信息,处理器703读取存储器704中的信息,结合其硬件分别完成上述方法200和方法300的步骤。为避免重复,这里不再详细描述。
需要说明的是,图4和图6所提供的装置,图5和图7所提供的装置,应用于图1所示的网络100中,实现确定虚拟机迁移的方法。一个具体的实施方式中,图4中的处理模块401可以用图6的处理器603实现,发送模块402可以由图6的输出接口602实现,接收模块403可以用由图6的输入接口601实现。同理,图5中的处理模块502用图7的处理器703实现,发送模块503可以由图7的输出接口702实现,接收模块501可以用由图7的输入接口701实现。
本申请还提供了一种通信系统,包括图4对应的实施例所提供的装置以及图5对应的实施例所提供的装置。所述通信系统用于执行图2对应的实施例的方法200和图3对应的实施例的方法300。
本申请还提供了一种通信系统,包括图5对应的实施例所提供的装置以及图7对应的实施例所提供的装置。所述通信系统用于执行图2对应的实施例的方法200和图3对应的实施例的方法300。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件或它们的任意组合来实现。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
最后,需要说明的是:以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。显然,本领域技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (17)

  1. 一种确定虚拟机VM迁移的方法,其特征在于,该方法包括:
    第一虚拟可扩展局域网隧道端点VTEP设备从第一接口获取所述VM的媒体接入控制MAC地址,所述第一接口与接入电路AC连接;
    所述第一VTEP设备以所述VM的MAC地址为关键字,查找该第一VTEP设备保存的地址解析协议缓存ARP Cache表,确定所述ARP Cache表中记录所述VM接入第二VTEP设备;
    所述第一VTEP设备根据所述ARP Cache表获取所述VM的互联网协议IP地址,并以所述IP地址为目的IP地址,生成并发送ARP单播请求报文;
    所述第一VTEP设备从所述第一接口接收所述VM发送的针对所述ARP单播请求报文的ARP响应报文;
    响应于接收到所述ARP响应报文,所述第一VTEP设备确定所述VM发生迁移。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一VTEP设备根据所述ARP单播请求报文或所述ARP响应报文,生成所述VM的主机路由,并将所述VM的主机路由同步给其它VTEP设备。
  3. 根据权利要求1或2所述的方法,其特征在于:所述第一VTEP设备确定所述VM发生迁移后,所述方法还包括:
    所述第一VTEP设备根据所述VM迁移后接入的VTEP的IP地址更新与所述VM对应的ARP Cache表项信息,并将所述ARP Cache表项信息同步给其它VTEP设备。
  4. 根据权利要求1-3任一项所述的方法,其特征在于:所述第一VTEP设备从第一接口获取所述VM的MAC地址,具体包括:
    所述第一VTEP设备根据所述第一接口接收到的所述VM发送的反向地址解析协议RARP报文或免费ARP报文,获取所述VM的MAC地址。
  5. 一种确定虚拟机VM迁移的方法,其特征在于:
    第二虚拟可扩展局域网隧道端点VTEP设备接收第一VTEP设备发送的与所述VM对应的地址解析协议缓存ARP Cache表项信息;
    所述第二VTEP设备确定所述ARP Cache表项信息记录所述VM接入所述第一VTEP设备;
    所述第二VTEP设备确定所述第二VTEP设备保存的ARP Cache表中记录所述VM为接入所述第二VTEP设备的本地主机;
    所述第二VTEP设备获取所述VM的互联网协议IP地址,并以所述IP地址为目的IP地址,生成并发送ARP单播请求报文;
    所述第二VTEP设备在预定时间内未接收到所述VM发送的、针对所述ARP单播请求报文的ARP响应报文,则确定所述VM发生迁移。
  6. 根据权利要求5所述的方法,其特征在于,在所述第二VTEP设备确定所述VM发生迁移后,所述方法还包括:
    所述第二VTEP设备在所述第二VTEP设备保存的ARP表中删除与所述VM对应的ARP表项。
  7. 根据权利要求5或6所述的方法,其特征在于:在所述第二VTEP设备确定所述VM发生迁移后,所述方法还包括:
    所述第二VTEP设备撤销指向所述第二VTEP设备的所述VM的主机路由,并向其他VTEP设备发送控制信息,所述控制信息用于指示所述其他VTEP设备撤销指向所述第二VTEP设备的所述VM的的主机路由。
  8. 根据权利要求5-7任一项所述的方法,其特征在于:在所述第二VTEP设备确定所述VM发生迁移后,所述方法还包括:
    所述第二VTEP设备利用所述第一VTEP设备发送的所述ARP Cache表项信息更新所述第二VTEP设备保存的ARP Cache表中与所述VM对应的ARP Cache表项。
  9. 一种确定虚拟机VM迁移的装置,其特征在于,该装置位于第一虚拟可扩展局域网隧道端点VTEP设备侧,该装置包括:
    处理模块,用于从所述第一VTEP设备的第一接口获取所述VM的媒体接入控制MAC地址,所述第一接口与接入电路AC连接;
    所述处理模块,还用于以所述VM的MAC地址为关键字,查找该第一VTEP设备保存的地址解析协议缓存ARP Cache表,并确定所述ARP Cache表中记录所述VM接入第二VTEP设备;
    所述处理模块,进一步用于根据所述ARP Cache表获取所述VM的互联网协议IP地址,并以所述IP地址为目的IP地址,生成ARP单播请求报文;
    发送模块,用于发送所述ARP单播请求报文;
    接收模块,用于从所述第一接口接收所述VM发送的针对所述ARP单播请求报文的ARP响应报文;
    响应于接收到所述ARP响应报文,所述处理模块,还用于确定所述VM发生迁移。
  10. 根据权利要求9所述的装置,其特征在于:
    所述处理模块,还用于根据所述ARP单播请求报文或所述ARP响应报文,生成所述VM的主机路由,并将所述VM的主机路由同步给其它VTEP设备。
  11. 根据权利要求9或10所述的装置,其特征在于:
    所述处理模块,还用于在确定所述VM发生迁移后,根据所述VM迁移后接入的VTEP的IP地址更新与所述VM对应的ARP Cache表项信息,并将所述ARP Cache表项信息同步给其它VTEP设备。
  12. 根据权利要求9-11任一项所述的装置,其特征在于,所述处理模块,用于获取所述VM的MAC地址具体包括:所述处理模块,用于根据所述第一接口接收到的所述VM发送的反向地址解析协议RARP报文或免费ARP报文,获取所述VM的MAC地址。
  13. 一种确定虚拟机VM迁移的装置,其特征在于:该装置位于第二虚拟可扩展局域网隧道端点VTEP设备侧,该装置包括接收模块、处理模块和发送模块,其中,
    所述接收模块,用于接收第一VTEP设备发送的与所述VM对应的地址解析协议缓存ARP Cache表项信息;
    所述处理模块,用于确定所述ARP Cache表项信息记录所述VM接入所述第一VTEP设备,并确定所述第二VTEP设备保存的ARP Cache表中记录所述VM为接入所述第二VTEP设备的本地主机;
    所述处理模块,还用于获取所述VM的互联网协议IP地址,并以所述IP地址为目的IP地址,生成ARP单播请求报文;
    所述发送模块,用于发送所述ARP单播请求报文;
    所述处理模块,还用于当所述接收模块在预定时间内未接收到所述VM发送的、针对所述ARP单播请求报文的ARP响应报文时,确定所述VM发生迁移。
  14. 根据权利要求13所述的装置,其特征在于:
    所述处理模块,还用于在确定所述VM发生迁移后,在所述第二VTEP设备保存的ARP表 中删除与所述VM对应的ARP表项。
  15. 根据权利要求13或14所述的装置,其特征在于:
    所述处理模块,还用于在确定所述VM发生迁移后,撤销指向所述第二VTEP设备的所述VM的主机路由,并向其他VTEP设备发送控制信息,所述控制信息用于指示所述其他VTEP设备撤销指向所述第二VTEP设备的所述VM的的主机路由。
    所述发送模块,用于向所述其它VTEP设备发送所述控制信息。
  16. 根据权利要求13-15任一项所述的装置,其特征在于:
    所述处理模块,还用于在确定所述VM发生迁移后,利用所述第一VTEP设备发送的所述ARP Cache表项信息更新所述第二VTEP设备保存的ARP Cache表中与所述VM对应的ARP Cache表项。
  17. 一种通信系统,其特征在于:包括权利要求9-12任一项所述的装置以及权利要求13-16任一项所述的装置。
PCT/CN2017/075619 2016-08-30 2017-03-03 一种确定虚拟机迁移的方法和装置 WO2018040530A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP22202725.2A EP4220395A1 (en) 2016-08-30 2017-03-03 Method and apparatus for determining virtual machine migration
EP21163688.1A EP3913480B1 (en) 2016-08-30 2017-03-03 Method and apparatus for determining virtual machine migration
EP17844840.3A EP3401783B1 (en) 2016-08-30 2017-03-03 Method and apparatus for determining virtual machine migration
US16/135,996 US10853127B2 (en) 2016-08-30 2018-09-19 Method and apparatus for determining virtual machine migration
US17/106,179 US20210200578A1 (en) 2016-08-30 2020-11-29 Method and apparatus for determining virtual machine migration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610777000.1A CN107783815B (zh) 2016-08-30 2016-08-30 一种确定虚拟机迁移的方法和装置
CN201610777000.1 2016-08-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/135,996 Continuation US10853127B2 (en) 2016-08-30 2018-09-19 Method and apparatus for determining virtual machine migration

Publications (1)

Publication Number Publication Date
WO2018040530A1 true WO2018040530A1 (zh) 2018-03-08

Family

ID=61299949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/075619 WO2018040530A1 (zh) 2016-08-30 2017-03-03 一种确定虚拟机迁移的方法和装置

Country Status (4)

Country Link
US (2) US10853127B2 (zh)
EP (3) EP3913480B1 (zh)
CN (4) CN112486626A (zh)
WO (1) WO2018040530A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612782A (zh) * 2021-08-06 2021-11-05 中国联合网络通信集团有限公司 虚拟机迁移验证方法及装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486626A (zh) * 2016-08-30 2021-03-12 华为技术有限公司 一种确定虚拟机迁移的方法和装置
CN108259356B (zh) * 2017-04-25 2020-08-04 新华三技术有限公司 路由控制方法和装置
CN108322376B (zh) * 2017-06-26 2020-02-11 新华三技术有限公司 路由同步方法、装置及机器可读存储介质
US10911397B2 (en) * 2017-07-31 2021-02-02 Nicira, Inc. Agent for implementing layer 2 communication on layer 3 underlay network
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN109697115B (zh) * 2017-10-20 2023-06-06 伊姆西Ip控股有限责任公司 用于调度应用的方法、装置以及计算机可读介质
CN109697121B (zh) * 2017-10-20 2023-05-05 伊姆西Ip控股有限责任公司 用于向应用分配处理资源的方法、设备和计算机可读介质
CN108199967B (zh) * 2018-03-30 2020-08-11 新华三技术有限公司 路由处理方法及装置
CN109412925B (zh) * 2018-09-30 2021-06-18 锐捷网络股份有限公司 基于vtep的转发表项更新方法及vtep
CN109450767B (zh) * 2018-10-26 2020-06-12 新华三技术有限公司 一种报文处理方法和装置
CN109391534B (zh) * 2018-10-26 2021-05-07 新华三技术有限公司合肥分公司 一种接入模式更新方法及装置
US11368484B1 (en) * 2019-04-26 2022-06-21 Cisco Technology, Inc Endpoint security mechanism to detect IP theft on a virtual machine mobility in switch fabric
CN113296869B (zh) * 2020-02-24 2023-01-13 华为技术有限公司 一种虚拟机vm的迁移方法及装置
US12015587B2 (en) 2020-02-28 2024-06-18 New H3C Technologies Co., Ltd. Methods for updating route, access device, and convergence device
CN113660164A (zh) * 2020-05-12 2021-11-16 华为技术有限公司 一种报文转发方法及网络设备
CN111736958B (zh) * 2020-06-29 2023-06-30 中国联合网络通信集团有限公司 虚拟机迁移方法、系统、计算机设备及存储介质
CN111770035B (zh) * 2020-06-30 2022-09-09 中国联合网络通信集团有限公司 Mac地址表更新方法、装置、报文发送方法及电子设备
CN111988223B (zh) * 2020-08-19 2022-04-08 杭州迪普科技股份有限公司 虚拟机迁移方法与网络系统
CN112565476A (zh) * 2020-12-01 2021-03-26 中国联合网络通信集团有限公司 虚拟机创建方法、arp代理网关及vtep
CN113037883B (zh) * 2021-02-23 2022-06-10 中国联合网络通信集团有限公司 一种mac地址表项的更新方法及装置
CN113300931B (zh) * 2021-05-12 2022-11-18 中国联合网络通信集团有限公司 一种虚拟机迁移发现方法及vtep
CN113347101B (zh) * 2021-06-01 2022-11-15 中国联合网络通信集团有限公司 一种路由信息的发送控制方法、vtep及计算机可读存储介质
CN113810511B (zh) * 2021-08-06 2024-03-19 锐捷网络股份有限公司 Arp表的更新方法及装置
CN113703921A (zh) * 2021-08-30 2021-11-26 中国联合网络通信集团有限公司 虚拟机迁移方法、装置及交换机
CN113938354A (zh) * 2021-10-12 2022-01-14 中国联合网络通信集团有限公司 路由信息更新方法、装置、电子设备和计算机可读介质
US20230132016A1 (en) * 2021-10-21 2023-04-27 Arista Networks, Inc. Host routing with virtual machine mobility
CN115065630B (zh) * 2022-05-10 2024-04-09 深信服科技股份有限公司 虚拟路由器的迁移方法、装置、电子设备及存储介质
CN115396488A (zh) * 2022-08-23 2022-11-25 中国联合网络通信集团有限公司 Vm迁移方法、云管理平台、sdn控制器、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801715A (zh) * 2012-07-30 2012-11-28 华为技术有限公司 一种网络中虚拟机迁移的方法、网关及系统
CN103647853A (zh) * 2013-12-04 2014-03-19 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
EP2840743A1 (en) * 2012-04-20 2015-02-25 ZTE Corporation Method and system for realizing virtual network
CN105471744A (zh) * 2014-09-19 2016-04-06 杭州华三通信技术有限公司 一种虚拟机迁移方法和装置
CN105743792A (zh) * 2014-12-12 2016-07-06 中兴通讯股份有限公司 流表更新方法及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8532116B2 (en) * 2009-07-21 2013-09-10 Cisco Technology, Inc. Extended subnets
TWI583151B (zh) * 2011-08-04 2017-05-11 中界雲端公司 實施及管理虛擬網路的系統與方法
CN103430149B (zh) * 2011-08-15 2016-03-30 华为技术有限公司 虚拟机迁移通知方法和系统
JP5712870B2 (ja) * 2011-08-30 2015-05-07 富士通株式会社 通信方法、通信装置、および通信プログラム
US9258266B2 (en) * 2012-08-30 2016-02-09 Cisco Technology, Inc. Host detection by top of rack switch devices in data center environments
CN103259727B (zh) * 2012-08-31 2016-12-28 杭州华三通信技术有限公司 一种报文转发方法及设备
US9055000B1 (en) * 2012-12-17 2015-06-09 Juniper Networks, Inc. Distributed network subnet
JP6056578B2 (ja) * 2013-03-19 2017-01-11 富士通株式会社 仮想マシンの移動終了を検出する装置、方法、及びプログラム
CN104113459A (zh) * 2013-04-16 2014-10-22 杭州华三通信技术有限公司 一种evi网络中虚拟机平滑迁移方法和装置
JP5813699B2 (ja) * 2013-06-14 2015-11-17 日本電信電話株式会社 通信システム、管理装置、管理方法および管理プログラム
US20140376550A1 (en) * 2013-06-24 2014-12-25 Vmware, Inc. Method and system for uniform gateway access in a virtualized layer-2 network domain
US9515924B2 (en) * 2013-07-03 2016-12-06 Avaya Inc. Method and apparatus providing single-tier routing in a shortest path bridging (SPB) network
US9282033B2 (en) * 2013-08-06 2016-03-08 Cisco Technology, Inc. Intelligent handling of virtual machine mobility in large data center environments
KR20150030099A (ko) * 2013-09-11 2015-03-19 한국전자통신연구원 주소 결정 시스템 및 방법
US9413713B2 (en) * 2013-12-05 2016-08-09 Cisco Technology, Inc. Detection of a misconfigured duplicate IP address in a distributed data center network fabric
JP2016540448A (ja) * 2013-12-11 2016-12-22 華為技術有限公司Huawei Technologies Co.,Ltd. 仮想拡張lanの通信方法、装置、及びシステム
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
US9509603B2 (en) * 2014-03-31 2016-11-29 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints
US10616108B2 (en) * 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9590824B1 (en) * 2014-08-05 2017-03-07 Cisco Technology, Inc. Signaling host move in dynamic fabric automation using multiprotocol BGP
US9733968B2 (en) * 2015-03-16 2017-08-15 Oracle International Corporation Virtual machine (VM) migration from switched fabric based computing system to external systems
US20170289033A1 (en) * 2015-04-03 2017-10-05 Hewlett Packard Enterprise Development Lp Address cache for tunnel endpoint associated with an overlay network
US10554620B2 (en) * 2015-05-29 2020-02-04 Cisco Technology, Inc. Default gateway extension
US9985837B2 (en) * 2015-07-23 2018-05-29 Cisco Technology, Inc. Refresh of the binding tables between data-link-layer and network-layer addresses on mobility in a data center environment
CN107925623A (zh) * 2015-08-04 2018-04-17 诺基亚技术有限公司 覆盖网络的互连
US9935862B2 (en) * 2015-09-08 2018-04-03 At&T Intellectual Property I, L.P. Low-impact proactive monitoring of customer access to virtualized network elements in a cloud platform
US20170373973A1 (en) * 2016-06-27 2017-12-28 Juniper Networks, Inc. Signaling ip address mobility in ethernet virtual private networks
US10320838B2 (en) * 2016-07-20 2019-06-11 Cisco Technology, Inc. Technologies for preventing man-in-the-middle attacks in software defined networks
US10110469B2 (en) * 2016-07-21 2018-10-23 Cisco Technology, Inc. Detecting and preventing network loops
CN112486626A (zh) * 2016-08-30 2021-03-12 华为技术有限公司 一种确定虚拟机迁移的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2840743A1 (en) * 2012-04-20 2015-02-25 ZTE Corporation Method and system for realizing virtual network
CN102801715A (zh) * 2012-07-30 2012-11-28 华为技术有限公司 一种网络中虚拟机迁移的方法、网关及系统
CN103647853A (zh) * 2013-12-04 2014-03-19 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
CN105471744A (zh) * 2014-09-19 2016-04-06 杭州华三通信技术有限公司 一种虚拟机迁移方法和装置
CN105743792A (zh) * 2014-12-12 2016-07-06 中兴通讯股份有限公司 流表更新方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3401783A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612782A (zh) * 2021-08-06 2021-11-05 中国联合网络通信集团有限公司 虚拟机迁移验证方法及装置
CN113612782B (zh) * 2021-08-06 2023-02-17 中国联合网络通信集团有限公司 虚拟机迁移验证方法及装置

Also Published As

Publication number Publication date
CN112486627A (zh) 2021-03-12
CN112486627B (zh) 2022-04-12
US20190034226A1 (en) 2019-01-31
CN107783815A (zh) 2018-03-09
CN112486626A (zh) 2021-03-12
EP3913480B1 (en) 2022-10-26
EP3913480A1 (en) 2021-11-24
EP3401783A4 (en) 2019-03-27
US10853127B2 (en) 2020-12-01
EP3401783A1 (en) 2018-11-14
CN113946416A (zh) 2022-01-18
US20210200578A1 (en) 2021-07-01
EP4220395A1 (en) 2023-08-02
EP3401783B1 (en) 2022-12-21
CN107783815B (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
WO2018040530A1 (zh) 一种确定虚拟机迁移的方法和装置
JP6934142B2 (ja) データ処理
US11032183B2 (en) Routing information validation in SDN environments
CN111092801B (zh) 数据传输方法及装置
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
JP6574304B2 (ja) 仮想ネットワーク管理
CN107113241B (zh) 路由确定方法、网络配置方法以及相关装置
WO2016082528A1 (zh) 数据中心网关间虚拟机位置信息同步的方法、网关及系统
US20150172156A1 (en) Detecting end hosts in a distributed network environment
CN115174470A (zh) 逻辑路由器
US10313224B2 (en) Seamless host mobility
CN107682275B (zh) 报文监控方法及装置
WO2014079005A1 (zh) Mac地址强制转发装置及方法
CN107493222B (zh) 一种vxlan报文转发的方法及装置
CN107645402B (zh) 一种路由管理方法和装置
WO2017080440A1 (zh) 一种路由表更新方法、evpn控制设备及evpn系统
WO2018171722A1 (zh) Mac地址同步
US10432544B2 (en) Enhanced sequence number updating of routes associated with migrating virtual machines
WO2015180539A1 (zh) 一种报文处理方法和设备
CN113472699A (zh) 一种网络表项同步方法及装置
US20230155981A1 (en) Security group resolution at ingress across virtual networks
US20230379270A1 (en) Providing switchport protected functionality across enterprise access (fabric) networks

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2017844840

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017844840

Country of ref document: EP

Effective date: 20180807

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17844840

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE