WO2015172574A1 - 一种发送报文的方法及设备 - Google Patents

一种发送报文的方法及设备 Download PDF

Info

Publication number
WO2015172574A1
WO2015172574A1 PCT/CN2015/070033 CN2015070033W WO2015172574A1 WO 2015172574 A1 WO2015172574 A1 WO 2015172574A1 CN 2015070033 W CN2015070033 W CN 2015070033W WO 2015172574 A1 WO2015172574 A1 WO 2015172574A1
Authority
WO
WIPO (PCT)
Prior art keywords
source
vdc
interface
vxlan
logical network
Prior art date
Application number
PCT/CN2015/070033
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 华为技术有限公司
Publication of WO2015172574A1 publication Critical patent/WO2015172574A1/zh

Links

Images

Definitions

  • the present invention relates to the field of communications, and in particular, to a method and a device for transmitting a message.
  • VLAN virtual local area network
  • VXLAN Virtual Extensible Local Area Network
  • a virtual data center may include multiple logical networks, each logical network corresponding to a VXLAN identification (ID), and each logical network may include multiple Virtual Machine (VM).
  • VDC virtual data center
  • ID VXLAN identification
  • VM Virtual Machine
  • a source VM of a certain VDC needs to communicate with a destination VM of a physical data center
  • a packet sent by the source VM to the destination VM needs to pass through a virtual private network (Virtual Private Network, VPN) tunnel for transmission.
  • VPN Virtual Private Network
  • the packets sent to the destination VMs across the physical data centers are all shared by the same one.
  • the VPN tunnel is transmitted, and the packets sent from the source VM of a VDC to the destination VM of the physical data center cannot be transmitted through the VDC's own VPN tunnel.
  • the quality of service of the VDC (Quality of Service, QOS) ) is not guaranteed.
  • the present invention provides a method and device for transmitting a message.
  • a first aspect of the present invention provides a method for transmitting a packet, in which a virtual private network VPN tunnel is allocated to each virtual data center VDC in a physical data center where the source virtual machine VM is located, where the source VM is located.
  • the VPN tunnel allocated by each VDC in the medium is different, and the VPN tunnel allocated for the VDC in the physical data center where the source VM is located corresponds to the source user border CE device used by the VDC in the physical data center where the source VM is located.
  • the interface is associated with the binding, wherein the VPN tunnel allocated to the source VDC where the source VM is located is bound to the first interface of the source CE device, and the first interface is an interface corresponding to the source VDC where the source VM is located;
  • the method includes:
  • the source CE device receives the virtual scalable LAN VXLAN message sent by the source virtual channel endpoint VTEP; wherein the VXLAN message includes the original data packet that the source VM needs to send to the destination VM and the logic of the source VM. VXLAN logo of the network;
  • the source CE device obtains, by the source CE device, information about the first interface corresponding to the source VDC where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is located;
  • the source CE device obtains, according to the VXLAN identifier of the logical network where the source VM is located, information about the first interface that is used by the source VDC where the source VM is located, include:
  • the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface. .
  • the method further includes:
  • the source CE device sends a request message carrying the VXLAN identifier of the logical network where the source VM is located to the controller; the request message Used to request to obtain the logical network where the source VM is located Interface information corresponding to the VXLAN identifier;
  • the source CE device receives interface information that is sent by the controller and corresponds to a VXLAN identifier of a logical network where the source VM is located;
  • the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface.
  • the interface information is logical interface information or physical interface information.
  • a second aspect of the present invention provides a method for transmitting a packet, in which a virtual private network VPN tunnel is allocated to each virtual data center VDC in the physical data center where the source virtual machine VM is located, where the physical data center of the source VM is located.
  • the VPN tunnel allocated by each VDC in the medium is different, and the VPN tunnel allocated for the VDC in the physical data center where the source VM is located corresponds to the source user border CE device used by the VDC in the physical data center where the source VM is located.
  • the interface is associated with the binding, wherein the VPN tunnel allocated to the source VDC where the source VM is located is bound to the first interface of the source CE device, and the first interface is the interface corresponding to the source VDC where the source VM is located.
  • the method includes:
  • the controller receives a request message that is sent by the source CE device and carries a virtual expandable local area network VXLAN identifier of the logical network where the source VM is located; the request message is used to request to obtain a VXLAN identifier corresponding to the logical network where the source VM is located. Interface information;
  • the controller obtains a VPN tunnel allocated to the source VDC of the source VM according to the identifier of the source VDC where the source VM is located, and obtains an interface corresponding to the source VDC where the source VM is located according to the VPN tunnel of the source VDC.
  • the controller sends interface information corresponding to the VXLAN identifier of the logical network where the source VM is located to the source CE device.
  • the interface information is logical interface information or physical interface information.
  • a source user border CE device is provided, and a virtual private network VPN tunnel is allocated in advance for each virtual data center VDC in a physical data center where the source virtual machine VM is located, where the source VM is located in a physical data center.
  • the VPN tunnel assigned by each VDC is different.
  • the VPN tunnel allocated for the VDC in the physical data center where the source VM is located is bound to the interface of the source CE device corresponding to the VDC in the physical data center where the source VM is located, where the source VM is located.
  • the VPN tunnel allocated by the source VDC is bound to the first interface of the source CE device, and the first interface is an interface corresponding to the source VDC where the source VM is located, including:
  • a receiving unit configured to receive a virtual expandable local area network VXLAN message sent by the source virtual channel end point VTEP, where the VXLAN message includes a raw data message that the source VM needs to send to the destination VM and a logic of the source VM VXLAN logo of the network;
  • An acquiring unit configured to acquire information about the first interface corresponding to the source VDC where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is received by the receiving unit;
  • a sending unit configured to send the VXLAN message by using the first interface to provide the VXLAN message to the destination VM by using the VPN tunnel of the source VDC to which the first interface is bound.
  • the acquiring unit includes:
  • a searching module configured to find, in the mapping relationship forwarding table, whether the VXLAN identifier of the logical network where the source VM is located is included;
  • a first processing module configured to use, as the first interface, interface information corresponding to a VXLAN identifier of a logical network where the source VM is located, if the mapping relationship forwarding table includes a VXLAN identifier of a logical network where the source VM is located.
  • Information corresponding to a VXLAN identifier of a logical network where the source VM is located, if the mapping relationship forwarding table includes a VXLAN identifier of a logical network where the source VM is located.
  • the acquiring unit further includes:
  • a sending module configured to send, to the controller, a request message that carries a VXLAN identifier of a logical network where the source VM is located, if the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located; the request message Used to request to obtain interface information corresponding to a VXLAN identifier of a logical network where the source VM is located;
  • a receiving module configured to receive, by the controller, interface information corresponding to a VXLAN identifier of a logical network where the source VM is located;
  • the second processing module is configured to use, as the information of the first interface, the interface information that is received by the receiving module and is corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the interface information is logical interface information or physical interface information.
  • a fourth aspect of the present invention provides a controller for pre-assigning a virtual private network VPN tunnel to each virtual data center VDC in a physical data center where the source virtual machine VM is located, for each of the physical data centers in which the source VM is located.
  • the VPN tunnels allocated by the VDCs are different, and the VPN tunnels allocated for the VDCs in the physical data center where the source VM is located are associated with the interfaces of the source user border CE devices corresponding to the VDCs in the physical data center where the source VMs are located.
  • the VPN tunnel assigned to the source VDC where the source VM is located is bound to the first interface of the source CE device, and the first interface is an interface corresponding to the source VDC where the source VM is located, including:
  • a receiving unit configured to receive a request message sent by the source CE device to carry a virtual expandable local area network VXLAN identifier of a logical network where the source VM is located, where the request message is used to request to acquire a VXLAN of a logical network where the source VM is located Identify the corresponding interface information;
  • a first acquiring unit configured to acquire an identifier of a source VDC where the source VM is located, according to a VXLAN identifier of a logical network where the source VM is received by the receiving unit;
  • a second acquiring unit configured to acquire, according to the identifier of the source VDC where the source VM is located, the VPN tunnel allocated to the source VDC where the source VM is located, and according to the VPN tunnel of the source VDC Obtaining information about an interface corresponding to the source VDC where the source VM is located, to obtain interface information corresponding to the VXLAN identifier of the logical network where the source VM is located;
  • a sending unit configured to send, by the second acquiring unit, interface information corresponding to the VXLAN identifier of the logical network where the source VM is located, to the source CE device.
  • the interface information is logical interface information or physical interface information.
  • the method and device for sending a packet are provided by the source VDC where the source VM is located, and the VPN tunnel of the source VDC is bound to the first interface of the source CE device and received by the source CE device.
  • the VXLAN packet of the VXLAN identifier of the logical network where the active VM is located is sent by the source VTEP, the information about the first interface corresponding to the source VDC where the source VM is located is obtained according to the VXLAN identifier of the logical network where the source VM is located, and then passes through the first interface.
  • the VXLAN packet is sent to use the VPN tunnel of the source VDC to which the first interface is bound, and the VXLAN packet is sent to the destination VM, so that the source VM sends the packet to the target VM across the physical data center, and the source is the source.
  • the VPN tunnel allocated by the source VDC of the VM is transmitted, thereby solving the problem that the source VM located in a VDC cannot be transmitted to the destination VM of the physical data center through the VDC's own VPN tunnel.
  • the QOS of the VDC is not guaranteed.
  • FIG. 1 is a schematic structural diagram of a network in a VXLAN technology provided by the present invention.
  • FIG. 2 is a flowchart of a method for sending a message according to Embodiment 1 of the present invention
  • FIG. 3 is a flowchart of a method for sending a message according to Embodiment 2 of the present invention.
  • FIG. 5 is a flowchart of another method for sending a message according to Embodiment 3 of the present invention.
  • FIG. 6 is a schematic structural diagram of a source CE device according to Embodiment 4 of the present invention.
  • FIG. 7 is a schematic structural diagram of another source CE device according to Embodiment 4 of the present invention.
  • FIG. 8 is a schematic structural diagram of a controller according to Embodiment 5 of the present invention.
  • FIG. 9 is a schematic structural diagram of a source CE device according to Embodiment 6 of the present invention.
  • FIG. 10 is a schematic structural diagram of a control device according to Embodiment 7 of the present invention.
  • system and “network” are used interchangeably herein.
  • the term “and/or” in this context is merely an association describing the associated object, indicating that there may be three relationships, for example, A and / or B, which may indicate that A exists separately, and both A and B exist, respectively. B these three situations.
  • the character "/" in this article generally indicates that the contextual object is an "or" relationship.
  • a physical data center corresponds to a Customer Edge (CE) device
  • the physical data center may include at least one VDC
  • each VDC may include multiple logical networks, each of which may include multiple logical networks.
  • a logical network can contain multiple VMs
  • one physical data center can correspond to multiple virtual channel endpoints (Virtual Tunnel End Point (VTEP)
  • VTEP Virtual Tunnel End Point
  • the VTEP is used to encapsulate the original data packet that the source VM needs to send to the destination VM in the at least one logical network, and send the encapsulated packet to the CE device, and the CE device receives the VTEP.
  • the encapsulated packet is transmitted to the destination VM through the VPN tunnel.
  • the multiple logical networks may be included in different VDCs.
  • the connection relationship between the CE device, the VTEP, and the VM can be as shown in FIG. 1. It should be noted that the connection relationship between the VTEP and the VM may be specifically determined according to the requirements of the actual application scenario.
  • the connection relationship between the VTEP and the VM shown in FIG. 1 of the present invention is only an example, and is not It is limited.
  • the source VM at a certain VDC (for example, VM1 in VDC1 as shown in Figure 1) needs to be based on Layer 2 and Layer 3 with the destination VM across the physical data center.
  • the original data packet sent by the source VM to the destination VM is first encapsulated by the corresponding source VTEP (corresponding to VTEP1 as shown in FIG. 1), and then the encapsulated packet is sent to the corresponding packet.
  • the source CE device (corresponding to the CE device shown in Figure 1), so that the source CE device sends the encapsulated packet to the destination CE device, and the corresponding destination CE device sends the received packet to the corresponding destination.
  • the VTEP performs decapsulation, and then sends the original data packet obtained by the decapsulation to the destination VM.
  • the source CE device is the CE device corresponding to the physical data center where the source VM is located
  • the destination CE device is the physical data center where the destination VM is located.
  • Corresponding CE device since only one VPN tunnel is established between the source CE device and the destination CE device, the VMs of different VDCs in the same physical data center need to send packets to the VMs across the physical data center. After the VPN tunnel is transmitted, the packets sent from the source VM of a VDC to the destination VM of the physical data center cannot be transmitted through the VDC's own VPN tunnel. As a result, the QOS of the VDC is not guaranteed. .
  • the VDC allocates a VPN tunnel (wherein the VPN tunnels allocated for each VDC in the physical data center are different), as a VPN tunnel dedicated to the VDC, and at least established between the source CE device and the destination CE device.
  • a VPN tunnel (wherein the VPN tunnels allocated for each VDC in the physical data center are different), as a VPN tunnel dedicated to the VDC, and at least established between the source CE device and the destination CE device.
  • Each VPN tunnel in a VPN tunnel has a binding relationship with the interface corresponding to the source CE device, that is, the VPN tunnel assigned to each VDC is bound to the interface of the source CE device corresponding to the VDC.
  • the packet can be transmitted through the VDC-specific VPN tunnel according to the information of the interface of the source CE device that is used by the VDC of the source VM, so that the QOS of the VDC can be guaranteed.
  • at least one VPN tunnel established between the source CE device and the destination CE device may be pre-planned and manually initiated by the administrator according to the requirements of the actual application scenario.
  • the establishment process is such that the VPN tunnel is established between the source CE device and the destination CE device, and in the embodiment of the present invention, the number of VPN tunnels established between the source CE device and the destination CE device may be based on the actual application scenario. The requirements are determined, and the embodiments of the present invention are not specifically limited herein. Moreover, in the embodiment of the present invention, the number of the VPN tunnels allocated to each VDC may be one, or may be multiple, and the embodiment of the present invention does not specifically limit here, when a certain VDC is allocated.
  • each VPN tunnel assigned to the VDC has a binding relationship with the corresponding interface of the source CE device, and the source VM that is in the VDC needs to send packets to the destination VM across the physical data center. Any one of the plurality of VPN tunnels allocated by the VDC is used for packet transmission. Of course, in order to facilitate control of the QOS of the VDC, only one VPN tunnel may be allocated to each VDC.
  • a VPN tunnel is allocated as an example.
  • the specific implementation process of the technical solution provided by the present invention may refer to the following embodiments provided by the present invention.
  • the embodiment of the present invention provides a method for transmitting a packet, in which a VPN tunnel is allocated to each VDC in the physical data center where the source VM is located, and the VPN tunnel allocated for each VDC in the physical data center where the source VM is located is different.
  • the VPN tunnel assigned by the VDC in the physical data center where the source VM is located is bound to the interface of the source CE device corresponding to the VDC in the physical data center where the source VM is located.
  • the first interface of the CE device is bound to the interface.
  • the first interface is the interface corresponding to the source VDC where the source VM is located.
  • the method may include:
  • the source CE device receives the VXLAN packet sent by the source VTEP.
  • the VXLAN packet includes the original data packet that the source VM needs to send to the destination VM and the VXLAN identifier of the logical network where the source VM is located.
  • the VXLAN packet may be an Internet protocol of the destination VTEP corresponding to the original data packet and the destination VM after the source VTEP sends the original data packet sent by the source VM.
  • Protocol, IP IP
  • the VXLAN identifier of the logical network is encapsulated, wherein the original data packet may include an original data packet that the active VM needs to send to the destination VM and an IP address of the destination VM, and the IP address of the destination VTEP may be the source VTEP.
  • the flow table includes a mapping relationship between the IP address of the destination VM and the IP address of the destination VTEP.
  • the source CE device obtains information about the first interface used by the source VDC where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is located.
  • the source VDC includes the logical network where the source VM is located, and the source VDC of the source VM is associated with the first interface of the source CE. Therefore, after the source CE device receives the VXLAN packet sent by the source VTEP, the source CE is the source CE. The device obtains information about the first interface corresponding to the source VDC where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is located in the VXLAN packet.
  • the source CE device sends the VXLAN packet to the destination VM by using the VPN tunnel of the source VDC bound to the first interface.
  • the source CE device may use the source VDC corresponding to the obtained source VM.
  • the information of an interface is sent by the first interface of the source CE device to the VXLAN packet. That is, the source CE device can pass the first interface according to the information of the first interface used by the source VDC of the source VM.
  • the VXLAN packet is provided to the destination VM corresponding to the bound VPN tunnel of the source VDC.
  • the VM included in the source VDC needs to perform communication based on the Layer 2 and Layer 3 networks with the target VM across the physical data center, it needs to be allocated by the source VDC.
  • the source VDC-specific VPN tunnel transmits packets to the target VM across the physical data center, so that the QOS of the source VDC can be guaranteed.
  • the method for transmitting a packet is provided by the present invention.
  • a VPN tunnel is allocated to the source VDC where the source VM is located, and the VPN tunnel of the source VDC is bound to the first interface of the source CE device, and the source CE device receives the source.
  • the VXLAN packet of the VXLAN identifier of the logical network where the active VM is located is sent by the VTEP, the information about the first interface corresponding to the source VDC where the source VM is located is obtained according to the VXLAN identifier of the logical network where the source VM is located, and then the VXLAN is sent through the first interface.
  • the packet is sent to the destination VM by using the VPN tunnel of the source VDC bound to the first interface, so that the source VM sends the packet to the target VM across the physical data center, and the source VM is used by the source VM.
  • the VPN tunnel allocated by the source VDC is transmitted, thereby solving the problem that the bit cannot be put
  • a packet sent by a source VM of a VDC to a destination VM of a physical data center is transmitted through the VDC's own private VPN tunnel, and the QOS of the VDC is not guaranteed.
  • the embodiment of the present invention provides a method for transmitting a packet, and a VPN tunnel is allocated to each VDC in the physical data center where the source VM is located, and the VPN tunnel allocated for each VDC in the physical data center where the source VM is located is different.
  • the VPN tunnel assigned by the VDC in the physical data center where the source VM is located is bound to the interface of the source CE device corresponding to the VDC in the physical data center where the source VM is located.
  • the first interface of the CE device is bound to the interface.
  • the first interface is the interface corresponding to the source VDC where the source VM is located.
  • the method may include:
  • the controller receives a request message that is sent by the source CE device and carries the VXLAN identifier of the logical network where the source VM is located.
  • the request message is used to request to obtain interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the controller obtains the identifier of the source VDC where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located.
  • the controller may obtain the VXLAN of the logical network where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located. Identifies the identifier of the source VDC where the source VM is located.
  • the controller determines, according to the identifier of the source VDC where the source VM is located, the VPN tunnel allocated to the source VDC where the source VM is located, and obtains information about the interface used by the source VDC where the source VM is located according to the VPN tunnel of the source VDC, so as to obtain the source VM.
  • Interface information corresponding to the VXLAN ID of the logical network.
  • the VPN tunnel is pre-assigned to the source CE device, and the VPN tunnel is allocated to the source VDC where the source VM is located, and each VPN tunnel in the at least one VPN tunnel is established between the source CE device and the destination CE device.
  • the interface has a binding relationship, and the binding relationship is pre-stored in the controller. Therefore, after the controller obtains the identifier of the source VDC where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located, the source may be based on the source VM.
  • the VDC is configured to obtain the VPN tunnel allocated to the source VDC where the source VM is located, and then the binding relationship between the VPN tunnel of the source VDC and the interface of the pre-stored VPN tunnel and the source CE device.
  • the information about the interface used by the source VDC of the source VM is obtained, so that the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is obtained.
  • the controller sends the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located to the source CE device.
  • the information about the interface corresponding to the source VDC of the source VM is obtained by the controller according to the identifier of the source VDC where the source VM is located, that is, after obtaining the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located,
  • the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is sent to the source CE device, so that the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the first interface of the source CE device.
  • the information is used to provide the VXLAN message to the destination VM by using the VPN tunnel of the source VDC bound to the first interface.
  • the VM included in the source VDC needs to perform communication based on the Layer 2 and Layer 3 networks with the target VM across the physical data center, it needs to be allocated by the source VDC.
  • the source VDC-specific VPN tunnel transmits packets to the target VM across the physical data center, so that the QOS of the source VDC can be guaranteed.
  • the source CE device finds that the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located, the source CE device needs to send a logic for requesting acquisition and the source VM.
  • the VXLAN of the network identifies the request message of the interface information, so that after receiving the request message, the controller obtains the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located in the request message.
  • the tunnel provides the VXLAN packet to the destination VM, which solves the problem that the source VM that is located in a VDC cannot be transmitted to the destination VM of the physical data center through the VDC's own VPN tunnel.
  • the QOS is not guaranteed.
  • the embodiment of the present invention provides a method for transmitting a packet, and a VPN tunnel is allocated to each VDC in the physical data center where the source VM is located, and the VPN tunnel allocated for each VDC in the physical data center where the source VM is located is different.
  • the VPN tunnel assigned by the VDC in the physical data center where the source VM is located is bound to the interface of the source CE device corresponding to the VDC in the physical data center where the source VM is located.
  • CE equipment An interface is associated with the interface.
  • the first interface is the interface corresponding to the source VDC where the source VM is located.
  • the method may include:
  • the source CE device receives the VXLAN packet sent by the source VTEP.
  • the VXLAN packet includes the original data packet that the source VM needs to send to the destination VM and the VXLAN identifier of the logical network where the source VM is located.
  • the source VM when the source VM needs to send the original data packet to the destination VM, the source VM first obtains the IP address of the destination VM through an Address Resolution Protocol (ARP), and then The original data packet, the IP address of the source VM, and the IP address of the destination VM are carried in the original data packet and sent to the source VTEP. After the source VTEP receives the original data packet sent by the source VM, it may be included according to the original data packet.
  • ARP Address Resolution Protocol
  • the IP address of the destination VM, the query flow table obtains the IP address of the destination VTEP, and encapsulates the original data packet, the IP address of the destination VTEP, and the VXLAN identifier of the logical network where the source VM is located to obtain a VXLAN packet, and then encapsulates the obtained VXLAN packet.
  • the packet is forwarded to the source CE device through the Layer 3 route.
  • the source CE device can receive the VXLAN packet sent by the source VTEP.
  • the information about the first interface corresponding to the source VDC where the source VM is located may be obtained according to the VXLAN identifier of the logical network where the source VM is located in the VXLAN packet, where the interface
  • the information can be logical interface information or physical interface information.
  • the source CE device obtains information about the first interface corresponding to the source VDC where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located, and may include the following steps 302a-310a.
  • the source CE device searches whether the mapping relationship forwarding table includes a VXLAN identifier of a logical network where the active VM is located.
  • the source CE device can find out whether the source VM is included in the mapping relationship forwarding table according to the VXLAN identifier of the logical network where the source VM is included in the VXLAN packet.
  • the VXLAN identifier of the logical network if the mapping relationship forwarding table includes the VXLAN identifier of the logical network where the source VM is located, perform the following step 303a. If the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located, The following steps 304a-310a are performed.
  • the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface.
  • the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located may be used as the information of the first interface.
  • the first interface of the source CE is the interface corresponding to the source VDC where the source VM is located.
  • the information of the first interface may be logical interface information or physical interface information.
  • the source CE device sends a request message to the controller that carries the VXLAN identifier of the logical network where the source VM is located.
  • the request message is used to request to obtain interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the source CE device finds that the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the active VM is located, the source CE device may send, to the controller, the interface information for requesting to acquire the VXLAN identifier corresponding to the logical network where the source VM is located.
  • Request information wherein the request information carries a VXLAN identifier of a logical network where the source VM is located.
  • the controller receives a request message that is sent by the source CE device and carries the VXLAN identifier of the logical network where the source VM is located.
  • the controller obtains the identifier of the source VDC where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is located.
  • the controller After the logical network of the source VM is included in the source VDC, after the controller receives the request message of the VXLAN identifier of the logical network where the source VM is located, the controller may be based on the logical network where the source VM is located.
  • the VXLAN identifier acquires the identifier of the source VDC where the source VM is located corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the controller obtains the VPN tunnel allocated to the source VDC of the source VM according to the identifier of the source VDC where the source VM is located, and obtains information about the interface used by the source VDC of the source VM according to the VPN tunnel of the source VDC, so as to obtain the source VM. Interface information corresponding to the VXLAN ID of the logical network.
  • the VPN tunnel is pre-configured with the source CE device in the at least one VPN tunnel established between the source CE device and the destination CE device.
  • the corresponding interface has a binding relationship, and the binding relationship is pre-stored in the controller. Therefore, after the controller obtains the identifier of the source VDC where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located, the source may first be based on the source VM.
  • the source VDC is configured to obtain the VPN tunnel allocated to the source VDC where the source VM is located, and then obtain the source VM according to the binding relationship between the VPN tunnel of the source VDC and the interface of the pre-stored VPN tunnel and the source CE device.
  • Information about the interface used by the source VDC, the source and source The information of the interface corresponding to the source VDC of the VM is the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the controller may obtain the identifier corresponding to the source VDC according to the identifier of the source VDC where the source VM is located.
  • the VXLAN identifier list includes at least one VXLAN identifier. For each VXLAN identifier in the at least one VXLAN identifier, the VXLAN identifier corresponds to a logical network, and the VXLAN identifier list includes the logical network where the source VM is located.
  • the VXLAN identifier, the logical network corresponding to each VXLAN identifier is included in the source VDC, and the VPN tunnel is allocated to the source VDC where the source VM is located, and the VPN tunnel and the source CE device pre-stored with the source VDC are pre-stored in the controller.
  • the binding relationship of the first interface so that the controller can obtain the correspondence between the VXLAN identifier list and the information of the first interface, and save the correspondence between the VXLAN identifier list and the information of the first interface in the controller, so that the controller
  • the controller receives the request information including a VXLAN identifier in the VXLAN identifier list (except the VXLAN identifier of the logical network where the source VM is located)
  • the VXLAN identifier is directly included in the VXLAN identifier list
  • the information about the first interface corresponding to the VXLAN identifier list is directly identified as the VXLAN identifier. Corresponding interface information.
  • the controller sends the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located to the source CE device.
  • the controller After the controller obtains the information of the interface corresponding to the source VDC where the source VM is located according to the identifier of the source VDC where the source VM is located, and obtains the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located, the controller may The obtained interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is sent to the original CE device.
  • the source CE device receives interface information that is sent by the controller and corresponds to a VXLAN identifier of a logical network where the source VM is located.
  • the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface.
  • the information of the first interface may be logical interface information or physical interface information.
  • the source CE device sends the VXLAN packet to the destination VM by using the VPN tunnel of the source VDC bound to the first interface.
  • the source CE device can obtain the first interface corresponding to the source VDC where the source VM is located.
  • the information is sent to the VXLAN packet through the first interface. That is, the source CE device can be bound to the source VDC by using the first interface corresponding to the source interface of the source VM.
  • Some VPN tunnels provide VXLAN packets to the destination VM.
  • the source CE device uses the VPN tunnel of the source VDC to which the first interface is bound to provide the VXLAN packet to the destination VM.
  • the source CE device may use the VPN tunnel of the source VDC bound to the first interface to report the VXLAN.
  • the message is sent to the destination CE device.
  • the destination CE device After receiving the VXLAN packet, the destination CE device sends the VXLAN packet to the destination VTEP, so that the destination VTEP decapsulates the VXLAN packet to obtain the original data packet and the IP address of the destination VM.
  • the original data message is sent to the destination VM according to the IP address of the destination VM.
  • the source VM obtains an IP address of the destination VM, and carries the original data packet, the IP address of the source VM, and the IP address of the destination VM in the original data packet, and sends the data to the source VTEP.
  • the source VTEP queries the flow table to obtain the IP address of the destination VTEP according to the IP address of the destination VM included in the original data packet.
  • the source VTEP encapsulates the original data packet, the IP address of the destination VTEP, and the VXLAN identifier of the logical network where the source VM is located to obtain a VXLAN packet.
  • the source VTEP sends the VXLAN packet to the source CE device.
  • the source CE device searches whether the mapping relationship forwarding table includes a VXLAN identifier of a logical network where the active VM is located.
  • mapping relationship forwarding table includes the VXLAN identifier of the logical network where the source VM is located, perform the following step 306b. If the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located, perform the following steps 307b-311b. .
  • the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface.
  • the source CE device sends a request message to the controller that carries the VXLAN identifier of the logical network where the source VM is located.
  • the controller obtains the identifier of the source VDC where the source VM is located according to the VXLAN identifier of the logical network where the source VM is located.
  • the controller obtains the VPN tunnel allocated to the source VDC of the source VM according to the identifier of the source VDC where the source VM is located, and obtains information about the interface used by the source VDC of the source VM according to the VPN tunnel of the source VDC, so as to obtain the source VM. Interface information corresponding to the VXLAN ID of the logical network.
  • the controller sends the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located to the source CE device.
  • the source CE device uses the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface.
  • the source CE device sends the VXLAN packet to the destination CE device through the VPN tunnel of the source VDC bound to the first interface.
  • the destination CE device sends the VXLAN packet to the destination VTEP.
  • the destination VTEP decapsulates the VXLAN packet to obtain the original data packet and the IP address of the destination VM.
  • the destination VTEP sends the original data packet to the destination VM according to the IP address of the destination VM.
  • the VM included in the source VDC needs to perform communication based on the Layer 2 and Layer 3 networks with the target VM across the physical data center, it needs to be allocated by the source VDC.
  • the source VDC-specific VPN tunnel transmits packets to the target VM across the physical data center, so that the QOS of the source VDC can be guaranteed.
  • the method for transmitting a packet is provided by the present invention.
  • a VPN tunnel is allocated to the source VDC where the source VM is located, and the VPN tunnel of the source VDC is bound to the first interface of the source CE device, and the source CE device receives the source.
  • the VXLAN packet of the VXLAN identifier of the logical network where the active VM is located is sent by the VTEP, the information about the first interface corresponding to the source VDC where the source VM is located is obtained according to the VXLAN identifier of the logical network where the source VM is located, and then the VXLAN is sent through the first interface.
  • the packet is sent to the destination VM by using the VPN tunnel of the source VDC bound to the first interface, so that the source VM sends the packet to the target VM across the physical data center, and the source VM is used by the source VM.
  • the VPN tunnel allocated by the source VDC is transmitted, so that the packet sent by the source VM of a VDC to the destination VM of the physical data center cannot be transmitted through the VDC's own VPN tunnel, resulting in the VDC.
  • the QOS is not guaranteed.
  • the embodiment of the present invention provides a source CE device.
  • a VPN tunnel is allocated in advance for each VDC in the physical data center where the source VM is located, and is allocated to each VDC in the physical data center where the source VM is located.
  • the VPN tunnel allocated for the VDC in the physical data center where the source VM is located is bound to the interface of the source CE device corresponding to the VDC in the physical data center where the source VM is located, where
  • the VPN tunnel allocated by the source VDC where the source VM is located is bound to the first interface of the source CE device, and the first interface is an interface corresponding to the source VDC where the source VM is located, and the source CE device may include: Unit 41, acquisition unit 42, and transmission unit 43.
  • the receiving unit 41 is configured to receive the VXLAN message sent by the source VTEP, where the VXLAN message includes the original data message that the source VM needs to send to the destination VM and the VXLAN identifier of the logical network where the source VM is located.
  • the obtaining unit 42 is configured to acquire information about the first interface that is used by the source VDC where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is received by the receiving unit 41.
  • the sending unit 43 is configured to send the VXLAN packet by using the first interface to provide the VXLAN message to the destination VM by using the VPN tunnel of the source VDC that is bound to the first interface. .
  • the obtaining unit 42 may include: a searching module 421 and a first processing module 422.
  • the searching module 421 is configured to find, in the mapping relationship forwarding table, whether the VXLAN identifier of the logical network where the source VM is located is included.
  • the first processing module 422 is configured to: if the mapping relationship forwarding table includes the VXLAN identifier of the logical network where the source VM is located, use the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located as the first Interface information.
  • the obtaining unit 42 may further include: a sending module 423, a receiving module 424, and a second processing module 425.
  • the sending module 423 is configured to: if the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located, send a request message carrying the VXLAN identifier of the logical network where the source VM is located to the controller; The message is used to request to obtain interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the receiving module 424 is configured to receive interface information that is sent by the controller and is corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the second processing module 425 is configured to use the interface information that is received by the receiving module 424 and corresponding to the VXLAN identifier of the logical network where the source VM is located as the information of the first interface.
  • the interface information is logical interface information or physical interface information.
  • the source CE device obtains the VXLAN packet of the VXLAN identifier of the logical network where the active VM is located after the source VTEP receives the VXLAN packet of the logical network where the source VM is located, and obtains the corresponding source VDC of the source VM according to the VXLAN identifier of the logical network where the source VM is located.
  • the information of an interface is sent to the destination VM by using the VPN interface of the source VDC bound to the first interface to send the VXLAN message to the destination VM, so that the source VM is sent to the physical data center.
  • the packet of the target VM is transmitted through the VPN tunnel allocated to the source VDC of the source VM, thereby solving the problem that the source VM located in a VDC cannot be sent to the destination VM across the physical data center through the VDC itself.
  • the transmission of the proprietary VPN tunnel causes the QOS of the VDC to be unprotected.
  • Embodiment 5 of the present invention provides a controller. As shown in FIG. 8, a VPN tunnel is allocated in advance for each VDC in a physical data center where a source VM is located, and is allocated for each VDC in a physical data center where the source VM is located. The VPN tunnel is different, and the VPN tunnel allocated for the VDC in the physical data center where the source VM is located is bound to the interface of the source CE device corresponding to the VDC in the physical data center where the source VM is located, where the source is the source.
  • the VPN tunnel allocated by the source VDC of the VM is bound to the first interface of the source CE device, and the first interface is an interface corresponding to the source VDC where the source VM is located, and the controller may include: the receiving unit 51 The first obtaining unit 52, the second obtaining unit 53, and the transmitting unit 54.
  • the receiving unit 51 is configured to receive, by the source CE device, a request message that carries a virtual expandable local area network VXLAN identifier of a logical network where the source VM is located, where the request message is used to request to acquire a logical network that is located with the source VM. Interface information corresponding to the VXLAN ID.
  • a first obtaining unit 52 configured to be used according to the source VM received by the receiving unit 51 On the VXLAN identifier of the logical network, obtain the identifier of the source VDC where the source VM is located.
  • the second obtaining unit 53 is configured to acquire, according to the identifier of the source VDC where the source VM is located, the VPN tunnel allocated to the source VDC where the source VM is located, and according to the source VDC
  • the information about the interface used by the source VDC of the source VM is obtained by the VPN tunnel to obtain interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the sending unit 54 is configured to send, by the second acquiring unit 53, interface information corresponding to the VXLAN identifier of the logical network where the source VM is located, to the source CE device.
  • the interface information is logical interface information or physical interface information.
  • the controller provided by the present invention, when the source CE device finds that the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located, the source CE device needs to send a VXLAN for requesting to acquire the logical network where the source VM is located.
  • the controller obtains the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is located in the request message, and
  • the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is fed back to the source CE device, so that the source CE device uses the VPN tunnel corresponding to the bound source VDC to connect the VXLAN according to the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • the packet is provided to the destination VM, so that the packet sent by the source VM located in a VDC to the destination VM of the physical data center cannot be transmitted through the VDC's own VPN tunnel, resulting in the QOS of the VDC. There is no guarantee of the problem.
  • the sixth embodiment of the present invention provides a source CE device, which allocates a virtual private network VPN tunnel to each virtual data center VDC in the physical data center where the source virtual machine VM is located, for each of the physical data centers in which the source VM is located.
  • the VPN tunnel allocated by the VDC is different, and the VPN tunnel allocated for the VDC in the physical data center where the source VM is located is bound to the interface of the source user border CE device corresponding to the VDC in the physical data center where the source VM is located.
  • the VPN tunnel assigned to the source VDC where the source VM is located is bound to the first interface of the source CE device, and the first interface is the interface corresponding to the source VDC where the source VM is located, as shown in FIG. 9 .
  • the source CE device includes: at least one processor 61, a memory 62, a communication interface 63, and The bus 64, the at least one processor 61, the memory 62 and the communication interface 63 are connected by a bus 64 and complete communication with each other, wherein:
  • the bus 64 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus 64 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 8, but it does not mean that there is only one bus or one type of bus.
  • the memory 62 is for storing executable program code, the program code including computer operating instructions.
  • the memory 62 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the processor 61 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. .
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • the communication interface 63 is mainly used to implement communication between devices in this embodiment.
  • the processor 61 is configured to execute executable program code stored in the memory 62, specifically for performing the following operations:
  • the processor 61 is configured to receive a virtual VXLAN message sent by the source VTEP, where the VXLAN message includes a source data message that the source VM needs to send to the destination VM and a VXLAN of the logical network where the source VM is located. And obtaining, according to the VXLAN identifier of the logical network where the source VM is located, information about the first interface that is used by the source VDC where the source VM is located; sending the VXLAN packet by using the first interface, to use the The first interface corresponds to the VPN tunnel of the source VDC to be bound, and the VXLAN packet is provided to the destination VM.
  • the processor 61 is further configured to: find, in the mapping relationship forwarding table, whether the VXLAN identifier of the logical network where the source VM is located is included; if the mapping relationship forwarding table includes The VXLAN identifier of the logical network where the source VM is located, and the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is used as the information of the first interface.
  • the processor 61 is further configured to: if the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located,
  • the controller sends a request message that carries the VXLAN identifier of the logical network where the source VM is located; the request message is used to request to acquire interface information corresponding to the VXLAN identifier of the logical network where the source VM is located; and receive the The interface information corresponding to the VXLAN identifier of the logical network where the source VM is located; the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is used as the information of the first interface.
  • the interface information is logical interface information or physical interface information.
  • the source CE device obtains the VXLAN packet of the VXLAN identifier of the logical network where the active VM is located after the source VTEP receives the VXLAN packet of the logical network where the source VM is located, and obtains the corresponding source VDC of the source VM according to the VXLAN identifier of the logical network where the source VM is located.
  • the information of an interface is sent to the destination VM by using the VPN interface of the source VDC bound to the first interface to send the VXLAN message to the destination VM, so that the source VM is sent to the physical data center.
  • the packet of the target VM is transmitted through the VPN tunnel allocated to the source VDC of the source VM, thereby solving the problem that the source VM located in a VDC cannot be sent to the destination VM across the physical data center through the VDC itself.
  • the transmission of the proprietary VPN tunnel causes the QOS of the VDC to be unprotected.
  • the seventh embodiment of the present invention provides a control device, which allocates a virtual private network VPN tunnel to each virtual data center VDC in the physical data center where the source virtual machine VM is located, which is a VDC in the physical data center where the source VM is located.
  • the assigned VPN tunnel is different, and the VPN tunnel allocated for the VDC in the physical data center where the source VM is located is bound to the interface of the source user border CE device corresponding to the VDC in the physical data center where the source VM is located.
  • the VPN tunnel allocated to the source VDC where the source VM is located is bound to the first interface of the source CE device, and the first interface is the interface corresponding to the source VDC where the source VM is located, as shown in FIG.
  • the controller includes: at least one processor 71, a memory 72, a communication interface 73, and a bus 74.
  • the at least one processor 71, the memory 72, and the communication interface 73 are connected by a bus 74 and complete communication with each other, wherein:
  • the bus 74 can be an ISA line, a PCI bus, or an EISA bus.
  • the bus 74 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one is used in Figure 9. A thick line indicates, but does not mean that there is only one bus or one type of bus.
  • the memory 72 is for storing executable program code, the program code including computer operating instructions.
  • Memory 72 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
  • the processor 71 may be a CPU, or an ASIC, or one or more integrated circuits configured to implement embodiments of the present invention.
  • the communication interface 73 is mainly used to implement communication between devices in this embodiment.
  • the processor 71 is configured to execute executable program code stored in the memory 72, specifically for performing the following operations:
  • the processor 71 is configured to receive a request message that is sent by the source CE device and that carries a VXLAN identifier of a logical network where the source VM is located, where the request message is used to request to obtain a VXLAN identifier of a logical network where the source VM is located.
  • Corresponding interface information obtaining, according to the VXLAN identifier of the logical network where the source VM is located, an identifier of the source VDC where the source VM is located; and obtaining, according to the identifier of the source VDC where the source VM is located, the source VDC allocated to the source VM And obtaining the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located according to the VPN tunnel of the source VDC, and obtaining the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located; The interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is sent to the source CE device.
  • the interface information is logical interface information or physical interface information.
  • the control device when the source CE device finds that the mapping relationship forwarding table does not include the VXLAN identifier of the logical network where the source VM is located, the source CE device needs to send a VXLAN for requesting to acquire the logical network where the source VM is located.
  • the controller obtains the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located, according to the VXLAN identifier of the logical network where the source VM is located in the request message, and
  • the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located is fed back to the source CE device, so that the source CE device uses the VPN tunnel corresponding to the bound source VDC to connect the VXLAN according to the interface information corresponding to the VXLAN identifier of the logical network where the source VM is located.
  • Message is provided to The destination VM can be used to transmit the packets sent by the source VM of a VDC to the destination VM of the physical data center through the VDC's own VPN tunnel.
  • the QOS of the VDC is not guaranteed. problem.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be another division manner for example, multiple units or components may be used.
  • the combination may be integrated into another device, or some features may be ignored or not performed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may be one physical unit or multiple physical units, that is, may be located in one place, or may be distributed to multiple different places. . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a readable storage medium.
  • the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a device (which may be a microcontroller, chip, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, and a read only memory (ROM, Read-Only Memory), random access memory (RAM), disk or optical disk, and other media that can store program code.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种发送报文的方法及设备,涉及通信领域,解决了由于无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。具体方案为:源CE设备接收源VTEP发送的VXLAN报文;VXLAN报文包含源VM需要发送至目的VM的原始数据报文和源VM所在逻辑网络的VXLAN标识;源CE设备根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC对应使用的第一接口的信息;源CE设备通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM。本发明用于发送报文。

Description

一种发送报文的方法及设备
本申请要求于2014年5月12日提交中国专利局、申请号为201410199711.6、发明名称为“一种发送报文的方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域,尤其涉及一种发送报文的方法及设备。
背景技术
在数据中心网络中,需要通过不同的虚拟局域网(Virtual Local Area Network,VLAN)来隔离不同租户的二层网络数据流,但随着通信技术的快速发展,VLAN的数目已无法满足超过4000的租户的隔离要求,因此业界提出了虚拟可扩展局域网(Virtual extensible Local Area Network,VXLAN)技术,其将VLAN中的仅支持12位的分段网络标识拓展到24位,也就是说,从VLAN中最大支持4096个逻辑网络拓展到最大支持16000000个逻辑网络。
在现有的VXLAN技术中,一个虚拟数据中心(Virtual Data Center,VDC)可以包括多个逻辑网络,每个逻辑网络对应一个VXLAN标识(identification,ID),且每个逻辑网络中可以包含多个虚拟机(Virtual Machine,VM)。处于某个VDC的源VM需要与跨物理数据中心的目的VM之间进行基于二层、三层网络的通信时,该源VM向目的VM发送的报文需通过虚拟专用网(Virtual Private Network,VPN)隧道进行传输。处于同一个物理数据中心的VM对跨物理数据中心的目的VM进行访问时,均利用同一个共用的VPN隧道。
由于,现有技术在实现上述报文传输的过程中,对于同一个物理数据中心的处于不同VDC的源VM来说,向跨物理数据中心的目的VM发送的报文均是通过同一个共用的VPN隧道进行传输,无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致该VDC的服务质量(Quality of Service,QOS)得不到保障。
发明内容
为了解决现有技术的问题,本发明提供一种发送报文的方法及设备。
为达到上述目的,本发明采用如下技术方案:
本发明的第一方面,提供一种发送报文的方法,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口;所述方法包括:
所述源CE设备接收源虚拟通道终点VTEP发送的虚拟可拓展局域网VXLAN报文;其中,所述VXLAN报文包含所述源VM需要发送至目的VM的原始数据报文和所述源VM所在逻辑网络的VXLAN标识;
所述源CE设备根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息;
所述源CE设备通过所述第一接口发送所述VXLAN报文,以利用所述第一接口对应绑定的所述源VDC的VPN隧道,将所述VXLAN报文提供给所述目的VM。
结合第一方面,在一种可能的实现方式中,所述源CE设备根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息,包括:
所述源CE设备查找映射关系转发表中是否包含有所述源VM所在逻辑网络的VXLAN标识;
若所述映射关系转发表中包含有所述源VM所在逻辑网络的VXLAN标识,所述源CE设备将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,还包括:
若所述映射关系转发表中未包含有所述源VM所在逻辑网络的VXLAN标识,所述源CE设备向控制器发送携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络 的VXLAN标识对应的接口信息;
所述源CE设备接收所述控制器发送的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
所述源CE设备将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述接口信息为逻辑接口信息或物理接口信息。
本发明的第二方面,提供一种发送报文的方法,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,所述方法包括:
控制器接收所述源CE设备发送的携带所述源VM所在逻辑网络的虚拟可拓展局域网VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
所述控制器根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC的标识;
所述控制器根据所述源VM所在源VDC的标识,获取为所述源VM所在源VDC分配的VPN隧道,并根据所述源VDC的VPN隧道获取所述源VM所在源VDC对应使用的接口的信息,以得到与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
所述控制器将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息发送至所述源CE设备。
结合第二方面,在一种可能的实现方式中,所述接口信息为逻辑接口信息或物理接口信息。
本发明的第三方面,提供一种源用户边界CE设备,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同, 所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的所述源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,包括:
接收单元,用于接收源虚拟通道终点VTEP发送的虚拟可拓展局域网VXLAN报文;其中,所述VXLAN报文包含所述源VM需要发送至目的VM的原始数据报文和所述源VM所在逻辑网络的VXLAN标识;
获取单元,用于根据所述接收单元接收到的所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息;
发送单元,用于通过所述第一接口发送所述VXLAN报文,以利用所述第一接口对应绑定的所述源VDC的VPN隧道,将所述VXLAN报文提供给所述目的VM。
结合第三方面,在一种可能的实现方式中,所述获取单元,包括:
查找模块,用于查找映射关系转发表中是否包含有所述源VM所在逻辑网络的VXLAN标识;
第一处理模块,用于若所述映射关系转发表中包含有所述源VM所在逻辑网络的VXLAN标识,将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,还包括:
发送模块,用于若所述映射关系转发表中未包含有所述源VM所在逻辑网络的VXLAN标识,向控制器发送携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
接收模块,用于接收所述控制器发送的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
第二处理模块,用于将所述接收模块接收到的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中, 所述接口信息为逻辑接口信息或物理接口信息。
本发明的第四方面,提供一种控制器,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,包括:
接收单元,用于接收所述源CE设备发送的携带所述源VM所在逻辑网络的虚拟可拓展局域网VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
第一获取单元,用于根据所述接收单元接收到的所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC的标识;
第二获取单元,用于根据所述第一获取单元获取到的所述源VM所在源VDC的标识,获取为所述源VM所在源VDC分配的VPN隧道,并根据所述源VDC的VPN隧道获取所述源VM所在源VDC对应使用的接口的信息,以得到与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
发送单元,用于将所述第二获取单元获取到的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息发送至所述源CE设备。
结合第四方面,在一种可能的实现方式中,所述接口信息为逻辑接口信息或物理接口信息。
本发明提供的发送报文的方法及设备,预先为源VM所在的源VDC分配VPN隧道,且该源VDC的VPN隧道预先绑定在源CE设备的第一接口上,并在源CE设备接收到源VTEP发送的包含有源VM所在逻辑网络的VXLAN标识的VXLAN报文之后,根据源VM所在逻辑网络的VXLAN标识获取源VM所在源VDC对应使用的第一接口的信息,然后通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM,从而使得源VM发送至跨物理数据中心的目标VM的报文,通过为该源VM所处源VDC分配的VPN隧道进行传输,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的VXLAN技术中的一种网络结构示意图;
图2为本发明实施例1提供的一种发送报文的方法流程图;
图3为本发明实施例2提供的一种发送报文的方法流程图;
图4为本发明实施例3提供的一种发送报文的方法流程图;
图5为本发明实施例3提供的另一种发送报文的方法流程图;
图6为本发明实施例4提供的一种源CE设备的组成示意图;
图7为本发明实施例4提供的另一种源CE设备的组成示意图;
图8为本发明实施例5提供的一种控制器的组成示意图;
图9为本发明实施例6提供的一种源CE设备的组成示意图;
图10为本发明实施例7提供的一种控制设备的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在VXLAN技术中,如图1所示,一个物理数据中心对应一个用户边界(Customer Edge,CE)设备,该物理数据中心中可以包含至少一个VDC,每个VDC可以包含多个逻辑网络,每个逻辑网络中可以包含多个VM,且一个物理数据中心可以对应多个虚拟通道终点(Virtual Tunnel  End Point,VTEP),该VTEP用于对至少一个逻辑网络中的源VM需要发送至目的VM的原始数据报文进行封装,并将封装后的报文发送至CE设备,CE设备用于接收VTEP封装后的报文,并将接收到的报文通过VPN隧道传输至目的VM。其中,当VTEP用于对多个逻辑网络中的VM发送的原始数据报文进行封装时,该多个逻辑网络可以包含于不同的VDC。且CE设备、VTEP及VM之间的连接关系可以如图1所示。需要说明的是,VTEP与VM之间的连接关系具体的可以根据实际应用场景的需求而定,本发明图1中所示的VTEP与VM之间的连接关系仅是一种示例,并未对其进行限定。
在如图1所示的架构中,在处于某个VDC的源VM(例如,如图1所示的处于VDC1中的VM1)需要与跨物理数据中心的目的VM之间进行基于二层、三层网络的通信时,该源VM发送至目的VM的原始数据报文首先需经过对应的源VTEP(相应的如图1所示的VTEP1)进行封装,然后将封装后得到的报文发送至对应的源CE设备(相应的如图1所示的CE设备),以便源CE设备将封装后的报文发送至目的CE设备,并由对应目的CE设备将接收到的报文发送至对应的目的VTEP进行解封装,然后将解封装后得到的原始数据报文发送至目的VM,其中,源CE设备为源VM所处物理数据中心对应的CE设备,目的CE设备为目的VM所处物理数据中心对应的CE设备。在现有技术中,由于源CE设备和目的CE设备之间仅建立了一个VPN隧道,所以,处于同一个物理数据中心的不同VDC的VM向跨物理数据中心目的VM发送报文时,均需经过该VPN隧道进行传输,从而无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致该VDC的QOS得不到保障。
在本发明提供的技术方案中,通过在源CE设备和目的CE设备之间建立至少一个VPN隧道,并针对该源CE设备对应的物理数据中心包含的所有VDC中的每个VDC,预先为该VDC分配一个VPN隧道(其中,为该物理数据中心中的每个VDC分配的VPN隧道均不相同),作为该VDC专有的VPN隧道,且针对源CE设备与目的CE设备之间建立的至少一个VPN隧道中的每个VPN隧道,该VPN隧道与源CE设备对应的接口存在绑定关系,也就是说为每个VDC分配的VPN隧道与该VDC对应使用的源CE设备的接口对应绑定,以便该VDC的源VM需要向跨物理数据中心的目的VM 发送报文时,可以根据该源VM所在VDC对应使用的源CE设备的接口的信息,通过该VDC专有的VPN隧道进行报文传输,从而使得该VDC的QOS能够得到保障。需要说明的是,在本发明实施例的一种可能的实现方式中,源CE设备与目的CE设备之间建立的至少一个VPN隧道,可以是管理员根据实际应用场景的需求预先规划并手动发起的建立流程,以便源CE设备与目的CE设备之间完成VPN隧道的建立,且在本发明实施例中,源CE设备与目的CE设备之间建立的VPN隧道的个数可以根据实际应用场景的需求进行确定,本发明实施例在此并不做具体限制。且,在本发明实施例中,为每个VDC分配的VPN隧道的个数可以是一个,也可以是多个,本发明实施例在此并不做具体限制,当为某个VDC分配了多个VPN隧道时,为VDC分配的每个VPN隧道分别与源CE设备的对应接口存在绑定关系,而针对处于该VDC的源VM需向跨物理数据中心的目的VM发送报文时,可以从为该VDC分配的多个VPN隧道中任选一个VPN隧道进行报文的传输,当然,优选的,为了便于对该VDC的QOS进行控制,可以仅为每个VDC分配一个VPN隧道即可。
为了便于本领域技术人员的理解,在本发明实施例中以为一个VDC分配一个VPN隧道为例进行说明,本发明提供的技术方案具体的实施过程具体可以参考本发明提供的以下实施例。
实施例1
本发明实施例1提供一种发送报文的方法,预先为源VM所在物理数据中心中的每个VDC分配VPN隧道,为源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,为源VM所在物理数据中心中的VDC分配的VPN隧道与源VM所在物理数据中心中的VDC对应使用的源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与源CE设备的第一接口对应绑定,第一接口为源VM所在源VDC对应使用的接口,如图2所示,该方法可以包括:
101、源CE设备接收源VTEP发送的VXLAN报文。
其中,该VXLAN报文包含源VM需要发送至目的VM的原始数据报文和源VM所在逻辑网络的VXLAN标识。
具体的,在一种可能的实现方式中,该VXLAN报文可以是源VTEP在接收到的源VM发送的原始数据包之后,对该原始数据包、目的VM对应的目的VTEP的互联网协议(Internet Protocol,IP)地址以及源VM所 在逻辑网络的VXLAN标识进行封装得到的,其中,该原始数据包中可以包含有源VM需要发送至目的VM的原始数据报文以及目的VM的IP地址,该目的VTEP的IP地址可以是源VTEP根据目的VM的IP地址查询流表获得的,该流表中包含有目的VM的IP地址与目的VTEP的IP地址的映射关系。
102、源CE设备根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC对应使用的第一接口的信息。
其中,由于源VDC包含源VM所在的逻辑网络,且该源VM所在源VDC与源CE设备的第一接口存在对应关系,因此在源CE设备接收到源VTEP发送的VXLAN报文之后,源CE设备可以根据VXLAN报文中包含的源VM所在逻辑网络的VXLAN标识,获取该源VM所在源VDC对应使用的第一接口的信息。
103、源CE设备通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM。
其中,在源CE设备根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC对应使用的第一接口的信息之后,源CE设备可以根据获取到的该源VM所在源VDC对应使用的第一接口的信息,通过源CE设备的第一接口发送VXLAN报文,也就是说,源CE设备根据获取到的该源VM所在源VDC对应使用的第一接口的信息,便可以通过第一接口对应绑定的该源VDC专有的VPN隧道将VXLAN报文提供给目的VM。
需要说明的是,在本发明实施例中,包含于源VDC的VM需要与跨物理数据中心的目标VM之间进行基于二层、三层网络的通信时,均需要通过为该源VDC分配的该源VDC专有的VPN隧道向跨物理数据中心的目标VM传输报文,以使得该源VDC的QOS能够得到保障。
本发明提供的发送报文的方法,预先为源VM所在的源VDC分配VPN隧道,且该源VDC的VPN隧道预先绑定在源CE设备的第一接口上,并在源CE设备接收到源VTEP发送的包含有源VM所在逻辑网络的VXLAN标识的VXLAN报文之后,根据源VM所在逻辑网络的VXLAN标识获取源VM所在源VDC对应使用的第一接口的信息,然后通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM,从而使得源VM发送至跨物理数据中心的目标VM的报文,通过为该源VM所处源VDC分配的VPN隧道进行传输,从而解决了无法将位 于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
实施例2
本发明实施例2提供一种发送报文的方法,预先为源VM所在物理数据中心中的每个VDC分配VPN隧道,为源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,为源VM所在物理数据中心中的VDC分配的VPN隧道与源VM所在物理数据中心中的VDC对应使用的源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与源CE设备的第一接口对应绑定,第一接口为源VM所在源VDC对应使用的接口,如图3所示,该方法可以包括:
201、控制器接收源CE设备发送的携带源VM所在逻辑网络的VXLAN标识的请求消息。
其中,该请求消息用于请求获取与源VM所在逻辑网络的VXLAN标识对应的接口信息。
202、控制器根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC的标识。
其中,在控制器接收到源CE设备发送的携带源VM所在逻辑网络的VXLAN标识的请求消息之后,控制器可以根据该源VM所在逻辑网络的VXLAN标识,获取与该源VM所在逻辑网络的VXLAN标识对应的该源VM所在源VDC的标识。
203、控制器根据源VM所在源VDC的标识,确定为源VM所在源VDC分配的VPN隧道,并根据源VDC的VPN隧道获取源VM所在源VDC对应使用的接口的信息,以便得到与源VM所在逻辑网络的VXLAN标识对应的接口信息。
其中,由于预先为源VM所在的源VDC分配了VPN隧道,且针对源CE设备与目的CE设备之间建立的至少一个VPN隧道中的每个VPN隧道,该VPN隧道预先与源CE设备对应的接口存在绑定关系,且该绑定关系预先存储在控制器中,因此在控制器根据源VM所在逻辑网络的VXLAN标识,获取到源VM所在源VDC的标识之后,可以先根据源VM所在源VDC的标识,获取到为该源VM所在的源VDC分配的VPN隧道,然后根据源VDC的VPN隧道以及预先存储的VPN隧道与源CE设备对应的接口的绑定关系, 获取该源VM所在源VDC对应使用的接口的信息,这样便得到了与该源VM所在逻辑网络的VXLAN标识对应的接口信息。
204、控制器将与源VM所在逻辑网络的VXLAN标识对应的接口信息发送至源CE设备。
其中,在控制器根据源VM所在源VDC的标识,获取到与该源VM所在源VDC对应使用的接口的信息,即获取到与源VM所在逻辑网络的VXLAN标识对应的接口信息之后,便可以将获取到的与源VM所在逻辑网络的VXLAN标识对应的接口信息发送至源CE设备,以便源CE设备将与源VM所在逻辑网络的VXLAN标识对应的接口信息作为源CE设备的第一接口的信息,从而利用第一接口对应绑定的源VDC的VPN隧道将VXLAN报文提供给目的VM。
需要说明的是,在本发明实施例中,包含于源VDC的VM需要与跨物理数据中心的目标VM之间进行基于二层、三层网络的通信时,均需要通过为该源VDC分配的该源VDC专有的VPN隧道向跨物理数据中心的目标VM传输报文,以使得该源VDC的QOS能够得到保障。
本发明提供的发送报文的方法,当源CE设备查找到映射关系转发表中未包含源VM所在逻辑网络的VXLAN标识时,源CE设备需向控制器发送用于请求获取与源VM所在逻辑网络的VXLAN标识对应的接口信息的请求消息,这样控制器在接收到请求消息之后,根据请求消息中携带的源VM所在逻辑网络的VXLAN标识获取与源VM所在逻辑网络的VXLAN标识对应的接口信息,并将与源VM所在逻辑网络的VXLAN标识对应的接口信息反馈至源CE设备,以便源CE设备根据与源VM所在逻辑网络的VXLAN标识对应的接口信息,利用对应绑定的源VDC的VPN隧道将VXLAN报文提供给目的VM,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
实施例3
本发明实施例3提供一种发送报文的方法,预先为源VM所在物理数据中心中的每个VDC分配VPN隧道,为源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,为源VM所在物理数据中心中的VDC分配的VPN隧道与源VM所在物理数据中心中的VDC对应使用的源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与源CE设备的第 一接口对应绑定,第一接口为源VM所在源VDC对应使用的接口,如图4所示,该方法可以包括:
301a、源CE设备接收源VTEP发送的VXLAN报文。
其中,该VXLAN报文包含源VM需要发送至目的VM的原始数据报文和源VM所在逻辑网络的VXLAN标识。
具体的,在一种可能的实现方式中,当源VM需要向目的VM发送原始数据报文时,源VM首先通过地址解析协议(Address Resolution Protocol,ARP)请求获取到目的VM的IP地址,然后将原始数据报文、源VM的IP地址以及目的VM的IP地址携带在原始数据包中发送至源VTEP,在源VTEP接收到源VM发送的原始数据包之后,可以根据原始数据包中包含的目的VM的IP地址,查询流表获得目的VTEP的IP地址,并将原始数据包、目的VTEP的IP地址以及源VM所在逻辑网络的VXLAN标识进行封装得到VXLAN报文,然后将封装得到的VXLAN报文通过三层路由转发至源CE设备,此时源CE设备便可以接收源VTEP发送的VXLAN报文。
在源CE设备接收到源VTEP发送的VXLAN报文之后,可以根据VXLAN报文中包含的源VM所在逻辑网络的VXLAN标识获取源VM所在源VDC对应使用的第一接口的信息,其中,该接口信息可以为逻辑接口信息或物理接口信息。具体的,在本发明实施例中,源CE设备根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC对应使用的第一接口的信息,可以包括以下步骤302a-步骤310a。
302a、源CE设备查找映射关系转发表中是否包含有源VM所在逻辑网络的VXLAN标识。
其中,在源CE设备接收到源VTEP发送的VXLAN报文之后,源CE设备可以根据VXLAN报文中包含的源VM所在逻辑网络的VXLAN标识,查找映射关系转发表中是否包含有该源VM所在逻辑网络的VXLAN标识,若映射关系转发表中包含有该源VM所在逻辑网络的VXLAN标识,则执行以下步骤303a、若映射关系转发表中未包含有该源VM所在逻辑网络的VXLAN标识,则执行以下步骤304a-310a。
303a、源CE设备将与源VM所在逻辑网络的VXLAN标识对应的接口信息作为第一接口的信息。
其中,当源CE设备查找到映射关系转发表中包含有源VM所在逻辑网络的VXLAN标识时,则可以将与该源VM所在逻辑网络的VXLAN标识对应的接口信息作为第一接口的信息,该源CE设备的第一接口即为源VM所在的源VDC对应使用的接口,该第一接口的信息可以是逻辑接口信息,也可以是物理接口信息。
304a、源CE设备向控制器发送携带源VM所在逻辑网络的VXLAN标识的请求消息。
其中,请求消息用于请求获取与源VM所在逻辑网络的VXLAN标识对应的接口信息。当源CE设备查找到映射关系转发表中未包含有源VM所在逻辑网络的VXLAN标识时,源CE设备可以向控制器发送用于请求获取与源VM所在逻辑网络的VXLAN标识对应的接口信息的请求信息,其中该请求信息中携带有该源VM所在逻辑网络的VXLAN标识。
305a、控制器接收源CE设备发送的携带源VM所在逻辑网络的VXLAN标识的请求消息。
306a、控制器根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC的标识。
其中,由于源VM所在的逻辑网络包含于源VDC中,因此在控制器接收到源CE设备发送的携带源VM所在逻辑网络的VXLAN标识的请求消息之后,控制器可以根据该源VM所在逻辑网络的VXLAN标识,获取与该源VM所在逻辑网络的VXLAN标识对应的该源VM所在的源VDC的标识。
307a、控制器根据源VM所在源VDC的标识,获取为源VM所在源VDC分配的VPN隧道,并根据源VDC的VPN隧道获取源VM所在源VDC对应使用的接口的信息,以便得到与源VM所在逻辑网络的VXLAN标识对应的接口信息。
其中,由于预先为源VM所在的源VDC分配了VPN隧道,且针对源CE设备与目的CE设备之间建立的至少一个VPN隧道中的每个VPN隧道来说,该VPN隧道预先与源CE设备对应的接口存在绑定关系,且该绑定关系预先存储在控制器中,因此在控制器根据源VM所在逻辑网络的VXLAN标识,获取到源VM所在源VDC的标识之后,可以先根据源VM所在源VDC的标识,获取到为该源VM所在的源VDC分配的VPN隧道,然后根据源VDC的VPN隧道以及预先存储的VPN隧道与源CE设备对应的接口的绑定关系,获取该源VM所在源VDC对应使用的接口的信息,该与源 VM所在源VDC对应使用的接口的信息便为与源VM所在逻辑网络的VXLAN标识对应的接口信息。
可选的,在控制器执行步骤306a根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC的标识之后,控制器可以根据源VM所在源VDC的标识获取与该源VDC的标识对应的VXLAN标识列表(该VXLAN标识列表中包含至少一个VXLAN标识,针对至少一个VXLAN标识中的每个VXLAN标识来说,该VXLAN标识对应一个逻辑网络,且该VXLAN标识列表中包含源VM所在逻辑网络的VXLAN标识,每个VXLAN标识对应的逻辑网络包含于该源VDC),且由于预先为源VM所在的源VDC分配了VPN隧道,以及控制器中预先存储有该源VDC的VPN隧道与源CE设备的第一接口的绑定关系,因此,控制器便可得到VXLAN标识列表与第一接口的信息的对应关系,并将VXLAN标识列表与第一接口的信息的对应关系保存在控制器中,这样,当控制器再次接收到包含有该VXLAN标识列表中的某个VXLAN标识(除源VM所在逻辑网络的VXLAN标识)的请求信息之后,可以直接查找该VXLAN标识是否包含于该VXLAN标识列表中,若该VXLAN标识包含于该VXLAN标识列表中,则可以直接获知与该VXLAN标识列表对应的第一接口的信息即为该VXLAN标识对应的接口信息。
308a、控制器将与源VM所在逻辑网络的VXLAN标识对应的接口信息发送至源CE设备。
其中,在控制器根据源VM所在源VDC的标识,获取到与源VM所在源VDC对应使用的接口的信息,即得到与源VM所在逻辑网络的VXLAN标识对应的接口信息之后,控制器可以将获取到的该与源VM所在逻辑网络的VXLAN标识对应的接口信息发送至原CE设备。
309a、源CE设备接收控制器发送的与源VM所在逻辑网络的VXLAN标识对应的接口信息。
310a、源CE设备将与源VM所在逻辑网络的VXLAN标识对应的接口信息作为第一接口的信息。
其中,该第一接口的信息可以是逻辑接口信息,也可以是物理接口信息。
311a、源CE设备通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM。
其中,在源CE设备根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC对应使用的第一接口的信息之后,源CE设备可以根据获取到源VM所在源VDC对应使用的第一接口的信息,通过第一接口发送VXLAN报文,也就是说,源CE设备根据获取到源VM所在源VDC对应使用的第一接口的信息,便可以通过第一接口对应绑定的该源VDC专有的VPN隧道将VXLAN报文提供给目的VM。其中,源CE设备利用第一接口对应绑定的源VDC的VPN隧道将VXLAN报文提供给目的VM具体的可以是:源CE设备利用第一接口对应绑定的源VDC的VPN隧道将VXLAN报文发送至目的CE设备,目的CE设备在接收到VXLAN报文之后,将VXLAN报文发送至目的VTEP,以便目的VTEP对VXLAN报文进行解封装得到原始数据报文和目的VM的IP地址,并根据目的VM的IP地址将原始数据报文发送至目的VM。
为了便于本领域技术人员的理解,本发明实施例在此对本发明的具体的实施过程进行详细的说明,如图5所示,具体的可以包括以下步骤301b-步骤315b。
301b、源VM获取目的VM的IP地址,并将原始数据报文、源VM的IP地址以及目的VM的IP地址携带在原始数据包中发送至源VTEP。
302b、源VTEP根据原始数据包中包含的目的VM的IP地址,查询流表获得目的VTEP的IP地址。
303b、源VTEP将原始数据包、目的VTEP的IP地址以及源VM所在逻辑网络的VXLAN标识进行封装得到VXLAN报文。
304b、源VTEP将VXLAN报文发送至源CE设备。
305b、源CE设备查找映射关系转发表中是否包含有源VM所在逻辑网络的VXLAN标识。
若映射关系转发表中包含有该源VM所在逻辑网络的VXLAN标识,则执行以下步骤306b、若映射关系转发表中未包含有该源VM所在逻辑网络的VXLAN标识,则执行以下步骤307b-311b。
306b、源CE设备将与源VM所在逻辑网络的VXLAN标识对应的接口信息作为第一接口的信息。
307b、源CE设备向控制器发送携带源VM所在逻辑网络的VXLAN标识的请求消息。
308b、控制器根据源VM所在逻辑网络的VXLAN标识,获取源VM所在源VDC的标识。
309b、控制器根据源VM所在源VDC的标识,获取为源VM所在源VDC分配的VPN隧道,并根据源VDC的VPN隧道获取源VM所在源VDC对应使用的接口的信息,以便得到与源VM所在逻辑网络的VXLAN标识对应的接口信息。
310b、控制器将与源VM所在逻辑网络的VXLAN标识对应的接口信息发送至源CE设备。
311b、源CE设备将与源VM所在逻辑网络的VXLAN标识对应的接口信息作为第一接口的信息。
312b、源CE设备通过第一接口对应绑定的源VDC的VPN隧道将VXLAN报文发送至目的CE设备。
313b、目的CE设备将VXLAN报文发送至目的VTEP。
314b、目的VTEP对VXLAN报文进行解封装得到原始数据报文和目的VM的IP地址。
315b、目的VTEP根据目的VM的IP地址将原始数据报文发送至目的VM。
需要说明的是,在本发明实施例中,包含于源VDC的VM需要与跨物理数据中心的目标VM之间进行基于二层、三层网络的通信时,均需要通过为该源VDC分配的该源VDC专有的VPN隧道向跨物理数据中心的目标VM传输报文,以使得该源VDC的QOS能够得到保障。
本发明提供的发送报文的方法,预先为源VM所在的源VDC分配VPN隧道,且该源VDC的VPN隧道预先绑定在源CE设备的第一接口上,并在源CE设备接收到源VTEP发送的包含有源VM所在逻辑网络的VXLAN标识的VXLAN报文之后,根据源VM所在逻辑网络的VXLAN标识获取源VM所在源VDC对应使用的第一接口的信息,然后通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM,从而使得源VM发送至跨物理数据中心的目标VM的报文,通过为该源VM所处源VDC分配的VPN隧道进行传输,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
实施例4
本发明实施例4提供一种源CE设备,如图6所示,预先为源VM所在物理数据中心中的每个VDC分配VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,该源CE设备可以包括:接收单元41、获取单元42、发送单元43。
接收单元41,用于接收源VTEP发送的VXLAN报文;其中,所述VXLAN报文包含所述源VM需要发送至目的VM的原始数据报文和所述源VM所在逻辑网络的VXLAN标识。
获取单元42,用于根据所述接收单元41接收到的所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息。
发送单元43,用于通过所述第一接口发送所述VXLAN报文,以利用所述第一接口对应绑定的所述源VDC的VPN隧道,将所述VXLAN报文提供给所述目的VM。
在本发明实施例中,进一步可选的,如图7所示,所述获取单元42可以包括:查找模块421、第一处理模块422。
查找模块421,用于查找映射关系转发表中是否包含有所述源VM所在逻辑网络的VXLAN标识。
第一处理模块422,用于若所述映射关系转发表中包含有所述源VM所在逻辑网络的VXLAN标识,将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
在本发明实施例中,进一步可选的,所述获取单元42还可以包括:发送模块423、接收模块424、第二处理模块425。
发送模块423,用于若所述映射关系转发表中未包含有所述源VM所在逻辑网络的VXLAN标识,向控制器发送携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息。
接收模块424,用于接收控制器发送的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息。
第二处理模块425,用于将接收模块424接收到的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
在本发明实施例中,进一步可选的,所述接口信息为逻辑接口信息或物理接口信息。
需要说明的是,本发明实施例提供的源CE设备中功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明提供的源CE设备,在接收到源VTEP发送的包含有源VM所在逻辑网络的VXLAN标识的VXLAN报文之后,根据源VM所在逻辑网络的VXLAN标识获取源VM所在源VDC对应使用的第一接口的信息,然后通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM,从而使得源VM发送至跨物理数据中心的目标VM的报文,通过为该源VM所处源VDC分配的VPN隧道进行传输,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
实施例5
本发明实施例5提供一种控制器,如图8所示,预先为源VM所在物理数据中心中的每个VDC分配VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,该控制器可以包括:接收单元51、第一获取单元52、第二获取单元53、发送单元54。
接收单元51,用于接收所述源CE设备发送的携带所述源VM所在逻辑网络的虚拟可拓展局域网VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息。
第一获取单元52,用于根据所述接收单元51接收到的所述源VM所 在逻辑网络的VXLAN标识,获取所述源VM所在源VDC的标识。
第二获取单元53,用于根据所述第一获取单元52获取到的所述源VM所在源VDC的标识,获取为所述源VM所在源VDC分配的VPN隧道,并根据所述源VDC的VPN隧道获取所述源VM所在源VDC对应使用的接口的信息,以得到与所述源VM所在逻辑网络的VXLAN标识对应的接口信息。
发送单元54,用于将所述第二获取单元53获取到的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息发送至所述源CE设备。
在本发明实施例中,进一步可选的,所述接口信息为逻辑接口信息或物理接口信息。
需要说明的是,本发明实施例提供的控制器中功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明提供的控制器,当源CE设备查找到映射关系转发表中未包含源VM所在逻辑网络的VXLAN标识时,源CE设备需向控制器发送用于请求获取与源VM所在逻辑网络的VXLAN标识对应的接口信息的请求消息,这样控制器在接收到请求消息之后,根据请求消息中携带的源VM所在逻辑网络的VXLAN标识获取与源VM所在逻辑网络的VXLAN标识对应的接口信息,并将与源VM所在逻辑网络的VXLAN标识对应的接口信息反馈至源CE设备,以便源CE设备根据与源VM所在逻辑网络的VXLAN标识对应的接口信息,利用对应绑定的源VDC的VPN隧道将VXLAN报文提供给目的VM,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
实施例6
本发明实施例6提供一种源CE设备,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,如图9所示,该源CE设备包括:至少一个处理器61、存储器62、通信接口63和 总线64,该至少一个处理器61、存储器62和通信接口63通过总线64连接并完成相互间的通信,其中:
所述总线64可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线64可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器62用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述处理器61可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口63,主要用于实现本实施例的设备之间的通信。
所述处理器61,用于执行所述存储器62中存储的可执行程序代码,具体的用于执行以下操作:
所述处理器61,用于接收源VTEP发送的虚拟VXLAN报文;其中,所述VXLAN报文包含所述源VM需要发送至目的VM的原始数据报文和所述源VM所在逻辑网络的VXLAN标识;根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息;通过所述第一接口发送所述VXLAN报文,以利用所述第一接口对应绑定的所述源VDC的VPN隧道,将所述VXLAN报文提供给所述目的VM。
在本发明实施例中,进一步可选的,所述处理器61,具体用于查找映射关系转发表中是否包含有所述源VM所在逻辑网络的VXLAN标识;若所述映射关系转发表中包含有所述源VM所在逻辑网络的VXLAN标识,将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
在本发明实施例中,进一步可选的,所述处理器61,具体用于若所述映射关系转发表中未包含有所述源VM所在逻辑网络的VXLAN标识,向 控制器发送携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;接收所述控制器发送的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
在本发明实施例中,进一步可选的,所述接口信息为逻辑接口信息或物理接口信息。
需要说明的是,本发明实施例提供的源CE设备中功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明提供的源CE设备,在接收到源VTEP发送的包含有源VM所在逻辑网络的VXLAN标识的VXLAN报文之后,根据源VM所在逻辑网络的VXLAN标识获取源VM所在源VDC对应使用的第一接口的信息,然后通过第一接口发送VXLAN报文,以利用第一接口对应绑定的源VDC的VPN隧道,将VXLAN报文提供给目的VM,从而使得源VM发送至跨物理数据中心的目标VM的报文,通过为该源VM所处源VDC分配的VPN隧道进行传输,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
实施例7
本发明实施例7提供一种控制设备,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,如图10所示,该控制器包括:至少一个处理器71、存储器72、通信接口73和总线74,该至少一个处理器71、存储器72和通信接口73通过总线74连接并完成相互间的通信,其中:
所述总线74可以是ISA线、PCI总线或EISA总线等。该总线74可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一 条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器72用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器72可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述处理器71可能是一个CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口73,主要用于实现本实施例的设备之间的通信。
所述处理器71,用于执行所述存储器72中存储的可执行程序代码,具体的用于执行以下操作:
所述处理器71,用于接收所述源CE设备发送的携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC的标识;根据所述源VM所在源VDC的标识,获取为所述源VM所在源VDC分配的VPN隧道,并根据所述源VDC的VPN隧道获取所述源VM所在源VDC对应使用的接口的信息,以得到与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;将获取的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息发送至所述源CE设备。
在本发明实施例中,进一步可选的,所述接口信息为逻辑接口信息或物理接口信息。
需要说明的是,本发明实施例提供的控制设备中功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明提供的控制设备,当源CE设备查找到映射关系转发表中未包含源VM所在逻辑网络的VXLAN标识时,源CE设备需向控制器发送用于请求获取与源VM所在逻辑网络的VXLAN标识对应的接口信息的请求消息,这样控制器在接收到请求消息之后,根据请求消息中携带的源VM所在逻辑网络的VXLAN标识获取与源VM所在逻辑网络的VXLAN标识对应的接口信息,并将与源VM所在逻辑网络的VXLAN标识对应的接口信息反馈至源CE设备,以便源CE设备根据与源VM所在逻辑网络的VXLAN标识对应的接口信息,利用对应绑定的源VDC的VPN隧道将VXLAN报文提供给 目的VM,从而解决了无法将位于某个VDC的源VM向跨物理数据中心的目的VM发送的报文通过该VDC自己专有的VPN隧道进行传输,导致的该VDC的QOS得不到保障的问题。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

  1. 一种发送报文的方法,其特征在于,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口;所述方法包括:
    所述源CE设备接收源虚拟通道终点VTEP发送的虚拟可拓展局域网VXLAN报文;其中,所述VXLAN报文包含所述源VM需要发送至目的VM的原始数据报文和所述源VM所在逻辑网络的VXLAN标识;
    所述源CE设备根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息;
    所述源CE设备通过所述第一接口发送所述VXLAN报文,以利用所述第一接口对应绑定的所述源VDC的VPN隧道,将所述VXLAN报文提供给所述目的VM。
  2. 根据权利要求1所述的方法,其特征在于,所述源CE设备根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息,包括:
    所述源CE设备查找映射关系转发表中是否包含有所述源VM所在逻辑网络的VXLAN标识;
    若所述映射关系转发表中包含有所述源VM所在逻辑网络的VXLAN标识,所述源CE设备将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
  3. 根据权利要求2所述的方法,其特征在于,还包括:
    若所述映射关系转发表中未包含有所述源VM所在逻辑网络的VXLAN标识,所述源CE设备向控制器发送携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    所述源CE设备接收所述控制器发送的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    所述源CE设备将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述接口信息为逻辑接口信息或物理接口信息。
  5. 一种发送报文的方法,其特征在于,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,所述方法包括:
    控制器接收所述源CE设备发送的携带所述源VM所在逻辑网络的虚拟可拓展局域网VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    所述控制器根据所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC的标识;
    所述控制器根据所述源VM所在源VDC的标识,获取为所述源VM所在源VDC分配的VPN隧道,并根据所述源VDC的VPN隧道获取所述源VM所在源VDC对应使用的接口的信息,以得到与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    所述控制器将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息发送至所述源CE设备。
  6. 根据权利要求5所述的方法,其特征在于,所述接口信息为逻辑接口信息或物理接口信息。
  7. 一种源用户边界CE设备,其特征在于,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的所述源CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定,所述第一接口为所述源VM所在源VDC对应使用的接口,包括:
    接收单元,用于接收源虚拟通道终点VTEP发送的虚拟可拓展局域网 VXLAN报文;其中,所述VXLAN报文包含所述源VM需要发送至目的VM的原始数据报文和所述源VM所在逻辑网络的VXLAN标识;
    获取单元,用于根据所述接收单元接收到的所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC对应使用的所述第一接口的信息;
    发送单元,用于通过所述第一接口发送所述VXLAN报文,以利用所述第一接口对应绑定的所述源VDC的VPN隧道,将所述VXLAN报文提供给所述目的VM。
  8. 根据权利要求7所述的源CE设备,其特征在于,所述获取单元,包括:
    查找模块,用于查找映射关系转发表中是否包含有所述源VM所在逻辑网络的VXLAN标识;
    第一处理模块,用于若所述映射关系转发表中包含有所述源VM所在逻辑网络的VXLAN标识,将与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
  9. 根据权利要求8所述的源CE设备,其特征在于,所述获取单元,还包括:
    发送模块,用于若所述映射关系转发表中未包含有所述源VM所在逻辑网络的VXLAN标识,向控制器发送携带所述源VM所在逻辑网络的VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    接收模块,用于接收所述控制器发送的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    第二处理模块,用于将所述接收模块接收到的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息作为所述第一接口的信息。
  10. 根据权利要求7-9中任一项所述的源CE设备,其特征在于,所述接口信息为逻辑接口信息或物理接口信息。
  11. 一种控制器,其特征在于,预先为源虚拟机VM所在物理数据中心中的每个虚拟数据中心VDC分配虚拟专用网VPN隧道,为所述源VM所在物理数据中心中的每个VDC分配的VPN隧道不同,所述为所述源VM所在物理数据中心中的VDC分配的VPN隧道与所述源VM所在物理数据中心中的VDC对应使用的源用户边界CE设备的接口对应绑定,其中,为源VM所在的源VDC分配的VPN隧道与所述源CE设备的第一接口对应绑定, 所述第一接口为所述源VM所在源VDC对应使用的接口,包括:
    接收单元,用于接收所述源CE设备发送的携带所述源VM所在逻辑网络的虚拟可拓展局域网VXLAN标识的请求消息;所述请求消息用于请求获取与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    第一获取单元,用于根据所述接收单元接收到的所述源VM所在逻辑网络的VXLAN标识,获取所述源VM所在源VDC的标识;
    第二获取单元,用于根据所述第一获取单元获取到的所述源VM所在源VDC的标识,获取为所述源VM所在源VDC分配的VPN隧道,并根据所述源VDC的VPN隧道获取所述源VM所在源VDC对应使用的接口的信息,以得到与所述源VM所在逻辑网络的VXLAN标识对应的接口信息;
    发送单元,用于将所述第二获取单元获取到的与所述源VM所在逻辑网络的VXLAN标识对应的接口信息发送至所述源CE设备。
  12. 根据权利要求11所述的控制器,其特征在于,所述接口信息为逻辑接口信息或物理接口信息。
PCT/CN2015/070033 2014-05-12 2015-01-04 一种发送报文的方法及设备 WO2015172574A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410199711.6 2014-05-12
CN201410199711.6A CN103957160B (zh) 2014-05-12 2014-05-12 一种发送报文的方法及设备

Publications (1)

Publication Number Publication Date
WO2015172574A1 true WO2015172574A1 (zh) 2015-11-19

Family

ID=51334387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/070033 WO2015172574A1 (zh) 2014-05-12 2015-01-04 一种发送报文的方法及设备

Country Status (2)

Country Link
CN (1) CN103957160B (zh)
WO (1) WO2015172574A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110838966A (zh) * 2019-11-20 2020-02-25 紫光华山科技有限公司 一种设备连接控制方法及装置
CN113726632A (zh) * 2021-07-31 2021-11-30 新华三信息安全技术有限公司 一种报文转发方法及设备
CN114465981A (zh) * 2021-12-29 2022-05-10 华为技术有限公司 数据传输方法以及通信装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575782B2 (en) 2013-10-13 2017-02-21 Nicira, Inc. ARP for logical router
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
CN103957160B (zh) * 2014-05-12 2017-04-19 华为技术有限公司 一种发送报文的方法及设备
CN109861897B (zh) * 2014-08-18 2023-09-01 华为技术有限公司 一种获得对应关系的方法、装置及系统
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
CN105634770B (zh) * 2014-10-29 2019-05-07 新华三技术有限公司 部署虚拟扩展局域网的方法和装置
CN105634942B (zh) * 2014-10-31 2020-01-03 华为技术有限公司 转发报文的方法和交换机
CN105812221B (zh) * 2014-12-31 2019-07-12 华为技术有限公司 虚拟可扩展本地区域网络中数据传输的设备和方法
US10225184B2 (en) 2015-06-30 2019-03-05 Nicira, Inc. Redirecting traffic in a virtual distributed router environment
CN106559302A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 单播隧道建立方法、装置和系统
CN107342925B (zh) * 2016-04-29 2020-03-06 新华三技术有限公司 一种报文传输方法及装置
CN107770072B (zh) * 2016-08-18 2021-01-08 阿里巴巴集团控股有限公司 一种发送和接收报文的方法和设备
CN107770095B (zh) * 2016-08-22 2021-07-06 阿里巴巴集团控股有限公司 一种用于控制虚拟机元数据访问的方法与设备
CN107786410B (zh) * 2016-12-29 2020-08-28 平安科技(深圳)有限公司 一种基于以太网封装的vxlan实现方法及终端
CN107547395B (zh) * 2017-06-27 2020-12-04 新华三技术有限公司 一种报文传输方法、装置及机器可读存储介质
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
CN110034993B (zh) * 2018-01-11 2020-12-25 华为技术有限公司 传输数据的方法、设备和网络系统
CN110391961B (zh) * 2018-04-18 2021-03-23 华为技术有限公司 一种隧道绑定方法、设备及系统
CN110474829B (zh) 2018-05-10 2021-07-20 华为技术有限公司 传输报文的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137173A (zh) * 2010-12-27 2011-07-27 华为技术有限公司 路由信息发布方法、设备及虚拟专用网系统
CN103379010A (zh) * 2012-04-20 2013-10-30 中兴通讯股份有限公司 一种虚拟网络实现方法及系统
CN103634217A (zh) * 2013-11-13 2014-03-12 华为技术有限公司 路由信息发布的方法、传输报文的方法及装置
CN103957160A (zh) * 2014-05-12 2014-07-30 华为技术有限公司 一种发送报文的方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467215B2 (en) * 2002-09-09 2008-12-16 Nortel Networks Limited SVC-L2.5 VPNs: combining Layer-3 VPNs technology with switched MPLS/IP L2VPNs for ethernet, ATM and frame relay circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137173A (zh) * 2010-12-27 2011-07-27 华为技术有限公司 路由信息发布方法、设备及虚拟专用网系统
CN103379010A (zh) * 2012-04-20 2013-10-30 中兴通讯股份有限公司 一种虚拟网络实现方法及系统
CN103634217A (zh) * 2013-11-13 2014-03-12 华为技术有限公司 路由信息发布的方法、传输报文的方法及装置
CN103957160A (zh) * 2014-05-12 2014-07-30 华为技术有限公司 一种发送报文的方法及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110838966A (zh) * 2019-11-20 2020-02-25 紫光华山科技有限公司 一种设备连接控制方法及装置
CN113726632A (zh) * 2021-07-31 2021-11-30 新华三信息安全技术有限公司 一种报文转发方法及设备
CN114465981A (zh) * 2021-12-29 2022-05-10 华为技术有限公司 数据传输方法以及通信装置
CN114465981B (zh) * 2021-12-29 2023-04-11 华为技术有限公司 数据传输方法以及通信装置

Also Published As

Publication number Publication date
CN103957160B (zh) 2017-04-19
CN103957160A (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
WO2015172574A1 (zh) 一种发送报文的方法及设备
JP6934142B2 (ja) データ処理
US11283650B2 (en) Method for sending virtual extensible local area network packet, computer device, and computer readable medium
JP6605713B2 (ja) クラウドコンピューティングシステムにおけるパケット処理方法、ホスト及びシステム
US10205657B2 (en) Packet forwarding in data center network
EP2905930B1 (en) Processing method, apparatus and system for multicast
WO2018137369A1 (zh) 混合云管理方法、装置和计算设备
US10193707B2 (en) Packet transmission method and apparatus
CN113411243B (zh) 数据传输方法及装置
WO2015149253A1 (zh) 数据中心的虚拟网络管理方法及数据中心系统
WO2016173271A1 (zh) 报文处理方法、设备及系统
WO2016202269A2 (zh) 数据报文转发
JP2019527988A (ja) パケット伝送
EP3125504B1 (en) Resource allocation method, packet communication method and device
WO2015165311A1 (zh) 传输数据报文的方法和供应商边缘设备
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
WO2015113410A1 (zh) 数据包的处理方法与装置
JP6437693B2 (ja) マルチキャストデータパケット転送
WO2018103043A1 (zh) 云计算系统中的报文处理方法及设备
JP2018516520A (ja) データパケット転送
EP3913870A1 (en) Packet forwarding method and network device
WO2019214612A1 (zh) 传输报文的方法和装置
CN103731349A (zh) 一种以太网虚拟化互联邻居间报文转发方法和边缘设备
WO2015081534A1 (zh) 一种数据报文的传输系统、传输方法和设备
WO2016095571A1 (zh) 一种建立组播隧道的方法及装置

Legal Events

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

Ref document number: 15792105

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

Country of ref document: EP

Kind code of ref document: A1