WO2016082528A1 - 数据中心网关间虚拟机位置信息同步的方法、网关及系统 - Google Patents

数据中心网关间虚拟机位置信息同步的方法、网关及系统 Download PDF

Info

Publication number
WO2016082528A1
WO2016082528A1 PCT/CN2015/081801 CN2015081801W WO2016082528A1 WO 2016082528 A1 WO2016082528 A1 WO 2016082528A1 CN 2015081801 W CN2015081801 W CN 2015081801W WO 2016082528 A1 WO2016082528 A1 WO 2016082528A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
gateway
data center
saved
location information
Prior art date
Application number
PCT/CN2015/081801
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 EP15863873.4A priority Critical patent/EP3214816B1/en
Publication of WO2016082528A1 publication Critical patent/WO2016082528A1/zh
Priority to US15/606,859 priority patent/US10361992B2/en

Links

Images

Classifications

    • 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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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, and in particular, to a method, a gateway, and a system for synchronizing virtual machine location information between data center gateways.
  • the existing method for synchronizing the location information after the virtual machine is migrated is specifically:
  • the first virtual machine (English: virtual machine, VM: 112) migrates from the second data center 120 to the first data center 110, the first data center 110 broadcasts a free (English: gratuitous) address.
  • Resolution Protocol (English: Address Resolution Protocol, ARP) message;
  • the first gateway 111 of the first data center 110 finds that the first gateway 111 has saved the MAC routing entry of the first virtual machine 112, and the MAC address and IP address of the first virtual machine 112.
  • the first data center 110 is configured to update the outbound interface in the MAC routing entry of the first virtual machine 112 to the local outbound interface, and add the saved serial number of the corresponding first virtual machine 112 to the boundary.
  • the gateway protocol protocol (English: Border Gateway Protocol, hereinafter referred to as BGP) message sends the new serial number of the first virtual machine 112 to the gateway of the other data center. In FIG. 1, the BGP message arrives at the second data center 120.
  • the second gateway 121 and the third gateway 131 After receiving the new serial number of the first virtual machine 112, the second gateway 121 and the third gateway 131 compare with the original serial number of the saved first virtual machine 112, and if the new serial number is found to be larger than the original serial number saved locally, And updating the sequence number of the first saved virtual machine 112 to the received new serial number, and updating the outbound interface of the first virtual machine 112 in the local MAC routing table to the first data center 110 on the network side.
  • the outbound interface implements updating of the location information of the first virtual machine 112.
  • the second gateway 121 re-advertises the first to the gateway of the other data center through the BGP message when the normal operation is resumed.
  • the virtual machine 112 routes the MAC in the second data center 120, and the serial number in the BGP message is obtained by adding one of the saved serial numbers.
  • the first gateway 111 also issues the MAC route of the virtual machine first virtual machine 112 in the first data center 110 through the BGP message.
  • the sequence number in the BGP message advertised by the first gateway 111 is also obtained by adding one to the serial number generated by the MAC address and the IP address.
  • the sequence numbers of the two BGP messages advertised by the first gateway 111 and the second gateway 121 are the same, and the third gateway 131 of the other data center receives the two BGP messages, the first virtual machine 112 cannot be determined. Which one of the data centers is located may incorrectly update the location of the first virtual machine 112 to the second data center 120.
  • the prior art may incorrectly update the location information of the virtual machine to the data center before migration.
  • the data center before the migration deletes the old virtual machine information, the traffic accessing the virtual machine is interrupted for a long time.
  • the present invention provides a method, a gateway, and a system for synchronizing virtual machine location information between data center gateways, which can accurately synchronize virtual machine location information between data center gateways, and reduce the possibility of traffic interruption.
  • the first aspect of the present application provides a method for synchronizing virtual machine location information between data center gateways, including: receiving, by a second gateway of the second data center, a first location update message sent by the first gateway of the first data center, where The first location update message is sent by the first gateway when detecting that the first virtual machine migrates to the first data center across the data center, and is used to notify that the location information of the first virtual machine changes.
  • the second gateway deletes the MAC route of the first virtual machine saved by the second gateway according to the first location update message; and when the second gateway receives the report sent to the first virtual machine When the second gateway does not save the MAC route of the first virtual machine, the second gateway learns from the first virtual machine to obtain current location information of the first virtual machine.
  • the first location update message includes location information of the first virtual machine and a sequence number representing the number of migrations of the first virtual machine; the second gateway Deleting, according to the first location update message, the MAC route of the first virtual machine saved by the second gateway, specifically: if the location information of the first virtual machine is in a MAC routing table of the second gateway Location information of the first virtual machine Different, and the sequence number of the first location update message is the same as the sequence number of the first virtual machine saved by the second gateway, determining that there is a conflict between the location information of the first virtual machine, and deleting the second gateway The MAC route of the first virtual machine saved in.
  • the method further includes: if the second gateway detects that the second virtual machine migrates from the third data center to the second data center, And updating a sequence number of the second virtual machine saved by the second gateway; the second gateway sending a sequence including the second virtual machine to a gateway of a data center other than the second data center a second location update message of the number, so that the gateway of the data center other than the second data center learns that the location information of the second virtual machine changes after receiving the second location update message And deleting the MAC route of the second virtual machine saved by the gateway of the other data center when determining that there is a conflict between the location information of the second virtual machine.
  • the second gateway after detecting that the second virtual machine migrates from the third data center to the second data center, The method further includes: updating, by the second gateway, an outbound interface of the second virtual machine in the MAC routing table saved by the second gateway to an interface of the second gateway; and updating the The sequence number of the second virtual machine includes: the second gateway updates a BGP entry of the second virtual machine saved by the second gateway, and the BGP entry of the second virtual machine includes the second virtual The serial number of the machine.
  • the second gateway updates an outbound interface of the second virtual machine in the MAC routing table saved by the second gateway to the
  • the interface of the second gateway specifically includes: when the second gateway stores the network side MAC routing table and the access side MAC routing table, the second gateway deletes the second virtual in the network side MAC routing table The entry corresponding to the machine, and adding, in the access side MAC routing table, an entry of the second virtual machine as an interface of the interface of the second gateway; or when the second gateway only stores one In the MAC routing table, the outbound interface of the second virtual machine in the MAC routing table is changed from the network side out interface to the interface of the second gateway.
  • the second aspect of the present application provides a gateway, where the gateway is specifically a second gateway of the second data center, and includes a receiving module, a deleting module, and a learning module.
  • the receiving module is configured to receive, by the first gateway, the first data center.
  • the deleting module is configured to delete, according to the first location update message, the location saved by the second gateway when the receiving module receives the first location update message a MAC address of the first virtual machine
  • the learning module is configured to: when receiving a packet addressed to the first virtual machine, and the second gateway does not save the first virtual When the MAC route of the virtual machine is learned, the first virtual machine is learned to obtain the current location information of the first virtual machine.
  • the first location update message includes location information of the first virtual machine and a sequence number that represents the number of migrations of the first virtual machine;
  • the location information for the first virtual machine is different from the location information of the first virtual machine in the MAC routing table of the second gateway, and the sequence number of the first location update message is related to the second gateway.
  • the method further includes an update module and a sending module, where the update module is configured to detect that the second virtual machine migrates from the third data center to the location The second data center updates the sequence number of the second virtual machine saved by the second gateway; the sending module is configured to: after the update module updates the serial number of the second virtual machine, A gateway of another data center other than the second data center transmits a second location update message including a sequence number of the second virtual machine to enable a gateway of a data center other than the second data center After receiving the second location update message, the location information of the second virtual machine is changed, and when the location information of the second virtual machine is determined to be in conflict, the gateway of the other data center is deleted. The saved MAC route of the second virtual machine.
  • the update module includes a first update unit and a second update unit; the first update unit is configured to use the second gateway The outbound interface of the second virtual machine in the saved MAC routing table is updated to the interface of the second gateway; the second update unit is configured to update the BGP entry of the second virtual machine saved by the second gateway The BGP entry of the second virtual machine includes a sequence number of the second virtual machine.
  • the first update unit is specifically configured to: when the second gateway stores a network side MAC routing table and an access side MAC route In the table, deleting the entry corresponding to the second virtual machine in the network side MAC routing table, and adding the outbound interface of the second virtual machine to the second gateway in the access side MAC routing table An entry of the interface; or when the second gateway stores only one MAC routing table, the outbound interface of the second virtual machine in the MAC routing table is changed from the network side out interface to the interface of the second gateway.
  • the third aspect of the present application provides a network system composed of a data center, including a first data center and a second data center, where the first data center includes a first gateway and at least one virtual machine, and the second data center includes a a second gateway and at least one virtual machine;
  • the first gateway is configured to send, to the gateway of another data center in the network system, when detecting that the first virtual machine migrates to the first data center across the data center Notifying the first virtual a first location update message in which the location information of the machine is changed;
  • the second gateway is configured to receive the first location update message sent by the first gateway; and delete the second gateway save message according to the first location update message MAC address of the first virtual machine; when receiving a packet addressed to the first virtual machine, and the second gateway does not save the MAC route of the first virtual machine, to the first virtual
  • the machine learns to obtain current location information of the first virtual machine.
  • the first gateway is specifically configured to: when detecting that the first virtual machine migrates to the first data center across a data center, update the first gateway Saving the serial number of the first virtual machine, and sending a first location update message to the gateway of the other data center except the first data center, where the first location update message includes location information of the first virtual machine And the sequence number of the number of times of the first virtual machine migration; the second gateway performing the deleting the MAC route of the first virtual machine saved by the second gateway, specifically: the first virtual machine The location information is different from the location information of the first virtual machine in the MAC routing table of the second gateway, and the sequence number of the first location update message is related to the first virtual machine saved by the second gateway. When the sequence numbers are the same, the location information of the first virtual machine is determined to be in conflict, and the MAC route of the first virtual machine saved in the second gateway is deleted.
  • the performing, by the first gateway, the updating, by the first gateway, the serial number of the first virtual machine that is saved by the first The outbound interface of the first virtual machine in the MAC routing table saved by the first gateway is updated to the interface of the first gateway; and the BGP entry of the first virtual machine saved by the first gateway is updated,
  • the BGP entry of the first virtual machine includes a sequence number of the first virtual machine.
  • the first gateway performs an outbound interface update of the first virtual machine in the MAC routing table saved by the first gateway
  • the interface of the first gateway specifically includes: when the first gateway stores the network side MAC routing table and the access side MAC routing table, deleting the first virtual machine corresponding to the network side MAC routing table An entry of the interface of the first virtual machine is added to the interface of the second gateway in the access side MAC routing table; or when the first gateway stores only one MAC routing table.
  • the outbound interface of the first virtual machine in the MAC routing table is changed from the network side out interface to the interface of the first gateway.
  • the gateway of the data center when the location information of the virtual machine in the data center changes, the gateway of the data center sends a location update message, so that the gateways of all other data centers delete the locally saved message when receiving the location update message.
  • the MAC routing of the virtual machine avoids the situation that the location information is updated incorrectly during the location change process of the virtual machine.
  • the gateways of other data centers learn by learning the virtual machine. The accurate location information of the virtual machine is obtained, and the virtual machine location information between the data centers is accurately synchronized, thereby reducing the possibility of traffic interruption due to incorrect virtual machine location information.
  • 1 is a schematic structural diagram of a network system composed of an existing data center
  • FIG. 2 is a schematic structural diagram of an implementation manner of a network system composed of a data center of the present application
  • FIG. 3 is a flowchart of an embodiment of a method for synchronizing virtual machine location information between data center gateways of the present application
  • FIG. 4 is a partial flowchart of another embodiment of a method for synchronizing virtual machine location information between data center gateways of the present application
  • FIG. 5 is a schematic structural diagram of an embodiment of a gateway according to the present application.
  • FIG. 6 is a schematic structural diagram of another embodiment of a gateway according to the present application.
  • FIG. 7 is a schematic structural diagram of still another embodiment of the gateway of the present application.
  • FIG. 2 is a schematic structural diagram of an implementation manner of a network system composed of data centers of the present application.
  • the network system includes a plurality of data centers, and the data centers can communicate with each other.
  • the network system includes three data centers: a first data center 110, a second data center 120, and a third data center 130.
  • Each of the data centers includes a gateway and at least one virtual machine, and multiple virtual machines in each data center may be disposed on one or more hosts.
  • the virtual machines in the first data center 110 are all disposed on the host 114. on.
  • Virtual machines in each data center communicate with virtual machines in other data centers through gateways.
  • the gateway of each data center stores the MAC routing entries of the registered virtual machines in each data center.
  • the MAC routing entries of each virtual machine specifically include the MAC address of the virtual machine and the outgoing interface, because each virtual The machine communicates with other data centers through the gateway. Therefore, the outbound interface of the virtual machine is the interface of the gateway of the data center.
  • the gateway of the data center of the user sends the data sent by the user to the outbound interface of the destination virtual machine according to the MAC routing entry.
  • the gateway forwards the data to the destination virtual machine by the gateway to implement cross-data center communication between the virtual machines.
  • the first virtual machine 112 migrates from the second data center 120 to the first data center 110, the first virtual machine 112
  • the first gateway 111 sends a registration message to the first gateway 111 of the first data center 110.
  • the first gateway 111 receives the registration message of the first virtual machine 112, and the BGP calculation finds that the outbound interface of the first virtual machine 112 is changed from the network side interface to the local interface.
  • the outbound interface of the first virtual machine 112 in the MAC routing table stored locally by the first gateway 111 is updated to the interface of the local interface, that is, the first gateway 111.
  • the outbound interface of the first virtual machine 112 in the MAC routing table stored locally by the first gateway 111 is updated to the The local interface includes: deleting the entry corresponding to the first virtual machine 112 in the network side MAC routing table, and adding the outbound interface of the first virtual machine 112 to the first in the access side MAC routing table.
  • the entry of the interface of the gateway 111 includes: deleting the entry corresponding to the first virtual machine 112 in the network side MAC routing table, and adding the outbound interface of the first virtual machine 112 to the first in the access side MAC routing table.
  • updating the outbound interface of the first virtual machine 112 in the MAC routing table stored locally by the first gateway 111 to the local interface includes: routing the MAC
  • the outbound interface of the first virtual machine 112 in the table is changed from the network side out interface to the interface local to the first gateway 111.
  • the first virtual machine 112 before migration is located at 112' of the second data center 120, and communicates with the second gateway 121 through the second interface 123 at 112'.
  • the migrated first virtual machine 112 communicates with the first gateway 111 through the first interface 113. Therefore, the first gateway 111 changes the outbound interface of the first virtual machine 112 in the unique MAC routing table from the network side out interface to the local interface.
  • the first interface 113 is configured to change the outbound interface of the first virtual machine 112 in the unique MAC routing table from the network side out interface to the local interface.
  • the first gateway 111 After updating the local MAC routing table, the first gateway 111 adds an entry corresponding to the first virtual machine 112 to the locally saved BGP table, where the entry includes the MAC address of the first virtual machine 112, the first The IP address of the gateway 111 and the serial number.
  • the initial value of the serial number is generated by the first access of the first virtual machine 112, for example, the second gateway 121, according to the MAC address and IP address of the first virtual machine 112. Then, the initial value is issued to the other gateway by the earliest accessed gateway. Thereafter, each time the first virtual machine 112 migrates, the gateway accessed after the migration adds 1 to the serial number.
  • the first gateway 111 adds 1 to the sequence number of the first virtual machine 112 saved in the BGP table to obtain a new serial number, and generates a MAC address including the first virtual machine 112 and the new The location update message, that is, the BGP message, and the BGP message is sent to the second gateway 121 and the third gateway 131, where the BGP message is used to notify the second gateway 121 and the third gateway 131 of the first The location information of the virtual machine 112 is changed.
  • the second gateway 121 of the second data center 120 receives the location update message, and determines that the first virtual machine 112 migrates to the first data center 110 according to the source of the location update message of the first virtual machine 112 as the first gateway. At this time, if the sequence number of the first virtual machine 112 carried by the location update message is equal to the sequence number saved by the second gateway 121, it is determined that there is a conflict between the location information of the first virtual machine 112, and the second gateway 121 directly deletes the first The gateway 121 saves the MAC routing entry of the first virtual machine 112, and sends a revocation message to the gateway of the other data center.
  • the revocation message is used to notify the gateway of the other data center that the second data center 120 has revoked the first virtual machine 112, that is, the first virtual machine 112 is no longer located in the second data center 120. If the second gateway 121 determines that the sequence number of the first virtual machine 112 carried by the location update message is greater than the sequence number saved by the second gateway 121, it determines that the location information of the first virtual machine 112 does not conflict, and the second gateway 121 The outbound interface in the entry corresponding to the first virtual machine 112 in the saved MAC routing table is updated to the interface of the first gateway 111 to directly update the location information of the first virtual machine 112, and to the gateway of the other data center. Send a revocation message.
  • the third gateway 131 of the third data center 130 receives the location update message, which is similar to the second gateway 121.
  • the third gateway 131 finds that the outbound interface of the first virtual machine 112 changes according to the source of the location update message.
  • the third gateway 131 determines whether there is a conflict between the location information of the first virtual machine 112 according to the sequence number of the first virtual machine 112 in the location update message, and if so, does not update the MAC routing table saved by the third gateway 131.
  • the entry corresponding to the first virtual machine 112 in the MAC routing table saved by the third gateway 131 is directly deleted. If not, the location information of the first virtual machine 112 in the MAC routing table saved by the third gateway 131 is directly updated.
  • the gateway of the data center broadcasts an ARP request message, and the gateway of each data center forwards the ARP request message to all the virtual machines registered in the data center, when the first When receiving the ARP request packet, the virtual machine 112 sends an ARP response packet, and after receiving the ARP response packet, the gateway of the data center where the user is located learns that the first virtual machine 112 is currently located in the first data center 110.
  • the MAC address entry of the first virtual machine 112 is added to the MAC routing table saved by the gateway of the data center where the user is located.
  • the outgoing interface of the first virtual machine 112 is The interface of the first gateway 111, and the gateway of the data center where the user is located sends the MAC route of the first virtual machine 112 to the gateway of the other data center through the BGP message, so that After receiving the BGP message, the gateway learns that the first virtual machine 112 is in the first data center 110, and adds the MAC address of the first virtual machine 112 to the local area to implement location information of the first virtual machine by the entire network system. Synchronization.
  • the gateway of the data center after the virtual machine is migrated performs the steps similar to the first gateway 111, and the gateway of the data center before the virtual machine migration is the same.
  • the steps of the second gateway 121 are performed similarly, and the gateway of the data center before and after the non-virtual machine migration performs the similar steps of the third gateway 131.
  • the gateway of the data center where the virtual machine is migrated before and after the virtual machine is sent the location of the virtual machine with the same serial number.
  • the new information, the gateway that receives the location update information in the network system will be regarded as a conflict and directly delete the locally saved MAC route of the virtual machine, and then learn the virtual machine when receiving the traffic addressed to the virtual machine.
  • the MAC route avoids the situation where it is impossible to determine the virtual machine's real location due to the existence of a plurality of different location update messages of the virtual machine, resulting in an error in the location information update of the virtual machine.
  • the gateway of the data center may directly delete the location update message after receiving the location update message of the first virtual machine.
  • This embodiment is compared with the foregoing method for conflicting and deleting, so that each time the data center gateway receives the virtual machine location update message, the MAC route of the virtual machine is deleted, so that the virtual machine is accessed at least for the first time after the migration. All gateways that receive the virtual machine location update message need to relearn the MAC route of the virtual machine, which can avoid the situation that the location update error occurs after the virtual machine is migrated.
  • the data center gateway may also delete the MAC address of the virtual machine saved locally after sending the location update message of the virtual machine, so that all gateways of the network system need to relearn the virtual machine. MAC routing can completely avoid the situation of location update error after virtual machine migration.
  • FIG. 3 is a flowchart of an embodiment of a method for synchronizing virtual machine location information between data center gateways of the present application. This embodiment takes the migration of virtual machines between data centers as an example. Specifically, the method includes:
  • the second gateway of the second data center receives the first location update message sent by the first gateway of the first data center, where the first location update message is detected by the first gateway by the first virtual machine. And transmitting, when the data center migrates to the first data center, the location information used to notify the first virtual machine is changed.
  • the first virtual machine is migrated from the data center to the first data center.
  • the first gateway of the first data center occurs to the gateway of the other data center.
  • a first location update message such as a BGP message, for notifying that the location information of the first virtual machine changes.
  • the second location of the second data center which is communicable with the first data center, receives the first location update message.
  • the second gateway deletes, according to the first location update message, a MAC route of the first virtual machine saved by the second gateway.
  • the second gateway After receiving the first location update message sent by the first gateway, the second gateway determines that the location of the first virtual machine changes according to the source of the location update message of the first virtual machine, and therefore deletes The MAC route of the first virtual machine saved by the second gateway.
  • a revocation message is sent to the gateway of the other data center to inform the second data center that the first virtual machine has been revoked.
  • the first location update message sent by the first gateway may include location information of the first virtual machine and a sequence number representing the number of migrations of the first virtual machine.
  • the method includes: after receiving the first location update message, determining location information and location of the first virtual machine Whether the location information of the first virtual machine in the MAC routing table of the second gateway is the same, and determining the sequence number in the first location update message and the sequence number of the first virtual machine saved by the second gateway If the location information of the first virtual machine is different from the location information of the first virtual machine in the MAC routing table of the second gateway, and the sequence number of the first location update message is the second If the sequence number of the first virtual machine saved by the gateway is the same, determining that the location information of the first virtual machine conflicts, deleting the MAC route of the first virtual machine saved in the second gateway; The location information of the virtual machine does not conflict, and the second gateway updates the location information of the first virtual machine in the MAC routing table of the second gateway
  • the second gateway When the second gateway receives the packet sent to the first virtual machine, and the second gateway does not save the MAC route of the first virtual machine, the second gateway goes to the first A virtual machine learns to obtain current location information of the first virtual machine.
  • the second gateway When the user of the second data center needs to access the first virtual machine, the second gateway receives the packet sent to the first virtual machine, and finds that the first routing table saved by the second gateway does not exist.
  • the MAC address of the virtual machine broadcasts the ARP request packet.
  • the gateway of each data center forwards the ARP request packet to all the VMs registered in the data center.
  • the first virtual machine receives the ARP request packet.
  • Sending an ARP response packet the second gateway receives the ARP response packet, and learns that the first virtual machine is currently located in the first data center, so the second gateway saves Adding a MAC routing entry of the first virtual machine to the MAC routing table, where the outbound interface of the first virtual machine is an interface of the first gateway, and the first virtual machine is implemented.
  • the exact location of the post-change information is synchronized.
  • the second gateway may also send the MAC route of the first virtual machine to the gateway of another data center by using a BGP message, so that other gateways receive the After the BGP message, the first virtual machine is learned in the first data center, and the MAC address of the first virtual machine is added to the local device to implement location information of the first virtual machine on the first virtual machine. Synchronization.
  • the gateway of the data center when the location information of the virtual machine in the data center changes, the gateway of the data center sends a location update message, so that the gateways of all other data centers delete the locally saved message when receiving the location update message.
  • the MAC route of the virtual machine avoids the location information update error in the process of changing the position of the virtual machine.
  • the gateways of other data centers learn the exact location information of the virtual machine by learning from the virtual machine, thereby realizing the accurate synchronization of the virtual machine location information between the data centers. , thereby reducing the possibility of traffic interruption due to incorrect virtual machine location information.
  • FIG. 4 is a partial flowchart of another embodiment of a method for synchronizing virtual machine location information between data center gateways of the present application. This embodiment still takes the migration of the virtual machine in the data center as an example. On the basis of the embodiment shown in FIG. 3, the embodiment further includes:
  • the second gateway uses the first in the MAC routing table saved by the second gateway.
  • the outbound interface of the second virtual machine is updated to the interface of the second gateway.
  • the second virtual machine when the second virtual machine migrates from the third data center to the second data center, the second virtual machine sends the second virtual machine to the second data center.
  • the second gateway sends a registration message.
  • the second gateway detects that the outbound interface of the second virtual machine changes from a network side interface to a local interface, and then stores the MAC address stored by the second gateway.
  • the outbound interface of the second virtual machine in the table is updated to an interface of the second gateway.
  • the outbound interface of the second virtual machine in the MAC routing table stored by the second gateway is updated to the second
  • the interface of the gateway includes: deleting an entry corresponding to the second virtual machine in the network side MAC routing table saved by the second gateway, and adding the first entry in the access side MAC routing table saved by the second gateway
  • the outbound interface of the second virtual machine is an entry of the interface of the second gateway.
  • the updating the outbound interface of the second virtual machine in the MAC routing table stored by the second gateway to the interface of the second gateway includes: The outbound interface of the second virtual machine in the MAC routing table saved by the gateway is changed from the network side out interface to the interface of the second gateway.
  • the second gateway updates a sequence number of the second virtual machine saved by the second gateway.
  • the second gateway updates the entry corresponding to the second virtual machine in the BGP table saved locally by the second gateway, where the entry includes the second virtual The MAC address of the machine, the IP address of the second gateway, and the serial number.
  • the pre-update sequence number included in the entry is issued by the data center gateway accessed before the second virtual machine is migrated. Thereafter, the second gateway adds 1 to the sequence number of the second virtual machine before the update stored in the BGP table to obtain a new serial number.
  • the second gateway sends a second location update message including a sequence number of the second virtual machine to a gateway of a data center other than the second data center, so as to be in addition to the second data center.
  • the gateway of the center learns that the location information of the second virtual machine changes, and deletes the other data when determining that the location information of the second virtual machine conflicts.
  • the gateway of the center saves the MAC route of the second virtual machine.
  • the second gateway generates a second location update message including a MAC address of the second virtual machine and a new sequence number, that is, a BGP message, and sends the BGP message to a gateway of another data center.
  • the gateway of the other data center After receiving the second location update message, the gateway of the other data center, if the location information of the second virtual machine obtained by the second location update message and the location information of the second virtual machine in the MAC route saved by the gateway If the sequence number of the second location update message is the same as the sequence number of the second virtual machine saved by the gateway, the gateway of the other data center determines that the location information of the second virtual machine conflicts. And deleting the MAC routing entry of the second virtual machine saved by the gateway.
  • the gateway of the other data center determines that there is no conflict between the location information of the second virtual machine, and the gateway uses the second in the local MAC routing table.
  • the outbound interface in the MAC entry corresponding to the virtual machine is updated to the interface of the second gateway to directly update the location information of the second virtual machine.
  • the second gateway may delete the MAC routing entry of the second virtual machine saved by the second gateway.
  • the second gateway may not delete the MAC routing entry of the second virtual machine saved by the second gateway, and only allow the gateways of other data centers to receive the second location update message. After deleting the MAC routing entry of the second virtual machine saved by the gateway of the other data center.
  • FIG. 5 is a schematic structural diagram of an embodiment of a gateway according to the present application.
  • the gateway is specifically named as the second gateway of the second data center, wherein the gateway described in the present application is generally a virtual extensible LAN under the overlay technology (English: virtual Extensible LAN, referred to as:
  • the VxLAN gateway can be configured as a carrier edge device (English: Provider Edge, PE for short).
  • the gateway includes a receiving module 510, a deleting module 520, and a learning module 530.
  • the receiving module 510 is configured to receive a first location update message sent by the first gateway of the first data center, where the first location update message is that the first gateway detects that the first virtual machine migrates to the data center And sending, by the first data center, a location information for notifying that the first virtual machine is changed.
  • the deleting module 520 is configured to delete, according to the first location update message, the MAC route of the first virtual machine saved by the second gateway, when the receiving module 510 receives the first location update message.
  • the first location update message includes location information of the first virtual machine and a sequence number representing the number of migrations of the first virtual machine.
  • the deleting module 520 may be specifically configured to: determine whether the location information of the first virtual machine is the same as the location information of the first virtual machine in the MAC route saved by the second gateway, and the sequence number of the first location update message is Whether the sequence number of the first virtual machine saved by the second gateway is the same, and the location information of the first virtual machine is different from the location information of the first virtual machine in the MAC routing table of the second gateway, and
  • the sequence number of the first location update message is the same as the sequence number of the first virtual machine saved by the second gateway, determining that the location information of the first virtual machine conflicts, deleting the location saved in the second gateway a MAC address of the first virtual machine; the location information of the first virtual machine is different from the location information of the first virtual machine in the MAC routing table of the second gateway, and the sequence of the first location update message
  • the learning module 530 is configured to: when receiving the packet addressed to the first virtual machine, and the second gateway does not save the MAC route of the first virtual machine, learn from the first virtual machine, and obtain the The current location information of the first virtual machine.
  • FIG. 6 is a schematic structural diagram of another embodiment of the gateway of the present application.
  • the gateway in this embodiment further includes an update module 540 and a sending module 550.
  • the update module 540 includes a first update unit 541 and a second update unit 542.
  • the update module 540 is configured to update a sequence number of the second virtual machine saved by the second gateway when detecting that the second virtual machine migrates from the third data center to the second data center where the second virtual machine is migrated.
  • the first update unit 541 of the update module 540 is configured to update an outbound interface of the second virtual machine in the MAC routing table saved by the second gateway to an interface of the second gateway.
  • the first update unit 541 is further configured to: when the second gateway stores the network side MAC routing table and the access side MAC routing table, delete the second virtual machine corresponding to the network side MAC routing table. An entry of the interface of the second virtual machine, where the outbound interface of the second virtual machine is an entry of the interface of the second gateway, or when the second gateway stores only one MAC routing table. The outbound interface of the second virtual machine in the MAC routing table is changed from the network side out interface to the interface of the second gateway.
  • the second update unit 542 of the update module 540 is configured to update the BGP entry of the second virtual machine saved by the second gateway, where the BGP entry of the second virtual machine includes the serial number of the second virtual machine .
  • the sending module 550 is configured to: after the update module 540 updates the serial number of the second virtual machine, The gateway of the other data center other than the second data center transmits a second location update message including the sequence number of the second virtual machine, so that the gateway of the data center other than the second data center is received After the second location update message, the location information of the second virtual machine is changed, and when it is determined that the location information of the second virtual machine conflicts, the gateway saved by the other data center is deleted.
  • the MAC route of the second virtual machine is configured to: after the update module 540 updates the serial number of the second virtual machine, The gateway of the other data center other than the second data center transmits a second location update message including the sequence number of the second virtual machine, so that the gateway of the data center other than the second data center is received After the second location update message, the location information of the second virtual machine is changed, and when it is determined that the location information of the second virtual machine conflicts, the gateway saved by the other data center is deleted.
  • the MAC route of the second virtual machine is configured to
  • the deleting module may be further configured to delete the MAC route of the second virtual machine saved by the second gateway after the sending module sends the completion of the second location update message.
  • FIG. 7 is a schematic structural diagram of still another embodiment of the gateway of the present application.
  • the gateway 700 of the present embodiment may be a second gateway of the second data center, including a receiver 710, a processor 720, a transmitter 730, a memory 740, and a bus 750.
  • the receiver 710 is configured to receive a first location update message sent by the first gateway of the first data center, where the first location update message is that the first gateway detects that the first virtual machine migrates to the data center And sending, by the first data center, a location information for notifying that the first virtual machine is changed.
  • the processor 720 is configured to delete, according to the first location update message, the MAC route of the first virtual machine saved by the memory 740 of the second gateway 700, when the receiver 710 receives the first location update message. And when the packet sent to the first virtual machine is received, and the memory 740 of the second gateway does not save the MAC route of the first virtual machine, the transmitter 730 learns from the first virtual machine. And receiving, by the receiver 710, the current location information of the first virtual machine.
  • the transmitter 730 is configured to: when receiving the packet addressed to the first virtual machine, and the memory 740 of the second gateway does not save the MAC route of the first virtual machine, the gateway to the other data center Send an ARP request message requesting the response from the first virtual machine.
  • the receiver 710 is further configured to obtain an ARP response packet of the first virtual machine, to obtain current location information of the first virtual machine.
  • the first location update message includes location information of the first virtual machine and a sequence number representing the number of migrations of the first virtual machine.
  • the processor 720 performs the step of deleting the MAC route of the first virtual machine saved by the memory 740 of the second gateway 700 according to the first location update message, specifically: determining location information of the first virtual machine.
  • the location information of the first virtual machine in the MAC route saved by the memory 740 of the second gateway 700 is the same, and the sequence number of the first location update message and the first virtual saved by the memory 740 of the second gateway 700 Whether the serial number of the machine is the same, the location information of the first virtual machine is different from the location information of the first virtual machine in the MAC routing table saved by the memory 740 of the second gateway 700, and the first location update
  • the sequence number of the message is the same as the sequence number of the first virtual machine saved by the memory 740 of the second gateway 700, it is determined that there is a conflict between the location information of the first virtual machine, and the memory 740 of the second gateway 700 is deleted.
  • location information of the first virtual machine is different from location information of the first virtual machine in a MAC routing table of the memory 740 of the second gateway 700, and the first
  • sequence number of the location update message is different from the sequence number of the first virtual machine saved by the memory 740 of the second gateway 700, it is determined that there is no conflict between the location information of the first virtual machine, and the second gateway 700 is
  • the location information of the first virtual machine in the MAC route saved by the memory 740 is updated to the location information of the first virtual machine in the location update message.
  • the processor 720 is further configured to: when detecting that the second virtual machine migrates from the third data center to the second data center where the second virtual machine is migrated, update the second virtual machine saved by the memory 740 of the second gateway 700. a serial number, and transmitting, by the transmitter 730, a second location update message including a sequence number of the second virtual machine to a gateway of a data center other than the second data center, so as to cause the second After receiving the second location update message, the gateway of the data center other than the data center learns that the location information of the second virtual machine changes, and determines that the location information of the second virtual machine conflicts. And deleting the MAC route of the second virtual machine saved by the other data center gateway.
  • the step of the processor 720 performing the updating the sequence number of the second virtual machine saved by the second gateway is specifically: the first in the MAC routing table saved by the memory 740 of the second gateway 700 Updating the outbound interface of the second virtual machine to the interface of the second gateway; updating the BGP entry of the second virtual machine saved by the memory 740 of the second gateway 700, where the BGP entries of the second virtual machine include The serial number of the second virtual machine.
  • the step of the processor 720 performing the updating of the egress interface of the second virtual machine in the MAC routing table saved by the memory 740 of the second gateway 700 to the interface of the second gateway is specifically:
  • the memory 740 of the second gateway 700 stores the network side MAC routing table and the access side MAC routing table
  • the entry corresponding to the second virtual machine in the network side MAC routing table is deleted, and the access is performed in the access
  • Adding, by the side MAC routing table, the outbound interface of the second virtual machine is an entry of the interface of the second gateway; when the memory 740 of the second gateway 700 stores only one MAC routing table, the MAC is used.
  • the outbound interface of the second virtual machine in the routing table is changed from the network side out interface to the interface of the second gateway.
  • Memory 740 can include read only memory and random access memory and provides instructions and data to processor 720. A portion of the memory 740 may also include a non-volatile random-access memory (NVRAM).
  • NVRAM non-volatile random-access memory
  • Memory 740 stores the following elements, executable modules or data structures, or subsets thereof, or their extended sets:
  • Operation instructions include various operation instructions for implementing various operations.
  • Operating system Includes a variety of system programs for implementing various basic services and handling hardware-based tasks.
  • the processor 720 performs the above operations by calling an operation instruction stored in the memory 740, which can be stored in the operating system.
  • bus 750 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus.
  • bus 750 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus.
  • various buses are labeled as bus 750 in the figure.
  • Processor 720 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 720 or an instruction in a form of software.
  • the processor 720 can be a central processing unit (English: central processing unit, CPU for short), a general-purpose processor, a digital signal processor (English: digital signal processor, referred to as DSP), an application-specific integrated circuit (English: application- Specific integrated circuit (abbreviation: ASIC), field-programmable gate array (English: field-programmable gate array, referred to as: FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • CPU central processing unit
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA field-programmable gate array
  • FPGA field-programmable gate array
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding 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 memory 740, and processor 720 reads the information in memory 740 and, in conjunction with its hardware, performs the steps of the above method.
  • gateways shown in FIG. 5-7 are all defined as the second gateway of the second data center in the above embodiments, which is only for clearer description. In fact, the gateway protected by the present application Should be the gateway of any data center in the network system.
  • the application further provides an implementation of a network system composed of a data center, the network system includes a plurality of data centers, each data center includes at least one gateway and a virtual machine, and the virtual machine of the data center passes through a gateway of the data center Communicating with other data centers, the gateway is the gateway described in the above embodiments.
  • the gateway of the data center when the location information of the virtual machine in the data center changes, the gateway of the data center sends a location update message, so that the gateways of all other data centers delete the gateway local save when receiving the location update message.
  • the MAC route of the virtual machine avoids the situation that the location information update error occurs during the change process of the virtual machine.
  • the gateway of the other data center learns by learning the virtual machine.
  • the accurate location information of the virtual machine realizes accurate synchronization of the virtual machine location information between the data centers, thereby reducing the possibility of traffic interruption due to incorrect virtual machine location information.
  • this application The solution supports the communication protocol of the original data center, without changing the original protocol field, and without changing the hardware structure.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device implementations described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application, in essence or the contribution to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor 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 (English: read-only memory, abbreviated as: ROM), a random access memory (English: random-access memory, abbreviated as: RAM), a disk or a disk. And other media that can store program code.

Landscapes

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

Abstract

本申请公开了一种数据中心网关间虚拟机位置信息同步的方法、网关及系统,其中,上述方法包括:第二数据中心的第二网关接收第一数据中心的第一网关发送的第一位置更新消息,其中,第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到第一数据中心时所发送的,用于通知第一虚拟机的位置信息发生改变;第二网关根据所述第一位置更新消息删除第二网关保存的第一虚拟机的MAC路由;当所述第二网关接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,所述第二网关向第一虚拟机学习,得到第一虚拟机的当前位置信息。通过上述方式,能够实现数据中心间的虚拟机位置信息的准确同步。

Description

数据中心网关间虚拟机位置信息同步的方法、网关及系统
本申请要求于2014年11月26日提交中国专利局、申请号为201410693597.2、发明名称为“数据中心网关间虚拟机位置信息同步的方法、网关及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,特别是涉及数据中心网关间虚拟机位置信息同步的方法、网关及系统。
背景技术
目前,在互联的数据中心之间可实现虚拟机的迁移。而在虚拟机进行跨数据中心迁移后,虚拟机的位置信息会发生改变,故互联的数据中心均需要更新本地MAC路由表中的该虚拟机的出接口,以同步该虚拟机的位置信息,使得所有数据中心均能正确转发访问此虚拟机的数据流。
现有同步虚拟机迁移后的位置信息的方法具体是:
如图1,第一虚拟机(英文:virtual machine,简称:VM)112从第二数据中心120迁移到第一数据中心110后,在第一数据中心110中广播发送免费(英文:gratuitous)地址解析协议(英文:Address Resolution Protocol,简称:ARP)报文;
第一数据中心110的第一网关111接收到该免费ARP报文后,发现第一网关111已经保存了第一虚拟机112的MAC路由表项,并且第一虚拟机112的MAC地址和IP地址属于第一数据中心110,则将该第一虚拟机112的MAC路由表项中的出接口更新为本地的出接口,并将保存的对应第一虚拟机112的序列号加一后,通过边界网关协议(英文:Border Gateway Protocol,简称:BGP)消息将第一虚拟机112的加一后的新序列号发送给其他数据中心的网关,图1中,所述BGP消息到达第二数据中心120的第二网关121、第三数据中心130的第三网关131;
第二网关121、第三网关131在接收到第一虚拟机112的新序列号之后,与保存的第一虚拟机112的原序列号对比,如发现新序列号大于本地保存的原序列号,则将本地保存的第一虚拟机112的序列号更新为接收到的新序列号,并将本地的MAC路由表中该第一虚拟机112的出接口更新为网络侧的第一数据中心110对应的出接口,实现第一虚拟机112的位置信息的更新。
然而,上述现有方式存在以下问题:
如果第一虚拟机112迁移前所在的第二数据中心120是第二网关121故障后恢复正常通信的,则第二网关121在恢复正常时会通过BGP消息重新向其他数据中心的网关发布第一虚拟机112在第二数据中心120的MAC路由,所述BGP消息中的序列号为保存的序列号加一得到的。然而,实际上第一虚拟机112已迁移到第一数据中心110并已完成注册,故第一网关111也会通过BGP消息发布该虚拟机第一虚拟机112在第一数据中心110的MAC路由,如前所述,第一网关111发布的BGP消息中的序列号也是根据MAC地址和IP地址生成的序列号加一得到的。由于第一网关111和第二网关121发布的两个BGP消息中的序列号相同,从而导致其他数据中心的第三网关131收到该两个BGP消息时,无法确定第一虚拟机112当前实际所在的数据中心为哪一个,可能会将第一虚拟机112的位置错误更新到第二数据中心120上。
故,现有技术可能会将虚拟机的位置信息错误更新到迁移前的数据中心。在此情况下,当迁移前的数据中心将旧的虚拟机信息删除后,则会导致访问所述虚拟机的流量长时间中断。
发明内容
本申请提供一种数据中心网关间虚拟机位置信息同步的方法、网关及系统,能够实现数据中心网关间对虚拟机位置信息的准确同步,减少流量中断的可能性。
本申请第一方面提供一种数据中心网关间虚拟机位置信息同步的方法,包括:第二数据中心的第二网关接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变;所述第二网关根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由;当所述第二网关接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,所述第二网关向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
结合第一方面,在第一方面的第一实施方式中,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号;所述第二网关根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由,具体包括:如果所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息 不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同,则确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由。
结合第一方面的第一实施方式,在第一方面的第二实施方式中,还包括:如果所述第二网关检测到第二虚拟机从第三数据中心迁移到所述第二数据中心,则更新所述第二网关保存的所述第二虚拟机的序列号;所述第二网关向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的第二虚拟机的MAC路由。
结合第一方面的第二实施方式,在第一方面的第三实施方式中,所述如果所述第二网关检测到第二虚拟机从第三数据中心迁移到所述第二数据中心之后,还包括:所述第二网关将所述第二网关保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口;所述更新所述第二网关保存的所述第二虚拟机的序列号具体包括:所述第二网关更新所述第二网关保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
结合第一方面的第三实施方式,在第一方面的第四实施方式中,所述第二网关将所述第二网关保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口,具体包括:当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,所述第二网关删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;或当所述第二网关仅存储有一个MAC路由表时,则将所述MAC路由表中第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
本申请第二方面提供一种网关,所述网关具体为第二数据中心的第二网关,包括接收模块、删除模块和学习模块;所述接收模块用于接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变;所述删除模块用于在所述接收模块接收到所述第一位置更新消息时,根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由;所述学习模块用于当接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚 拟机的MAC路由时,向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
结合第二方面,在第二方面的第一实施方式中,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号;所述删除模块具体用于在所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由。
结合第二方面的第一实施方式,在第二方面的第二实施方式中,还包括更新模块和发送模块;所述更新模块用于在检测到第二虚拟机从第三数据中心迁移到所在的第二数据中心时,更新所述第二网关保存的所述第二虚拟机的序列号;所述发送模块用于在所述更新模块更新完成所述第二虚拟机的序列号后,向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的第二虚拟机的MAC路由。
结合第二方面的第二实施方式,在第二方面的第三实施方式中,所述更新模块包括第一更新单元和第二更新单元;所述第一更新单元用于将所述第二网关保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口;所述第二更新单元用于更新所述第二网关保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
结合第二方面的第三实施方式,在第二方面的第四实施方式中,所述第一更新单元具体用于:当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;或当所述第二网关仅存储有一个MAC路由表时,将所述MAC路由表中第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
本申请第三方面提供一种数据中心组成的网络系统,包括第一数据中心和第二数据中心,所述第一数据中心包括第一网关和至少一个虚拟机,所述第二数据中心包括第二网关和至少一个虚拟机;所述第一网关用于在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时,向所述网络系统中的其他数据中心的网关发送用于通知所述第一虚拟 机的位置信息发生改变的第一位置更新消息;所述第二网关用于接收所述第一网关发送的第一位置更新消息;根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由;当接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
结合第三方面,在第三方面的第一实施方式中,所述第一网关具体用于在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时,更新所述第一网关保存的所述第一虚拟机的序列号,并向除所述第一数据中心外的其他数据中心的网关发送第一位置更新消息,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号;所述第二网关执行所述删除所述第二网关保存的所述第一虚拟机的MAC路由,具体包括:在所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由。
结合第三方面的第一实施方式,在第三方面的第二实施方式中,所述第一网关执行所述更新所述第一网关保存的所述第一虚拟机的序列号具体包括:将所述第一网关保存的MAC路由表中的第一虚拟机的出接口更新为所述第一网关的接口;更新所述第一网关保存的所述第一虚拟机的BGP表项,所述第一虚拟机的BGP表项包括所述第一虚拟机的序列号。
结合第三方面的第二实施方式,在第三方面的第三实施方式中,所述第一网关执行所述将所述第一网关保存的MAC路由表中的第一虚拟机的出接口更新为所述第一网关的接口具体包括:当所述第一网关存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第一虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第一虚拟机的出接口为所述第二网关的接口的表项;或当所述第一网关仅存储有一个MAC路由表时,将所述MAC路由表中第一虚拟机的出接口由网络侧出接口改为所述第一网关的接口。
上述方案中,当数据中心中的虚拟机的位置信息发生变化时,该数据中心的网关发送位置更新消息,以使其他所有数据中心的网关在接收到该位置更新消息时,删除本地保存的该虚拟机的MAC路由,避免了在虚拟机的位置变化过程出现位置信息更新错误的状况,然后,当有流量访问该虚拟机时,其他数据中心的网关再通过向该虚拟机学习, 得到所述虚拟机的准确位置信息,实现了数据中心间的虚拟机位置信息的准确同步,从而减少了由于虚拟机位置信息不正确而导致流量中断的可能性。
附图说明
图1是现有数据中心组成的网络系统的结构示意图;
图2是本申请数据中心组成的网络系统的实施方式的结构示意图;
图3是本申请数据中心网关间虚拟机位置信息同步的方法一实施方式的流程图;
图4是本申请数据中心网关间虚拟机位置信息同步的方法另一实施方式的部分流程图;
图5是本申请网关一实施方式的结构示意图;
图6是本申请网关另一实施方式的结构示意图;
图7是本申请网关再一实施方式的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
请参阅图2,图2是本申请数据中心组成的网络系统的实施方式的结构示意图。该网络系统包括多个数据中心,数据中心之间可进行通讯,本实施方式以网络系统包括第一数据中心110、第二数据中心120、第三数据中心130共三个数据中心为例。其中,每个数据中心均包括网关和至少一个虚拟机,每个数据中心的多个虚拟机可设置在一台或多台主机上,如第一数据中心110中的虚拟机均设置在主机114上。每个数据中心的虚拟机通过网关与其他数据中心中的虚拟机通信。每个数据中心的网关保存有各个数据中心中已注册的虚拟机的MAC路由表项,其中,每个虚拟机的MAC路由表项具体包括该虚拟机的MAC地址以及出接口,由于每个虚拟机均是通过网关与其他数据中心通信,故虚拟机的出接口即为所在数据中心的网关的接口。当某个数据中心中的用户需要访问另一数据中心的虚拟机时,所述用户所在数据中心的网关根据该MAC路由表项将所述用户发送的数据发送给目的虚拟机的出接口所对应的网关,由该网关将所述数据转发给所述目的虚拟机,实现虚拟机之间的跨数据中心通信。
在第一虚拟机112从第二数据中心120迁移到第一数据中心110时,第一虚拟机112 向第一数据中心110的第一网关111发送注册消息,第一网关111收到第一虚拟机112的注册消息,经BGP计算发现第一虚拟机112的出接口由网络侧接口变成本地接口,将第一网关111本地存储的MAC路由表中的第一虚拟机112的出接口更新为所述本地接口即第一网关111的接口。
当所述第一网关111存储有网络侧MAC路由表和接入侧MAC路由表时,所述将第一网关111本地存储的MAC路由表中的第一虚拟机112的出接口更新为所述本地接口包括:删除所述网络侧MAC路由表中所述第一虚拟机112对应的表项,并在所述接入侧MAC路由表中添加所述第一虚拟机112的出接口为第一网关111的接口的表项。
当所述第一网关111仅存储有一个MAC路由表时,所述将第一网关111本地存储的MAC路由表中的第一虚拟机112的出接口更新为所述本地接口包括:将MAC路由表中第一虚拟机112的出接口由网络侧出接口改为第一网关111本地的接口。
以图1为例,迁移前的第一虚拟机112位于第二数据中心120的112'处,并且在112'处通过第二接口123与第二网关121通信。迁移后的第一虚拟机112通过第一接口113与第一网关111通信,故第一网关111将唯一的MAC路由表中第一虚拟机112的出接口由网络侧出接口改为本地接口即第一接口113。
第一网关111在更新完本地MAC路由表后,在本地保存的BGP表添加对应所述第一虚拟机112的表项,所述表项包括第一虚拟机112的MAC地址、所述第一网关111的IP地址以及序列号。所述序列号的初始值是由所述第一虚拟机112第一次接入的网关,例如,第二网关121,根据所述第一虚拟机112的MAC地址和IP地址生成的。然后,所述初始值被所述最早接入的网关发布给其他网关。此后,所述第一虚拟机112每迁移一次,迁移后接入的网关对所述序列号加1。本实施例中,所述第一网关111将所述BGP表中保存的第一虚拟机112的序列号加1得到新序列号,生成包括所述第一虚拟机112的MAC地址以及所述新序列号的位置更新消息,即BGP消息,并将所述BGP消息分别发送给第二网关121和第三网关131,所述BGP消息用于通知第二网关121和第三网关131所述第一虚拟机112的位置信息发生改变。
第二数据中心120的第二网关121接收到该位置更新消息,根据第一虚拟机112的位置更新消息的来源为第一网关,确定第一虚拟机112迁移到第一数据中心110。此时,如果所述位置更新消息携带的第一虚拟机112的序列号等于第二网关121保存的序列号,则确定第一虚拟机112的位置信息存在冲突,则第二网关121直接删除第二网关121保存的第一虚拟机112的MAC路由表项,并且向其他数据中心的网关发送撤销消息, 所述撤销消息用于通知其他数据中心的网关第二数据中心120已撤销第一虚拟机112,即第一虚拟机112不再位于第二数据中心120。如果第二网关121判断所述位置更新消息携带的第一虚拟机112的序列号大于第二网关121保存的序列号,则确定第一虚拟机112的位置信息不存在冲突,将第二网关121保存的MAC路由表中的第一虚拟机112对应的表项中的出接口更新为所述第一网关111的接口,以直接更新第一虚拟机112的位置信息,并且向其他数据中心的网关发送撤销消息。
第三数据中心130的第三网关131接收到该位置更新消息,类同于第二网关121,第三网关131根据所述位置更新消息的来源发现第一虚拟机112的出接口发生变化。此时,第三网关131根据位置更新消息中的第一虚拟机112的序列号确定第一虚拟机112的位置信息是否存在冲突,如果存在,则不再更新第三网关131保存的MAC路由表,而是直接删除第三网关131保存的MAC路由表中所述第一虚拟机112对应的表项。如果不存在,则直接更新第三网关131保存的MAC路由表中第一虚拟机112的位置信息。
由于本网络系统中第一虚拟机112的位置信息存在冲突的数据中心网关均删除了各自保存的该第一虚拟机112的MAC路由,所以在第一虚拟机112的位置信息存在冲突的数据中心的用户需要访问第一虚拟机112时,该数据中心的网关会广播ARP请求报文,每个数据中心的网关将该ARP请求报文转发给所在数据中心中注册的所有虚拟机,当第一虚拟机112接收到该ARP请求报文时,发送ARP应答报文,所述用户所在的数据中心的网关接收到该ARP应答报文后,学习到第一虚拟机112当前位于第一数据中心110中,故在所述用户所在的数据中心的网关保存的MAC路由表中添加第一虚拟机112的MAC路由表项,在所述MAC路由表项中,第一虚拟机112的出接口为所述第一网关111的接口,并且所述用户所在的数据中心的网关将第一虚拟机112的MAC路由通过BGP消息发送给其他数据中心的网关,使得其他网关接收到该BGP消息后,均学习到第一虚拟机112在第一数据中心110中,并将第一虚拟机112的MAC路由增加到本地,实现整个网络系统对第一虚拟机的位置信息的同步。
同理,当网络系统中的任意一虚拟机发生跨数据中心时,该虚拟机迁移后所在数据中心的网关执行类似上述第一网关111的步骤,而虚拟机迁移前所在数据中心的网关同理执行类似上述第二网关121的步骤,非虚拟机迁移前、后所在数据中心的网关则同理执行类似上述第三网关131的步骤。
由于本申请采用将虚拟机迁移后存在冲突时将该虚拟机的MAC路由全网删除,故即使虚拟机迁移前、后所在的数据中心的网关均发送序列号相同的所述虚拟机的位置更 新信息,网络系统中接收到该位置更新信息的网关均会视为冲突而直接删除本地保存的该虚拟机的MAC路由,直到接收到发往该虚拟机的流量时再学习所述虚拟机的MAC路由,故避免了由于存在该虚拟机的多个不同的位置更新消息而无法判断虚拟机真实位置导致虚拟机的位置信息更新出错的情况。
当然,在其他实施方式中,特别是网关发送的位置更新消息不包括序列号的实施方式中,数据中心的网关在接收到第一虚拟机的位置更新消息后,可不作冲突判断,直接删除该数据中心的网关保存的第一虚拟机的MAC路由。此实施方式较于上面先作冲突判断再删除的实施方式,使得每次数据中心网关接收到虚拟机位置更新消息时均删除该虚拟机的MAC路由,使得虚拟机迁移后至少首次被访问的时候所有接收到虚拟机位置更新消息的网关均需要重新学习所述虚拟机的MAC路由,更能避免虚拟机迁移后位置更新出错的情况。进一步,虚拟机迁移后所在的数据中心网关也可在发送该虚拟机的位置更新消息后,也可将本地保存的该虚拟机的MAC路由删除,使得网络系统所有网关均需要重新学习虚拟机的MAC路由,更能彻底避免虚拟机迁移后位置更新出错的情况。
请参阅图3,图3是本申请数据中心网关间虚拟机位置信息同步的方法一实施方式的流程图。本实施方式以数据中心间的虚拟机的迁移为例。具体,该方法包括:
301:第二数据中心的第二网关接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变。
本实施方式以第一虚拟机发生跨数据中心迁移为例,当第一虚拟机发生迁移从其他数据中心迁移到第一数据中心时,第一数据中心的第一网关向其他数据中心的网关发生用于通知第一虚拟机的位置信息发生变化的第一位置更新消息,如BGP消息。
可与第一数据中心通讯的第二数据中心的第二网关接收该第一位置更新消息。
302:所述第二网关根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由。
所述第二网关在接收到所述第一网关发送的第一位置更新消息后,根据第一虚拟机的位置更新消息的来源为第一网关而确定第一虚拟机的位置发生变化,故删除所述第二网关保存的第一虚拟机的MAC路由。
进一步,所述第二网关如果发现所述第一虚拟机的位置是从本地侧变成网络侧的,即所述第一虚拟机在迁移前是在所述第二数据中心的,则还可向其他数据中心的网关发送撤销消息以通知所述第二数据中心已撤销所述第一虚拟机。
优化地,所述第一网关发送的第一位置更新消息可以包括所述第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号。所述第二网关删除所述第二网关保存的所述第一虚拟机的MAC路由,具体包括:在接收到所述第一位置更新消息后,判断所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息是否相同,且判断所述第一位置更新消息中的序列号与所述第二网关保存的所述第一虚拟机的序列号是否相同,如果所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同,则确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由;否则确定所述第一虚拟机的位置信息不存在冲突,所述第二网关将所述第二网关的MAC路由表中的所述第一虚拟机的位置信息更新为位置更新消息中的所述第一虚拟机的位置信息。所述第一虚拟机的位置信息具体可以是所述第一虚拟机连接的数据中心网关的地址信息。
303:当所述第二网关接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,所述第二网关向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
当第二数据中心的用户需要访问所述第一虚拟机时,所述第二网关接收发往所述第一虚拟机的报文,并发现第二网关保存的MAC路由表中不存在第一虚拟机的MAC路由时,则会广播ARP请求报文,每个数据中心的网关将该ARP请求报文转发给所在数据中心中注册的所有虚拟机,当第一虚拟机接收到该ARP请求报文时,发送ARP应答报文,所述第二网关接收到该ARP应答报文后,学习到了所述第一虚拟机当前位于所述第一数据中心上,故在所述第二网关保存的MAC路由表中添加所述第一虚拟机的MAC路由表项,在所述MAC路由表项中,所述第一虚拟机的出接口为所述第一网关的接口,实现对第一虚拟机的变化后位置信息的准确同步。
进一步地,所述第二网关在学习到所述第一虚拟机的当前位置后,还可将所述第一虚拟机的MAC路由通过BGP消息发送给其他数据中心的网关,使得其他网关接收到该BGP消息后,均学习到所述第一虚拟机在所述第一数据中心中,并将所述第一虚拟机的MAC路由增加到本地,实现整个网络系统对第一虚拟机的位置信息的同步。
本实施方式,当数据中心中的虚拟机的位置信息发生变化时,该数据中心的网关发送位置更新消息,以使其他所有数据中心的网关在接收到该位置更新消息时,删除本地保存的该虚拟机的MAC路由,避免了在虚拟机的位置变化过程出现位置信息更新错误 的状况,然后,当有流量访问该虚拟机时,其他数据中心的网关再通过向该虚拟机学习,得到所述虚拟机的准确位置信息,实现了数据中心间的虚拟机位置信息的准确同步,从而减少了由于虚拟机位置信息不正确而导致流量中断的可能性。
请参阅图4,图4是本申请数据中心网关间虚拟机位置信息同步的方法另一实施方式的部分流程图。本实施方式依然以数据中心的虚拟机发生迁移为例,在图3所示的基础上,本实施方式还包括:
401:如果所述第二网关检测到第二虚拟机从第三数据中心迁移到所述第二数据中心,则所述第二网关将所述第二网关保存的MAC路由表中的所述第二虚拟机的出接口更新为所述第二网关的接口。
具体,类似于上一实施方式的第一网关,所述第二虚拟机从所述第三数据中心迁移到所述第二数据中心时,所述第二虚拟机向所述第二数据中心的所述第二网关发送注册消息。所述第二网关在接收到所述第二虚拟机的注册消息时,检测到所述第二虚拟机的出接口由网络侧接口变成本地接口,则将所述第二网关存储的MAC路由表中的所述第二虚拟机的出接口更新为所述第二网关的接口。
当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,所述将第二网关存储的MAC路由表中的所述第二虚拟机的出接口更新为所述第二网关的接口包括:删除所述第二网关保存的网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述第二网关保存的接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项。
当所述第二网关仅存储有一个MAC路由表时,所述将第二网关存储的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口包括:将所述第二网关保存的MAC路由表中所述第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
402:所述第二网关更新所述第二网关保存的所述第二虚拟机的序列号。
例如,所述第二网关在更新完本地MAC路由表后,在所述第二网关本地保存的BGP表中更新对应所述第二虚拟机的表项,所述表项包括所述第二虚拟机的MAC地址、所述第二网关的IP地址以及序列号。所述表项中包括的更新前的序列号是由所述第二虚拟机迁移前接入的数据中心网关发布的。此后,第二网关将所述BGP表中保存的更新前的第二虚拟机的序列号加1得到新序列号。
403:所述第二网关向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据 中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的所述第二虚拟机的MAC路由。
所述第二网关生成包括第二虚拟机的MAC地址以及新序列号的第二位置更新消息,即BGP消息,并将所述BGP消息分别发送给其他数据中心的网关。所述其他数据中心的网关收到所述第二位置更新消息后,如果由第二位置更新消息得到的第二虚拟机的位置信息与该网关保存的MAC路由中的第二虚拟机的位置信息不同,且所述第二位置更新消息的序列号与该网关保存的所述第二虚拟机的序列号相同,则所述其他数据中心的网关确定所述第二虚拟机的位置信息存在冲突,并删除该网关保存的所述第二虚拟机的MAC路由表项。如果根据第二位置更新消息得到的所述第二虚拟机的位置信息与该网关保存的MAC路由中的第二虚拟机的位置信息不同,但所述第二位置更新消息中的序列号与该网关保存的所述第二虚拟机的序列号不相同,则所述其他数据中心的网关确定所述第二虚拟机的位置信息不存在冲突,该网关将本地MAC路由表中的所述第二虚拟机对应的MAC表项中的出接口更新为所述第二网关的接口,以直接更新第二虚拟机的位置信息。
可选地,在发送所述第二位置更新消后,所述第二网关可将所述第二网关保存的所述第二虚拟机的MAC路由表项删除。当然,在其他实施方式中,所述第二网关也可不删除所述第二网关保存的所述第二虚拟机的MAC路由表项,仅让其他数据中心的网关在接收到第二位置更新消息后删除其他数据中心的网关保存的所述第二虚拟机的MAC路由表项。
请参阅图5,图5是本申请网关一实施方式的结构示意图。本申请中,为便于说明,将该网关具体命名为第二数据中心的第二网关,其中,本申请所述的网关一般为overlay技术下的虚拟可扩展局域网(英文:virtual Extensible LAN,简称:VxLAN)网关,具体可设置为运营商边缘设备(英文:Provider Edge,简称:PE)。具体该网关包括接收模块510、删除模块520和学习模块530。
接收模块510用于接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变。
删除模块520用于在接收模块510接收到所述第一位置更新消息时,根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由。
其中,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号。删除模块520可具体用于:判断所述第一虚拟机的位置信息与第二网关保存的MAC路由中的第一虚拟机的位置信息是否相同,且所述第一位置更新消息的序列号与第二网关保存的所述第一虚拟机的序列号是否相同,在所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由;在所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号不相同时,确定第一虚拟机的位置信息不存在冲突,并将第二网关保存的MAC路由中的所述第一虚拟机的位置信息更新为所述位置更新消息中的第一虚拟机的位置信息。
学习模块530用于当接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
请参阅图6,图6是本申请网关另一实施方式的结构示意图。在图5所示实施例的基础上,本实施方式中的网关还包括更新模块540和发送模块550,更新模块540包括第一更新单元541和第二更新单元542。
更新模块540用于在检测到第二虚拟机从第三数据中心迁移到所在的第二数据中心时,更新所述第二网关保存的所述第二虚拟机的序列号。
具体,更新模块540的第一更新单元541用于将所述第二网关保存的MAC路由表中的所述第二虚拟机的出接口更新为所述第二网关的接口。
第一更新单元541还可具体用于:当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;或当所述第二网关仅存储有一个MAC路由表时,将所述MAC路由表中所述第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
更新模块540的第二更新单元542用于更新所述第二网关保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
发送模块550用于在更新模块540更新完成所述第二虚拟机的序列号后,向除所述 第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的所述第二虚拟机的MAC路由。
在其他实施方式中,删除模块还可用于在发送模块发送完成所述第二位置更新消息后,删除第二网关保存的第二虚拟机的MAC路由。
请参阅图7,图7是本申请网关再一实施方式的结构示意图。本实施方式的网关700可以为第二数据中心的第二网关,包括接收器710、处理器720、发送器730、存储器740以及总线750。
接收器710用于接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变。
处理器720用于在接收器710接收到所述第一位置更新消息时,根据所述第一位置更新消息删除所述第二网关700的存储器740保存的所述第一虚拟机的MAC路由,并当接收到发往所述第一虚拟机的报文,且所述第二网关的存储器740没有保存所述第一虚拟机的MAC路由时,通过发送器730向所述第一虚拟机学习,并通过接收器710接收得到所述第一虚拟机的当前位置信息。其中,发送器730用于当接收到发往所述第一虚拟机的报文,且所述第二网关的存储器740没有保存所述第一虚拟机的MAC路由时,向其他数据中心的网关发送请求第一虚拟机应答的ARP请求报文。接收器710还用于获得所述第一虚拟机的ARP应答报文,进而得到所述第一虚拟机的当前位置信息。
可选地,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号。处理器720执行根据所述第一位置更新消息所述删除所述第二网关700的存储器740保存的所述第一虚拟机的MAC路由的步骤具体为:判断所述第一虚拟机的位置信息与第二网关700的存储器740保存的MAC路由中的第一虚拟机的位置信息是否相同,且所述第一位置更新消息的序列号与第二网关700的存储器740保存的所述第一虚拟机的序列号是否相同,在所述第一虚拟机的位置信息与所述第二网关700的存储器740保存的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关700的存储器740保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关700的存储器740保存的 所述第一虚拟机的MAC路由;在所述第一虚拟机的位置信息与所述第二网关700的存储器740的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关700的存储器740保存的所述第一虚拟机的序列号不相同时,确定第一虚拟机的位置信息不存在冲突,并将第二网关700的存储器740保存的MAC路由中的所述第一虚拟机的位置信息更新为位置更新消息中的第一虚拟机的位置信息。
可选地,处理器720还用于在检测到第二虚拟机从第三数据中心迁移到所在的第二数据中心时,更新所述第二网关700的存储器740保存的所述第二虚拟机的序列号,并通过发送器730向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心网关保存的所述第二虚拟机的MAC路由。
可选地,处理器720执行所述更新所述第二网关保存的所述第二虚拟机的序列号的步骤具体为:将所述第二网关700的存储器740保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口;更新所述第二网关700的存储器740保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
可选地,处理器720执行所述将所述第二网关700的存储器740保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口的步骤具体为:当所述第二网关700的存储器740存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;当所述第二网关700的存储器740仅存储有一个MAC路由表时,将所述MAC路由表中第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
存储器740可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。存储器740的一部分还可以包括非易失性随机存取存储器(英文:non-volatile random-access memory,简称:NVRAM)。
存储器740存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器720通过调用存储器740存储的操作指令(该操作指令可存储在操作系统中),来执行上述操作。
具体的应用中,所述网关的各个组件通过总线750耦合在一起,其中总线750除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线750。
处理器720可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器720可以是中央处理单元(英文:central processing unit,简称:CPU)、通用处理器、数字信号处理器(英文:digital signal processor,简称:DSP)、专用集成电路(英文:application-specific integrated circuit,简称:ASIC)、现成可编程门阵列(英文:field-programmable gate array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器740,处理器720读取存储器740中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,图5-7所示的网关在上面的实施方式中均定义为第二数据中心的第二网关,这仅是为了能够更清楚进行说明,实际上,本申请所保护的网关应为网络系统中的任意数据中心的网关。
本申请还提供一种数据中心组成的网络系统的实施方式,该网络系统包括多个数据中心,每个数据中心包括至少一个网关和虚拟机,所述数据中心的虚拟机通过所在数据中心的网关与其他数据中心通信,所述网关为上面实施方式所述的网关。
上述方案中,当数据中心中的虚拟机的位置信息发生变化时,该数据中心的网关发送位置更新消息,以使其他所有数据中心的网关在接收到该位置更新消息时,删除该网关本地保存的该虚拟机的MAC路由,避免了在虚拟机的位置变化过程出现位置信息更新错误的状况,然后,当有流量访问该虚拟机时,其他数据中心的网关再通过向该虚拟机学习,得到所述虚拟机的准确位置信息,实现了数据中心间的虚拟机位置信息的准确同步,从而减少了由于虚拟机位置信息不正确而导致流量中断的可能性。而且,本申请 方案可支持原来数据中心的通讯协议,无需更改原来的协议字段,且无需更改硬件结构。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:read-only memory,简称:ROM)、随机存取存储器(英文:random-access memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (14)

  1. 一种数据中心网关间虚拟机位置信息同步的方法,其特征在于,包括:
    第二数据中心的第二网关接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变;
    所述第二网关根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由;
    当所述第二网关接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,所述第二网关向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
  2. 根据权利要求1所述的方法,其特征在于,所述第一位置更新消息包括所述第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号;
    所述第二网关根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由,具体包括:
    如果所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同,则确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由。
  3. 根据权利要求2所述的方法,其特征在于,还包括:
    如果所述第二网关检测到第二虚拟机从第三数据中心迁移到所述第二数据中心,则更新所述第二网关保存的所述第二虚拟机的序列号;
    所述第二网关向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的所述第二虚拟机的MAC路由。
  4. 根据权利要求3所述的方法,其特征在于,所述如果所述第二网关检测到第二虚拟机从第三数据中心迁移到所述第二数据中心之后,还包括:
    所述第二网关将所述第二网关保存的MAC路由表中的所述第二虚拟机的出接口更 新为所述第二网关的接口;
    所述更新所述第二网关保存的所述第二虚拟机的序列号具体包括:
    所述第二网关更新所述第二网关保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
  5. 根据权利要求4所述的方法,其特征在于,所述第二网关将所述第二网关保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口,具体包括:
    当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,所述第二网关删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;或
    当所述第二网关仅存储有一个MAC路由表时,所述第二网关将所述MAC路由表中所述第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
  6. 一种网关,其特征在于,所述网关具体为第二数据中心的第二网关,包括接收模块、删除模块和学习模块;
    所述接收模块用于接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变;
    所述删除模块用于在所述接收模块接收到所述第一位置更新消息时,根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由;
    所述学习模块用于当接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
  7. 根据权利要求6所述的网关,其特征在于,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号;
    所述删除模块具体用于在所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由。
  8. 根据权利要求7所述的网关,其特征在于,还包括更新模块和发送模块;
    所述更新模块用于在检测到第二虚拟机从第三数据中心迁移到所述第二数据中心时,更新所述第二网关保存的所述第二虚拟机的序列号;
    所述发送模块用于在所述更新模块更新完成所述第二虚拟机的序列号后,向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的所述第二虚拟机的MAC路由。
  9. 根据权利要求8所述的网关,其特征在于,所述更新模块包括第一更新单元和第二更新单元;
    所述第一更新单元用于将所述第二网关保存的MAC路由表中的所述第二虚拟机的出接口更新为所述第二网关的接口;
    所述第二更新单元用于更新所述第二网关保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
  10. 根据权利要求9所述的网关,其特征在于,所述第一更新单元具体用于:
    当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;或
    当所述第二网关仅存储有一个MAC路由表时,将所述MAC路由表中所述第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
  11. 一种数据中心组成的网络系统,其特征在于,包括第一数据中心和第二数据中心,所述第一数据中心包括第一网关和至少一个虚拟机,所述第二数据中心包括第二网关和至少一个虚拟机;
    所述第一网关用于在检测到第一虚拟机跨数据中心迁移到所述第一数据中心时,向所述网络系统中的其他数据中心的网关发送用于通知所述第一虚拟机的位置信息发生改变的第一位置更新消息;
    所述第二网关用于接收所述第一网关发送的第一位置更新消息;根据所述第一位置更新消息删除所述第二网关保存的所述第一虚拟机的MAC路由;当接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
  12. 根据权利要求11所述的网络系统,其特征在于,
    所述第一网关具体用于在检测到第一虚拟机跨数据中心迁移到所述第一数据中心 时,更新所述第一网关保存的所述第一虚拟机的序列号,并向除所述第一数据中心外的其他数据中心的网关发送第一位置更新消息,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迁移次数的序列号;
    所述第二网关执行所述删除所述第二网关保存的所述第一虚拟机的MAC路由,具体包括:在所述第一虚拟机的位置信息与所述第二网关的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关中保存的所述第一虚拟机的MAC路由。
  13. 根据权利要求12所述的系统,其特征在于,所述第一网关执行所述更新所述第一网关保存的所述第一虚拟机的序列号具体包括:将所述第一网关保存的MAC路由表中的所述第一虚拟机的出接口更新为所述第一网关的接口;更新所述第一网关保存的所述第一虚拟机的BGP表项,所述第一虚拟机的BGP表项包括所述第一虚拟机的序列号。
  14. 根据权利要求13所述的系统,其特征在于,所述第一网关执行所述将所述第一网关保存的MAC路由表中的第一虚拟机的出接口更新为所述第一网关的接口具体包括:当所述第一网关存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第一虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第一虚拟机的出接口为所述第二网关的接口的表项;或当所述第一网关仅存储有一个MAC路由表时,将所述MAC路由表中所述第一虚拟机的出接口由网络侧出接口改为所述第一网关的接口。
PCT/CN2015/081801 2014-11-26 2015-06-18 数据中心网关间虚拟机位置信息同步的方法、网关及系统 WO2016082528A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15863873.4A EP3214816B1 (en) 2014-11-26 2015-06-18 Method, gateway and system for synchronizing virtual machine location information between data center gateways
US15/606,859 US10361992B2 (en) 2014-11-26 2017-05-26 Method for synchronizing virtual machine location information between data center gateways, gateway, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410693597.2A CN105704045B (zh) 2014-11-26 2014-11-26 数据中心网关间虚拟机位置信息同步的方法、网关及系统
CN201410693597.2 2014-11-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/606,859 Continuation US10361992B2 (en) 2014-11-26 2017-05-26 Method for synchronizing virtual machine location information between data center gateways, gateway, and system

Publications (1)

Publication Number Publication Date
WO2016082528A1 true WO2016082528A1 (zh) 2016-06-02

Family

ID=56073519

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/081801 WO2016082528A1 (zh) 2014-11-26 2015-06-18 数据中心网关间虚拟机位置信息同步的方法、网关及系统

Country Status (4)

Country Link
US (1) US10361992B2 (zh)
EP (1) EP3214816B1 (zh)
CN (1) CN105704045B (zh)
WO (1) WO2016082528A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208813A (zh) * 2022-09-14 2022-10-18 腾讯科技(深圳)有限公司 一种边界网关协议的迁移方法、装置、设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322393B (zh) * 2017-01-18 2021-03-16 阿里巴巴集团控股有限公司 路由链路管理方法和系统、虚拟路由网关和宿主机网关
CN107547349B (zh) * 2017-07-31 2021-02-05 新华三技术有限公司 一种虚拟机迁移的方法及装置
CN108092810A (zh) * 2017-12-13 2018-05-29 锐捷网络股份有限公司 一种虚拟机管理方法、vtep设备及管理设备
CN108418740B (zh) * 2018-02-28 2020-09-08 新华三技术有限公司 报文处理方法及装置
GB201819616D0 (en) * 2018-11-30 2019-01-16 Graphcore Ltd Virtualised gateways
CN110011859B (zh) * 2019-04-15 2022-04-29 深信服科技股份有限公司 一种虚拟机控制方法及集群系统
US11288147B2 (en) * 2019-11-22 2022-03-29 Visa International Service Association Method, system, and computer program product for maintaining data centers
WO2022172063A1 (ja) * 2021-02-12 2022-08-18 ラクテン・シンフォニー・シンガポール・プライベート・リミテッド ネットワークサービス管理装置およびネットワークサービス管理方法
US20230132016A1 (en) * 2021-10-21 2023-04-27 Arista Networks, Inc. Host routing with virtual machine mobility

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120236761A1 (en) * 2011-03-15 2012-09-20 Futurewei Technologies, Inc. Systems and Methods for Automatic Rack Detection
CN102801715A (zh) * 2012-07-30 2012-11-28 华为技术有限公司 一种网络中虚拟机迁移的方法、网关及系统
CN102884763A (zh) * 2012-06-30 2013-01-16 华为技术有限公司 跨数据中心的虚拟机迁移方法、服务控制网关及系统
CN103379185A (zh) * 2012-04-26 2013-10-30 华为技术有限公司 一种网络地址转换的方法、设备和系统
CN103428252A (zh) * 2012-05-25 2013-12-04 华为技术有限公司 一种云计算虚拟机迁移的方法、设备及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1887012B (zh) * 2003-12-17 2010-12-08 艾利森电话股份有限公司 用于通信系统中的无线电资源管理的系统和方法
US8532116B2 (en) * 2009-07-21 2013-09-10 Cisco Technology, Inc. Extended subnets
US8606890B2 (en) * 2009-11-20 2013-12-10 International Business Machines Corporation Managing communication between nodes in a virtual network
CN102457583B (zh) * 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及系统
US9104460B2 (en) * 2011-05-31 2015-08-11 Red Hat, Inc. Inter-cloud live migration of virtualization systems
US9154416B2 (en) * 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
CN103631652B (zh) * 2012-08-28 2018-09-28 中兴通讯股份有限公司 虚拟机迁移的实现方法及系统
US9258266B2 (en) * 2012-08-30 2016-02-09 Cisco Technology, Inc. Host detection by top of rack switch devices in data center environments
CN103916320B (zh) * 2012-12-28 2017-09-15 中国移动通信集团公司 一种vm设备跨网迁移后的报文处理方法及装置
US9794107B2 (en) * 2013-02-06 2017-10-17 Alcatel Lucent Method and apparatus for providing migration of cloud components across address domains
US9513970B2 (en) * 2013-03-01 2016-12-06 Cisco Technology, Inc. Optimizing handling of virtual machine mobility in data center environments
US10097372B2 (en) * 2014-01-09 2018-10-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments
US9590824B1 (en) * 2014-08-05 2017-03-07 Cisco Technology, Inc. Signaling host move in dynamic fabric automation using multiprotocol BGP

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120236761A1 (en) * 2011-03-15 2012-09-20 Futurewei Technologies, Inc. Systems and Methods for Automatic Rack Detection
CN103379185A (zh) * 2012-04-26 2013-10-30 华为技术有限公司 一种网络地址转换的方法、设备和系统
CN103428252A (zh) * 2012-05-25 2013-12-04 华为技术有限公司 一种云计算虚拟机迁移的方法、设备及系统
CN102884763A (zh) * 2012-06-30 2013-01-16 华为技术有限公司 跨数据中心的虚拟机迁移方法、服务控制网关及系统
CN102801715A (zh) * 2012-07-30 2012-11-28 华为技术有限公司 一种网络中虚拟机迁移的方法、网关及系统

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208813A (zh) * 2022-09-14 2022-10-18 腾讯科技(深圳)有限公司 一种边界网关协议的迁移方法、装置、设备及存储介质
CN115208813B (zh) * 2022-09-14 2022-11-25 腾讯科技(深圳)有限公司 一种边界网关协议的迁移方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP3214816A4 (en) 2017-11-15
US20170264587A1 (en) 2017-09-14
US10361992B2 (en) 2019-07-23
EP3214816B1 (en) 2019-02-27
EP3214816A1 (en) 2017-09-06
CN105704045B (zh) 2019-05-28
CN105704045A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
WO2016082528A1 (zh) 数据中心网关间虚拟机位置信息同步的方法、网关及系统
US10853127B2 (en) Method and apparatus for determining virtual machine migration
US9036638B2 (en) Avoiding unknown unicast floods resulting from MAC address table overflows
WO2021077768A1 (zh) 路由信息的处理方法和装置
US9634887B2 (en) System, method and computer-readable medium for using a plurality of virtual machines
US10644991B2 (en) Cluster communictaion
EP3044917A1 (en) Virtual network routing
EP3493477B1 (en) Message monitoring
JP2020520612A (ja) パケット伝送方法、エッジデバイス及び機械可読記憶媒体
WO2014089799A1 (zh) 一种确定虚拟机漂移的方法和装置
WO2014154087A1 (en) A gateway and its method of transfering data
WO2014079005A1 (zh) Mac地址强制转发装置及方法
CN108540386B (zh) 一种防止业务流中断方法及装置
CN108777663B (zh) 一种路由信息的同步方法及装置
US9553764B2 (en) Migration of guest bridge
WO2018171722A1 (zh) Mac地址同步
US10432544B2 (en) Enhanced sequence number updating of routes associated with migrating virtual machines
CN109218182B (zh) 一种路由信息的同步方法及装置
CN108768845B (zh) 一种多归属主机路由同步方法及装置
WO2015180539A1 (zh) 一种报文处理方法和设备

Legal Events

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

Ref document number: 15863873

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015863873

Country of ref document: EP