WO2015100656A1 - 一种实现虚拟机通信的方法和装置 - Google Patents

一种实现虚拟机通信的方法和装置 Download PDF

Info

Publication number
WO2015100656A1
WO2015100656A1 PCT/CN2013/091202 CN2013091202W WO2015100656A1 WO 2015100656 A1 WO2015100656 A1 WO 2015100656A1 CN 2013091202 W CN2013091202 W CN 2013091202W WO 2015100656 A1 WO2015100656 A1 WO 2015100656A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
switch
mac address
destination
vtep information
Prior art date
Application number
PCT/CN2013/091202
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 PCT/CN2013/091202 priority Critical patent/WO2015100656A1/zh
Priority to CN201910395063.4A priority patent/CN110427334A/zh
Priority to KR1020167000575A priority patent/KR101712901B1/ko
Priority to CN201480000400.0A priority patent/CN104115453B/zh
Priority to PCT/CN2014/079949 priority patent/WO2015100953A1/zh
Priority to CA2895001A priority patent/CA2895001C/en
Priority to AU2014366588A priority patent/AU2014366588B2/en
Priority to EP17210616.3A priority patent/EP3376712B1/en
Priority to JP2015560542A priority patent/JP6068685B2/ja
Priority to CN201610298322.8A priority patent/CN105791463B/zh
Priority to EP14877226.2A priority patent/EP3091696B1/en
Priority to US14/738,341 priority patent/US9325615B2/en
Publication of WO2015100656A1 publication Critical patent/WO2015100656A1/zh
Priority to US15/086,524 priority patent/US9577958B2/en
Priority to US15/401,269 priority patent/US10003571B2/en

Links

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/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • 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
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • 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

  • Embodiments of the present invention relate to the field of network communications, and in particular, to a method and apparatus for implementing virtual machine communication.
  • VxLAN virtual scalable local area network
  • Each data center may run multiple virtual machines (VM, Vi r tua l Machine).
  • VM Vi r tua l Machine
  • ARP Address Resert Protocol
  • the request is broadcast to each VM.
  • the packet is sent to the router of each data center through the MAC address of the destination gateway, and then reaches the destination VM, thereby implementing communication between the VMs.
  • ARP Address Resert Protocol
  • the way that ARP broadcasts to each VM consumes a large amount of transmission bandwidth; and the packets can reach the destination VM through the routers of each data center, and the data center is more serious.
  • the embodiment of the invention provides a method and a device for implementing virtual machine communication, so as to reduce the occupation of the transmission bandwidth of the broadcast message and reduce the detour of the message between the data centers.
  • the embodiment of the present invention provides a method for implementing virtual machine communication, which is applied to a system including at least a first virtual machine and a second virtual machine, where the first virtual machine is located in a first sub-center of the first data center. And communicating with the first switch, the second virtual machine being located in the second subnet and communicating with the second switch, the method comprising: the first switch receiving an address resolution protocol ARP request from the first virtual machine, The ARP request carries the IP address of the destination gateway.
  • the first switch forwards the ARP request to a software-defined network SDN controller of the first data center;
  • the first switch receives an ARP response from the SDN controller, and the ARP response carries Media access control MAC address of the destination gateway;
  • the first switch obtains the virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address of the destination gateway according to the MAC address of the destination gateway, where the router corresponding to the VTEP information is located in the first data center;
  • the first switch sends an IP packet to the router corresponding to the VTEP information according to the VTEP information, so that the router corresponding to the VTEP information passes the IP packet through the router and the second switch.
  • the tunnel is sent to the second virtual machine.
  • the acquiring, by the first switch, the VTEP information corresponding to the MAC address of the destination gateway according to the MAC address of the destination gateway specifically: the first switch
  • the SDN controller sends a request to obtain VTEP information corresponding to the MAC address of the destination gateway, and receives VTEP information corresponding to the MAC address of the destination gateway sent by the SDN controller.
  • the acquiring, by the first switch, the VTEP information corresponding to the MAC address of the destination gateway according to the MAC address of the destination gateway specifically includes: The MAC address of the destination gateway queries the locally saved flow table to obtain the VTEP information corresponding to the MAC address of the destination gateway.
  • the first switch queries the locally saved flow table, and the VTEP information corresponding to the MAC address of the destination gateway is specifically included. :
  • the first switch queries the locally saved flow table according to the MAC address of the destination gateway, and obtains two or more VTEP information, and uses the VTEP information of the router located in the first data center as the MAC address of the destination gateway.
  • the VTEP information corresponding to the address.
  • the first switch when the first switch queries the locally saved flow table according to the MAC address of the destination gateway, two Or the VTEP information of the router located in the first data center, the first switch selects the destination according to at least one of the following: a load and a scheduling policy of the router
  • the gateway's MAC address corresponds to the VTEP information.
  • the first switch sends an IP packet according to the VTEP information.
  • the router corresponding to the VTEP information so that the router corresponding to the VTEP information sends the IP packet to the second virtual machine through the tunnel of the router and the second switch, and specifically includes:
  • the first switch performs a virtual scalable local area network VxLAN encapsulation on the IP packet received from the first virtual machine, where the destination IP address of the VxLAN encapsulation is the obtained VTEP information, and the virtual network identifier VN I is An identifier of the first subnet, where a destination MAC address of the IP packet is a MAC address of the destination gateway;
  • the router corresponding to the VTEP information changes the destination IP address to the IP address of the second switch, the VNI is changed to the identifier of the second subnet, and the destination MAC address is changed to the MAC address of the second virtual machine. Then, the IP address of the VxLAN package is changed and sent to the second switch.
  • the second switch sends the VxLA encapsulated IP packet to the second virtual machine after performing VxLA decapsulation.
  • the embodiment of the present invention provides a method for implementing virtual machine communication, which is applied to a system including at least a first virtual machine and a second virtual machine, where the first virtual machine is located in a first child of the first data center. And communicating with the first switch, the second virtual machine is located in the second subnet and is in communication with the second switch, the method comprising: receiving, by the software-defined network SDN controller of the first data center, from the first switch An address resolution protocol ARP request, where the ARP request carries an IP address of the destination gateway;
  • the SDN controller acquires a media access control MAC address of the destination gateway according to the IP address of the destination gateway, and sends an ARP response to the first switch, where the ARP response carries the MAC address of the destination gateway. And obtaining, by the first switch, the virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address of the destination gateway according to the MAC address of the destination gateway, where the router corresponding to the VTEP information is located in the first data center.
  • the router corresponding to the VTEP information sends the IP packet to the second virtual machine through the tunnel of the router and the second switch.
  • the SDN controller receives a request sent by the first switch to request to obtain VTEP information corresponding to a MAC address of the destination gateway;
  • the SDN controller queries the locally saved flow table according to the MAC address of the destination gateway, obtains VTEP information corresponding to the MAC address of the destination gateway, and returns a MAC address corresponding to the destination gateway to the first switch. VTEP information.
  • the SDN controller queries the locally saved flow table, and the VTEP information corresponding to the MAC address of the destination gateway is specifically included. :
  • the SDN controller queries the locally saved flow table according to the MAC address of the destination gateway, and obtains two or more VTEP information, and uses the VTEP information of the router located in the first data center as the MAC address of the destination gateway.
  • the VTEP information corresponding to the address.
  • the SDN controller when the SDN controller queries the locally saved flow table according to the MAC address of the destination gateway, two Or the VTEP information of the router of the first data center, the SDN controller selects the VTEP information corresponding to the MAC address of the destination gateway according to at least one of the following: a load and a scheduling policy of the router.
  • a fourth possible implementation if the second virtual machine is located in the second data center, :
  • the VTEP information of the second switch under the control of the SDN controller of the first data center, causes the router corresponding to the VTEP information to pass the IP packet to the router and the router A tunnel of the second switch is sent to the second virtual machine.
  • the embodiment of the present invention provides a first switch that implements virtual machine communication, and is applied to a system that includes at least a first virtual machine and a second virtual machine, where the first virtual machine is located in the first data center. a subnet and communicating with the first switch, the second virtual machine is located in the second subnet and is in communication with the second switch, the first switch includes: a receiving module, configured to receive from the first virtual machine An address resolution protocol ARP request, where the ARP request carries an IP address of the destination gateway;
  • a sending module configured to forward the ARP request to a software-defined network SDN controller of the first data center
  • the receiving module is further configured to receive an ARP response from the SDN controller, where the ARP response carries a media access control MAC address of the destination gateway;
  • An obtaining module configured to acquire, according to a MAC address of the destination gateway, the destination gateway
  • VTEP information corresponding to the MAC address, where the router corresponding to the VTEP information is located in the first data center;
  • the sending module is further configured to send an IP packet to the router corresponding to the VTEP information according to the VTEP information, so that the router corresponding to the VTEP information passes the IP packet through the router and the first A tunnel of the two switches is sent to the second virtual machine.
  • the acquiring module is configured to obtain, according to a MAC address of the destination gateway, VTEP information corresponding to a MAC address of the destination gateway, specifically:
  • the obtaining module is configured to send a request to the SDN controller to obtain the VTEP information corresponding to the MAC address of the destination gateway, and receive the VTEP information corresponding to the MAC address of the destination gateway sent by the SDN controller.
  • the obtaining module is configured to obtain the VTEP information corresponding to the MAC address of the destination gateway according to the MAC address of the destination gateway, which is specifically: The obtaining module is configured to query the flow table saved by the first switch according to the MAC address of the destination gateway, and obtain VTEP information corresponding to the MAC address of the destination gateway.
  • the acquiring module is configured to query a flow table saved by the first switch, and obtain a MAC address corresponding to the destination gateway.
  • the VTEP information is specifically:
  • the obtaining module is configured to query, according to the MAC address of the destination gateway, the flow table saved by the first switch, and obtain two or more VTEP information, and use the VTEP information of the router located in the first data center as a The VTEP information corresponding to the MAC address of the destination gateway.
  • an embodiment of the present invention provides a virtual machine communication software definition network SDN controller, where the SDN controller is located in a first data center, and is applied to a system including at least a first virtual machine and a second virtual machine.
  • the first virtual machine is located in a first subnet of the first data center and is in communication with a first switch
  • the second virtual machine is located in a second subnet and is in communication with a second switch
  • the SDN controller includes :
  • a receiving module configured to receive an address resolution protocol (ARP) request from the first switch, where the ARP request carries an IP address of the destination gateway;
  • ARP address resolution protocol
  • a processing module configured to acquire, according to an IP address of the destination gateway, a media access control MAC address of the destination gateway;
  • a sending module configured to send an ARP response to the first switch, where the ARP response carries a MAC address of the destination gateway, so that the first switch acquires the destination gateway according to the MAC address of the destination gateway.
  • a virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address
  • the router corresponding to the VTEP information is located in the first data center, and the router corresponding to the VTEP information passes the IP packet through the router and the second switch. The tunnel is sent to the second virtual machine.
  • the receiving module is further configured to receive a request that is sent by the first switch, to request to obtain VTEP information corresponding to a MAC address of the destination gateway;
  • the processing module is further configured to query, according to a MAC address of the destination gateway, a flow table saved by the SDN controller, obtain VTEP information corresponding to a MAC address of the destination gateway, and return the information to the first switch.
  • the VTEP information corresponding to the MAC address of the destination gateway is further configured to receive a request that is sent by the first switch, to request to obtain VTEP information corresponding to a MAC address of the destination gateway;
  • the processing module is further configured to query, according to a MAC address of the destination gateway, a flow table saved by the SDN controller, obtain VTEP information corresponding to a MAC address of the destination gateway, and return the information to the first switch.
  • the VTEP information corresponding to the MAC address of the destination gateway is further configured to receive a request that is sent by the first switch, to request to
  • the processing module is configured to query a flow table saved by the SDN controller, and obtain a MAC address of the destination gateway.
  • the corresponding VTEP information is specifically:
  • the processing module is configured to query the flow table saved by the SDN controller according to the MAC address of the destination gateway, and obtain VTEP information of the router located in the first data center when acquiring two or more VTEP information. VTEP information corresponding to the MAC address of the destination gateway.
  • a third possible implementation when the processing module is configured to query the MAC address of the destination gateway, query the saved by the SDN controller. a flow table, when the VTEP information of two or more routers located in the first data center is obtained, the processing module is configured to select a MAC address of the destination gateway according to at least one of the following: a load and a scheduling policy of the router Corresponding VTEP information.
  • the processing module is further configured to obtain, from the SDN controller of the second data center, an IP address of the second virtual machine, a MAC address, a virtual network identifier VNI of the second subnet, and VTEP information of the second switch.
  • an embodiment of the present invention provides a switch for implementing virtual machine communication, including: a processor, a memory, and a system bus, where the processor and the memory are connected through the system bus and complete each other.
  • the memory is configured to store a computer execution instruction
  • the processor is configured to execute the computer to execute an instruction, and perform any one of the first to fifth possible implementations of the first aspect or the first aspect.
  • an embodiment of the present invention provides a virtual machine communication software definition network SDN.
  • a controller including a processor, a memory, and a system bus, wherein the processor and the memory are connected by the system bus and complete communication with each other;
  • the memory is configured to store a computer execution instruction
  • the processor is configured to execute the computer to execute instructions, and perform any one of the first to fourth possible implementations of the second aspect or the second aspect.
  • the first switch receives an ARP response from the SDN controller, the ARP response carries the MAC address of the destination gateway, and the first switch acquires the destination gateway according to the MAC address of the destination gateway.
  • VTEP information corresponding to the MAC address the router corresponding to the VTEP information is located in the first data center; the first switch sends an IP address to the router corresponding to the VTEP information according to the VTEP information, so that the router The router corresponding to the VTEP information sends the IP packet to the second virtual machine through a tunnel between the router and the second switch.
  • the SDN controller picks up, reduces the occupation of the transmission bandwidth of the broadcast message, and only passes through the router of the first data center, unlike the prior art that may pass through the router of the first data center and the second data center at the same time.
  • the router reduces the round-trip of messages between data centers.
  • the seventh aspect of the present invention provides a method for implementing virtual machine communication, which is applied to a system including at least a first virtual machine and a second virtual machine, where the first virtual machine is located in the first data center and is first
  • the switch communicates, the second virtual machine is located in the second data center and is in communication with the second switch, the first virtual machine and the second virtual machine are located in the same subnet, and the method includes: the first switch The first virtual machine receives an address resolution protocol ARP request, where the ARP request carries an IP address of the destination virtual machine;
  • the virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address of the destination virtual machine, where the VTEP information is an IP address of the second switch;
  • the first switch sends an IP packet to the second virtual machine by using a tunnel between the first switch and the second switch.
  • the acquiring, by the first switch, the media access control MAC address of the destination virtual machine according to the IP address of the destination virtual machine includes:
  • the first switch forwards the ARP request to a software-defined network SDN controller of the first data center, where the ARP request carries an IP address of the destination virtual machine;
  • the first switch receives an ARP response from the SDN controller, and the ARP response carries a MAC address of the destination virtual machine.
  • the MAC address corresponding to the destination virtual machine is obtained according to the MAC address of the destination virtual machine.
  • the VTEP information specifically includes:
  • the first switch sends a request to the SDN controller to request to obtain VTEP information corresponding to the MAC address of the destination virtual machine.
  • the MAC address of the destination virtual machine is obtained according to the MAC address of the destination virtual machine.
  • the VTEP information specifically includes:
  • the first switch queries the locally saved flow table according to the MAC address of the destination virtual machine, and obtains VTEP information corresponding to the MAC address of the destination virtual machine.
  • the first switch acquires an IP address, a MAC address, and an IP address of the second virtual machine from the SDN controller.
  • the VTEP information of the second switch is used to send an IP packet to the second virtual machine by using a tunnel between the first switch and the second switch.
  • an embodiment of the present invention provides a method for implementing virtual machine communication, which is applied to a system including at least a first virtual machine located in a first data center and in communication with a first switch, the second virtual machine being located in a second data center and in communication with the second switch
  • the first virtual machine and the second virtual machine are located in the same subnet
  • the method includes: the software-defined network SDN controller of the first data center receives an address resolution protocol ARP request from the first switch, where The ARP request carries the IP address of the destination virtual machine.
  • the media access control MAC address of the destination virtual machine Obtaining, by the SDN controller, the media access control MAC address of the destination virtual machine according to the IP address of the destination virtual machine, and sending an ARP response to the first switch, where the ARP response carries the destination virtual machine a MAC address, such that the first switch obtains the virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address of the destination virtual machine according to the MAC address of the destination virtual machine, where the VTEP information is the second The IP address of the switch, so that the first switch sends an IP packet to the second virtual machine by using the tunnel of the first switch and the second switch.
  • the SDN controller receives a request sent by the first switch, to request to obtain VTEP information corresponding to a MAC address of the destination virtual machine;
  • the SDN controller queries the locally saved flow table according to the MAC address of the destination virtual machine, obtains VTEP information corresponding to the MAC address of the destination virtual machine, and returns the destination virtual machine to the first switch. VTEP information corresponding to the MAC address.
  • the SDN controller of the first data center is obtained from an SDN controller of the second data center Sending, by the IP address of the second virtual machine, the MAC address, and the VTEP information of the second switch, the IP address of the second virtual machine, the MAC address, and the VTEP information of the second switch to the The first switch.
  • a ninth aspect the embodiment of the present invention provides a first switch for implementing virtual machine communication, which is applied to a system including at least a first virtual machine and a second virtual machine, where the first virtual machine is located in the first data center and The first switch communicates, and the second virtual machine is located in the second data. And communicating with the second switch, the first virtual machine and the second virtual machine are located in the same subnet, and the switch includes:
  • a receiving module configured to receive an address resolution protocol ARP request from the first virtual machine, where the ARP request carries an IP address of the destination virtual machine;
  • a processing module configured to acquire, according to the IP address of the destination virtual machine, a media access control MAC address of the destination virtual machine, and obtain a MAC address corresponding to the destination virtual machine according to the MAC address of the destination virtual machine Virtual scalable LAN tunnel endpoint VTEP information, where the VTEP information is an IP address of the second switch;
  • a sending module configured to send an IP packet to the second virtual machine by using a tunnel between the first switch and the second switch.
  • the processing module is configured to obtain, according to an IP address of the destination virtual machine, a MAC address of the destination virtual machine, where:
  • the processing module is configured to forward the ARP request to a software-defined network SDN controller of the first data center, where the ARP request carries an IP address of the destination virtual machine, and receives an ARP response from the SDN controller, The ARP response carries a MAC address of the destination virtual machine.
  • the processing module is configured to acquire the destination virtual machine according to a MAC address of the destination virtual machine
  • the VTEP information corresponding to the MAC address is specifically:
  • the processing module is configured to send a request to the SDN controller to obtain the VTEP information corresponding to the MAC address of the destination virtual machine, and receive the VTEP corresponding to the MAC address of the destination virtual machine sent by the SDN controller. information.
  • the processing module is configured to acquire the destination virtual machine according to a MAC address of the destination virtual machine
  • the VTEP information corresponding to the MAC address is specifically:
  • the processing module is configured to query the flow table saved by the first switch according to the MAC address of the destination virtual machine, and obtain VTEP information corresponding to the MAC address of the destination virtual machine.
  • the processing module is further configured to acquire, by the SDN controller of the first data center, the second virtual machine The IP address, the MAC address, and the VTEP information of the second switch.
  • an embodiment of the present invention provides a virtual machine communication software definition network SDN controller, where the SDN controller is located in a first data center, and is applied to a system including at least a first virtual machine and a second virtual machine.
  • the first virtual machine is located in the first data center and is in communication with the first switch
  • the second virtual machine is located in the second data center and is in communication with the second switch
  • the first virtual machine and the second The virtual machine is located on the same subnet
  • the SDN controller includes:
  • a receiving module configured to receive an address resolution protocol ARP request from the first switch, where
  • the ARP request carries the IP address of the destination virtual machine.
  • An obtaining module configured to acquire, according to an IP address of the destination virtual machine, a media access control MAC address of the destination virtual machine;
  • a sending module configured to send an ARP response to the first switch, where the ARP response carries a MAC address of the destination virtual machine, so that the first switch acquires the destination according to the MAC address of the destination virtual machine.
  • a virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address of the virtual machine, the VTEP information being an IP address of the second switch, so that the first switch passes the tunnel of the first switch and the second switch Sending an IP packet to the second virtual machine.
  • the receiving module is further configured to: receive a request sent by the first switch, to request to obtain VTEP information corresponding to a MAC address of the destination virtual machine;
  • the obtaining module is further configured to query, according to the MAC address of the destination virtual machine, a flow table saved by the SDN controller, obtain VTEP information corresponding to a MAC address of the destination virtual machine, and return the information to the first switch.
  • the acquiring module is further configured to acquire an IP address, a MAC address, and VTEP information of the second virtual machine of the second virtual machine from an SDN controller of the second data center; And sending the IP address of the second virtual machine, the MAC address, and the VTEP information of the second switch to the first switch.
  • an embodiment of the present invention provides a switch for implementing virtual machine communication, including:
  • processors a processor, a memory, and a system bus, wherein the processor and the memory are connected by the system bus and complete communication with each other;
  • the memory is configured to store a computer execution instruction
  • the processor is configured to execute the computer to execute an instruction, and perform any one of the first to fourth possible implementations of the seventh aspect or the seventh aspect.
  • an embodiment of the present invention provides a virtual machine communication software definition network
  • An SDN controller includes a processor, a memory, and a system bus, and the processor and the memory are connected by the system bus and complete communication with each other;
  • the memory is configured to store a computer execution instruction
  • the processor is configured to execute the computer to execute an instruction, and perform any one of the first to second possible implementation manners of the eighth aspect or the eighth aspect.
  • the first switch acquires a MAC address of the destination virtual machine according to the IP address of the destination virtual machine, and obtains a MAC address of the destination virtual machine to obtain a MAC address corresponding to the destination virtual machine.
  • VTEP information is an IP address of the second switch; the first switch sends an IP packet to the second virtual machine by using a tunnel between the first switch and the second switch. Therefore, the SDN controller picks up, reduces the occupation of the transmission bandwidth of the broadcast message, that is, does not pass through the router of the first data center, nor does it need to go through the router of the second data center, thereby reducing the roundabout of the message between the two data centers. .
  • FIG. 1 is a system architecture diagram for implementing virtual machine communication according to an embodiment of the present invention
  • FIG. 1b is a system architecture diagram for implementing virtual machine communication according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a system for implementing virtual machine communication according to an embodiment of the present invention
  • a schematic diagram of a configuration method provided by the embodiment
  • FIG. 3 is a flowchart of a configuration method according to an embodiment of the present invention.
  • FIG. 4a is a flowchart of a VM when it is added according to an embodiment of the present invention.
  • FIG. 4b is a flowchart of a VM deletion according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of implementing VM communication according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of implementing VM communication according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of implementing VM communication according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a switch according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a switch according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of a hardware structure provided according to an embodiment of the present invention.
  • the embodiment of the invention provides a method and system for implementing virtual machine communication, which can reduce the occupation of the transmission bandwidth of the broadcast message and reduce the detour of the message between the data centers.
  • VxLAN Virtual Extensible LAN
  • VTEP VxLAN Tunnel End Point
  • VxLAN Tunnel End Point The endpoint can be provided through a hypervisor switch or a physical access switch. A tunnel is established between the VTEPs, and the data of the virtual network is transmitted through the tunnel.
  • the system includes a first data center (DC1) and a second data center (DC2).
  • the DCl includes VMs (VMs, VMs, VMs, VMs, and VMs).
  • Virtual machines VM5, VM6, and VM7 are included in DC2.
  • Network Manager deployed in any data center, can implement software-defined network controllers with each data center (SDN Controller, Software Defined)
  • Network Controller communication.
  • the functions of the network manager are described in detail in Figures 2 and 3.
  • Each data center can be deployed with one SDN controller, and the SDN controllers of each data center communicate with each other.
  • the SDN controller clusters may be Full-Mesh full or partially connected. It is also possible to deploy an SDN controller in multiple data centers, which is not limited by the present invention.
  • the VM1 located in DC1 belongs to the first subnet (which can also be represented as subnet 1).
  • the Virtual Network Identifier (VNI) of this subnet is exemplified by 11111.
  • the IP address of the gateway of the first subnet in DC1 is 192.168.1.1, and the address of the Media Access Control (MAC) is MAC1.
  • the IP address of the gateway of the first subnet in DC2 is 192.168.1.1, and the MAC address is MAC1.
  • the IP address of the gateway of the first subnet in DC1 and the IP address of the gateway of the first subnet in DC2 may be the same or different.
  • the MAC address of the gateway of the first subnet at DC1 and the MAC address of the gateway of the first subnet at DC2 may be the same or different. In the case where the IP address and the MAC address are the same (also referred to as live-active), the effect of this scheme is more obvious.
  • VM1 communicates with the VM outside the first subnet through the first switch (Swi t ch ).
  • the switches here can be virtual or physical. The invention is not limited thereto.
  • IP of the first switch The address is 10. 10. 10. 2 as an example.
  • the first switch is represented by VTEP1 in the tunnel.
  • the IP address of VM1 is 192.168.1.2, and the MAC address is represented as MAC_VM1.
  • VM2, VM3, VM4 located in DC1 and VM7 located in DC2 belong to the same subnet, which is called the second subnet (also can be expressed as subnet 2).
  • the VNI of this subnet is exemplified by 22222.
  • the IP address of the gateway of the second subnet in DC1 is 192.168.2.1, and the MAC address is MAC2.
  • the IP address of the gateway of the second subnet in DC 2 is 192.168.2.1, and the MAC address is MAC2.
  • the IP address of the gateway of the second subnet in DC1 and the IP address of the gateway of the second subnet in DC2 may be the same or different.
  • the MAC address of the gateway of the second subnet at DC1 and the MAC address of the gateway of the second subnet at DC2 may be the same or different.
  • VM2, VM3, and VM4 communicate with the VMs outside the first subnet through the second switch.
  • the switch here can be virtual or physical.
  • the IP address of the second switch is 10. 10. 10. 3 , which is represented by VTEP2 in the tunnel.
  • the VM 7 communicates with the VM outside the second subnet through the third switch.
  • the IP address of the third switch is shown in 11. 11. 11. 3 and is represented by VTEP3 in the tunnel.
  • the IP address of VM2 is 192.168.2.2, and the MAC address is represented as MAC-VM2.
  • the IP address of VM3 is 192.168.2.3, and the MAC address is represented as MAC_VM3.
  • the IP address of VM4 is 192.168.2.4.
  • the MAC address is represented as MAC-VM4.
  • the IP address of VM7 is 192.168.2.7.
  • the MAC address is represented as MAC-VM7.
  • VM5 and VM6 located in DC2 belong to the third subnet (which can also be represented as subnet 3), and the VNI of this subnet is 33333.
  • the IP address of the gateway of the third subnet in DC1 is 192.168.3.1, and the MAC address is MAC3.
  • the IP address of the gateway of the third subnet in DC2 is 192.168.3.1, and the MAC address is MAC3.
  • the IP address of the gateway of the third subnet in DC1 and the IP address of the gateway of the third subnet in DC2 may be the same or different.
  • the MAC address of the gateway of the third subnet at DC1 and the MAC address of the gateway of the third subnet at DC2 may be the same or different.
  • VM5 and VM6 communicate with the VMs outside the third subnet through the fourth switch.
  • the switches here can be virtual or physical.
  • the IP address of the fourth switch is shown in 11. 11. 11. 4 and is represented by VTEP4 in the tunnel.
  • the IP address of VM5 is 192.168.3.5.
  • the MAC address is expressed as MAC-VM5.
  • the IP address of VM6 is 192.168.3.6.
  • the MAC address is represented as MAC-VM6.
  • DC1 deploy one or more routers to deploy router 1 as an example. Router 1 is represented by VTEP5 in the tunnel, and the IP address is 10. 10. 10.5.
  • DC2 deploy one or more routers to deploy router 2 as an example.
  • Router 1 is represented by VTEP6 in the tunnel, and the IP address is taken as 11. 11. 11.6.
  • Router 1 and Router 3 can form a cluster, which can eliminate the bottleneck of a single router and achieve elastic scalability between routers.
  • the present invention does not limit how many routers are deployed, and may of course be greater than two. Other information is similar to Figure la and will not be described in detail.
  • AddRouter lnfo is used to configure the IP address and DC ID of the router.
  • Table 1 is used as an example to describe:
  • AddSwi tchlnfo used to configure VTEP information of the switch.
  • Table 2 is used as an example to illustrate:
  • ADDPeerSDNCt r 1 is used to configure the IP address of the peer SDN controller and the display of the peer DC.
  • Table 3 is used as an example to illustrate: table 3
  • the SDN controller saves the information of Table 1 - Table 3 in the form of a flow table.
  • NetworkManager adds the relationship between the subnet and the router to the SDN controller in DC1, and the specific addition force.
  • the command takes AddRouter lnterface as an example. Take the add-on subnet 1 as an example, the VNI of subnet 1 is 11111, and the IP address of the gateway of the subnet at DC1 is 192. 168. 1. 1/24, 24 indicates that the subnet mask is 255. 255. 255 . 0 , the MAC address is MAC1.
  • the SDN controller saves the added information in the form of a flow table. Similarly, the SDN controller saves other added information in the form of a flow table.
  • the SDN controller in DC1 adds the relationship between the subnet and the router to the router 1 in DC1.
  • the specific add command takes Ad dRou t e r Gw I P as an example.
  • the SDN controller adds the VTEP information corresponding to the MAC address of the gateway to the Swi t ch of the data center, and the specific add command uses AddGwMacVTEP as an example.
  • AddGwMacVTEP as an example.
  • VM1 in the subnet 1 sends a message
  • the MAC address of the gateway corresponding to the message is MAC 1
  • the message is sent to the VTEP to be 10 10.
  • the Swi t ch of the data center saves the VTEP information corresponding to the MAC address of the gateway in the form of a flow table.
  • NetworkManager adds the relationship between the subnet and the router to the SDN controller in DC2, and the specific addition force.
  • the command takes AddRouter lnterface as an example.
  • the subnet 1 of the subnet 1 is 11111
  • the IP address of the subnet 1 is 192. 168. 1. 1/24 , 24 indicates that the subnet mask is 255. 255. 255 . 0
  • the MAC address is MAC1.
  • the SDN controller in DC2 adds the relationship between the subnet and the router to the router 2 in the DC2, and the specific add command takes the Ad dRou ter Gw IP as an example.
  • the SDN controller adds the VTEP information corresponding to the MAC address of the gateway to the switch of the data center.
  • the specific add command is AddGwMacVTEP as an example. Taking the information in Figure la and Figure lb as an example, if VM1 in the subnet 1 sends a message, if the MAC address of the gateway corresponding to the message is MAC 1, the message is sent to the VTEP as 11.11. 11.6 router, where VNI determines the processing interface on the router.
  • network controllers and SDN controllers can add associations between other subnets and routers.
  • the IP address of the gateway of the subnet 1 in DC1 is the same as the IP address of the gateway in DC2, the MAC address of the gateway of the subnet 1 in DC1 and the IP address of the gateway in DC2.
  • the router's VTEP information that is, the router's VTEP IP address
  • the command to create a virtual machine VM2 is initiated to the second switch of the DC1, and the specific creation command is an example of Create VM on Switch.
  • the second switch of DC1 creates VM2, and then notifies the VM2 virtual port and the corresponding VTEP information to the SDN Controller of DC1.
  • the specific notification command takes VM vPort VTEP notify as an example.
  • VM2 its MAC address is MAC-VM2 and its IP address is 192.168.2.2. Belonging to the second subnet, the VNI is 22222.
  • the VTEP information corresponding to VM2 is 10.10.10.3.
  • the SDN controller can obtain the VNI of the port based on the port information.
  • the SDN Controller of the DC1 notifies the VM2 virtual port and the corresponding VTEP information to the SDN Controller of the DC 2, and the specific notification command takes the VM vPort VTEP notify as an example.
  • DC1's SDN Controller adds VM2 information to the DC1 router.
  • DC 2's SDN Controller adds VM2 information to the DC 2 router.
  • the SDN controller of DC1 adds the VTEP information corresponding to the MAC address of the gateway to the switch of DC1.
  • the specific add command takes AddGwMacVTEP as an example.
  • Take VM2 as an example. If VM2 in subnet 2 sends a message, and the MAC address of the gateway corresponding to the message is MAC 2, the message is sent to the router with VTEP 10.10.10.5. VNI 22222, used to determine the processing interface on the router.
  • the SDN controller adds the VTEP information corresponding to the MAC address of the gateway to the switch of the data center. If the subnet is created in Figure 3, the VM is still not established. Then, the VTEP information corresponding to the MAC address of the gateway can be added to the switch of the data center through A5) of FIG. 4a.
  • the second switch of the DC 1 is instructed to delete the virtual machine VM2, and the specific delete command is to delete the VM on Switch as an example.
  • the second switch of DC1 deletes VM2, and then informs the SDN Controller of DC1 to delete the virtual port of VM2 and the corresponding VTEP information.
  • the specific delete command is exemplified by delete VM vPort not if y.
  • the VTEP information corresponding to the MAC address of the gateway can also be deleted in step B2).
  • DC1's SDN Controller will notify VM2 of the deletion of VM2 information.
  • the specific notification command takes delete VM vPort notify as an example.
  • B4. 1 DC1's SDN Cont roller deletes the MAC address and VTEP information of VM2 in the router of DC1.
  • DC2's SDN Controller deletes the MAC address and VTEP information of VM2 in the router of DC2.
  • the virtual machine migration can be disassembled into two operations: VM creation and VM deletion.
  • VM creation and VM deletion.
  • VM deletion For details, refer to the processes described in Figure 4a and Figure 4b.
  • the SDN controller of the DC1 obtains the information of the router 1 in the DC1, the information of the first switch, the information of the second switch, the association relationship between each subnet and the router in the DC1, and the DC1.
  • the SDN controller of DC1 also obtains the information of the SDN controller of DC2, and the MAC address and VTEP information of the virtual machine under the control of the SDN controller of DC2, which may be DC2.
  • the MAC address and VTEP information of some virtual machines under the control of the SDN controller may also be the MAC address and VTEP information of all virtual machines under the control of the SDN controller of the DC2.
  • the SDN controller of the DC2 obtains the information of the router 1 in the DC2, the information of the third switch, the information of the fourth switch, the association relationship between each subnet and the router in the DC2, and the MAC address of each virtual machine in the DC2.
  • VTEP information at the same time, the DC 2 SDN controller also obtains the information of the SDN controller of the DC1, and the MAC address and VTEP information of the virtual machine under the control of the SDN controller of the DC1, which may be under the control of the SDN controller of the DC1.
  • the MAC address and VTEP information of some virtual machines may also be the MAC address and VTEP information of all virtual machines under the control of the SDN controller of DC1.
  • the method for implementing virtual machine communication shown in FIG. 5 is used to implement the virtual machine VM4 located in the data center DC1 and the virtual machine VM5 located in the data center DC2.
  • the VM4 is located in the second subnet, and the VM5 is located in the third subnet.
  • the VM4 communicates with the VM outside the second subnet through the second switch, and the VM5 communicates with the VM outside the third subnet through the fourth switch.
  • the method includes the following steps:
  • VM4 needs to communicate with VM5.
  • VM4 queries the routing table and finds that VM4 and VM5 are on different subnets.
  • Bay VM4 uses the default gateway of the second subnet 192. 168. 2. 1 as the destination gateway.
  • the VM4 sends a request for a broadcast address resolution protocol (ARP) to the second switch to obtain the MAC address of the destination gateway.
  • ARP broadcast address resolution protocol
  • the ARP request carries the IP address of the destination gateway.
  • the second switch receives the ARP request and forwards the ARP request to the SDN controller of the first data center.
  • the SDN controller of the first data center receives the ARP request, queries the locally saved flow table according to the IP address of the destination gateway carried by the ARP request, and obtains the MAC address of the destination gateway as MAC2.
  • the SD controller sends an ARP response to the second switch, and the ARP response carries the MAC address of the destination gateway. Also, this ARP response is equivalent to picking up a broadcast ARP request.
  • the ARP request may further carry the port information of the second switch that receives the ARP response, and the SDN controller queries the flow table according to the port information to obtain the VNI corresponding to the port information.
  • the obtaining the MAC address of the destination gateway specifically includes: the SDN controller acquiring the MAC address of the destination gateway according to the IP address of the destination gateway and the VN I corresponding to the port information.
  • the ARP request may further carry a VNI of a port of the second switch that receives the ARP response.
  • the obtaining the MAC address of the destination gateway specifically includes: the SDN controller acquiring the MAC address of the destination gateway according to the IP address of the destination gateway and the VN I of the port of the second switch. 4) The second switch receives the ARP response and forwards the ARP response to VM4.
  • VM4 sends an IP packet to the second switch, the destination MAC (Des tMAC) of the IP packet is MAC 2, and the destination IP (Des t IP ) is the IP address of VM5: 192. 168. 3.
  • source MAC For the VM4's MAC (indicated by MAC-VM4), the source IP is the IP address of VM4: 192. 168. 2. 4.
  • the second switch may cache the VTEP information corresponding to the MAC 2. If the second switch finds that the VTEP information corresponding to the MAC2 exists, step 8) is directly performed. If the second switch finds VTEP MAC2 there is no corresponding information, steps 6) and 7) 0
  • the second switch sends a request to the SDN controller of the data center to request to obtain the VTEP information corresponding to the MAC address of the destination gateway.
  • the SDN controller queries the locally saved flow table, obtains the VTEP information corresponding to the MAC address of the destination gateway, and sends the VTEP information corresponding to the MAC address of the destination gateway to the second switch.
  • the SDN controller queries the locally saved flow table according to the MAC address of the destination gateway, and obtains two or more VTEP information, the VTEP information of the router located in the same data center as the second switch is used as the The VTEP information corresponding to the MAC address of the destination gateway.
  • VTEP5 IP is 10. 10. 10. 5
  • VTEP6 IP is 11. 11. 11. 6)
  • the selection is the same as the second switch.
  • the VTEP 5 of the data center serves as the VTEP corresponding to the MAC address of the destination gateway.
  • the SDN controller is according to at least one of the following: the load and scheduling policy of the router. , selecting a suitable VTEP for VM4, and sending the selected IP address of the appropriate VTEP to the second switch.
  • the load on the router includes, but is not limited to, the traffic of the router and the CPU load of the router.
  • Scheduling policies include, but are not limited to, RondRob in, minimum load priority, and maximum load priority.
  • the second switch acquires the VTEP information corresponding to the MAC address of the destination gateway, and then the slave VM4 After receiving the IP address, the VxLAN is encapsulated and sent to the router corresponding to the VTEP information.
  • the source IP address of the IP address of the VxLAN encapsulation is the IP address of the second switch 10. 10. 10. 3
  • the destination IP is the obtained VTEP information ( 10. 10. 10. 5 )
  • the VNI is 22222.
  • the second switch queries the local flow table and finds that the VTEP information corresponding to the MAC2 does not exist, the VTEP information corresponding to the MAC address of the destination gateway is obtained through the foregoing steps 6) and 7); or
  • the second switch queries the local flow table to obtain the VTEP information corresponding to the MAC address of the destination gateway. Specifically, when two or more VTEP information is obtained, the VTEP information of the router in the same data center as the second switch is used as the VTEP information corresponding to the MAC address of the destination gateway. When there are multiple routers in the same data center, take the steps of 7) similar router load and scheduling policy to select, no longer detailed description.
  • the router of the first data center changes the VxLAN encapsulation of the received message, and sends the packet to the fourth switch through a tunnel between the router of the first data center and the fourth switch.
  • the router of the first data center caches the MAC address and VTEP information of the virtual machine of the second data center, so that the router of the first data center and the fourth switch can be directly
  • a VxLAN tunnel is established, and the encapsulated packet is directly sent to the fourth switch through the tunnel between the router in the first data center and the fourth switch, instead of passing through the router in the second data center.
  • Change the VxLAN package as follows: Change the source IP address of the VxLAN package in step 8) to 10. 10. 10. 5, change the destination IP address to the IP address of the fourth switch 11. 11. 11. 4 , change the VNI to 33333; Change the destination MAC address of the IP packet in step 5) to MAC-VM5 and the source MAC to MAC2.
  • the fourth switch receives the encapsulated IP packet and directly processes it, and does not trigger the process of broadcasting the ARP request.
  • the IP packet is sent to VM5.
  • VM5 sends a message to VM4 is similar to that, and will not be described again.
  • the VM communicates, it only passes through the router of the first data center, and does not need to pass through the router of the first data center and the router of the second data center at the same time, thereby reducing the roundabout of the message between the data centers.
  • the method for implementing virtual machine communication is used to implement the virtual machine VM3 located in the data center DC1 and the virtual machine VM7 located in the data center DC2, and both the VM3 and the VM7 are located in the second subnet.
  • the VM3 communicates with the VM outside the second subnet through the second switch, and the VM7 communicates with the VM outside the second subnet through the third switch.
  • the method includes the following steps:
  • VM3 needs to communicate with VM7.
  • VM3 queries the routing table and finds that VM3 and VM7 are on the same subnet.
  • the VM3 sends an Add Resend Protocol (ARP) request to the second switch to broadcast the MAC address of the destination virtual machine.
  • ARP Add Resend Protocol
  • the ARP request carries the IP address of the VM7.
  • the second switch receives the ARP request. After the configuration process of Figures 4a and 4b, the second switch may cache the MAC address of the VM7. If the second switch finds that the MAC address of VM7 exists, go directly to step 4). If the second switch finds that the MAC address of the VM7 does not exist, step 2) and step 3) are performed.
  • the second switch forwards the ARP request to the SDN controller of the first data center.
  • the SDN controller of the first data center receives the ARP request, queries the locally saved flow table according to the IP address of the destination virtual machine carried by the ARP request, and obtains the MAC address of the destination virtual machine as MAC-VM7.
  • the SDN controller sends an ARP response to the second switch, where the ARP response carries the MAC address of the destination virtual machine. Also, this ARP response is equivalent to picking up a broadcast ARP request.
  • the second switch receives the ARP response and forwards the ARP response to VM3.
  • VM3 sends an IP packet to the second switch
  • the destination MAC (Des tMAC) of the IP packet is MAC-VM7
  • the destination IP (Des t IP) is the IP address of VM7: 192. 168. 2.
  • source The MAC is the MAC of VM3 (represented by MAC-VM3)
  • the source IP is the IP address of VM3: 192. 168. 2. 3.
  • the second switch may cache the MAC-VM7 corresponding VTEP information. If the second switch finds that the VTEP information corresponding to the MAC-VM7 exists, step 8) is directly performed. If the second switch finds VTEP MAC-VM7 corresponding information is not present, step 6) and step 7) 0
  • the second switch sends a request to the SDN controller of the data center to request to obtain the VTEP information corresponding to the MAC address of the destination virtual machine.
  • the SD controller queries the locally saved flow table, obtains the VTEP information corresponding to the MAC address of the destination virtual machine, and sends the VTEP information corresponding to the MAC address of the destination virtual machine to the second switch.
  • the obtained VTEP is VTEP 3 and the VTEP information is 1 1. 1 1. 1 1. 3.
  • the second switch obtains the VTEP information corresponding to the MAC address of the destination virtual machine, and then encapsulates the IP packet VxLAN received from the VM3 and sends the packet to the switch corresponding to the VTEP information.
  • the source IP of the IP address of the VxLAN package is the IP address of the second switch. 1 0. 1 0. 1 0. 3
  • the destination IP is the obtained VTEP information (1 1. 1 1. 1 1. 3 ).
  • the second switch queries the local flow table and finds that the VTEP information corresponding to the MAC-VM7 does not exist, the VTEP information corresponding to the MAC address of the destination virtual machine is obtained through the foregoing steps 6) and 7); or
  • the second switch queries the local flow table to obtain the VTEP information corresponding to the MAC address of the destination virtual machine.
  • the SDN controller of the first data center acquires the IP address, the MAC address, and the third switch of the VM7 from the SDN controller of the second data center.
  • the VTEP information is sent to the second switch by the IP address of the VM7, the MAC address, and the VTEP information of the third switch.
  • the second switch is thus able to send IP packets to the VM7 through the tunnel of the second switch and the third switch, that is, without going through the router of the data center 1, nor through the router of the data center 1.
  • the IP packet is sent to the VM7.
  • the process in which the VM7 sends the IP address to the VM3 is similar to that of the VM3.
  • the broadcast ARP request sent by the VM can be picked up by the SDN controller, which reduces the occupation of the transmission bandwidth of the broadcast message.
  • the VM communicates that is, the router of the first data center does not need to pass through, and the router of the second data center does not need to be used, which reduces the round-trip between the two data centers.
  • the method for implementing virtual machine communication shown in FIG. 7 is used to implement that the virtual machine VM1 located in the data center DC1 communicates with another virtual machine VM2 located in the same data center DC1.
  • the VM1 is located in the first subnet, and the VM2 is located in the first
  • the second subnet, the first subnet is different from the second subnet.
  • VM1 communicates with the VM outside the first subnet through the first switch, and VM2 communicates with the VM outside the second subnet through the second switch.
  • the method includes the following steps:
  • VM1 needs to communicate with VM2.
  • VM1 queries the routing table and finds that VM2 and VM1 are on different subnets.
  • VM1 uses the default gateway of the first subnet 192. 168. 1. 1 as the destination gateway.
  • the VM1 sends a request for a broadcast address resolution protocol (ARP) to the first switch to broadcast the MAC address of the destination gateway.
  • ARP broadcast address resolution protocol
  • the ARP request carries the IP address of the destination gateway.
  • the first switch receives the ARP request and forwards the ARP request to the SDN controller of the first data center.
  • the SDN controller of the first data center receives the ARP request, queries the locally saved flow table according to the IP address of the destination gateway carried by the ARP request, and obtains the MAC address of the destination gateway as MAC1.
  • the SD controller sends an ARP response to the first switch, and the ARP response carries the MAC address of the destination gateway. Also, this ARP response is equivalent to picking up a broadcast ARP request.
  • the ARP request may further carry the port information of the first switch that receives the ARP response, and the SDN controller queries the flow table according to the port information to obtain the VNI corresponding to the port information.
  • the obtaining the MAC address of the destination gateway specifically includes: the SDN controller acquiring the MAC address of the destination gateway according to the IP address of the destination gateway and the VN I corresponding to the port information.
  • the ARP request may further carry a VNI of a port of the first switch that receives the ARP response.
  • the obtaining the MAC address of the destination gateway specifically includes: the SDN controller acquiring the MAC address of the destination gateway according to the IP address of the destination gateway and the VN I of the port of the first switch.
  • the first switch receives the ARP response and forwards the ARP response to VM1.
  • VM1 sends an IP packet to the first switch.
  • the destination MAC (Des tMAC) of the IP packet is MAC1
  • the destination IP (Des t lP) is the IP address of VM2: 192. 168. 2.
  • the source MAC address is VM1's MAC (indicated by MAC-VM1)
  • source IP is the IP address of VM1: 192. 168. 2. 1.
  • the first switch may cache the VTEP information corresponding to MAC1. If the first switch finds that the VTEP information corresponding to the MAC 1 exists, step 8) is directly performed. If the first switch finds the corresponding MAC1 VTEP information does not exist, steps 6) and 7) 0
  • the first switch sends a request to the SDN controller of the data center to request to obtain the VTEP information corresponding to the MAC address of the destination gateway.
  • the SDN controller queries the locally saved flow table, obtains the VTEP information corresponding to the MAC address of the destination gateway, and sends the VTEP information corresponding to the MAC address of the destination gateway to the first switch.
  • the SDN controller queries the locally saved flow table according to the MAC address of the destination gateway, and obtains two or more VTEP information, the VTEP information of the router located in the same data center as the first switch is used as the The VTEP information corresponding to the MAC address of the destination gateway.
  • VTEP5 IP is 10. 10. 10. 5
  • VTEP6 IP is 11. 11. 11. 6)
  • the VTEP 5 of the data center serves as the VTEP corresponding to the MAC address of the destination gateway.
  • the SDN controller is according to at least one of the following: the load and scheduling policy of the router. , select the appropriate VTEP for VM4, and select the appropriate VTEP
  • the IP address is sent to the second switch.
  • the load of the router includes, but is not limited to, the traffic of the router, and the CPU load of the router.
  • Scheduling policies include, but are not limited to, RondRobin, minimum load priority, and maximum load priority.
  • the first switch obtains the VTEP information corresponding to the MAC address of the destination gateway, and then encapsulates the IP address received from the VM1 and sends the VxLAN to the router corresponding to the VTEP information.
  • the source IP address of the IP address of the VxLAN encapsulation is the IP address of the first switch. 10. 10. 10. 2
  • the destination IP is the obtained VTEP information ( 10. 10. 10. 5 ), and the VNI is 11111.
  • the first switch queries the local flow table and finds that the VTEP information corresponding to the MAC1 does not exist, obtain the VTEP information corresponding to the MAC address of the destination gateway by using the foregoing steps 6) and 7); or
  • the first switch queries the local flow table to obtain the VTEP information corresponding to the MAC address of the destination gateway. Specifically, when two or more VTEP information is obtained, the VTEP information of the router in the same data center as the first switch is used as the VTEP information corresponding to the MAC address of the destination gateway. When there are multiple routers in the same data center, take the steps of 7) similar router load and scheduling policy to select, no longer detailed description.
  • the router of the first data center changes the VxLAN encapsulation of the received message, and sends the packet to the second switch through a tunnel between the router of the first data center and the second switch.
  • Change the VxLAN package to: Change the source IP address of the VxLAN package in step 8) to 10. 10. 10. 5, change the destination IP address to the IP address of the second switch 10. 10. 10. 3 , change the VNI to 22222; Change the destination MAC address of the IP packet in step 5) to MAC-VM2 and the source MAC to MAC1.
  • the second switch receives the encapsulated IP packet and directly processes it, and does not trigger the process of broadcasting the ARP request.
  • the IP packet is sent to VM2.
  • the communication between the same data center and the subnet is realized, and the broadcast ARP request sent by the VM can be picked up by the SDN controller, which reduces the occupation of the transmission bandwidth of the broadcast message.
  • the VM communicates it only passes through the router of the data center 1, unlike the prior art, it may be Through the data center 1 router and the data center 2 router, the round trip between the data centers is reduced. For multiple routers, it is also possible to achieve elastic scaling between routers.
  • VM2 sends a message to the second switch, and then the second switch sends the message to VM3.
  • the embodiment of the present invention provides a first switch that implements virtual machine communication, and is applied to a system including at least a first virtual machine and a second virtual machine, where the first virtual machine is located in the first data center.
  • the first subnet is in communication with the first switch
  • the second virtual machine is located in the second subnet and is in communication with the second switch.
  • the first switch includes:
  • the receiving module 801 is configured to receive an address resolution protocol (ARP) request from the first virtual machine, where the ARP request carries an IP address of the destination gateway;
  • ARP address resolution protocol
  • a sending module 803, configured to forward the ARP request to a software-defined network SDN controller of the first data center;
  • the receiving module 801 is further configured to receive an ARP response from the SDN controller, where the ARP response carries a media access control MAC address of the destination gateway;
  • the obtaining module 802 is configured to obtain, according to the MAC address of the destination gateway, the virtual scalable LAN tunnel endpoint VTEP information corresponding to the MAC address of the destination gateway, where the router corresponding to the VTEP information is located in the first data center;
  • the sending module 803 is further configured to send an IP packet to the router corresponding to the VTEP information according to the VTEP information, so that the router corresponding to the VTEP information passes the IP packet through the router and the A tunnel of the second switch is sent to the second virtual machine.
  • the obtaining module 802 is configured to obtain, according to the MAC address of the destination gateway, the VTEP information corresponding to the MAC address of the destination gateway, which is specifically:
  • the obtaining module 802 is configured to send a request to the SDN controller to request to obtain the destination
  • the VTEP information corresponding to the MAC address of the gateway receives the VTEP information corresponding to the MAC address of the destination gateway sent by the SDN controller.
  • the obtaining module 802 is configured to obtain, according to the MAC address of the destination gateway, the VTEP information corresponding to the MAC address of the destination gateway, which is specifically:
  • the obtaining module 802 is configured to query the flow table saved by the first switch according to the MAC address of the destination gateway, and obtain VTEP information corresponding to the MAC address of the destination gateway. When two or more VTEP information is obtained, the VTEP information of the router located in the first data center is used as the VTEP information corresponding to the MAC address of the destination gateway.
  • an embodiment of the present invention provides a software-defined network SDN controller that implements virtual machine communication, where the SDN controller is located in a first data center, and is applied to at least a first virtual machine and a second virtual machine.
  • the first virtual machine is located in a first subnet of the first data center and is in communication with a first switch
  • the second virtual machine is located in a second subnet and is in communication with a second switch
  • the SDN control includes:
  • the receiving module 901 is configured to receive an address resolution protocol (ARP) request from the first switch, where the ARP request carries an IP address of the destination gateway;
  • ARP address resolution protocol
  • the processing module 902 is configured to obtain a media access control MAC address of the destination gateway according to the IP address of the destination gateway.
  • the sending module 903 is configured to send an ARP response to the first switch, where the ARP response carries a MAC address of the destination gateway, so that the first switch acquires the destination gateway according to the MAC address of the destination gateway.
  • the virtual extended LAN tunnel endpoint VTEP information corresponding to the MAC address, the router corresponding to the VTEP information is located in the first data center, and the router corresponding to the VTEP information passes the IP packet through the router and the second A tunnel of the switch is sent to the second virtual machine.
  • the receiving module 901 is further configured to receive a request sent by the first switch to request to obtain VTEP information corresponding to a MAC address of the destination gateway.
  • the processing module 902 is further configured to query the SDN control according to the MAC address of the destination gateway.
  • the flow table saved by the controller obtains the VTEP information corresponding to the MAC address of the destination gateway, and returns the VTEP information corresponding to the MAC address of the destination gateway to the first switch.
  • the flow table saved by the SDN controller is queried to obtain two or more VTEP information
  • the VTEP information of the router located in the first data center is used as the VTEP information corresponding to the MAC address of the destination gateway.
  • the processing module 902 queries the flow table saved by the SDN controller according to the MAC address of the destination gateway, and obtains VTEP information of two or more routers located in the first data center
  • the processing module 902 is configured according to the following. At least one of: a load and a scheduling policy of the router, and selecting VTEP information corresponding to the MAC address of the destination gateway.
  • the processing module 902 is further configured to acquire an IP address, a MAC address, and a second subnet of the second virtual machine from an SDN controller of the second data center. VNI, and VTEP information of the second switch.
  • the switch provided in FIG. 8 and the SDN controller provided in FIG. 9 may be used to perform the configuration process of FIG. 2, FIG. 3, FIG. 4a and FIG. 4b, and the method described in FIG. 5 and FIG.
  • the specific process refer to the description of the system embodiment and the method embodiment, and details are not described herein.
  • the switch provided in FIG. 8 and the SDN controller provided in FIG. 9 can implement cross-subnet communication, and the broadcast ARP request sent by the VM can be picked up by the SDN controller, which reduces the transmission bandwidth of the broadcast message. Occupied. Moreover, when the VM communicates, it only passes through the router of the data center 1, and does not need to pass through the router of the data center 1 and the router of the data center 2, thereby reducing the round trip of the message between the data centers.
  • an embodiment of the present invention provides a first switch that implements virtual machine communication, and is applied to a system including at least a first virtual machine and a second virtual machine, where the first virtual machine is located in a first data center and Communicating with the first switch, the second virtual machine is located in the second data center and is in communication with the second switch, where the first virtual machine and the second virtual machine are located in the same subnet, and the switch includes:
  • the receiving module 1001 is configured to receive an address resolution protocol ARP request from the first virtual machine, where the ARP request carries an IP address of the destination virtual machine.
  • the processing module 1002 is configured to obtain a media access control MAC address of the destination virtual machine according to the IP address of the destination virtual machine, and obtain a MAC address corresponding to the destination virtual machine according to the MAC address of the destination virtual machine.
  • Virtual scalable LAN tunnel endpoint VTEP information the VTEP information being an IP address of the second switch;
  • a sending module 1003 configured to tunnel through the first switch and the second switch
  • the IP packet is sent to the second virtual machine.
  • the processing module 1002 is configured to obtain, according to the IP address of the destination virtual machine, the media access control MAC address of the destination virtual machine, by: forwarding the ARP request to a software-defined network SDN controller of the first data center.
  • the ARP request carries an IP address of the destination virtual machine, and receives an ARP response from the SDN controller, where the ARP response carries a MAC address of the destination virtual machine.
  • the processing module 1002 is configured to obtain the VTEP information corresponding to the MAC address of the destination virtual machine according to the MAC address of the destination virtual machine, where the processing module 1002 is configured to send a request to the SDN controller to request to obtain the The VTEP information corresponding to the MAC address of the destination virtual machine, and the VTEP information corresponding to the MAC address of the destination virtual machine sent by the SDN controller; or
  • the processing module 1002 is configured to query the flow table saved by the first switch according to the MAC address of the destination virtual machine, and obtain VTEP information corresponding to the MAC address of the destination virtual machine.
  • the processing module 1002 is further configured to obtain an IP address, a MAC address, and VTEP information of the second virtual machine from the SDN controller of the first data center.
  • an embodiment of the present invention provides a software-defined network SDN controller that implements virtual machine communication, where the SDN controller is located in a first data center, and is applied to at least a first virtual machine and a second virtual machine.
  • the SDN controller includes:
  • the receiving module 1101 is configured to receive an address resolution protocol ARP request from the first switch, where the ARP request carries an IP address of the destination virtual machine.
  • the obtaining module 1102 is configured to obtain, according to the IP address of the destination virtual machine, a media access control MAC address of the destination virtual machine;
  • the sending module 1103 is configured to send an ARP response to the first switch, where the ARP response carries a MAC address of the destination virtual machine, so that the first switch acquires the MAC address according to the MAC address of the destination virtual machine.
  • the tunnel sends an IP packet to the second virtual machine.
  • the receiving module 1101 is further configured to: request the first switch to send the VTEP information corresponding to the MAC address of the destination virtual machine; the obtaining module 102 is further configured to query the location according to the MAC address of the destination virtual machine.
  • the flow table saved by the SDN controller acquires VTEP information corresponding to the MAC address of the destination virtual machine, and returns VTEP information corresponding to the MAC address of the destination virtual machine to the first switch.
  • the obtaining module 1102 is further configured to acquire an IP address, a MAC address, and VTEP information of the second virtual machine from the SDN controller of the second data center, where the sending module 1103 is further configured to: The IP address of the virtual machine, the MAC address, and the VTEP information of the second switch are sent to the first switch.
  • the switch provided in FIG. 10 and the SDN controller provided in FIG. 11 may be used to perform the configuration process of FIG. 2, FIG. 3, FIG. 4a and FIG. 4b, and to perform the method described in FIG.
  • the process refer to the description of the system embodiment and the method embodiment, and details are not described herein.
  • the switch provided in FIG. 10 and the SDN controller provided in FIG. 11 can implement communication across the same subnet of the data center, and the broadcast ARP request sent by the VM can be picked up by the SDN controller, and the broadcast report is reduced.
  • the VM communicates that is, the router of the data center 1 is not used, and the router of the data center 2 is not used, and the message is reduced. The roundabout between the two data centers.
  • Another apparatus 1200 for implementing virtual machine communication includes: a processor 101, a memory 102, and a system bus (so-called bus) 105.
  • the processor 101 and the memory 102 are connected by a system bus 105 and communicate with each other.
  • Processor 101 may be a single core or multi-core central processing unit, or a particular integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 102 may be a high speed RAM memory or a non-volatile memory such as at least one hard disk memory.
  • Memory 102 is used to store computer execution instructions 1 021. Specifically, the program code may be included in the computer execution instruction 1021.
  • the processor 101 executes the computer execution instruction 1 021, and the flow of any one of Figs. 2-7 can be performed.
  • the embodiment of the present invention further provides a computer program product for virtual machine communication, comprising a computer readable storage medium storing program code, wherein the program code includes instructions for executing the flow of any one of FIG. 2-7.
  • aspects of the invention, or possible implementations of various aspects may be embodied as a system, method, or computer program product.
  • aspects of the invention, or possible implementations of various aspects may be in the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, etc.), or a combination of software and hardware aspects, They are collectively referred to herein as "circuits," “modules,” or “systems.”
  • aspects of the invention, or possible implementations of various aspects may take the form of a computer program product, which is a computer readable program code stored on a computer readable medium.
  • the computer readable medium can be a computer readable signal medium or a computer readable storage medium.
  • the computer readable storage medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing, such as random access memory (RAM), read only memory (ROM), Erase programmable read-only memory (EPR0M or flash) Memory), fiber optic, portable read-only memory (CD-ROM).
  • the processor in the computer reads the computer readable program code stored in the computer readable medium, such that the processor can perform the functional actions specified in each step or combination of steps in the flowchart; A device that functions as specified in each block, or combination of blocks.
  • the computer readable program code can be executed entirely on the user's computer, partly on the user's computer, as a separate software package, partly on the user's computer and partly on the remote computer, or entirely on the remote computer or server.
  • the functions noted in the various steps in the flowcharts or in the blocks in the block diagrams may not occur in the order noted.
  • two steps, or two blocks, shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order.

Landscapes

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

Abstract

本发明实施例提供的方法和装置,第一交换机从 SDN控制器接收 ARP响应,所述 ARP响应携带目的网关的 MAC地址,所述第一交换机根据所述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的 VTEP信息,所述 VTEP 信息对应的路由器位于所述第一数据中心;所述第一交换机根据所述 VTEP 信息,发送 IP报文给所述 VTEP信息对应的路由器,以使所述 VTEP信息对应的路由器将所述 IP报文通过所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。因此 SDN控制器代答,减少了广播报文对传输带宽的占用,并且只经过了第一数据中心的路由器,减少了报文在数据中心间的迂回。

Description

一种实现虚拟机通信的方法和装置 技术领域
本发明实施例涉及网络通信领域, 特别涉及一种实现虚拟机通信的方 法和装置。
背景技术
现有技术应用虚拟可扩展局域网 (VxLAN, Vi r tua l extens ible LAN ) 技术扩展网络虚拟化, 用以得到足够数量的虚拟网络, 来满足用户使用。
每一个数据中心可能运行多个虚拟网络的虚拟机(VM , Vi r tua l Machine)。 当一个数据中心的 VM与另一数据中心的 VM通信时, 它会向第一 兆路由器发出广播地址解析协议(ARP, Addres s Resolut ion Protocol)请求, 以广播获取目的网关的 MAC地址, 然后 ARP请求被广播到各 VM。获取到目的 网关的 MAC地址后, 通过目的网关的 MAC地址, 将报文发送到各个数据中心 的路由器, 然后到达目的 VM, 从而实现 VM之间的通信。 但是这种 ARP广播 到各 VM的方式, 会占用大量传输带宽; 而且报文会通过各数据中心的路由 器才能到达目的 VM, 在数据中心间迂回比较严重。
发明内容
本发明实施例提出了一种实现虚拟机通信的方法和装置, 以减少广播报 文对传输带宽的占用, 和减少报文在数据中心间的迂回。
第一方面, 本发明实施例提出了一种实现虚拟机通信的方法, 应用于 至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第一数据 中心的第一子网并且与第一交换机通信, 所述第二虚拟机位于第二子网并 且与第二交换机通信, 该方法包括: 所述第一交换机从所述第一虚拟机接 收地址解析协议 ARP请求, 所述 ARP请求携带目的网关的 IP地址;
所述第一交换机向所述第一数据中心的软件定义网络 SDN控制器转发 所述 ARP请求;
所述第一交换机从所述 SDN控制器接收 ARP响应, 所述 ARP响应携带 所述目的网关的媒体接入控制 MAC地址;
所述第一交换机根据所述目的网关的 MAC地址, 获取所述目的网关的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息,所述 VTEP信息对应 的路由器位于所述第一数据中心;
所述第一交换机根据所述 VTEP信息,发送 IP报文给所述 VTEP信息对 应的路由器, 以使所述 VTEP信息对应的路由器将所述 IP报文通过所述路 由器与所述第二交换机的隧道发送给所述第二虚拟机。
结合第一方面, 在第一种可能的实现方式中, 所述第一交换机根据所 述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的 VTEP信息具 体包括: 所述第一交换机向所述 SDN控制器发送请求, 以请求获取所述目 的网关的 MAC地址对应的 VTEP信息;接收所述 SDN控制器发送的所述目的 网关的 MAC地址对应的 VTEP信息。
结合第一方面, 在第二种可能的实现方式中, 所述第一交换机根据所 述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的 VTEP信息具 体包括: 所述第一交换机根据所述目的网关的 MAC地址, 查询本地保存的 流表, 获取所述目的网关的 MAC地址对应的 VTEP信息。
结合第一方面的第二种可能的实现方式中, 在第三种可能的实现方式 中, 所述第一交换机查询本地保存的流表, 获取所述目的网关的 MAC地址 对应的 VTEP信息具体包括:
所述第一交换机根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的路由器的 VTEP 信息作为所述目的网关的 MAC地址对应的 VTEP信息。
结合第一方面的第三种可能的实现方式中, 在第四种可能的实现方式 中, 当所述第一交换机根据所述目的网关的 MAC地址, 查询本地保存的流 表, 获取了两条或以上位于所述第一数据中心的路由器的 VTEP信息时, 所 述第一交换机根据以下至少之一: 路由器的负载和调度策略, 选择所述目 的网关的 MAC地址对应的 VTEP信息。
结合第一方面或者第一方面的第一种至第四种任意一种可能的实现方 式, 在第五种可能的实现方式中, 所述第一交换机根据所述 VTEP信息, 发 送 IP报文给所述 VTEP信息对应的路由器, 以使所述 VTEP信息对应的路由 器将所述 IP报文通过所述路由器与所述第二交换机的隧道发送给所述第二 虚拟机具体包括:
所述第一交换机对从所述第一虚拟机接收的 IP报文进行虚拟可扩展局 域网 VxLAN封装, 其中所述 VxLAN封装的目的 IP地址为获取的所述 VTEP 信息, 虚拟网络标识 VN I为所述第一子网的标识, 所述 I P报文的目的 MAC 地址为所述目的网关的 MAC地址;
所述 VTEP信息对应的路由器, 将目的 IP地址改为所述第二交换机的 IP地址, VNI改为所述第二子网的标识, 目的 MAC地址改为所述第二虚拟 机的 MAC地址,然后将改变 VxLAN封装的 IP ^艮文,发送给所述第二交换机; 所述第二交换机对接收的改变 VxLAN封装的 IP报文, 进行 VxLA 解封 装后, 发送给所述第二虚拟机。
第二方面, 本发明实施例提出了一种实现虚拟机通信的方法, 应用于 至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第一数据 中心的第一子网并且与第一交换机通信, 所述第二虚拟机位于第二子网并 且与第二交换机通信,该方法包括: 所述第一数据中心的软件定义网络 SDN 控制器从所述第一交换机接收地址解析协议 ARP请求, 所述 ARP请求携带 目的网关的 IP地址;
所述 SDN控制器根据所述目的网关的 IP地址,获取所述目的网关的媒 体接入控制 MAC地址, 并向所述第一交换机发送 ARP响应, 所述 ARP响应 携带所述目的网关的 MAC地址, 以使所述第一交换机根据所述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息对应的路由器位于所述第一数据中心, 使所述 VTEP信息对应的路由器将 IP报文通过所述路由器与所述第二交换机的隧 道发送给所述第二虚拟机。
结合第二方面, 在第一种可能的实现方式中, 所述 SDN控制器接收所 述第一交换机发送的请求, 以请求获取所述目的网关的 MAC 地址对应的 VTEP信息;
所述 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息, 并向所述第一交换机返回 所述目的网关的 MAC地址对应的 VTEP信息。
结合第二方面的第一种可能的实现方式中, 在第二种可能的实现方式 中, 所述 SDN控制器查询本地保存的流表, 获取所述目的网关的 MAC地址 对应的 VTEP信息具体包括:
所述 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的路由器的 VTEP 信息作为所述目的网关的 MAC地址对应的 VTEP信息。
结合第二方面的第二种可能的实现方式中, 在第三种可能的实现方式 中, 当所述 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流 表, 获取了两条或以上位于所述第一数据中心的路由器的 VTEP信息时, 所 述 SDN控制器根据以下至少之一: 路由器的负载和调度策略, 选择所述目 的网关的 MAC地址对应的 VTEP信息。
结合第二方面或者第二方面的第一种至第三种任意一种可能的实现方 式, 在第四种可能的实现方式中, 若所述第二虚拟机位于第二数据中心, 则还包括:
所述第一数据中心的 SDN控制器从所述第二数据中心的 SDN控制器获 取所述第二虚拟机的 IP地址、 MAC地址、所述第二子网的虚拟网络标识 VNI , 和所述第二交换机的 VTEP信息, 以在所述第一数据中心的 SDN控制器的控 制下, 使所述 VTEP信息对应的路由器将所述 IP报文通过所述路由器与所 述第二交换机的隧道发送给所述第二虚拟机。
第三方面, 本发明实施例提出了一种实现虚拟机通信的第一交换机, 应用于至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第 一数据中心的第一子网并且与所述第一交换机通信, 所述第二虚拟机位于 第二子网并且与第二交换机通信, 所述第一交换机包括: 接收模块, 用于 从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的网 关的 IP地址;
发送模块, 用于向所述第一数据中心的软件定义网络 SDN控制器转发 所述 ARP请求;
所述接收模块还用于从所述 SDN控制器接收 ARP响应, 所述 ARP响应 携带所述目的网关的媒体接入控制 MAC地址;
获取模块, 用于根据所述目的网关的 MAC地址, 获取所述目的网关的
MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息,所述 VTEP信息对应 的路由器位于所述第一数据中心;
所述发送模块, 还用于根据所述 VTEP信息, 发送 IP报文给所述 VTEP 信息对应的路由器, 以使所述 VTEP信息对应的路由器将所述 IP报文通过 所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。
结合第三方面, 在第一种可能的实现方式中, 所述获取模块用于根据 所述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的 VTEP信息 具体为:
所述获取模块用于向所述 SDN控制器发送请求, 以请求获取所述目的 网关的 MAC地址对应的 VTEP信息,接收所述 SDN控制器发送的所述目的网 关的 MAC地址对应的 VTEP信息。
结合第三方面, 在第二种可能的实现方式中, 所述获取模块用于根据 所述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的 VTEP信息 具体为: 所述获取模块用于根据所述目的网关的 MAC地址, 查询所述第一交换 机保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息。
结合第三方面的第二种可能的实现方式中, 在第三种可能的实现方式 中, 所述获取模块用于查询所述第一交换机保存的流表, 获取所述目的网 关的 MAC地址对应的 VTEP信息具体为:
所述获取模块用于根据所述目的网关的 MAC地址, 查询所述第一交换 机保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的 路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。
第四方面,本发明实施例提出了一种实现虚拟机通信软件定义网络 SDN 控制器, 所述 SDN控制器位于第一数据中心, 并且应用于至少包括第一虚 拟机与第二虚拟机的***, 所述第一虚拟机位于所述第一数据中心的第一 子网并且与第一交换机通信, 所述第二虚拟机位于第二子网并且与第二交 换机通信, 所述 SDN控制器包括:
接收模块, 用于从所述第一交换机接收地址解析协议 ARP请求, 所述 ARP请求携带目的网关的 IP地址;
处理模块, 用于根据所述目的网关的 IP地址, 获取所述目的网关的媒 体接入控制 MAC地址;
发送模块, 用于向所述第一交换机发送 ARP响应, 所述 ARP响应携带 所述目的网关的 MAC地址, 以使所述第一交换机根据所述目的网关的 MAC 地址, 获取所述目的网关的 MAC 地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息对应的路由器位于所述第一数据中心, 使所述 VTEP信息对应的路由器将 IP报文通过所述路由器与所述第二交换机的隧 道发送给所述第二虚拟机。
结合第四方面, 在第一种可能的实现方式中, 所述接收模块还用于接 收所述第一交换机发送的请求, 以请求获取所述目的网关的 MAC地址对应 的 VTEP信息; 所述处理模块还用于根据所述目的网关的 MAC地址, 查询所述 SDN控 制器保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息, 并向所 述第一交换机返回所述目的网关的 MAC地址对应的 VTEP信息。
结合第四方面的在第一种可能的实现方式中, 在第二种可能的实现方 式中, 所述处理模块用于查询所述 SDN控制器保存的流表, 获取所述目的 网关的 MAC地址对应的 VTEP信息具体为:
所述处理模块用于才艮据所述目的网关的 MAC地址, 查询所述 SDN控制 器保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的 路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。
结合第四方面的第二种可能的实现方式中, 在第三种可能的实现方式 中, 当所述处理模块用于才艮据所述目的网关的 MAC地址, 查询所述 SDN控 制器保存的流表, 获取了两条或以上位于所述第一数据中心的路由器的 VTEP信息时, 所述处理模块用于根据以下至少之一: 路由器的负载和调度 策略, 选择所述目的网关的 MAC地址对应的 VTEP信息。
结合第四方面或者第四方面的第一种至第三种任意一种可能的实现方 式, 在第四种可能的实现方式中, 若所述第二虚拟机位于第二数据中心, 则所述处理模块还用于从所述第二数据中心的 SDN控制器获取所述第二虚 拟机的 IP地址、 MAC地址、 第二子网的虚拟网络标识 VNI , 和所述第二交 换机的 VTEP信息。
第五方面, 本发明实施例提出了一种实现虚拟机通信的交换机, 包括: 处理器、 存储器和***总线, 所述处理器和所述存储器之间通过所述 ***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器, 用于运行所述计算机执行指令, 执行如第一方面或第一 方面的第一种至第五种任意一种可能的实现方式。
第六方面,本发明实施例提出了一种实现虚拟机通信软件定义网络 SDN 控制器, 包括处理器、 存储器和***总线, 所述处理器和所述存储器之间 通过所述***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器, 用于运行所述计算机执行指令, 执行第二方面或第二方 面的第一种至第四种任意一种可能的实现方式。
本发明实施例,第一交换机从所述 SDN控制器接收 ARP响应,所述 ARP 响应携带所述目的网关的 MAC地址, 所述第一交换机根据所述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的 VTEP信息,所述 VTEP信息 对应的路由器位于所述第一数据中心;所述第一交换机根据所述 VTEP信息, 发送 IP 4艮文给所述 VTEP信息对应的路由器, 以使所述 VTEP信息对应的路 由器将所述 IP报文通过所述路由器与所述第二交换机的隧道发送给所述第 二虚拟机。 因此 SDN控制器代答, 减少了广播报文对传输带宽的占用, 并 且只经过了第一数据中心的路由器, 而不像现有技术可能同时经过第一数 据中心的路由器和第二数据中心的路由器, 减少了报文在数据中心间的迂 回。
第七方面, 本发明实施例提出了一种实现虚拟机通信的方法, 应用于 至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第一数据 中心并且与第一交换机通信, 所述第二虚拟机位于第二数据中心并且与第 二交换机通信, 所述第一虚拟机和所述第二虚拟机位于同一子网, 该方法 包括: 所述第一交换机从所述第一虚拟机接收地址解析协议 ARP请求, 所 述 ARP请求携带目的虚拟机的 IP地址;
所述第一交换机根据所述目的虚拟机的 IP地址,获取所述目的虚拟机 的媒体接入控制 MAC地址;
根据所述目的虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对 应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息为所述第二交 换机的 IP地址; 所述第一交换机通过所述第一交换机与所述第二交换机的隧道将 I P报 文发送给所述第二虚拟机。
结合第七方面, 在第一种可能的实现方式中, 所述第一交换机根据所 述目的虚拟机的 IP地址,获取所述目的虚拟机的媒体接入控制 MAC地址具 体包括:
所述第一交换机向所述第一数据中心的软件定义网络 SDN控制器转发 所述 ARP请求, 所述 ARP请求携带所述目的虚拟机的 IP地址;
所述第一交换机从所述 SDN控制器接收 ARP响应, 所述 ARP响应携带 所述目的虚拟机的 MAC地址。
结合第七方面或第七方面的第一种可能的实现方式中, 在第二种可能 的实现方式中, 才艮据所述目的虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息具体包括:
所述第一交换机向所述 SDN控制器发送请求, 以请求获取所述目的虚 拟机的 MAC地址对应的 VTEP信息; 息。
结合第七方面或第七方面的第一种可能的实现方式中, 在第三种可能 的实现方式中, 才艮据所述目的虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息具体包括:
所述第一交换机根据所述目的虚拟机的 MAC地址, 查询本地保存的流 表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息。
根据第七方面的第三种可能的实现方式中, 在第四种可能的实现方式 中,所述第一交换机从所述 SDN控制器获取所述第二虚拟机的 IP地址、 MAC 地址、 和所述第二交换机的 VTEP信息, 以通过所述第一交换机与所述第二 交换机的隧道将 IP报文发送给所述第二虚拟机。
第八方面, 本发明实施例提出了一种实现虚拟机通信的方法, 应用于 至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第一数据 中心并且与第一交换机通信, 所述第二虚拟机位于第二数据中心并且与第 二交换机通信, 所述第一虚拟机和所述第二虚拟机位于同一子网, 该方法 包括: 所述第一数据中心的软件定义网络 SDN控制器从所述第一交换机接 收地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址;
所述 SDN控制器根据所述目的虚拟机的 IP地址,获取所述目的虚拟机 的媒体接入控制 MAC地址, 并向所述第一交换机发送 ARP响应, 所述 ARP 响应携带所述目的虚拟机的 MAC地址, 以使所述第一交换机根据所述目的 虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对应的虚拟可扩展局 域网隧道端点 VTEP信息, 所述 VTEP信息为所述第二交换机的 I P地址, 使 所述第一交换机通过所述第一交换机与所述第二交换机的隧道将 I P报文发 送给所述第二虚拟机。
结合第八方面, 在第一种可能的实现方式中, 所述 SDN控制器接收所 述第一交换机发送的请求, 以请求获取所述目的虚拟机的 MAC地址对应的 VTEP信息;
所述 SDN控制器根据所述目的虚拟机的 MAC地址, 查询本地保存的流 表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息, 并向所述第一交换 机返回所述目的虚拟机的 MAC地址对应的 VTEP信息。
结合第八方面或第八方面的第一种可能的实现方式中, 在第二种可能 的实现方式中,所述第一数据中心的 SDN控制器从所述第二数据中心的 SDN 控制器获取所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP 信息, 并将所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP 信息下发给所述第一交换机。
第九方面, 本发明实施例提出了一种实现虚拟机通信的第一交换机, 应用于至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第 一数据中心并且与所述第一交换机通信, 所述第二虚拟机位于第二数据中 心并且与第二交换机通信, 所述第一虚拟机和所述第二虚拟机位于同一子 网, 所述交换机包括:
接收模块, 用于从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址;
处理模块, 用于根据所述目的虚拟机的 IP地址, 获取所述目的虚拟机 的媒体接入控制 MAC地址, 根据所述目的虚拟机的 MAC地址, 获取所述目 的虚拟机的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息为所述第二交换机的 IP地址;
发送模块,用于通过所述第一交换机与所述第二交换机的隧道将 IP报 文发送给所述第二虚拟机。
结合第九方面, 在第一种可能的实现方式中, 所述处理模块用于根据 所述目的虚拟机的 IP地址, 获取所述目的虚拟机的 MAC地址具体为:
所述处理模块用于向所述第一数据中心的软件定义网络 SDN控制器转 发所述 ARP请求,所述 ARP请求携带所述目的虚拟机的 IP地址,从所述 SDN 控制器接收 ARP响应, 所述 ARP响应携带所述目的虚拟机的 MAC地址。
结合第九方面或第九方面的第一种可能的实现方式中, 在第二种可能 的实现方式中, 所述处理模块用于根据所述目的虚拟机的 MAC地址, 获取 所述目的虚拟机的 MAC地址对应的 VTEP信息具体为:
所述处理模块用于向所述 SDN控制器发送请求, 以请求获取所述目的 虚拟机的 MAC地址对应的 VTEP信息,接收所述 SDN控制器发送的所述目的 虚拟机的 MAC地址对应的 VTEP信息。
结合第九方面或第九方面的第一种可能的实现方式中, 在第三种可能 的实现方式中, 所述处理模块用于根据所述目的虚拟机的 MAC地址, 获取 所述目的虚拟机的 MAC地址对应的 VTEP信息具体为:
所述处理模块用于才艮据所述目的虚拟机的 MAC地址, 查询所述第一交 换机保存的流表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息。 结合第九方面的第三种可能的实现方式中, 在第四种可能的实现方式 中, 所述处理模块还用于从所述第一数据中心的 SDN控制器获取所述第二 虚拟机的 IP地址、 MAC地址、 和所述第二交换机的 VTEP信息。
第十方面,本发明实施例提出了一种实现虚拟机通信软件定义网络 SDN 控制器, 所述 SDN控制器位于第一数据中心, 并且应用于至少包括第一虚 拟机与第二虚拟机的***, 所述第一虚拟机位于所述第一数据中心并且与 第一交换机通信, 所述第二虚拟机位于第二数据中心并且与第二交换机通 信, 所述第一虚拟机和所述第二虚拟机位于同一子网, 所述 SDN控制器包 括:
接收模块, 用于从所述第一交换机接收地址解析协议 ARP请求, 所述
ARP请求携带目的虚拟机的 IP地址;
获取模块, 用于根据所述目的虚拟机的 IP地址, 获取所述目的虚拟机 的媒体接入控制 MAC地址;
发送模块, 用于向所述第一交换机发送 ARP响应, 所述 ARP响应携带 所述目的虚拟机的 MAC地址, 以使所述第一交换机根据所述目的虚拟机的 MAC地址,获取所述目的虚拟机的 MAC地址对应的虚拟可扩展局域网隧道端 点 VTEP信息, 所述 VTEP信息为所述第二交换机的 IP地址, 使所述第一交 换机通过所述第一交换机与所述第二交换机的隧道将 IP报文发送给所述第 二虚拟机。
结合第十方面, 在第一种可能的实现方式中, 所述接收模块还用于接 收所述第一交换机发送的请求, 以请求获取所述目的虚拟机的 MAC地址对 应的 VTEP信息;
所述获取模块还用于根据所述目的虚拟机的 MAC地址, 查询所述 SDN 控制器保存的流表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息, 并 向所述第一交换机返回所述目的虚拟机的 MAC地址对应的 VTEP信息。
根据第十方面或第十方面的第一种可能的实现方式中, 在第二种可能 的实现方式中, 所述获取模块还用于从所述第二数据中心的 SDN控制器获 取所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP信息; 所述发送模块还用于将所述第二虚拟机的 IP地址、 MAC地址和所述第 二交换机的 VTEP信息下发给所述第一交换机。
第十一方面, 本发明实施例提出了一种实现虚拟机通信的交换机, 包 括:
处理器、 存储器和***总线, 所述处理器和所述存储器之间通过所述 ***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器, 用于运行所述计算机执行指令, 执行如第七方面或第七 方面的第一种至第四种任意一种可能的实现方式。
第十二方面, 本发明实施例提出了一种实现虚拟机通信软件定义网络
SDN控制器, 包括处理器、存储器和***总线, 所述处理器和所述存储器之 间通过所述***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器, 用于运行所述计算机执行指令, 执行第八方面或第八方 面的第一种至第二种任意一种可能的实现方式。
本发明实施例, 所述第一交换机根据所述目的虚拟机的 IP地址, 获取 所述目的虚拟机的 MAC地址; 居所述目的虚拟机的 MAC地址, 获取所述 目的虚拟机的 MAC地址对应的 VTEP信息, 所述 VTEP信息为所述第二交换 机的 IP地址; 所述第一交换机通过所述第一交换机与所述第二交换机的隧 道将 IP报文发送给所述第二虚拟机。 因此 SDN控制器代答, 减少了广播报 文对传输带宽的占用, 即不用经过第一数据中心的路由器, 也不用经过第 二数据中心的路由器, 减少了报文在两个数据中心间的迂回。
附图说明
为了更清楚地说明本发明实施例的技术方案, 下面将对现有技术或实施 例中所需要使用的图作筒单地介绍, 显而易见地, 下面描述中的图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下 , 还可以根据这些图获得其他的图。
图 la是根据本发明实施例提供的-一种实现虚拟机通信的***架构图; 图 lb是根据本发明实施例提供的-一种实现虚拟机通信的***架构图; 图 2是根据本发明实施例提供的一 -种配置方法示意图;
图 3是根据本发明实施例提供的一 -种配置方法流程图;
图 4a是根据本发明实施例提供的 VM增加时的流程图;
图 4b是根据本发明实施例提供的 VM删除时的流程图;
图 5是根据本发明实施例提供的一 -种实现 VM通信的流程图;
图 6是根据本发明实施例提供的一 -种实现 VM通信的流程图;
图 7是根据本发明实施例提供的一 -种实现 VM通信的流程图;
图 8是根据本发明实施例提供的一 -种交换机结构示意图;
图 9是根据本发明实施例提供的一 -种控制器结构示意图;
图 10是根据本发明实施例提供的-一种交换机结构示意图;
图 11是根据本发明实施例提供的-一种控制器结构示意图;
12是根据本发明实施例提供的-一种硬件结构示意图。
具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述。 本发明实施例提出了一种实现虚拟机通信的方法、 和***, 能够减少广 播报文对传输带宽的占用, 和减少报文在数据中心间的迂回。
本发明实施例的***架构
本发明实施例提供的实现虚拟机通信的方法可以在如图 la和图 lb所示 的***架构中实现。 图 la和图 lb仅是示例性说明, 并不限定具体的组网方 虚拟可扩展局域网 (VxLAN, Virtual extensible LAN)是在 3层网络 上借助封装来实现网络虚拟化的。 具体地, VxLAN封装借助 VxLAN隧道端点 ( VTEP, VxLAN Tunnel End Point )来完成。该端点可以通过一台 hypervisor 交换机或物理接入交换机来提供的。 VTEP之间建立隧道(Tunnel) ,通过该隧 道传输虚拟网络的数据。
如图 la所示, 该***包括第一数据中心(DC1 ), 第二数据中心(DC2)。 DCl内包括虚拟机(VM, Virtual Machine) VM1、 VM2、 VM3和 VM4。 DC2内包 括虚拟机 VM5、 VM6和 VM7。
网络管理器(NetworkManager ), 部署于任意数据中心中, 可实现与各 数据中心的软件定义网络控制器(SDN Controller, Software Defined
Network Controller )通信。 网络管理器的功能, 具体参见图 2和图 3的描 述。
每个数据中心可以各部署一个 SDN控制器,各个数据中心的 SDN控制器 互相通信。 具体的, SDN控制器集群之间可以是 Full-Mesh全互联, 也可以 是部分相连。 也可以多个数据中心, 部署一个 SDN控制器, 本发明对此不作 限定。
位于 DC1内的 VM1属于第一子网(也可以表示为子网 1 ),该子网的虚拟 网络标识 ( VNI, Virtual Network Identifier)以 11111为例。 第一子网在 DC1的网关的 IP地址以 192.168.1.1为例,媒体接入控制( MAC, Media Access Control )地址为 MAC1。 第一子网在 DC2的网关的 IP地址以 192.168.1.1 为例, MAC地址为 MAC1。第一子网在 DCl的网关的 IP地址和第一子网在 DC2 的网关的 IP地址可以相同或者不同。 第一子网在 DC1的网关的 MAC地址和 第一子网在 DC2的网关的 MAC地址可以相同或者不同。 在 IP地址和 MAC地 址相同的情况下 (也可以称为双活), 本方案的效果更明显。
VM1通过第一交换机( Swi t ch )与第一子网外的 VM通信。 这里的交换机 可以是虚拟的, 也可以是物理的。 本发明对此不作限定。 第一交换机的 IP 地址以 10. 10. 10. 2为例。 第一交换机在隧道中以 VTEP1表示。 VM1的 IP地 址以 192. 168. 1. 2为例, MAC地址表示为 MAC_VM1。
位于 DC1内的 VM2、 VM3、 VM4和位于 DC2内的 VM7属于同一子网, 称为 第二子网(也可以表示为子网 2 )。 该子网的 VNI以 22222为例。 第二子网在 DC1的网关的 IP地址以 192. 168. 2. 1为例, MAC地址为 MAC2。 第二子网在 DC 2的网关的 IP地址以 192. 168. 2. 1为例, MAC地址为 MAC2。 第二子网在 DC1的网关的 IP地址和第二子网在 DC2的网关的 IP地址可以相同或者不同。 第二子网在 DC1的网关的 MAC地址和第二子网在 DC2的网关的 MAC地址可以 相同或者不同。
VM2、 VM3和 VM4通过第二交换机与第一子网外的 VM通信。 这里的交换 机可以是虚拟的, 也可以是物理的。 第二交换机的 IP地址以 10. 10. 10. 3为 例 ,在隧道中以 VTEP2表示。 VM7通过第三交换机与第二子网外的 VM通信。 第三交换机的 IP地址以 11. 11. 11. 3为例, 在隧道中以 VTEP3表示。 VM2的 IP地址以 192. 168. 2. 2为例, MAC地址表示为 MAC-VM2。 VM3的 IP地址以 192. 168. 2. 3为例, MAC地址表示为 MAC_VM3。 VM4的 IP地址以 192. 168. 2. 4 为例, MAC地址表示为 MAC- VM4。 VM7的 IP地址以 192. 168. 2. 7为例, MAC 地址表示为 MAC- VM7。
位于 DC2内的 VM5和 VM6属于第三子网(也可以表示为子网 3 ),该子网 的 VNI以 33333为例。 第三子网在 DC1的网关的 IP地址以 192. 168. 3. 1为 例, MAC地址为 MAC3。 第三子网在 DC2的网关的 IP地址以 192. 168. 3. 1为 例, MAC地址为 MAC3。 第三子网在 DC1的网关的 IP地址和第三子网在 DC2 的网关的 IP地址可以相同或者不同。 第三子网在 DC1的网关的 MAC地址和 第三子网在 DC2的网关的 MAC地址可以相同或者不同。
VM5和 VM6通过第四交换机与第三子网外的 VM通信。这里的交换机可以 是虚拟的, 也可以是物理的。 第四交换机的 IP地址以 11. 11. 11. 4为例, 在 隧道中以 VTEP4表示。 VM5的 IP地址以 192. 168. 3. 5为例, MAC地址表示为 MAC- VM5。 VM6的 IP地址以 192. 168. 3. 6为例, MAC地址表示为 MAC- VM6。 在 DC1内, 部署一台或多台路由器(router ), 以部署路由器 1为例说 明。路由器 1在隧道中以 VTEP5表示, IP地址以 10. 10. 10. 5为例。 类似地, 在 DC2内, 部署一台或多台路由器, 以部署路由器 2为例说明。 路由器 1在 隧道中以 VTEP6表示, IP地址以 11. 11. 11. 6为例。
部署多个路由器的情况,可以参照图 lb。 比如路由器 1和路由器 3可以 组成集群, 从而可以消除单路由器的瓶颈, 实现路由器间的弹性伸缩。 本发 明对部署多少个路由器不做限定, 当然也可以大于 2个。 其他信息与图 la 类似, 不再详述。
参见图 2 ,描述网络管理器对任一 SDN控制器的配置过程,包括但不限于 以下三条命令: AddRouter lnfo , AddSwi tchlnf o , 和 ADDPeerSDNCt r 1。
其中 AddRouter lnfo , 用来配置路由器的 IP地址和 DC标识信息, 以表 1为例说明:
表 1
Figure imgf000019_0001
AddSwi tchlnfo, 用来配置交换机的 VTEP信息, 以表 2为例说明:
表 2
Figure imgf000019_0002
ADDPeerSDNCt r 1 ,用来配置对端 SDN控制器的 IP地址,对端 DC的示识, 以表 3为例说明: 表 3
Figure imgf000020_0001
可选地, SDN控制器把表 1-表 3的各项信息, 以流表的形式保存。
然后, 结合图 3 , 描述网络管理器通过 SDN控制器对各子网进行配置的 过程。
Al)、 NetworkManager向 DC1内的 SDN控制器添加子网与路由器的关联 关系, 具体的添力。命令以 AddRouter lnterface为例。 以添力口子网 1为例, 子网 1的 VNI为 11111 , 该子网在 DC1的网关的 IP地址为 192. 168. 1. 1/24 , 24表示子网掩码为 255. 255. 255. 0 , MAC地址为 MAC1。
可选地, SDN控制器把添加的信息以流表的形式保存, 下面类似地, SDN 控制器会把其他添加的信息, 也以流表的形式保存。
A2)、DC1内的 SDN控制器向 DC1内的路由器 1添加子网与路由器的关联 关系, 具体的添加命令以 Ad dRou t e r Gw I P为例。
A3)、在子网 1中创建了 VM的情况下, SDN控制器向本数据中心的 Swi t ch 添加网关的 MAC地址对应的 VTEP信息, 具体的添加命令以 AddGwMacVTEP为 例。 以图 la和图 lb中信息为例, 如果子网 1中 VM1发送 ·^艮文, 若该 ·^艮文对 应的网关的 MAC地址为 MAC 1 ,则将该 ^艮文发送给 VTEP为 10. 10. 10. 5的路由 器,其中 VNI确定路由器上的处理接口。本数据中心的 Swi t ch把网关的 MAC 地址对应的 VTEP信息以流表的形式保存。
B1)、 NetworkManager向 DC2内的 SDN控制器添加子网与路由器的关联 关系, 具体的添力。命令以 AddRouter lnterface为例。 以添力口子网 1为例, 子网 1的 VNI为 11111 , 该子网在 DC2的网关的 IP地址为 192. 168. 1. 1/24 , 24表示子网掩码为 255. 255. 255. 0 , MAC地址为 MAC1。 B2)、DC2内的 SDN控制器向 DC2内的路由器 2添加子网与路由器的关联 关系, 具体的添加命令以 Ad dRou t e r Gw I P为例。
B3)、在子网 1中创建了 VM的情况下, SDN控制器向本数据中心的 Switch 添加网关的 MAC地址对应的 VTEP信息, 具体的添加命令以 AddGwMacVTEP为 例。 以图 la和图 lb中信息为例, 如果子网 1中 VM1发送 ·^艮文, 若该 ·^艮文对 应的网关的 MAC地址为 MAC 1,则将该报文发送给 VTEP为 11.11.11.6的路由 器, 其中 VNI确定路由器上的处理接口。
步骤 Bl)、 B2)、 B3)和步骤 Al)、 A2 )、 A3 )之间没有先后顺序之分。 类似地, 网络控制器和 SDN控制器可以添加其他子网与路由器的关联关系。
在图 3所述的配置过程中, 子网 1在 DC1的网关的 IP地址和在 DC2内 的网关的 IP地址相同, 子网 1在 DC1的网关的 MAC地址和在 DC2内的网关 的 IP地址相同, 但是路由器的 VTEP信息 (即指路由器的 VTEP的 IP地址) 不同。
下面结合图 4a,描述如何创建 VM以及实现信息同步的过程。以创建 VM2 为例说明。
A1)、 向 DC1的第二交换机发起创建虚拟机 VM2的命令, 具体的创建命 令以 Create VM on Switch为例。
A2)、 DC1的第二交换机创建了 VM2, 然后将 VM2虚拟端口与对应的 VTEP 信息通知到 DC1的 SDN Controller,具体的通知命令以 VM vPort VTEP notify 为例。 对 VM2, 其 MAC地址为 MAC-VM2, IP地址为 192.168.2.2。 属于第二 子网, VNI为 22222。 VM2对应的 VTEP信息为 10.10.10.3。
SDN控制器可以才艮据端口信息, 获得该端口的 VNI。
A3)、 DC1的 SDN Controller将 VM2虚拟端口与对应的 VTEP信息通知给 DC 2的 SDNController, 具体的通知命令以 VM vPort VTEP notify为例。
A4.1)、 DC1的 SDN Controller将 VM2的信息添加到 DC1的路由器中, 具体的添加命令以 AddVMMacVTEP为例,包括 VM2的 IP=192.168.2.2, MAC=MAC-VM2, VNI=222222, VTEP=10.10.10.3。
A4.2)、 DC 2的 SDN Controller将 VM2的信息添加到 DC 2的路由器中, 具体的添加命令以 AddVMMacVTEP为例,包括 VM2的 IP=192.168.2.2, MAC=MAC-VM2, VNI=222222, VTEP=10.10.10.3。
A3 )和 A4.1 )之间没有先后顺序之分, A4.1 )与 A4.2 )之间也没有先 后顺序之分。
A5 )、DC1的 SDN控制器向 DC1的 Switch添加网关的 MAC地址对应的 VTEP 信息。 具体的添加命令以 AddGwMacVTEP为例。 以 VM2为例, 如果子网 2中 VM2发送 ^艮文,该 ^艮文对应的网关的 MAC地址为 MAC 2 ,则将该 4艮文发送给 VTEP 为 10.10.10.5的路由器。 VNI=22222, 用于确定路由器上的处理接口。
如图 3的 B3)和 A3)所示, 若在子网中创建了 VM的情况下, SDN控制器 向本数据中心的 Switch添加网关的 MAC地址对应的 VTEP信息。若在图 3创 建子网的时候, VM仍未建立。 那么可以通过图 4a的 A5)向本数据中心的 Switch添加网关的 MAC地址对应的 VTEP信息。
A5)与 A3 ) -A4.2 )之间, 无先后顺序之分。
下面结合图 4b,描述如何删除 VM以及实现信息同步的过程。以删除 VM2 为例说明。
B 1 )、 向 DC 1的第二交换机发起删除虚拟机 VM2的命令, 具体的删除命 令以 delete VM on Switch为例。
B2)、 DC1的第二交换机删除了 VM2, 然后通知 DC1的 SDN Controller 将 VM2的虚拟端口与对应的 VTEP信息删除, 具体的删除命令以 delete VM vPort not if y为例。
对应图 4a的 A5) , 网关的 MAC地址对应的 VTEP信息也可以在步骤 B2) 删除
B3 )、 DC1的 SDN Controller将删除 VM2的信息通知给 DC2的
SDNController, 具体的通知命令以 delete VM vPort notify为例。 B4. 1 )、 DC1的 SDN Cont rol ler将 DC1的路由器中的 VM2的 MAC地址及 VTEP信息删除, 具体的删除命令以 De le teRouterMacVTEP为例, 包括 VM2 的 IP=192. 168. 2. 2 , MAC=MAC-VM2 , VNI=2222220
B4. 2) 、 DC2的 SDN Cont rol ler将 DC2的路由器中的 VM2的 MAC地址及 VTEP信息删除, 具体的删除命令以 De le teRouterMacVTEP为例, 包括 VM2 的 IP=192. 168. 2. 2 , MAC=MAC-VM2 , VNI=2222220
B3 )和 B4. 1 )之间没有先后顺序之分, B4. 1 )与 B4. 2 )之间也没有先 后顺序之分。
虚拟机迁移可以拆解为 VM创建和 VM删除两个操作,具体可以参见图 4a 和图 4b描述的流程, 不再赘述。
经过图 2-图 4的配置过程, DC1的 SDN控制器获得了 DC1中路由器 1的 信息、 第一交换机的信息、 第二交换机的信息, DC1中各子网与路由器的关 联关系、 以及 DC1中各虚拟机的 MAC地址和 VTEP信息, 同时 DC1的 SDN控 制器也获得了 DC2的 SDN控制器的信息, 以及 DC2的 SDN控制器控制下的虚 拟机的 MAC地址和 VTEP的信息, 可以是 DC2的 SDN控制器控制下的部分虚 拟机的 MAC地址和 VTEP的信息, 也可以是 DC2的 SDN控制器控制下的全部 虚拟机的 MAC地址和 VTEP的信息。 类似地, DC2的 SDN控制器获得了 DC2 中路由器 1的信息、 第三交换机的信息、 第四交换机的信息, DC2中各子网 与路由器的关联关系、 以及 DC2中各虚拟机的 MAC地址和 VTEP信息, 同时 DC 2的 SDN控制器也获得了 DC1的 SDN控制器的信息, 以及 DC1的 SDN控制 器控制下的虚拟机的 MAC地址和 VTEP的信息, 可以是 DC1的 SDN控制器控 制下的部分虚拟机的 MAC地址和 VTEP的信息, 也可以是 DC1的 SDN控制器 控制下的全部虚拟机的 MAC地址和 VTEP的信息。
在图 l a和图 l b所述的***架构上, 如何实现虚拟机通信, 具体参见下 面实施例的描述。
实现虚拟 ιϋ信的方法 下面介绍本发明实施例提供的实现虚拟机通信的方法, 该方法可以在前 述实施例的***架构上实现。
如图 5所示的实现虚拟机通信的方法实施例, 用于实现位于数据中心 DC1的虚拟机 VM4与位于数据中心 DC2的虚拟机 VM5通信, VM4位于第二子 网, VM5位于第三子网。 VM4通过第二交换机与第二子网外的 VM通信, VM5 通过第四交换机与第三子网外的 VM通信。 该方法包括以下步骤:
1 ) VM4需要与 VM5通信。 VM4查询路由表, 发现 VM4与 VM5位于不同 子网, 贝 VM4使用第二子网的默认网关 192. 168. 2. 1 作为目的网关。 VM4 向第二交换机发送广播地址解析协议(ARP, Addres s Reso lut ion Protoco l) 请求, 以广播获取目的网关的 MAC地址, 该 ARP请求携带所述目的网关的 IP地址。
2 )第二交换机接收所述 ARP请求, 并将所述 ARP请求转发给第一数据 中心的 SDN控制器。
3 )第一数据中心的 SDN控制器接收所述 ARP请求, 根据所述 ARP请求 携带的目的网关的 IP地址, 查询本地保存的流表, 获取目的网关的 MAC地 址为 MAC2。 SD 控制器向所述第二交换机发送 ARP响应, 所述 ARP响应携 带所述目的网关的 MAC地址。 并且, 此 ARP响应相当于对广播 ARP请求进 行了代答。
可选地, 该 ARP请求还可以携带接收 ARP响应的第二交换机的端口信 息, SDN控制器根据所述端口信息, 查询流表, 获得所述端口信息对应的 VNI。 获取所述目的网关的 MAC地址具体包括: 所述 SDN控制器根据所述目 的网关的 I P地址和端口信息对应的 VN I , 获取所述目的网关的 MAC地址。
可选地, 该 ARP请求还可以携带接收 ARP响应的第二交换机的端口的 VNI。 获取所述目的网关的 MAC地址具体包括: 所述 SDN控制器根据所述目 的网关的 I P地址和第二交换机的端口的 VN I , 获取所述目的网关的 MAC地 址。 4 )第二交换机接收所述 ARP响应, 并将所述 ARP响应转发给 VM4。
5 ) VM4向第二交换机发送 IP报文, 该 IP报文的目的 MAC (Des tMAC)为 MAC 2 , 目的 IP ( Des t IP )为 VM5的 IP地址: 192. 168. 3. 5 , 源 MAC为 VM4 的 MAC (以 MAC-VM4表示 ) , 源 IP为 VM4的 IP地址: 192. 168. 2. 4。
经过图 3、 图 4a和图 4b的配置过程, 第二交换机可能緩存了 MAC 2对 应的 VTEP信息。 如果第二交换机发现 MAC2对应的 VTEP信息存在, 则直接 执行步骤 8 )。 如果第二交换机发现 MAC2对应的 VTEP信息不存在, 则执行 步骤 6 )和步骤 7 )0
6 )第二交换机向本数据中心的 SDN控制器发送请求, 以请求获取目的 网关的 MAC地址对应的 VTEP信息。
7 ) SDN控制器查询本地保存的流表, 获取所述目的网关的 MAC地址对 应的 VTEP信息, 并向所述第二交换机发送所述目的网关的 MAC地址对应的 VTEP信息。
当 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取了两条或以上的 VTEP信息, 则以与所述第二交换机位于同一数据中心 的路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。
在本实施例中, 根据 MAC2 , 如果获取了 VTEP5 ( IP为 10. 10. 10. 5 )和 VTEP6 ( IP为 11. 11. 11. 6 )两条 VTEP信息, 则选择与第二交换机位于同一 数据中心的 VTEP 5作为目的网关的 MAC地址对应的 VTEP。
当第一数据中心内, 与目的网关的 MAC地址对应的 VTEP信息有两条或 以上时, 如图 lb所示的多路由器的方案, SDN控制器根据以下至少之一: 路由器的负载和调度策略, 为 VM4选择合适的 VTEP , 把选择的合适的 VTEP 的 IP地址发送给所述第二交换机。路由器的负载包括但不限于路由器的流 量、 和路由器的 CPU负荷。 调度策略包括但不限于 RondRob in、 最小负载优 先、 和最大负载优先。
8)第二交换机获取目的网关的 MAC地址对应的 VTEP信息,然后将从 VM4 接收的 IP ^艮文 VxLAN封装后发送给该 VTEP信息对应的路由器。其中 VxLAN 封装的 IP 4艮文的源 IP为第二交换机的 IP地址 10. 10. 10. 3 , 目的 IP为获 取的 VTEP信息 ( 10. 10. 10. 5 ), VNI为 22222。
如果第二交换机查询本地的流表,发现 MAC2对应的 VTEP信息不存在, 则通过上述的步骤 6 )和 7 ), 获取目的网关的 MAC地址对应的 VTEP信息; 或者,
第二交换机查询本地的流表, 获取目的网关的 MAC地址对应的 VTEP信 息。 具体的, 获取了两条或以上的 VTEP信息时, 则以与所述第二交换机位 于同一数据中心的路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。 同一数据中心有多个路由器的时候, 采取步骤 7 )类似的路由 器的负载和调度策略进行选择, 不再详细描述。
9 )所述第一数据中心的路由器, 对接收的报文改变 VxLAN封装, 通过 第一数据中心的路由器与第四交换机之间的隧道, 发送给第四交换机。
经过图 3、 图 4a和图 4b的配置过程, 第一数据中心的路由器緩存了第 二数据中心的虚拟机的 MAC地址和 VTEP信息, 因此可以直接在第一数据中 心的路由器与第四交换机之间建立 VxLAN隧道,并通过第一数据中心的路由 器与第四交换机之间隧道, 直接将改变封装后的报文发送给第四交换机, 而不用通过第二数据中心的路由器。
改变 VxLAN 封装具体为: 将步骤 8 ) 的 VxLAN 封装的源 IP 改为 10. 10. 10. 5,目的 IP 改为第四交换机的 IP 地址 11. 11. 11. 4 , VNI 改为 33333;然后将步骤 5 )的 IP报文的目的 MAC改为 MAC-VM5 ,源 MAC改为 MAC2。 经过对 VxLAN封装的改变,第四交换机收到封装后的 IP报文, 直接进行处 理, 不会再触发广播 ARP请求的流程。
10 )第四交换机进行 VxLAN解封装后, 将 IP报文发送给 VM5。
VM5向 VM4发送 ΙΡ ·^艮文的过程, 与此类似, 不再赘述。
经过上述流程, 实现了跨数据中心跨子网的通信, 而且 VM发送的广播 ARP请求, 可由 SDN控制器代答, 减少了广播报文对传输带宽的占用。 并且 VM通信时, 只经过了第一数据中心的路由器, 而不用同时经过第一数据中 心的路由器和第二数据中心的路由器, 减少了报文在数据中心间的迂回。
如图 6所示的实现虚拟机通信的方法实施例, 用于实现位于数据中心 DC1的虚拟机 VM3与位于数据中心 DC 2的虚拟机 VM7通信, VM3和 VM7均位 于第二子网。 VM3通过第二交换机与第二子网外的 VM通信, VM7通过第三 交换机与第二子网外的 VM通信。 该方法包括以下步骤:
1 ) VM3需要与 VM7通信。 VM3查询路由表, 发现 VM3与 VM7位于同一 子网。 VM3向第二交换机发送广播地址解析协议(ARP, Addres s Resolut ion Protocol)请求, 以广播获取目的虚拟机的 MAC地址。 该 ARP请求携带 VM7 的 IP地址。
第二交换机接收所述 ARP请求。 经过图 4a和图 4b的配置过程, 第二 交换机可能緩存了 VM7的 MAC地址。 如果第二交换机发现 VM7的 MAC地址 存在, 则直接执行步骤 4 )。 如果第二交换机发现 VM7的 MAC地址不存在, 则执行步骤 2 )和步骤 3 )。
2 )第二交换机将所述 ARP请求转发给第一数据中心的 SDN控制器。
3 )第一数据中心的 SDN控制器接收所述 ARP请求, 根据所述 ARP请求 携带的目的虚拟机的 IP地址,查询本地保存的流表,获取目的虚拟机的 MAC 地址为 MAC-VM7。 SDN控制器向所述第二交换机发送 ARP响应, 所述 ARP响 应携带所述目的虚拟机的 MAC地址。 并且, 此 ARP响应相当于对广播 ARP 请求进行了代答。
4 )第二交换机接收所述 ARP响应, 并将所述 ARP响应转发给 VM3。
5 ) VM3向第二交换机发送 IP报文, 该 IP报文的目的 MAC (Des tMAC)为 MAC-VM7 , 目的 IP ( Des t IP ) 为 VM7的 IP地址: 192. 168. 2. 7 , 源 MAC为 VM3的 MAC (以 MAC- VM3表示 ), 源 IP为 VM3的 IP地址: 192. 168. 2. 3。
经过图 4a和图 4b的配置过程, 第二交换机可能緩存了 MAC-VM7对应 的 VTEP信息。 如果第二交换机发现 MAC-VM7对应的 VTEP信息存在, 则直 接执行步骤 8 )。如果第二交换机发现 MAC-VM7对应的 VTEP信息不存在,则 执行步骤 6 )和步骤 7 )0
6 )第二交换机向本数据中心的 SDN控制器发送请求, 以请求获取目的 虚拟机的 MAC地址对应的 VTEP信息。
7 ) SD 控制器查询本地保存的流表, 获取所述目的虚拟机的 MAC地址 对应的 VTEP信息, 并向所述第二交换机发送所述目的虚拟机的 MAC地址对 应的 VTEP信息。
在本实施例中, 根据 MAC-VM7 , 获取的 VTEP 为 VTEP 3 , VTEP信息为 1 1. 1 1. 1 1. 3。
8 )第二交换机获取目的虚拟机的 MAC地址对应的 VTEP信息, 然后将 从 VM3接收的 IP报文 VxLAN封装后发送给该 VTEP信息对应的交换机。 其 中 VxLAN封装的 IP ^艮文的源 IP为第二交换机的 IP地址 1 0. 1 0. 1 0. 3 ,目的 IP为获取的 VTEP信息 ( 1 1. 1 1. 1 1. 3 )。
如果第二交换机查询本地的流表,发现 MAC-VM7对应的 VTEP信息不存 在, 则通过上述的步骤 6 )和 7 ), 获取目的虚拟机的 MAC地址对应的 VTEP 信息; 或者,
第二交换机查询本地的流表, 获取目的虚拟机的 MAC地址对应的 VTEP 信息。
经过图 2、 图 3、 图 4a和图 4b的配置方法, 所述第一数据中心的 SDN 控制器从所述第二数据中心的 SDN控制器获取了 VM7的 IP地址、 MAC地址 和第三交换机的 VTEP信息,并将 VM7的 IP地址、 MAC地址和第三交换机的 VTEP信息下发给了第二交换机。 第二交换机从而能够通过第二交换机与第 三交换机的隧道将 IP报文发送给 VM7 , 即不用经过数据中心 1的路由器, 也不用经过数据中心 1的路由器。
9 )第三交换机进行 VxLAN解封装后, 将 IP报文发送给 VM7。 VM7向 VM3发送 IP ·^艮文的过程, 与此类似, 不再赘述。
经过上述流程, 实现了跨数据中心同一子网的通信, 而且 VM发送的广 播 ARP请求, 可由 SDN控制器代答, 减少了广播报文对传输带宽的占用。 并且 VM通信时, 即不用经过第一数据中心的路由器, 也不用经过第二数据 中心的路由器, 减少了报文在两个数据中心间的迂回。
如图 7所示的实现虚拟机通信的方法实施例, 用于实现位于数据中心 DC1的虚拟机 VM1与位于同一数据中心 DC1的另一虚拟机 VM2通信, VM1位 于第一子网, VM2位于第二子网, 第一子网与第二子网不同。 VM1通过第一 交换机与第一子网外的 VM通信, VM2 通过第二交换机与第二子网外的 VM 通信。 该方法包括以下步骤:
1 ) VM1需要与 VM2通信。 VM1查询路由表, 发现 VM2与 VM1位于不同 子网, 则 VM1 使用第一子网的默认网关 192. 168. 1. 1 作为目的网关。 VM1 向第一交换机发送广播地址解析协议(ARP, Addres s Reso lut ion Protoco l) 请求, 以广播获取目的网关的 MAC地址, 该 ARP请求携带所述目的网关的 IP地址。
2 )第一交换机接收所述 ARP请求, 并将所述 ARP请求转发给第一数据 中心的 SDN控制器。
3 )第一数据中心的 SDN控制器接收所述 ARP请求, 根据所述 ARP请求 携带的目的网关的 IP地址, 查询本地保存的流表, 获取目的网关的 MAC地 址为 MAC1。 SD 控制器向所述第一交换机发送 ARP响应, 所述 ARP响应携 带所述目的网关的 MAC地址。 并且, 此 ARP响应相当于对广播 ARP请求进 行了代答。
可选地, 该 ARP请求还可以携带接收 ARP响应的第一交换机的端口信 息, SDN控制器根据所述端口信息, 查询流表, 获得所述端口信息对应的 VNI。 获取所述目的网关的 MAC地址具体包括: 所述 SDN控制器根据所述目 的网关的 I P地址和端口信息对应的 VN I , 获取所述目的网关的 MAC地址。 可选地, 该 ARP请求还可以携带接收 ARP响应的第一交换机的端口的 VNI。 获取所述目的网关的 MAC地址具体包括: 所述 SDN控制器根据所述目 的网关的 I P地址和第一交换机的端口的 VN I , 获取所述目的网关的 MAC地 址。
4 )第一交换机接收所述 ARP响应, 并将所述 ARP响应转发给 VM1。
5 ) VM1向第一交换机发送 IP报文, 该 IP报文的目的 MAC (Des tMAC)为 MAC1 , 目的 IP (Des t lP)为 VM2的 IP地址: 192. 168. 2. 2 , 源 MAC为 VM1的 MAC (以 MAC-VM1表示 ) , 源 IP为 VM1的 IP地址: 192. 168. 2. 1。
经过图 3、 图 4a和图 4b的配置过程, 第一交换机可能緩存了 MAC1对 应的 VTEP信息。 如果第一交换机发现 MAC 1对应的 VTEP信息存在, 则直接 执行步骤 8 )。 如果第一交换机发现 MAC1对应的 VTEP信息不存在, 则执行 步骤 6 )和步骤 7 )0
6 )第一交换机向本数据中心的 SDN控制器发送请求, 以请求获取目的 网关的 MAC地址对应的 VTEP信息。
7 ) SDN控制器查询本地保存的流表, 获取所述目的网关的 MAC地址对 应的 VTEP信息, 并向所述第一交换机发送所述目的网关的 MAC地址对应的 VTEP信息。
当 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取了两条或以上的 VTEP信息, 则以与所述第一交换机位于同一数据中心 的路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。
在本实施例中, 根据 MAC1 , 如果获取了 VTEP5 ( IP为 10. 10. 10. 5 )和 VTEP6 ( IP为 11. 11. 11. 6 )两条 VTEP信息, 则选择与第一交换机位于同一 数据中心的 VTEP 5作为目的网关的 MAC地址对应的 VTEP。
当第一数据中心内, 与目的网关的 MAC地址对应的 VTEP信息有两条或 以上时, 如图 lb所示的多路由器的方案, SDN控制器根据以下至少之一: 路由器的负载和调度策略, 为 VM4选择合适的 VTEP , 把选择的合适的 VTEP 的 IP地址发送给所述第二交换机。路由器的负载包括但不限于路由器的流 量、 和路由器的 CPU负荷。 调度策略包括但不限于 RondRobin、 最小负载优 先、 和最大负载优先。
8)第一交换机获取目的网关的 MAC地址对应的 VTEP信息,然后将从 VM1 接收的 IP 4艮文 VxLAN封装后发送给该 VTEP信息对应的路由器。其中 VxLAN 封装的 IP 4艮文的源 IP为第一交换机的 IP地址 10. 10. 10. 2 , 目的 IP为获 取的 VTEP信息 ( 10. 10. 10. 5 ), VNI为 11111。
如果第一交换机查询本地的流表,发现 MAC1对应的 VTEP信息不存在, 则通过上述的步骤 6 )和 7 ), 获取目的网关的 MAC地址对应的 VTEP信息; 或者
第一交换机查询本地的流表, 获取目的网关的 MAC地址对应的 VTEP信 息。 具体的, 获取了两条或以上的 VTEP信息时, 则以与所述第一交换机位 于同一数据中心的路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。 同一数据中心有多个路由器的时候, 采取步骤 7 )类似的路由 器的负载和调度策略进行选择, 不再详细描述。
9 )所述第一数据中心的路由器, 对接收的报文改变 VxLAN封装, 通过 第一数据中心的路由器与第二交换机之间的隧道, 发送给第二交换机。
改变 VxLAN 封装具体为: 将步骤 8 ) 的 VxLAN 封装的源 IP 改为 10. 10. 10. 5,目的 IP 改为第二交换机的 IP 地址 10. 10. 10. 3 , VNI 改为 22222;然后将步骤 5 )的 IP报文的目的 MAC改为 MAC-VM2 ,源 MAC改为 MAC1。 经过对 VxLAN封装的改变,第二交换机收到封装后的 IP报文, 直接进行处 理, 不会再触发广播 ARP请求的流程。
10 )第二交换机进行 VxLAN解封装后, 将 IP报文发送给 VM2。
经过上述流程, 实现了同一数据中心跨子网的通信, 而且 VM发送的广 播 ARP请求, 可由 SDN控制器代答, 减少了广播报文对传输带宽的占用。 并且 VM通信时, 只经过了数据中心 1的路由器, 而不像现有技术可能同时 经过数据中心 1的路由器和数据中心 2的路由器, 减少了报文在数据中心 间的迂回。 对多个路由器的方案, 还能够实现路由器间的弹性伸缩。
同一数据中心同一子网的通信, 不需要经过路由器。 以 VM2与 VM3通 信为例, VM2发送报文到第二交换机, 然后第二交换机将报文发送给 VM3。
上述流程描述了本发明实施例在各种场景下的应用, 当然并不限于这些 场景。
本发明实施例的装置
如图 8所示, 本发明实施例提供一种实现虚拟机通信的第一交换机, 应用于至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第 一数据中心的第一子网并且与所述第一交换机通信, 所述第二虚拟机位于 第二子网并且与第二交换机通信。 所述第一交换机包括:
接收模块 801 ,用于从所述第一虚拟机接收地址解析协议 ARP请求,所 述 ARP请求携带目的网关的 IP地址;
发送模块 803 ,用于向所述第一数据中心的软件定义网络 SDN控制器转 发所述 ARP请求;
所述接收模块 801还用于从所述 SDN控制器接收 ARP响应, 所述 ARP 响应携带所述目的网关的媒体接入控制 MAC地址;
获取模块 802 ,用于根据所述目的网关的 MAC地址,获取所述目的网关 的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息 对应的路由器位于所述第一数据中心;
所述发送模块 803 , 还用于根据所述 VTEP信息, 发送 IP报文给所述 VTEP信息对应的路由器, 以使所述 VTEP信息对应的路由器将所述 IP报文 通过所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。
获取模块 802用于根据所述目的网关的 MAC地址, 获取所述目的网关 的 MAC地址对应的 VTEP信息具体为:
获取模块 802用于向所述 SDN控制器发送请求, 以请求获取所述目的 网关的 MAC地址对应的 VTEP信息,接收所述 SDN控制器发送的所述目的网 关的 MAC地址对应的 VTEP信息。 或者
获取模块 802用于根据所述目的网关的 MAC地址, 获取所述目的网关 的 MAC地址对应的 VTEP信息具体为:
获取模块 802用于根据所述目的网关的 MAC地址, 查询所述第一交换 机保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息。 当获取两 条或以上 VTEP信息时, 以位于所述第一数据中心的路由器的 VTEP信息作 为所述目的网关的 MAC地址对应的 VTEP信息。
如图 9所示, 本发明实施例提供一种实现虚拟机通信的软件定义网络 SDN控制器,所述 SDN控制器位于第一数据中心,并且应用于至少包括第一 虚拟机与第二虚拟机的***, 所述第一虚拟机位于所述第一数据中心的第 一子网并且与第一交换机通信, 所述第二虚拟机位于第二子网并且与第二 交换机通信, 所述 SDN控制器包括:
接收模块 901 ,用于从所述第一交换机接收地址解析协议 ARP请求,所 述 ARP请求携带目的网关的 IP地址;
处理模块 902 , 用于才艮据所述目的网关的 IP地址, 获取所述目的网关 的媒体接入控制 MAC地址;
发送模块 903 ,用于向所述第一交换机发送 ARP响应,所述 ARP响应携 带所述目的网关的 MAC地址,以使所述第一交换机根据所述目的网关的 MAC 地址, 获取所述目的网关的 MAC 地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息对应的路由器位于所述第一数据中心, 使所述 VTEP信息对应的路由器将 IP报文通过所述路由器与所述第二交换机的隧 道发送给所述第二虚拟机。
接收模块 901还用于接收所述第一交换机发送的请求, 以请求获取所 述目的网关的 MAC地址对应的 VTEP信息;
处理模块 902还用于根据所述目的网关的 MAC地址, 查询所述 SDN控 制器保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息, 并向所 述第一交换机返回所述目的网关的 MAC地址对应的 VTEP信息。 当查询所述 SDN控制器保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数 据中心的路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信 息。 并且当处理模块 902根据所述目的网关的 MAC地址, 查询所述 SDN控 制器保存的流表, 获取了两条或以上位于所述第一数据中心的路由器的 VTEP信息时,处理模块 902根据以下至少之一:路由器的负载和调度策略, 选择所述目的网关的 MAC地址对应的 VTEP信息。
若所述第二虚拟机位于第二数据中心, 则处理模块 902还用于从所述 第二数据中心的 SDN控制器获取所述第二虚拟机的 IP地址、 MAC地址、 第 二子网的 VNI , 和所述第二交换机的 VTEP信息。
本发明实施例图 8提供的交换机和图 9提供的 SDN控制器, 可以用来执行 图 2、 图 3、 图 4a和图 4b的配置过程, 以及用来执行图 5和图 7所述的方法, 具 体的过程, 参见***实施例和方法实施例的描述, 不再赘述。
本发明实施例图 8提供的交换机和图 9提供的 SDN控制器, 可以实现 跨子网的通信, 而且 VM发送的广播 ARP请求, 可由 SDN控制器代答, 减少 了广播报文对传输带宽的占用。 并且 VM通信时, 只经过了数据中心 1的路 由器, 而不用同时经过数据中心 1的路由器和数据中心 2的路由器, 减少 了报文在数据中心间的迂回。
如图 10所示, 本发明实施例提供一种实现虚拟机通信的第一交换机, 应用于至少包括第一虚拟机与第二虚拟机的***, 所述第一虚拟机位于第 一数据中心并且与所述第一交换机通信, 所述第二虚拟机位于第二数据中 心并且与第二交换机通信, 所述第一虚拟机和所述第二虚拟机位于同一子 网, 所述交换机包括:
接收模块 1001 , 用于从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址; 处理模块 1002 ,用于根据所述目的虚拟机的 IP地址,获取所述目的虚 拟机的媒体接入控制 MAC地址, 根据所述目的虚拟机的 MAC地址, 获取所 述目的虚拟机的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息,所 述 VTEP信息为所述第二交换机的 IP地址;
发送模块 1003 , 用于通过所述第一交换机与所述第二交换机的隧道将
IP报文发送给所述第二虚拟机。
处理模块 1002用于根据所述目的虚拟机的 IP地址, 获取所述目的虚 拟机的媒体接入控制 MAC地址具体为: 向所述第一数据中心的软件定义网 络 SDN控制器转发所述 ARP请求, 所述 ARP请求携带所述目的虚拟机的 IP 地址, 从所述 SDN控制器接收 ARP响应, 所述 ARP响应携带所述目的虚拟 机的 MAC地址。
处理模块 1002用于根据所述目的虚拟机的 MAC地址,获取所述目的虚 拟机的 MAC地址对应的 VTEP信息具体为: 处理模块 1002用于向所述 SDN 控制器发送请求,以请求获取所述目的虚拟机的 MAC地址对应的 VTEP信息, 接收所述 SDN控制器发送的所述目的虚拟机的 MAC地址对应的 VTEP信息; 或者,
处理模块 1002用于才艮据所述目的虚拟机的 MAC地址, 查询所述第一交 换机保存的流表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息。
处理模块 1002还用于从所述第一数据中心的 SDN控制器获取所述第二 虚拟机的 IP地址、 MAC地址、 和所述第二交换机的 VTEP信息。
如图 11所示, 本发明实施例提供一种实现虚拟机通信的软件定义网络 SDN控制器,所述 SDN控制器位于第一数据中心,并且应用于至少包括第一 虚拟机与第二虚拟机的***, 所述第一虚拟机位于所述第一数据中心并且 与第一交换机通信, 所述第二虚拟机位于第二数据中心并且与第二交换机 通信, 所述第一虚拟机和所述第二虚拟机位于同一子网, 所述 SDN控制器 包括: 接收模块 1101 , 用于从所述第一交换机接收地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址;
获取模块 1102 ,用于根据所述目的虚拟机的 IP地址,获取所述目的虚 拟机的媒体接入控制 MAC地址;
发送模块 1103 , 用于向所述第一交换机发送 ARP响应, 所述 ARP响应 携带所述目的虚拟机的 MAC地址, 以使所述第一交换机根据所述目的虚拟 机的 MAC地址, 获取所述目的虚拟机的 MAC地址对应的虚拟可扩展局域网 隧道端点 VTEP信息, 所述 VTEP信息为所述第二交换机的 IP地址, 使所述 第一交换机通过所述第一交换机与所述第二交换机的隧道将 IP报文发送给 所述第二虚拟机。
接收模块 1101还用于所述第一交换机发送的请求, 以请求获取所述目 的虚拟机的 MAC地址对应的 VTEP信息; 获取模块 11 02还用于根据所述目 的虚拟机的 MAC地址, 查询所述 SDN控制器保存的流表, 获取所述目的虚 拟机的 MAC地址对应的 VTEP信息, 并向所述第一交换机返回所述目的虚拟 机的 MAC地址对应的 VTEP信息。
获取模块 1102还用于从所述第二数据中心的 SDN控制器获取所述第二 虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP信息;发送模块 1103 还用于将所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP 信息下发给所述第一交换机。
本发明实施例图 10提供的交换机和图 11提供的 SDN控制器, 可以用来执 行图 2、 图 3、 图 4a和图 4b的配置过程, 以及用来执行图 6所述的方法, 具体 的过程, 参见***实施例和方法实施例的描述, 不再赘述。
本发明实施例图 1 0提供的交换机和图 1 1提供的 SDN控制器, 可以实 现跨数据中心同一子网的通信, 而且 VM发送的广播 ARP请求, 可由 SDN控 制器代答, 减少了广播报文对传输带宽的占用。 并且 VM通信时, 即不用经 过数据中心 1的路由器, 也不用经过数据中心 2的路由器, 减少了报文在 两个数据中心间的迂回。
为本发明实施例提供的另一实现虚拟机通信的装置 1200 , 包括: 处理器 101、 存储器 102、 ***总线(筒称总线) 105。 处理器 101和存 储器 102之间通过***总线 105连接并完成相互间的通信。
处理器 101可能为单核或多核中央处理单元, 或者为特定集成电路, 或 者为被配置成实施本发明实施例的一个或多个集成电路。
存储器 102 可以为高速 RAM 存储器, 也可以为非易失性存储器 ( non-vo l a t i le memory ), 例如至少一个硬盘存储器。
存储器 102用于存储计算机执行指令 1 021。 具体的, 计算机执行指令 1021中可以包括程序代码。
当计算机运行时, 处理器 101运行计算机执行指令 1 021 , 可以执行图 2-图 7任意之一的流程。
本发明实施例还提供一种虚拟机通信的计算机程序产品, 包括存储了程 序代码的计算机可读存储介质, 所述程序代码包括的指令用于执行图 2-图 7 任意之一的流程。
本领域普通技术人员将会理解, 本发明的各个方面、 或各个方面的可 能实现方式可以被具体实施为***、 方法或者计算机程序产品。 因此, 本 发明的各方面、 或各个方面的可能实现方式可以采用完全硬件实施例、 完 全软件实施例 (包括固件、 驻留软件等等), 或者组合软件和硬件方面的实 施例的形式, 在这里都统称为 "电路"、 "模块" 或者 "***"。 此外, 本发 明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式, 计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介 质。 计算机可读存储介质包含但不限于电子、 磁性、 光学、 电磁、 红外或 半导体***、 设备或者装置, 或者前述的任意适当组合, 如随机存取存储 器 (RAM)、 只读存储器 (R0M)、 可擦除可编程只读存储器(EPR0M或者快闪 存储器)、 光纤、 便携式只读存储器(CD-ROM) 。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代 码, 使得处理器能够执行在流程图中每个步骤、 或各步骤的组合中规定的 功能动作; 生成实施在框图的每一块、 或各块的组合中规定的功能动作的 装置。
计算机可读程序代码可以完全在用户的计算机上执行、 部分在用户的 计算机上执行、 作为单独的软件包、 部分在用户的计算机上并且部分在远 程计算机上, 或者完全在远程计算机或者服务器上执行。 也应该注意, 在 某些替代实施方案中, 在流程图中各步骤、 或框图中各块所注明的功能可 能不按图中注明的顺序发生。 例如, 依赖于所涉及的功能, 接连示出的两 个步骤、 或两个块实际上可能被大致同时执行, 或者这些块有时候可能被 以相反顺序执行。
本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的 各示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件 的结合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方 案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使 用不同方法来实现所描述的功能, 但是这种实现不应认为超出本发明的范 围。

Claims

权利要求
1、 一种实现虚拟机通信的方法, 应用于至少包括第一虚拟机与第二虚 拟机的***, 所述第一虚拟机位于第一数据中心的第一子网并且与第一交 换机通信, 所述第二虚拟机位于第二子网并且与第二交换机通信, 其特征 在于:
所述第一交换机从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的网关的 IP地址;
所述第一交换机向所述第一数据中心的软件定义网络 SDN控制器转发 所述 ARP请求;
所述第一交换机从所述 SDN控制器接收 ARP响应, 所述 ARP响应携带 所述目的网关的媒体接入控制 MAC地址;
所述第一交换机根据所述目的网关的 MAC地址, 获取所述目的网关的
MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息,所述 VTEP信息对应 的路由器位于所述第一数据中心;
所述第一交换机根据所述 VTEP信息,发送 IP报文给所述 VTEP信息对 应的路由器, 以使所述 VTEP信息对应的路由器将所述 IP报文通过所述路 由器与所述第二交换机的隧道发送给所述第二虚拟机。
2、 如权利要求 1所述的方法, 其特征在于, 所述第一交换机根据所述 目的网关的 MAC地址, 获取所述目的网关的 MAC地址对应的 VTEP信息具体 包括:
所述第一交换机向所述 SDN控制器发送请求, 以请求获取所述目的网 关的 MAC地址对应的 VTEP信息;
接收所述 SDN控制器发送的所述目的网关的 MAC地址对应的 VTEP信息。
3、 如权利要求 1所述的方法, 其特征在于, 所述第一交换机根据所述 目的网关的 MAC地址, 获取所述目的网关的 MAC地址对应的 VTEP信息具体 包括: 所述第一交换机根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息。
4、 如权利要求 3所述的方法, 其特征在于, 所述第一交换机查询本地 保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息具体包括: 所述第一交换机根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的路由器的 VTEP 信息作为所述目的网关的 MAC地址对应的 VTEP信息。
5、 如权利要求 4所述的方法, 其特征在于, 当所述第一交换机根据所 述目的网关的 MAC地址, 查询本地保存的流表, 获取了两条或以上位于所 述第一数据中心的路由器的 VTEP信息时,所述第一交换机根据以下至少之 一: 路由器的负载和调度策略, 选择所述目的网关的 MAC地址对应的 VTEP 信息。
6、 如权利要求 1至 5任一所述的方法, 其特征在于, 所述第一交换机 根据所述 VTEP信息, 发送 IP报文给所述 VTEP信息对应的路由器, 以使所 述 VTEP信息对应的路由器将所述 IP报文通过所述路由器与所述第二交换 机的隧道发送给所述第二虚拟机具体包括:
所述第一交换机对从所述第一虚拟机接收的 IP报文进行虚拟可扩展局 域网 VxLAN封装, 其中所述 VxLAN封装的目的 IP地址为获取的所述 VTEP 信息, 虚拟网络标识 VN I为所述第一子网的标识, 所述 I P报文的目的 MAC 地址为所述目的网关的 MAC地址;
所述 VTEP信息对应的路由器, 将目的 IP地址改为所述第二交换机的 IP地址, VNI改为所述第二子网的标识, 目的 MAC地址改为所述第二虚拟 机的 MAC地址,然后将改变 VxLAN封装的 IP ^艮文,发送给所述第二交换机; 所述第二交换机对接收的改变 VxLAN封装的 IP报文, 进行 VxLA 解封 装后, 发送给所述第二虚拟机。
7、 一种实现虚拟机通信的方法, 应用于至少包括第一虚拟机与第二虚 拟机的***, 所述第一虚拟机位于第一数据中心的第一子网并且与第一交 换机通信, 所述第二虚拟机位于第二子网并且与第二交换机通信, 其特征 在于:
所述第一数据中心的软件定义网络 SDN控制器从所述第一交换机接收 地址解析协议 ARP请求, 所述 ARP请求携带目的网关的 IP地址;
所述 SDN控制器根据所述目的网关的 IP地址,获取所述目的网关的媒 体接入控制 MAC地址, 并向所述第一交换机发送 ARP响应, 所述 ARP响应 携带所述目的网关的 MAC地址, 以使所述第一交换机根据所述目的网关的 MAC地址,获取所述目的网关的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息对应的路由器位于所述第一数据中心, 使所述 VTEP信息对应的路由器将 IP报文通过所述路由器与所述第二交换机的隧 道发送给所述第二虚拟机。
8、 如权利要求 7所述的方法, 其特征在于, 还包括:
所述 SDN控制器接收所述第一交换机发送的请求, 以请求获取所述目 的网关的 MAC地址对应的 VTEP信息;
所述 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息, 并向所述第一交换机返回 所述目的网关的 MAC地址对应的 VTEP信息。
9、 如权利要求 8所述的方法, 其特征在于, 所述 SDN控制器查询本地 保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息具体包括: 所述 SDN控制器根据所述目的网关的 MAC地址, 查询本地保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的路由器的 VTEP 信息作为所述目的网关的 MAC地址对应的 VTEP信息。
10、 如权利要求 9所述的方法, 其特征在于, 当所述 SDN控制器根据 所述目的网关的 MAC地址, 查询本地保存的流表, 获取了两条或以上位于 所述第一数据中心的路由器的 VTEP信息时, 所述 SDN控制器根据以下至少 之一:路由器的负载和调度策略,选择所述目的网关的 MAC地址对应的 VTEP 信息。
11、 如权利要求 7至 10任一所述的方法, 其特征在于, 若所述第二虚 拟机位于第二数据中心, 则还包括:
所述第一数据中心的 SDN控制器从所述第二数据中心的 SDN控制器获 取所述第二虚拟机的 IP地址、 MAC地址、所述第二子网的虚拟网络标识 VNI , 和所述第二交换机的 VTEP信息, 以在所述第一数据中心的 SDN控制器的控 制下, 使所述 VTEP信息对应的路由器将所述 IP报文通过所述路由器与所 述第二交换机的隧道发送给所述第二虚拟机。
12、 一种实现虚拟机通信的方法, 应用于至少包括第一虚拟机与第二 虚拟机的***, 所述第一虚拟机位于第一数据中心并且与第一交换机通信, 所述第二虚拟机位于第二数据中心并且与第二交换机通信, 所述第一虚拟 机和所述第二虚拟机位于同一子网, 其特征在于:
所述第一交换机从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址;
所述第一交换机根据所述目的虚拟机的 IP地址,获取所述目的虚拟机 的媒体接入控制 MAC地址;
根据所述目的虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对 应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息为所述第二交 换机的 IP地址;
所述第一交换机通过所述第一交换机与所述第二交换机的隧道将 I P报 文发送给所述第二虚拟机。
13、 如权利要求 12所述的方法, 其特征在于, 所述第一交换机根据所 述目的虚拟机的 IP地址,获取所述目的虚拟机的媒体接入控制 MAC地址具 体包括:
所述第一交换机向所述第一数据中心的软件定义网络 SDN控制器转发 所述 ARP请求, 所述 ARP请求携带所述目的虚拟机的 IP地址; 所述第一交换机从所述 SDN控制器接收 ARP响应, 所述 ARP响应携带 所述目的虚拟机的 MAC地址。
14、 如权利要求 12或 1 3所述的方法, 其特征在于, 根据所述目的虚 拟机的 MAC地址,获取所述目的虚拟机的 MAC地址对应的 VTEP信息具体包 括:
所述第一交换机向所述 SDN控制器发送请求, 以请求获取所述目的虚 拟机的 MAC地址对应的 VTEP信息; 息。
15、 如权利要求 12或 1 3所述的方法, 其特征在于, 根据所述目的虚 拟机的 MAC地址,获取所述目的虚拟机的 MAC地址对应的 VTEP信息具体包 括:
所述第一交换机根据所述目的虚拟机的 MAC地址, 查询本地保存的流 表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息。
16、 如权利要求 15所述的方法, 其特征在于, 还包括:
所述第一交换机从所述 SDN控制器获取所述第二虚拟机的 IP地址、 MAC 地址、 和所述第二交换机的 VTEP信息, 以通过所述第一交换机与所述第二 交换机的隧道将 IP报文发送给所述第二虚拟机。
17、 一种实现虚拟机通信的方法, 应用于至少包括第一虚拟机与第二 虚拟机的***, 所述第一虚拟机位于第一数据中心并且与第一交换机通信, 所述第二虚拟机位于第二数据中心并且与第二交换机通信, 所述第一虚拟 机和所述第二虚拟机位于同一子网, 其特征在于:
所述第一数据中心的软件定义网络 SDN控制器从所述第一交换机接收 地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址;
所述 SDN控制器根据所述目的虚拟机的 IP地址,获取所述目的虚拟机 的媒体接入控制 MAC地址, 并向所述第一交换机发送 ARP响应, 所述 ARP 响应携带所述目的虚拟机的 MAC地址, 以使所述第一交换机根据所述目的 虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对应的虚拟可扩展局 域网隧道端点 VTEP信息, 所述 VTEP信息为所述第二交换机的 IP地址, 使 所述第一交换机通过所述第一交换机与所述第二交换机的隧道将 IP报文发 送给所述第二虚拟机。
18、 如权利要求 17所述的方法, 其特征在于, 还包括:
所述 SDN控制器接收所述第一交换机发送的请求, 以请求获取所述目 的虚拟机的 MAC地址对应的 VTEP信息;
所述 SDN控制器根据所述目的虚拟机的 MAC地址, 查询本地保存的流 表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息, 并向所述第一交换 机返回所述目的虚拟机的 MAC地址对应的 VTEP信息。
19、 如权利要求 17或 18所述的方法, 其特征在于, 还包括: 所述第一数据中心的 SDN控制器从所述第二数据中心的 SDN控制器获 取所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP信息, 并 将所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP信息下发 给所述第一交换机。
20、 一种实现虚拟机通信的第一交换机, 应用于至少包括第一虚拟机 与第二虚拟机的***, 所述第一虚拟机位于第一数据中心的第一子网并且 与所述第一交换机通信, 所述第二虚拟机位于第二子网并且与第二交换机 通信, 其特征在于, 所述第一交换机包括:
接收模块, 用于从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的网关的 IP地址;
发送模块, 用于向所述第一数据中心的软件定义网络 SDN控制器转发 所述 ARP请求;
所述接收模块还用于从所述 SDN控制器接收 ARP响应, 所述 ARP响应 携带所述目的网关的媒体接入控制 MAC地址;
获取模块, 用于根据所述目的网关的 MAC地址, 获取所述目的网关的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息,所述 VTEP信息对应 的路由器位于所述第一数据中心;
所述发送模块, 还用于根据所述 VTEP信息, 发送 IP报文给所述 VTEP 信息对应的路由器, 以使所述 VTEP信息对应的路由器将所述 IP报文通过 所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。
21、 如权利要求 20所述的交换机, 其特征在于, 所述获取模块用于根 据所述目的网关的 MAC地址, 获取所述目的网关的 MAC地址对应的 VTEP信 息具体为:
所述获取模块用于向所述 SDN控制器发送请求, 以请求获取所述目的 网关的 MAC地址对应的 VTEP信息,接收所述 SDN控制器发送的所述目的网 关的 MAC地址对应的 VTEP信息。
11、 如权利要求 20所述的交换机, 其特征在于, 所述获取模块用于根 据所述目的网关的 MAC地址, 获取所述目的网关的 MAC地址对应的 VTEP信 息具体为:
所述获取模块用于根据所述目的网关的 MAC地址, 查询所述第一交换 机保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息。
23、 如权利要求 22所述的交换机, 其特征在于, 所述获取模块用于查 询所述第一交换机保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP 信息具体为:
所述获取模块用于根据所述目的网关的 MAC地址, 查询所述第一交换 机保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的 路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。
24、 一种实现虚拟机通信的软件定义网络 SDN控制器, 其特征在于, 所述 SDN控制器位于第一数据中心, 并且应用于至少包括第一虚拟机与第 二虚拟机的***, 所述第一虚拟机位于所述第一数据中心的第一子网并且 与第一交换机通信,所述第二虚拟机位于第二子网并且与第二交换机通信, 所述 SDN控制器包括:
接收模块, 用于从所述第一交换机接收地址解析协议 ARP请求, 所述 ARP请求携带目的网关的 I P地址;
处理模块, 用于根据所述目的网关的 IP地址, 获取所述目的网关的媒 体接入控制 MAC地址;
发送模块, 用于向所述第一交换机发送 ARP响应, 所述 ARP响应携带 所述目的网关的 MAC地址, 以使所述第一交换机根据所述目的网关的 MAC 地址, 获取所述目的网关的 MAC 地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息对应的路由器位于所述第一数据中心, 使所述 VTEP信息对应的路由器将 IP报文通过所述路由器与所述第二交换机的隧 道发送给所述第二虚拟机。
25、 如权利要求 24所述的控制器, 其特征在于,
所述接收模块还用于接收所述第一交换机发送的请求, 以请求获取所 述目的网关的 MAC地址对应的 VTEP信息;
所述处理模块还用于根据所述目的网关的 MAC地址, 查询所述 SDN控 制器保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP信息, 并向所 述第一交换机返回所述目的网关的 MAC地址对应的 VTEP信息。
26、 如权利要求 25所述的控制器, 其特征在于, 所述处理模块用于查 询所述 SDN控制器保存的流表, 获取所述目的网关的 MAC地址对应的 VTEP 信息具体为:
所述处理模块用于才艮据所述目的网关的 MAC地址, 查询所述 SDN控制 器保存的流表, 获取两条或以上 VTEP信息时, 以位于所述第一数据中心的 路由器的 VTEP信息作为所述目的网关的 MAC地址对应的 VTEP信息。
27、 如权利要求 26所述的控制器, 其特征在于, 当所述处理模块用于 根据所述目的网关的 MAC地址, 查询所述 SDN控制器保存的流表, 获取了 两条或以上位于所述第一数据中心的路由器的 VTEP信息时, 所述处理模块 用于根据以下至少之一: 路由器的负载和调度策略, 选择所述目的网关的 MAC地址对应的 VTEP信息。
28、 如权利要求 24至 27任一所述的控制器, 若所述第二虚拟机位于 第二数据中心, 则所述处理模块还用于从所述第二数据中心的 SDN控制器 获取所述第二虚拟机的 IP地址、 MAC地址、 第二子网的虚拟网络标识 VNI , 和所述第二交换机的 VTEP信息。
29、 一种实现虚拟机通信的第一交换机, 应用于至少包括第一虚拟机 与第二虚拟机的***, 所述第一虚拟机位于第一数据中心并且与所述第一 交换机通信, 所述第二虚拟机位于第二数据中心并且与第二交换机通信, 所述第一虚拟机和所述第二虚拟机位于同一子网, 其特征在于, 所述交换 机包括:
接收模块, 用于从所述第一虚拟机接收地址解析协议 ARP请求, 所述 ARP请求携带目的虚拟机的 IP地址;
处理模块, 用于根据所述目的虚拟机的 IP地址, 获取所述目的虚拟机 的媒体接入控制 MAC地址, 根据所述目的虚拟机的 MAC地址, 获取所述目 的虚拟机的 MAC地址对应的虚拟可扩展局域网隧道端点 VTEP信息, 所述 VTEP信息为所述第二交换机的 IP地址;
发送模块,用于通过所述第一交换机与所述第二交换机的隧道将 IP报 文发送给所述第二虚拟机。
30、 如权利要求 29所述的交换机, 其特征在于, 所述处理模块用于根 据所述目的虚拟机的 IP地址, 获取所述目的虚拟机的 MAC地址具体为: 所述处理模块用于向所述第一数据中心的软件定义网络 SDN控制器转 发所述 ARP请求,所述 ARP请求携带所述目的虚拟机的 IP地址,从所述 SDN 控制器接收 ARP响应, 所述 ARP响应携带所述目的虚拟机的 MAC地址。 31、 如权利要求 29或 30所述的交换机, 其特征在于, 所述处理模块 用于才艮据所述目的虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对 应的 VTEP信息具体为:
所述处理模块用于向所述 SDN控制器发送请求, 以请求获取所述目的 虚拟机的 MAC地址对应的 VTEP信息,接收所述 SDN控制器发送的所述目的 虚拟机的 MAC地址对应的 VTEP信息。
32、 如权利要求 29或 30所述的交换机, 其特征在于, 所述处理模块 用于才艮据所述目的虚拟机的 MAC地址, 获取所述目的虚拟机的 MAC地址对 应的 VTEP信息具体为:
所述处理模块用于才艮据所述目的虚拟机的 MAC地址, 查询所述第一交 换机保存的流表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息。
33、 如权利要求 32所述的交换机, 其特征在于, 所述处理模块还用于 从所述第一数据中心的 SDN控制器获取所述第二虚拟机的 IP地址、 MAC地 址、 和所述第二交换机的 VTEP信息。
34、 一种实现虚拟机通信的软件定义网络 SDN控制器, 其特征在于, 所述 SDN控制器位于第一数据中心, 并且应用于至少包括第一虚拟机与第 二虚拟机的***, 所述第一虚拟机位于所述第一数据中心并且与第一交换 机通信, 所述第二虚拟机位于第二数据中心并且与第二交换机通信, 所述 第一虚拟机和所述第二虚拟机位于同一子网, 所述 SDN控制器包括:
接收模块, 用于从所述第一交换机接收地址解析协议 ARP请求, 所述
ARP请求携带目的虚拟机的 IP地址;
获取模块, 用于根据所述目的虚拟机的 IP地址, 获取所述目的虚拟机 的媒体接入控制 MAC地址;
发送模块, 用于向所述第一交换机发送 ARP响应, 所述 ARP响应携带 所述目的虚拟机的 MAC地址, 以使所述第一交换机根据所述目的虚拟机的 MAC地址,获取所述目的虚拟机的 MAC地址对应的虚拟可扩展局域网隧道端 点 VTEP信息, 所述 VTEP信息为所述第二交换机的 IP地址, 使所述第一交 换机通过所述第一交换机与所述第二交换机的隧道将 IP报文发送给所述第 二虚拟机。
35、 如权利要求 34所述的控制器, 其特征在于, 所述接收模块还用于 接收所述第一交换机发送的请求, 以请求获取所述目的虚拟机的 MAC地址 对应的 VTEP信息;
所述获取模块还用于根据所述目的虚拟机的 MAC地址, 查询所述 SDN 控制器保存的流表, 获取所述目的虚拟机的 MAC地址对应的 VTEP信息, 并 向所述第一交换机返回所述目的虚拟机的 MAC地址对应的 VTEP信息。
36、 如权利要求 34或 35所述的控制器, 其特征在于, 所述获取模块 还用于从所述第二数据中心的 SDN控制器获取所述第二虚拟机的 IP地址、 MAC地址和所述第二交换机的 VTEP信息;
所述发送模块还用于将所述第二虚拟机的 IP地址、 MAC地址和所述第 二交换机的 VTEP信息下发给所述第一交换机。
37、 一种实现虚拟机通信的交换机, 其特征在于, 包括:
处理器、 存储器和***总线, 所述处理器和所述存储器之间通过所述 ***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器, 用于运行所述计算机执行指令, 执行如权利要求 1 至 6 任一所述的方法。
38、 一种实现虚拟机通信的软件定义网络 SDN控制器, 其特征在于, 包括:
处理器、 存储器和***总线, 所述处理器和所述存储器之间通过所述 ***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器, 用于运行所述计算机执行指令, 执行如权利要求 7至 1 1 任一所述的方法。
39、 一种实现虚拟机通信的交换机, 其特征在于, 包括:
处理器、 存储器和***总线, 所述处理器和所述存储器之间通过所述 ***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器,用于运行所述计算机执行指令,执行如权利要求 12至 16 任一所述的方法。
40、 一种实现虚拟机通信的软件定义网络 SDN控制器, 其特征在于, 包括:
处理器、 存储器和***总线, 所述处理器和所述存储器之间通过所述 ***总线连接并完成相互间的通信;
所述存储器, 用于存储计算机执行指令;
所述处理器,用于运行所述计算机执行指令,执行如权利要求 17至 19 任一所述的方法。
PCT/CN2013/091202 2013-12-31 2013-12-31 一种实现虚拟机通信的方法和装置 WO2015100656A1 (zh)

Priority Applications (14)

Application Number Priority Date Filing Date Title
PCT/CN2013/091202 WO2015100656A1 (zh) 2013-12-31 2013-12-31 一种实现虚拟机通信的方法和装置
EP17210616.3A EP3376712B1 (en) 2013-12-31 2014-06-16 Method and apparatus for implementing communication between virtual machines
JP2015560542A JP6068685B2 (ja) 2013-12-31 2014-06-16 仮想マシンの間で通信を実現する方法及び装置
CN201480000400.0A CN104115453B (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置
PCT/CN2014/079949 WO2015100953A1 (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置
CA2895001A CA2895001C (en) 2013-12-31 2014-06-16 Method and apparatus for implementing communication between virtual machines
AU2014366588A AU2014366588B2 (en) 2013-12-31 2014-06-16 Method and apparatus for implementing communication between virtual machines
CN201910395063.4A CN110427334A (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置
KR1020167000575A KR101712901B1 (ko) 2013-12-31 2014-06-16 가상 머신 간의 통신을 구현하는 방법 및 장치
CN201610298322.8A CN105791463B (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置
EP14877226.2A EP3091696B1 (en) 2013-12-31 2014-06-16 Method and device for implementing virtual machine communication
US14/738,341 US9325615B2 (en) 2013-12-31 2015-06-12 Method and apparatus for implementing communication between virtual machines
US15/086,524 US9577958B2 (en) 2013-12-31 2016-03-31 Method and apparatus for implementing communication between virtual machines
US15/401,269 US10003571B2 (en) 2013-12-31 2017-01-09 Method and apparatus for implementing communication between virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/091202 WO2015100656A1 (zh) 2013-12-31 2013-12-31 一种实现虚拟机通信的方法和装置

Publications (1)

Publication Number Publication Date
WO2015100656A1 true WO2015100656A1 (zh) 2015-07-09

Family

ID=53492997

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2013/091202 WO2015100656A1 (zh) 2013-12-31 2013-12-31 一种实现虚拟机通信的方法和装置
PCT/CN2014/079949 WO2015100953A1 (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/079949 WO2015100953A1 (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置

Country Status (8)

Country Link
US (3) US9325615B2 (zh)
EP (2) EP3376712B1 (zh)
JP (1) JP6068685B2 (zh)
KR (1) KR101712901B1 (zh)
CN (3) CN105791463B (zh)
AU (1) AU2014366588B2 (zh)
CA (1) CA2895001C (zh)
WO (2) WO2015100656A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028801A (zh) * 2015-07-27 2018-05-11 华为技术有限公司 一种基于sdn的arp实现方法及装置
US10079798B2 (en) 2015-10-23 2018-09-18 Inernational Business Machines Corporation Domain intercommunication in shared computing environments

Families Citing this family (185)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
WO2015100656A1 (zh) 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9509603B2 (en) * 2014-03-31 2016-11-29 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints
US9755858B2 (en) 2014-04-15 2017-09-05 Cisco Technology, Inc. Programmable infrastructure gateway for enabling hybrid cloud services in a network environment
US9473365B2 (en) 2014-05-08 2016-10-18 Cisco Technology, Inc. Collaborative inter-service scheduling of logical resources in cloud platforms
US10205648B1 (en) * 2014-05-30 2019-02-12 EMC IP Holding Company LLC Network monitoring using traffic mirroring and encapsulated tunnel in virtualized information processing system
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
CN105262685B (zh) * 2014-07-14 2018-10-09 新华三技术有限公司 一种报文处理方法和装置
CN105471744B (zh) * 2014-09-19 2018-10-09 新华三技术有限公司 一种虚拟机迁移方法和装置
US9825878B2 (en) 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
CN104283980B (zh) * 2014-10-09 2018-02-09 新华三技术有限公司 一种地址解析协议代答方法和装置
CN104320267B (zh) * 2014-10-29 2017-11-17 武汉绿色网络信息服务有限责任公司 基于SDN框架实现VxLAN的ARP广播抑制***及方法
CN104407911B (zh) * 2014-10-31 2018-03-20 新华三技术有限公司 虚拟机迁移方法及装置
CN105656796B (zh) * 2014-11-25 2019-01-22 新华三技术有限公司 实现虚拟扩展局域网三层转发的方法和装置
CN104486103B (zh) * 2014-12-03 2018-03-16 新华三技术有限公司 一种报文传输的方法和设备
CN104580168B (zh) * 2014-12-22 2019-02-26 华为技术有限公司 一种攻击数据包的处理方法、装置及***
CN104468384B (zh) * 2014-12-22 2018-01-30 武汉绿色网络信息服务有限责任公司 一种实现多业务优先级的***及方法
US10439908B2 (en) 2014-12-23 2019-10-08 Talari Networks Incorporated Methods and apparatus for providing adaptive private network centralized management system time correlated playback of network traffic
CN105812260B (zh) * 2014-12-31 2019-03-19 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及***
CN105812269B (zh) * 2014-12-31 2019-04-23 华为技术有限公司 Sdn中创建端口组的方法、sdn控制器及网络***
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US10037617B2 (en) 2015-02-27 2018-07-31 Cisco Technology, Inc. Enhanced user interface systems including dynamic context selection for cloud-based networks
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10382534B1 (en) 2015-04-04 2019-08-13 Cisco Technology, Inc. Selective load balancing of network traffic
CN106210157B (zh) * 2015-04-30 2019-07-23 中国电信股份有限公司 抑制地址解析协议消息的方法与***、控制器
TWI543566B (zh) * 2015-05-12 2016-07-21 財團法人工業技術研究院 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器
US9716688B1 (en) * 2015-05-13 2017-07-25 Parallels International Gmbh VPN for containers and virtual machines in local area networks
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US10554620B2 (en) * 2015-05-29 2020-02-04 Cisco Technology, Inc. Default gateway extension
CN104869058B (zh) * 2015-06-04 2018-10-19 北京京东尚科信息技术有限公司 一种数据报文转发方法和装置
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
TWI580227B (zh) * 2015-06-17 2017-04-21 財團法人工業技術研究院 路由閘道器選擇方法、控制器及交通網路系統
CN106330649B (zh) 2015-06-18 2019-08-02 新华三技术有限公司 一种跨软件定义网络的数据报文转发方法和装置
CN106302175A (zh) * 2015-06-29 2017-01-04 联想(北京)有限公司 一种sdn中的数据包发送方法及设备
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
CN106375231B (zh) * 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及***
CN105591907B (zh) * 2015-07-28 2018-11-09 新华三技术有限公司 一种路由获取方法和装置
WO2017020236A1 (en) * 2015-08-04 2017-02-09 Nokia Technologies Oy Interconnection of overlay networks
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
CN106712988B (zh) 2015-08-25 2019-11-12 新华三技术有限公司 一种虚拟网络管理方法及装置
US10057157B2 (en) 2015-08-31 2018-08-21 Nicira, Inc. Automatically advertising NAT routes between logical routers
US9781037B2 (en) 2015-09-15 2017-10-03 Cisco Technology, Inc. Method and apparatus for advanced statistics collection
CN106549780B (zh) * 2015-09-18 2020-05-08 华为技术有限公司 一种网络配置方法、装置及***
CN105162704B (zh) * 2015-09-28 2019-01-25 杭州数梦工场科技有限公司 Overlay网络中组播复制的方法及装置
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10067780B2 (en) 2015-10-06 2018-09-04 Cisco Technology, Inc. Performance-based public cloud selection for a hybrid cloud environment
KR101710385B1 (ko) * 2015-10-12 2017-02-27 아토리서치(주) Arp 패킷을 관리하는 방법, 장치 및 컴퓨터 프로그램
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
CN105591872B (zh) * 2015-10-23 2019-04-05 新华三技术有限公司 一种实现多数据中心互联的方法和装置
CN106612224B (zh) * 2015-10-26 2019-11-01 新华三技术有限公司 应用于vxlan的报文转发方法和装置
CN106612266B (zh) * 2015-10-27 2020-05-08 阿里巴巴集团控股有限公司 网络转发方法及设备
CN105591955B (zh) * 2015-10-30 2019-07-09 新华三技术有限公司 一种报文传输的方法和装置
CN108351795A (zh) * 2015-10-30 2018-07-31 华为技术有限公司 用于映射虚拟机通信路径的方法和***
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10212122B2 (en) * 2015-11-24 2019-02-19 Red Hat Israel, Ltd Fan network management
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
KR101786620B1 (ko) * 2015-12-24 2017-11-15 아토리서치(주) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램
KR101786616B1 (ko) * 2015-12-24 2017-10-17 아토리서치(주) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램
US10484285B2 (en) * 2015-12-30 2019-11-19 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System, method and article of manufacture for using control plane for critical data communications in software-defined networks
WO2017113300A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 路由确定方法、网络配置方法以及相关装置
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
CN106982163B (zh) * 2016-01-18 2020-12-04 华为技术有限公司 按需获取路由的方法及网关
US10397108B2 (en) * 2016-01-25 2019-08-27 Futurewei Technologies, Inc. Service function chaining across multiple subnetworks
CN107181681B (zh) * 2016-03-10 2022-02-25 中兴通讯股份有限公司 Sdn二层转发方法及***
US10243916B2 (en) * 2016-04-07 2019-03-26 Cisco Technology, Inc. Control plane based technique for handling multi-destination traffic in overlay networks
CN107276783B (zh) * 2016-04-08 2022-05-20 中兴通讯股份有限公司 一种实现虚拟机统一管理及互通的方法、装置和***
CN107317832B (zh) * 2016-04-27 2020-01-03 新华三技术有限公司 报文转发方法及装置
CN107342925B (zh) * 2016-04-29 2020-03-06 新华三技术有限公司 一种报文传输方法及装置
US10581793B1 (en) * 2016-04-29 2020-03-03 Arista Networks, Inc. Address resolution in virtual extensible networks
CN107332772B (zh) * 2016-04-29 2020-02-14 华为技术有限公司 转发表项建立方法和装置
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
CN107453971B (zh) * 2016-05-30 2020-11-24 北京京东尚科信息技术有限公司 通信方法、通信***、计算机***及计算机可读存储介质
CN107453992A (zh) * 2016-05-30 2017-12-08 北京京东尚科信息技术有限公司 一种虚拟网络内的数据转发方法及***
CN106101008B (zh) * 2016-05-31 2019-08-06 新华三技术有限公司 一种报文的传输方法和装置
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
KR102554413B1 (ko) * 2016-06-23 2023-07-11 네이버클라우드 주식회사 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
CN107566262A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 虚拟可扩展局域网vxlan中报文转发方法及装置
US10659283B2 (en) * 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
CN106302076B (zh) * 2016-07-22 2020-03-06 浪潮(北京)电子信息产业有限公司 建立vxlan隧道的方法、***及sdn控制器
US10142346B2 (en) 2016-07-28 2018-11-27 Cisco Technology, Inc. Extension of a private cloud end-point group to a public cloud
CN107666428B (zh) * 2016-07-28 2020-03-06 新华三技术有限公司 静默设备探测方法以及装置
EP3340064B1 (en) * 2016-08-03 2020-12-02 Huawei Technologies Co., Ltd. Network interface card, computer device and data packet processing method
CN112217747A (zh) 2016-08-03 2021-01-12 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
CN106230740A (zh) * 2016-08-23 2016-12-14 杭州华三通信技术有限公司 一种vxlan中的报文转发方法及装置
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
CN107800625B (zh) * 2016-08-30 2020-07-07 新华三技术有限公司 一种报文转发方法及装置
CN107783815B (zh) * 2016-08-30 2020-12-01 华为技术有限公司 一种确定虚拟机迁移的方法和装置
US10454758B2 (en) * 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
CN107846342B (zh) * 2016-09-20 2020-11-06 华为技术有限公司 一种vxlan报文的转发方法、设备及***
CN106656719B (zh) 2016-09-26 2020-07-07 华为技术有限公司 云间通信方法及相关设备、云间通信配置方法及相关设备
KR101878758B1 (ko) * 2016-09-30 2018-08-17 아토리서치(주) 네트워크 기능 가상화에서 가상 네트워크를 설정하는 방법, 장치 및 컴퓨터 프로그램
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
CN108011800B (zh) * 2016-10-31 2020-12-08 中国电信股份有限公司 虚拟可扩展局域网vxlan部署方法及vxlan网关
EP3525423B1 (en) * 2016-11-09 2021-04-07 Huawei Technologies Co., Ltd. Packet processing method in cloud computing system, host, and system
CN106789667B (zh) * 2016-11-21 2021-01-01 华为技术有限公司 一种数据转发方法、相关设备及***
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
CN106533890B (zh) * 2016-12-30 2019-12-24 华为技术有限公司 一种报文处理方法、装置及***
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10389542B2 (en) 2017-01-26 2019-08-20 International Business Machines Corporation Multicast helper to link virtual extensible LANs
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
CN108512737B (zh) * 2017-02-27 2021-08-03 中兴通讯股份有限公司 一种数据中心ip层互联的方法和sdn控制器
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
CN110419199B (zh) * 2017-03-08 2020-12-15 华为技术有限公司 使用主动式最短路径的sdn中的扁平化l3路由
CN108574635B (zh) * 2017-03-09 2021-06-22 华为技术有限公司 一种路由优先级配置方法、设备以及控制器
CN106878168B (zh) * 2017-03-20 2021-03-19 新华三技术有限公司 一种报文转发方法及装置
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
CN108880968B (zh) * 2017-05-11 2021-12-07 中兴通讯股份有限公司 软件定义网络中广播、组播实现方法及装置、存储介质
CN108964949A (zh) * 2017-05-19 2018-12-07 中兴通讯股份有限公司 虚拟机迁移方法、sdn控制器及计算机可读存储介质
CN107547242B (zh) * 2017-05-24 2019-11-12 新华三技术有限公司 Vm配置信息的获取方法及装置
CN108989068B (zh) * 2017-05-31 2019-08-20 华为技术有限公司 一种编排软件定义网络的方法及sdn控制器
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
CN107547325B (zh) * 2017-09-27 2020-07-07 新华三技术有限公司 报文转发方法及装置
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10353800B2 (en) 2017-10-18 2019-07-16 Cisco Technology, Inc. System and method for graph based monitoring and management of distributed systems
CN107800697B (zh) * 2017-10-26 2020-03-06 新华三技术有限公司 接入认证方法及装置
CN109729010B (zh) * 2017-10-27 2021-06-22 华为技术有限公司 一种网络中确定流量传输路径的方法、设备和***
US10587507B2 (en) * 2017-11-09 2020-03-10 International Business Machines Corporation Routing between software defined networks and physical networks
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
CN108616450B (zh) * 2018-03-08 2020-11-06 烽火通信科技股份有限公司 一种基于sdn的ip网络实现约束路径转发的方法
CN110300060B (zh) * 2018-03-23 2022-06-07 北京京东尚科信息技术有限公司 用于软件定义网络的通信方法和装置
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
CN108768895B (zh) * 2018-05-18 2021-02-23 华为技术有限公司 一种虚拟机迁移的方法及数据中心
CN108768817B (zh) * 2018-05-22 2020-07-28 腾讯科技(深圳)有限公司 一种虚拟化网络组网***、数据包发送方法
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
WO2019235982A1 (en) 2018-06-07 2019-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Configuring a network path in an sdn
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
CN110620715B (zh) * 2018-06-20 2021-10-22 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
CN109245984B (zh) * 2018-07-13 2021-07-09 华为技术有限公司 一种报文传输方法、一种信息处理方法及其相关设备
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
CN111262771B (zh) * 2018-11-30 2021-06-22 北京金山云网络技术有限公司 虚拟私有云通信***、***配置方法及控制器
CN109587286B (zh) * 2018-12-27 2022-05-31 新华三技术有限公司 一种设备接入控制方法及装置
CN110011859B (zh) * 2019-04-15 2022-04-29 深信服科技股份有限公司 一种虚拟机控制方法及集群***
CN112995007B (zh) * 2019-12-18 2022-04-15 ***通信集团陕西有限公司 云专线连接方法及***
US11153261B2 (en) * 2020-01-22 2021-10-19 Cisco Technology, Inc. Routing traffic for virtualized/containerized network functions
US11329911B2 (en) * 2020-06-04 2022-05-10 Juniper Networks, Inc. Local repair for underlay failure using prefix independent convergence
US11870677B2 (en) 2020-06-04 2024-01-09 Juniper Networks, Inc. Liveness detection and route convergence in software-defined networking distributed system
US11729166B2 (en) * 2020-07-07 2023-08-15 Arista Networks, Inc. Authentication of passive devices
CN112994928B (zh) * 2021-02-04 2023-07-25 中国联合网络通信集团有限公司 一种虚拟机的管理方法、装置及***
CN113590268B (zh) * 2021-08-06 2023-11-24 中国联合网络通信集团有限公司 虚拟机迁移方法、arp代理网关及vtep
CN113691436B (zh) * 2021-09-07 2023-04-18 中国联合网络通信集团有限公司 虚拟机迁移方法及虚拟机迁移装置
US20230107891A1 (en) * 2021-10-04 2023-04-06 Juniper Networks, Inc. User interface for cloud native software-defined network architectures
CN114124813B (zh) * 2021-11-23 2023-08-25 浪潮云信息技术股份公司 一种openstack中基于流表的l3-agent实现方法
CN114338507B (zh) * 2021-12-23 2022-11-22 武汉绿色网络信息服务有限责任公司 一种实现改变云网关***中流量转发路径的方法和装置
WO2023150522A1 (en) * 2022-02-02 2023-08-10 Oracle International Corporation Enhanced network-link architecture for improved end-to-end latency in communication between different cloud environments
CN114172750B (zh) * 2022-02-14 2022-05-13 南京易科腾信息技术有限公司 基于加密机制的网络通信方法、装置及存储介质
CN115334036B (zh) * 2022-08-11 2023-07-07 安超云软件有限公司 智能控制源地址转换的方法和装置、电子设备和存储介质
CN115604167A (zh) * 2022-08-25 2023-01-13 紫光云技术有限公司(Cn) 一种公有云mac地址学习优化方法
CN116055398A (zh) * 2022-12-29 2023-05-02 天翼云科技有限公司 一种vxlan集群***的转发方法和***节点

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259726B2 (en) * 2009-05-28 2012-09-04 Force10 Networks, Inc. Method and apparatus for forwarding table reduction
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
US20130266019A1 (en) * 2012-04-09 2013-10-10 Futurewei Technologies, Inc. L3 Gateway for VXLAN

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2122963B1 (en) 2006-12-22 2016-06-22 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement relating to communications network services request activation
US8532116B2 (en) * 2009-07-21 2013-09-10 Cisco Technology, Inc. Extended subnets
CN102457583B (zh) * 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及***
US20120099602A1 (en) * 2010-10-25 2012-04-26 Brocade Communications Systems, Inc. End-to-end virtualization
JP5757324B2 (ja) 2011-03-31 2015-07-29 日本電気株式会社 コンピュータシステム、及び通信方法
US9444651B2 (en) * 2011-08-17 2016-09-13 Nicira, Inc. Flow generation from second level controller to first level controller to managed switching element
US9185166B2 (en) * 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
CN103379010B (zh) * 2012-04-20 2018-09-21 中兴通讯股份有限公司 一种虚拟网络实现方法及***
WO2013177289A1 (en) * 2012-05-23 2013-11-28 Brocade Communications Systems, Inc. Layer-3 overlay gateways
US10225094B2 (en) * 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
CN102801715B (zh) * 2012-07-30 2015-03-11 华为技术有限公司 一种网络中虚拟机迁移的方法、网关及***
US9325636B2 (en) * 2013-06-14 2016-04-26 Cisco Technology, Inc. Scaling interconnected IP fabric data centers
CN103647853B (zh) 2013-12-04 2018-07-03 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259726B2 (en) * 2009-05-28 2012-09-04 Force10 Networks, Inc. Method and apparatus for forwarding table reduction
US20130266019A1 (en) * 2012-04-09 2013-10-10 Futurewei Technologies, Inc. L3 Gateway for VXLAN
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028801A (zh) * 2015-07-27 2018-05-11 华为技术有限公司 一种基于sdn的arp实现方法及装置
EP3313031A4 (en) * 2015-07-27 2018-07-11 Huawei Technologies Co., Ltd. Sdn-based arp realization method and apparatus
EP3633934A1 (en) * 2015-07-27 2020-04-08 Huawei Technologies Co., Ltd. Sdn-based arp implementation method and apparatus
US10652142B2 (en) 2015-07-27 2020-05-12 Huawei Technologies Co., Ltd. SDN-based ARP implementation method and apparatus
CN108028801B (zh) * 2015-07-27 2021-02-23 华为技术有限公司 一种基于sdn的arp实现方法及装置
US10079798B2 (en) 2015-10-23 2018-09-18 Inernational Business Machines Corporation Domain intercommunication in shared computing environments
US10581794B2 (en) 2015-10-23 2020-03-03 International Business Machines Corporation Domain intercommunication in shared computing environments
US10917379B2 (en) 2015-10-23 2021-02-09 International Business Machines Corporation Domain intercommunication in shared computing environments

Also Published As

Publication number Publication date
CN104115453A (zh) 2014-10-22
CA2895001A1 (en) 2015-06-30
KR20160018775A (ko) 2016-02-17
CN110427334A (zh) 2019-11-08
CN104115453B (zh) 2016-06-22
US9577958B2 (en) 2017-02-21
EP3091696A4 (en) 2016-12-14
JP6068685B2 (ja) 2017-01-25
CN105791463B (zh) 2019-05-24
US9325615B2 (en) 2016-04-26
EP3376712A1 (en) 2018-09-19
CN105791463A (zh) 2016-07-20
EP3091696B1 (en) 2018-03-28
WO2015100953A1 (zh) 2015-07-09
AU2014366588A1 (en) 2015-07-16
KR101712901B1 (ko) 2017-03-07
US10003571B2 (en) 2018-06-19
US20160212067A1 (en) 2016-07-21
US20170118171A1 (en) 2017-04-27
CA2895001C (en) 2017-05-16
US20150281067A1 (en) 2015-10-01
JP2016509448A (ja) 2016-03-24
AU2014366588B2 (en) 2016-05-12
EP3091696A1 (en) 2016-11-09
EP3376712B1 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
WO2015100656A1 (zh) 一种实现虚拟机通信的方法和装置
US20230300105A1 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
EP2874359B1 (en) Extended ethernet fabric switches
KR101478475B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
JP5991424B2 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
US8358661B2 (en) Remote adapter configuration
JP5500270B2 (ja) プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
GB2497202A (en) Transmitting frames between, possibly different, local VLANs by encapsulating frames for global VLAN tunnel
WO2018024187A1 (zh) 报文监控
CN113542111B (zh) 一种报文转发方法及网络设备
KR101794719B1 (ko) Sdn 기반 네트워크 가상화 플랫폼에서의 ip 주소 가상화 방법 및 시스템
US11611508B2 (en) Packet forwarding method and network device

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: 13900772

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13900772

Country of ref document: EP

Kind code of ref document: A1