[go: up one dir, main page]

WO2014101394A1 - Method, device and system for transmitting message in virtual extensible local area network - Google Patents

Method, device and system for transmitting message in virtual extensible local area network Download PDF

Info

Publication number
WO2014101394A1
WO2014101394A1 PCT/CN2013/079564 CN2013079564W WO2014101394A1 WO 2014101394 A1 WO2014101394 A1 WO 2014101394A1 CN 2013079564 W CN2013079564 W CN 2013079564W WO 2014101394 A1 WO2014101394 A1 WO 2014101394A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
flow
virtual machine
packet
matching item
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2013/079564
Other languages
French (fr)
Chinese (zh)
Inventor
朱旭琪
冯江平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2014101394A1 publication Critical patent/WO2014101394A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the embodiments of the present invention relate to the field of network technologies, and in particular, to a method, device, and system for transmitting a scalable virtual local area network message. Background technique
  • OpenFlow technology enables more advanced traffic management through network access to the forwarding plane of a switch or router, especially in a virtualized environment.
  • the core idea of OpenFlow is to transform the packet forwarding process, which is completely controlled by the switch or router, into a separate process by the OpenFlow Switch and the OpenFlow Controller. It is a technology for encapsulating Layer 2 packets with Layer 3 protocols. It can extend the Layer 2 network in Layer 3, enabling virtual machines to migrate within a three-layer network that is connected to each other without changing the Internet Protocol. (Internet Protocol, IP address) and Medium Access Control (MAC) address to ensure business continuity.
  • Internet Protocol Internet Protocol, IP address
  • MAC Medium Access Control
  • the embodiment of the invention provides a method, a device and a system for transmitting a scalable virtual local area network message, which are applied to an OpenFlow network, and are used to solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is disadvantageous to VXLAN in OpenFlow. Deployment in the network, VXLAN's application domain is limited.
  • the present invention provides a method for transmitting a scalable virtual local area network (LAN) packet, which is applied to an open flow network, and includes:
  • the OpenFlow switch receives the first packet sent by the first virtual machine located in the OpenFlow network, according to And the information of the first message constructs a match of the first message;
  • the first packet is encapsulated by the first flow entry to expand the virtual local area network (VXLAN), and the encapsulated first packet is sent to the second virtual machine;
  • VXLAN virtual local area network
  • the first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.
  • the first flow entry corresponding to the matching item of the first message is obtained according to the matching item of the first packet, including:
  • the open flow switch queries the flow table of the open flow switch, and if it is determined that the first flow entry corresponding to the matching item of the first packet is saved in the flow table, the current flow table is obtained from the flow table.
  • the first flow entry is sent, and the matching between the first packet and the first packet is sent to the OpenFlow controller, so that the OpenFlow controller sends the first flow switch to the OpenFlow switch.
  • the instruction of the first flow entry includes an action type of adding a VXLAN package, and the structure of the action type of the VXLAN package is added.
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the present invention provides a method for transmitting a scalable virtual local area network (LAN) message, which is applied to an open flow network, and includes:
  • the OpenFlow switch receives the second packet sent by the second virtual machine, and constructs a matching item of the second packet according to the information of the second packet.
  • the first virtual machine and the second virtual machine are located in different open flow switches or different objects On the machine.
  • the second flow entry corresponding to the matching item of the second message is obtained according to the matching item of the second packet, including:
  • the OpenFlow switch queries the flow table of the OpenFlow switch, and if it is determined that the second flow entry corresponding to the matching item of the second packet is saved in the flow table, the flow table is obtained from the flow table. And sending, by the second flow entry, the matching item of the second packet and the second packet to the OpenFlow controller, so that the OpenFlow controller sends the information to the OpenFlow switch A second flow entry corresponding to the matching of the second packet, where the instruction of the second flow entry includes an action type of the VXLAN encapsulation.
  • the present invention provides a method for transmitting a scalable virtual local area network (LAN) packet, which is applied to an open flow network, and includes:
  • the OpenFlow controller receives a match between the first packet sent by the OpenFlow switch and the first packet, where the first packet is sent by the OpenFlow switch to the first virtual machine that is located in the OpenFlow network. a packet, where the matching of the first packet is configured by the OpenFlow switch according to the information of the first packet;
  • VXLAN virtual local area network
  • the first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.
  • the first flow entry corresponding to the matching item of the first message is obtained according to the matching item of the first packet, including:
  • the OpenFlow controller queries the flow table of the OpenFlow controller, and if the first flow entry corresponding to the matching of the first packet exists, the first flow entry is obtained from the flow table. And if there is no first flow entry corresponding to the matching of the first message, the first flow entry is constructed.
  • the instruction of the first flow entry includes an action type of adding a VXLAN package, where the structure of the action type added to the VXLAN package includes The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the matching item with the first 4 ⁇ text is obtained according to the matching item of the first ⁇ ⁇ ⁇ After the corresponding first flow entry, it includes:
  • the OpenFlow controller encapsulates the first packet according to the first flow entry to the expandable virtual local area network VXLAN encapsulation, and sends the encapsulated first packet to the second virtual machine.
  • the present invention provides a method for transmitting a scalable virtual local area network (LAN) packet, which is applied to an open flow network, and includes:
  • the OpenFlow controller receives a match between the second packet and the second packet sent by the OpenFlow switch, where the second packet is the OpenFlow switch receiving the packet sent by the second virtual machine, where the The matching of the second packet is that the open flow switch is constructed according to the information of the second packet;
  • the OpenFlow switch Sending the second flow entry to the OpenFlow switch, so that the OpenFlow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network VXLAN encapsulation,
  • the decapsulated second packet is sent to the first virtual machine located in the open flow network;
  • the first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.
  • the second flow entry corresponding to the matching item of the second message is obtained according to the matching item of the second packet, including:
  • the OpenFlow controller queries the flow table of the OpenFlow controller, and if there is a second flow entry corresponding to the matching of the second packet, the second flow is obtained from the flow table.
  • the second flow entry is configured to be included in the second flow entry, and the second flow entry includes the de-VXLAN encapsulation Action type.
  • the second flow corresponding to the matching item of the second packet is obtained according to the matching item of the second packet After the entry, including: Decapsulating the second packet according to the second flow entry by the OpenFlow controller
  • the VXLAN encapsulation sends the decapsulated second packet to the OpenFlow switch, so that the OpenFlow switch sends the decapsulated second packet to the first virtual machine.
  • the method includes:
  • the OpenFlow controller establishes a MAC address of the second virtual machine according to a MAC address of the second virtual machine included in the information of the second packet and an IP address of the VTEP where the second virtual machine is located. Correspondence between IP addresses of VTEPs where the second virtual machine is located.
  • the present invention provides a device for transmitting a virtual local area network (LAN) message, which is located on the open flow switch side and is applied to the open flow network, and includes:
  • a constructing module configured to receive a first packet sent by the first virtual machine in the open flow network, and construct a matching item of the first packet according to the information of the first packet;
  • An obtaining module configured to acquire, according to a matching item of the first packet that is configured by the building module, a first flow entry corresponding to the matching item of the first message;
  • the encapsulating module is configured to encapsulate the first packet according to the first flow entry obtained by the acquiring module, and expand the virtual local area network VXLAN encapsulation, and send the encapsulated first packet to the second virtual machine;
  • the first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.
  • the acquiring module is specifically configured to query a flow table of the open flow switch, and if it is determined that a matching item with the first packet is saved in the flow table, Corresponding the first flow entry, the first flow entry is obtained from the flow table, and the matching between the first packet and the first packet is sent to the open flow controller, so that the The OpenFlow controller sends a first flow entry corresponding to the matching of the first packet to the OpenFlow switch.
  • the instruction of the first flow entry includes an action type of adding a VXLAN package, and the structure of the action type of the VXLAN package is added.
  • the instruction of the first flow entry includes an action type of adding a VXLAN package, and the first flow table
  • the matching item includes the IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the present invention provides a device for transmitting a WLAN packet, which is located on the open flow switch side and is applied to the OpenFlow network, and includes:
  • a constructing module configured to receive a second packet sent by the second virtual machine, and construct a matching item of the second packet according to the information of the second packet;
  • An acquiring module configured to acquire, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;
  • a decapsulation module configured to decapsulate the expandable virtual local area network VXLAN encapsulation of the second packet according to the second flow entry, and send the decapsulated second packet to the open flow network First virtual machine;
  • the first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.
  • the acquiring module is specifically configured to query a flow table of the open flow switch, and if it is determined that a matching item with the second packet is saved in the flow table, Corresponding second flow entry, the second flow entry is obtained from the flow table, and the matching between the second packet and the second packet is sent to the open flow controller, And causing the OpenFlow controller to send, to the OpenFlow switch, a second flow entry corresponding to the matching item of the second packet, where the instruction of the second flow entry includes an action type of the VXLAN encapsulation .
  • the present invention provides an apparatus for transmitting a virtual local area network (LAN) packet, which is located on an open flow controller side and is applied to an open flow network, and includes:
  • a receiving module configured to receive a match between the first packet sent by the OpenFlow switch and the first packet, where the first packet is sent by the OpenFlow switch to the first virtual machine that is located in the OpenFlow network.
  • the packet of the first packet is configured by the OpenFlow switch according to the information of the first packet;
  • An acquiring module configured to acquire, according to the matching item of the first packet, a first flow entry corresponding to the matching item of the first packet;
  • a sending module configured to send the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry to expand the virtual local area network VXLAN encapsulation,
  • the encapsulated first packet is sent to the second virtual machine;
  • the first virtual machine and the second virtual machine are located on different open flow switches or different physical machines.
  • the acquiring module is specifically configured to query a flow table of the OpenFlow controller, and if there is a first flow entry corresponding to the matching item of the first packet, And acquiring the first flow entry from the flow table; if the first flow entry corresponding to the matching of the first packet does not exist, constructing the first flow entry.
  • the instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the apparatus further includes:
  • the encapsulating module is configured to encapsulate the first packet with the scalable virtual local area network VXLAN encapsulation according to the first flow entry, and send the encapsulated first packet to the second virtual machine.
  • the present invention provides an apparatus for transmitting a virtual local area network (LAN) packet, which is located on an open flow controller side and is applied to an open flow network, and includes:
  • a receiving module configured to receive a matching message between the second packet and the second packet sent by the OpenFlow switch, where the second packet is the packet sent by the second virtual machine by the OpenFlow switch, where The matching item of the second packet is configured by the OpenFlow switch according to the information of the second packet;
  • An acquiring module configured to acquire, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;
  • a sending module configured to send the second flow entry to the open flow switch, so that the open flow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network VXLAN Encapsulating, sending the decapsulated second packet to the first virtual machine located in the open flow network;
  • the acquiring module is specifically configured to query a flow table of the OpenFlow controller, and if there is a second flow table corresponding to the matching item of the second packet, And the second flow entry is obtained from the flow table; if the second flow entry corresponding to the match of the second packet does not exist, the second flow entry is constructed.
  • the instruction of the second flow entry includes
  • the apparatus further includes:
  • the decapsulation module is configured to decapsulate the VXLAN package from the second packet according to the second flow entry, and send the decapsulated second packet to the OpenFlow switch.
  • the device further includes:
  • Establishing a module configured to establish a MAC address and a location of the second virtual machine according to a MAC address of the second virtual machine included in the information of the second packet and an IP address of the VTEP where the second virtual machine is located The correspondence between the IP addresses of the VTEPs where the second virtual machine is located.
  • the present invention provides a transmission system for an extensible virtual local area network (LAN) packet, which is applied to an open flow network, including: an open flow switch and an open flow controller;
  • LAN local area network
  • the OpenFlow switch includes the transmission device of the scalable virtual local area network message according to the fifth aspect and the sixth aspect;
  • the OpenFlow controller includes the transmission device of the scalable virtual local area network message described in the seventh aspect and the eighth aspect.
  • the embodiment of the present invention adopts a new action type (plus VXLAN encapsulation) or a new matching item on the basis of the Action type specified in the existing Open Flow protocol, so that the OpenFlow switch receives the local virtual
  • the device obtains the corresponding flow entry based on the matching information of the packet information, and further encapsulates the VXLAN packet according to the flow entry, and encapsulates the packet.
  • the packet is sent to the remote virtual machine, which can solve the problem that VXLAN is not supported by the existing Open Flow network protocol. This is not conducive to the deployment of VXLAN in the OpenFlow network.
  • the application field of VXLAN is limited.
  • FIG. 2 is a schematic structural diagram of a flow entry specified by the OpenFlow protocol; a schematic diagram; a schematic diagram; a schematic diagram; a diagram;
  • FIG. 8 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network message according to another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network message according to another embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network message according to another embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a device for transmitting a scalable virtual local area network message according to another embodiment of the present invention
  • FIG. 12 is a schematic structural diagram of a transmission system of an extensible virtual local area network message according to another embodiment of the present invention.
  • the technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention.
  • the embodiments are a part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without departing from the inventive scope are the scope of the present invention.
  • the first virtual machine and the second virtual machine are located on different open flow switches or different physical machines, where the first virtual machine is connected to the open flow switch described in this embodiment.
  • the second virtual machine is not connected to the open flow switch in this embodiment, and the physical machine may be an ordinary computer, a workstation, a professional server, or the like, which is not limited herein.
  • FIG. 7 is an embodiment of the present invention.
  • OpenFlow network systems include OpenFlow switches, OpenFlow controllers, and OpenFlow protocols for communication between OpenFlow switches and OpenFlow controllers.
  • a VXLAN Tunnel End Point (VTEP) Control Plane (VTEP Control Plane) is deployed in the OpenFlow controller, and a VTEP Data Plane (VTEP Data Plane) is deployed in the OpenFlow switch.
  • VTEP Control Plane VXLAN Tunnel End Point
  • VTEP Data Plane VTEP Data Plane
  • Table 1 shows the structure of the action type of the VXLAN package and the VXLAN package applied in the embodiments of the present invention, as shown in Table 1. Shown as follows:
  • the action type of the VXLAN encapsulation is OFP AT_PUSH_VXLAN, and the corresponding structure is ofp_action_push_vxlan or ofp_action_push.
  • the IP address of the VTEP where the remote end is located and the external virtual local area network (VLAN) VLAN are added to the structure.
  • the ID ID is two parameters corresponding to the external destination IP address and the external VLAN field in the VXLAN encapsulation.
  • the external destination IP address is the outer_ip parameter in the structure of the action type of the VXLAN encapsulation in Table 1.
  • the external VLAN field is the outer_vlan_id parameter in the structure of the action type of the VXLAN encapsulation in Table 1. In the case of a VLAN, the VLAN ID parameter of the external unit can be omitted.
  • the action type to go to VXLAN encapsulation is OFPAT_POP_VXLAN, and the corresponding structure is The Action structure header ofp_action_header , where ofp_action_header is the structure header of an action type defined in the openflow protocol; no additional information is required in the structure of the action type of the VXLAN encapsulation.
  • the method for transmitting the scalable virtual local area network packet in this embodiment may include:
  • the OpenFlow switch receives the first packet sent by the first virtual machine located in the OpenFlow network. Constructing a match of the first packet according to the information of the first packet;
  • the first packet includes, but is not limited to, a source MAC address, a source IP address, a destination MAC address, and a destination IP address.
  • the first packet may be a broadcast packet, a multicast packet, an unknown unicast packet, or a known packet. Unicast message.
  • the first virtual machine knows the MAC address of the second virtual machine
  • the first packet sent by the first virtual machine is a known unicast packet
  • the information of the first packet includes the first virtual machine MAC address and the first virtual The machine IP, the second virtual machine MAC address, and the second virtual machine IP
  • the first packet sent by the first virtual machine is a broadcast packet, which may be
  • the address resolution protocol (ARP) request message includes the first virtual machine MAC address, the first virtual machine IP, the broadcast MAC address, and the second virtual machine IP.
  • ARP address resolution protocol
  • the matching item of the first message includes the information of the first message, and further, the matching of the first message further includes the port of the first port. information.
  • the flow table is pre-configured to store the flow entries that are not expired.
  • Figure 2 shows the structure of the flow entries specified in the OpenFlow protocol.
  • the flow entries are usually
  • the matching item includes a matching item, a priority, a counter, an instruction, and a timeout, where the matching item includes packet information, and is used to match the corresponding flow entry.
  • the priority indicates the matching priority of the flow entry.
  • the counter counts the number of packets matching the flow entry.
  • the instruction includes an action or action set (English: Action or Action Set). Further, the instruction may further include information such as a flow table of the next level query.
  • the timeout indicates the expiration time of the flow entry in the open flow switch. Generally, the most important one in a flow entry is the match and the instruction. It is also the key to implementing the normal forwarding of packets in the OpenFlow network.
  • the open flow switch may query the flow table of the open flow switch according to the matching item of the first packet, and if it is determined that the first flow entry corresponding to the matching item of the first packet is saved in the flow table, Obtaining the first flow entry in the flow table, and sending a matching event between the first packet and the first packet to an open flow controller, so that the open flow controller is open to the The flow switch sends a first flow entry corresponding to the matching of the first packet.
  • the VXLAN encapsulation sends the encapsulated first packet to the second virtual machine.
  • the first virtual machine is located in the OpenFlow network, and the first virtual machine sends the first packet to the VXLAN encapsulation.
  • the specific implementation time is implemented. :
  • a new Action type is added, wherein the added Action type includes a VXLAN package, and the VXLAN package is OFPAT_PUSH_VXLAN, where the action type of the VXLAN package is added.
  • the structure includes, but is not limited to, the VTEP IP address and the external VLAN ID of the remote end, which correspond to the external destination IP and external VLAN fields in the VXLAN encapsulation.
  • the external VLAN ID parameter can be omitted.
  • the action type in the instruction of the first flow entry is a VXLAN encapsulation
  • the VXLAN encapsulated structure includes the IP address of the VTEP where the second virtual machine is located.
  • the OpenFlow switch encapsulates the first packet with the VXLAN encapsulation according to the action type (adding VXLAN encapsulation) in the instruction of the first flow entry, and sends the encapsulated first packet to the second virtual machine.
  • a new Action type and a new match are added, wherein the added Action type includes a VXLAN encapsulation, wherein the action type of the VXLAN encapsulation is added.
  • the structure can use the existing generic structure ofp_action_push for the header in the existing OpenFlow protocol.
  • the new match OXM_OF_OUTER_IP is used to indicate the IP address of the VTEP where the remote end is located.
  • the instruction of the first flow entry includes a VXLAN encapsulation
  • the matching of the first flow entry includes an IP address of the VTEP where the second virtual machine is located.
  • the open flow switch is configured according to the action type (plus VXLAN encapsulation) included in the instruction of the first flow entry and the IP address of the VTEP where the second virtual machine included in the matching of the first flow entry is located,
  • the encapsulation VXLAN encapsulation sends the encapsulated first packet to the second virtual machine.
  • the embodiment of the present invention adopts a new action type (plus VXLAN encapsulation) or a new matching item on the basis of the Action type specified in the existing OpenFlow protocol, so that the OpenFlow switch receives the local virtual machine.
  • a packet is sent to the remote VM, the corresponding entry is obtained based on the matching of the packet information.
  • the packet is encapsulated in the VXLAN according to the flow entry, and the encapsulated packet is sent to the remote device.
  • End virtual machine which can solve existing OpenFlow network
  • There is no support for VXLAN in the protocol which is not conducive to the deployment of VXLAN in OpenFlow network, and the application field of VXLAN is limited.
  • the advantages of the existing OpenFlow protocol can be fully utilized, and the unified mechanism is implemented.
  • OpenFlow's full support for VXLAN reduces the difficulty of deploying VXLAN in OpenFlow networks, opens up the application field of VXLAN, and enriches the OpenFlow protocol, which is conducive to the further development of the protocol.
  • the schematic diagram is applied to the OpenFlow network. As shown in Figure 3, it includes:
  • the OpenFlow switch receives the second packet sent by the second virtual machine, and constructs a matching event of the second packet according to the information of the second packet.
  • the information of the second packet includes, but is not limited to, a source MAC address, a source IP address, a destination MAC address, and a destination IP address.
  • the second packet may be a broadcast packet, a multicast packet, an unknown unicast packet, or a known list. Broadcast message.
  • the second virtual machine knows the MAC address of the first virtual machine, and the source MAC address, the source IP address, the destination MAC address, and the destination IP address included in the information of the second virtual machine sent by the second virtual machine to the first virtual machine;
  • the source MAC is the second virtual machine MAC address
  • the source IP is the second virtual machine IP
  • the destination MAC address is the first virtual machine MAC address
  • the destination IP is the first virtual machine IP.
  • the matching item of the second message includes the information of the second message, and further, the matching of the second message further includes the entry of the second message. Port information.
  • the OpenFlow switch may query the flow table of the OpenFlow switch according to the matching item of the second packet, and if it is determined that the second flow entry corresponding to the matching item of the second packet is saved in the flow table, Obtaining the second flow entry from the flow table, and sending a matching event between the second packet and the second packet to an open flow controller, so that the open flow controller is located.
  • the OpenFlow switch sends a second flow entry corresponding to the matching of the second packet.
  • the second packet is sent to the first virtual machine located outside the OpenFlow network.
  • a new Action type is added, wherein the newly added Action type includes a VXLAN encapsulation OFTAT_POP_VXLAN, wherein the structure of the action type of the VXLAN encapsulation can be It does not include any information, and the structure of the action type that goes to the VXLAN encapsulation can be the Action structure header specified by the existing OpenFlow protocol.
  • the action type in the instruction of the second flow entry is a de-VXLAN encapsulation
  • the OpenFlow switch decapsulates the VXLAN encapsulation of the second packet according to the action type (de-VXLAN encapsulation) in the instruction of the second flow entry. And sending the decapsulated second message to the first virtual machine located in the open flow network.
  • the embodiment of the present invention adds a technical means for removing the action type of the VXLAN encapsulation based on the Action type specified in the existing OpenFlow protocol, so that the OpenFlow switch receives the remote virtual machine and sends it to the local virtual machine.
  • the corresponding flow entry is obtained according to the matching item constructed by the packet information, and further, the VXLAN encapsulation is decapsulated according to the de-VXLAN encapsulation in the flow entry, and then The OpenFlow switch sends the decapsulated packet to the virtual machine located in the OpenFlow network.
  • the OpenFlow controller receives a match between the first packet sent by the OpenFlow switch and the first packet.
  • the first packet is that the OpenFlow switch receives the packet sent by the first virtual machine in the local OpenFlow network, and the matching item of the first packet is the OpenFlow switch according to the A message is constructed from the information.
  • the open flow controller is pre-configured with a flow table, and the flow table stores the flow entry that is not expired, and the open flow controller queries the flow table according to the matching item of the first packet, if If the first flow entry corresponding to the match of the message is obtained, the first flow entry is obtained from the flow table; if there is no first flow entry corresponding to the match of the first message, Constructing the first flow entry.
  • the OpenFlow controller does not complete the address learning for the VXLAN, and does not establish a correspondence between the identifier address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located, as shown in FIG. 7, in the open flow A VTEP control plane is deployed in the controller, and a VXLAN VNI-multicast address correspondence table is pre-configured in the VTEP control layer, and the OpenFlow controller determines the MAC address and IP address of the first virtual machine included in the information of the first packet.
  • the VXLAN VNI-multicast address mapping table is used to obtain the multicast address corresponding to the VXLAN to which the first virtual machine belongs, and the obtained multicast address is used as the IP address of the VTEP where the second virtual machine is located.
  • the identification address includes a MAC address and an IP address of the second virtual machine.
  • the OpenFlow controller when the OpenFlow controller has completed the address learning of the VXLAN and establishes a correspondence between the identifier address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located, the OpenFlow controller directly according to the second The MAC address of the virtual machine acquires the IP address of the VTEP where the second virtual machine is located; wherein the identifier address of the second virtual machine includes the MAC address and the IP address of the second virtual machine.
  • the first virtual machine is located in the local area of the open flow switch, and the first virtual file sent by the first virtual machine is not encapsulated with a VXLAN encapsulation.
  • a new Action type is added on the basis of the Action type specified in the existing OpenFlow protocol, where the added Action type includes adding a VXLAN package OFTAT_PUSH_VXLAN, wherein the structure of the VXLAN package is added.
  • the parameters include the IP address of the VTEP and the external VLAN ID of the remote end, which correspond to the external destination IP and external VLAN fields in the VXLAN encapsulation.
  • the action type in the instruction of the first flow entry constructed by the OpenFlow controller is a VXLAN encapsulation, and the IP address of the VTEP where the second virtual machine is located is added to the force.
  • outer_ip parameter in the structure of the VXLAN package outer_ip represents the external destination IP.
  • a new Action type and a new matching item are added on the basis of the Action type specified in the existing OpenFlow protocol, and the added Action type includes a VXLAN encapsulation.
  • the structure added with the VXLAN package can use the existing general structure of the existing OpenFlow protocol for the header, wherein the general structure of the OpenFlow protocol for force verbal is ofp_action_push.
  • the new match OXM_OF_OUTER_IP is used to indicate the IP address of the VTEP where the remote end is located. Therefore, the instruction of the first flow entry that is configured by the open flow controller includes adding a VXLAN encapsulation, and adding the IP address of the VTEP where the second virtual machine is located to the matching entry of the first flow entry.
  • the OpenFlow switch encapsulates the first packet with the scalable virtual LAN VXLAN encapsulation according to the first flow entry, and sends the encapsulated first packet to the second virtual machine.
  • the OpenFlow controller encapsulates the first packet with the scalable virtual local area network VXLAN encapsulation according to the first flow entry, and sends the encapsulated first packet to the second virtual machine.
  • the embodiment of the present invention adopts the action type specified in the existing OpenFlow protocol, and adds a technical means for adding the action type and the new matching item of the VXLAN encapsulation, so that the OpenFlow controller sends the report according to the OpenFlow switch. And the matching item, constructing or determining a flow entry corresponding to the matching item, and sending the flow entry to the OpenFlow switch, so that the OpenFlow switch adds the VXLAN included in the flow entry sent by the OpenFlow controller.
  • the encapsulation action type encapsulates the packet into the VXLAN encapsulation and sends the encapsulated packet to the remote virtual machine.
  • the OpenFlow controller receives a match between the second packet sent by the open flow switch and the second packet.
  • the second packet is a packet sent by the OpenFlow switch to the second virtual machine.
  • the matching item of the second packet is configured by the OpenFlow switch according to the information of the second packet. Since the second packet is sent by the second virtual machine located at the remote end, the second packet is encapsulated with a VXLAN encapsulation.
  • the open flow controller may obtain the IP address of the VTEP where the second virtual machine is located according to the VXLAN encapsulation of the second packet, and obtain the MAC address of the second virtual machine according to the information of the second packet, and establish the first Corresponding relationship between the identifier address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located, thereby completing the address learning process of the VXLAN; wherein the identifier address of the second virtual machine includes the second virtual machine MAC address and IP address.
  • the open flow controller queries the flow table of the open flow controller, and if there is a second flow entry corresponding to the matching of the second packet, the second flow entry is obtained from the flow table. ;
  • the second flow entry corresponding to the matching of the second packet does not exist, the second flow entry is constructed.
  • the second virtual machine sends the second virtual machine with the VXLAN encapsulation.
  • a new Action type is added.
  • the new Action type includes a VXLAN encapsulation.
  • the structure corresponding to the action type of the VXLAN encapsulation may not include any information.
  • the structure to the VXLAN package can be the Action structure header specified by the existing OpenFlow protocol. Therefore, the action type in the instruction of the second flow entry constructed by the OpenFlow controller is de-VXLAN encapsulation.
  • the OpenFlow switch decapsulates the expandable virtual local area network (VXLAN) encapsulation of the second packet according to the second flow entry, and sends the decapsulated second packet to the open flow network.
  • VXLAN virtual local area network
  • the OpenFlow controller may perform the VXLAN encapsulation according to the action type included in the second flow entry obtained in step 502, and decapsulate the VXLAN encapsulation of the second packet, and the decapsulated second report.
  • the message is sent to the OpenFlow switch, so that the OpenFlow switch sends the decapsulated second packet to the first virtual machine.
  • the embodiment of the present invention adopts the basis of the Action type specified in the existing OpenFlow protocol.
  • a new method for the action type of the VXLAN encapsulation is added, so that the OpenFlow controller constructs or determines a flow entry corresponding to the matching item according to the matching item sent by the OpenFlow switch, and sends the flow entry to the open
  • the flow switch is configured to decapsulate the VXLAN encapsulation of the packet according to the de-VXLAN encapsulation included in the flow entry sent by the OpenFlow controller, and send the decapsulated packet to the local virtual machine.
  • FIG. 7 is a system architecture diagram of an application method for transmitting a scalable virtual local area network according to an embodiment of the present invention; as shown in FIG. 6 and FIG. 7, the method includes:
  • the OpenFlow switch receives an address resolution protocol ARP request packet sent by the virtual machine VM-1.
  • the OpenFlow network system includes an OpenFlow switch, an OpenFlow controller, and an OpenFlow protocol for communication between the OpenFlow switch and the OpenFlow controller.
  • the VTEP control plane is deployed in the OpenFlow controller, and the VTEP data plane is deployed in the OpenFlow switch; VM-1 and VM-3 belong to the same VXLAN; VTEP and VM-3 to which VM-1 belongs The VTEP is different.
  • VM-1 Before VM-1 communicates with VM-3, if VM-1 does not know the MAC address of VM-3, VM-1 needs to obtain the MAC address of VM-3 through ARP request message. At this time, the VM-1 broadcasts the ARP request message, and the ARP request includes the sender MAC address and the IP address, and the destination IP address, wherein the destination IP address is the IP address of the VM-3, and the sender MAC address. For the MAC address of VM-1, the IP address of the sender is the IP address of VM-1.
  • the OpenFlow switch sends the matching entry of the ARP request packet and the ARP request packet to the OpenFlow controller.
  • the OpenFlow switch constructs a matching entry of the ARP request packet according to the information of the ARP request packet, and queries the flow entry that is cached in the local flow table to determine that there is no flow entry corresponding to the matching item, and then the ARP request packet is sent. And a match of the ARP request message is sent to the OpenFlow controller. 603.
  • the OpenFlow controller constructs a flow entry corresponding to the matching of the ARP request.
  • the OpenFlow controller After receiving the match between the ARP request packet and the ARP request packet, the OpenFlow controller matches again in the flow table of the OpenFlow controller. A matching flow entry cannot be found. In this case, the open flow controller constructs a flow entry corresponding to the match of the ARP request.
  • the OpenFlow controller sends an ARP request from the local VM-1 to the remote VM-3. Therefore, the actions included in the instruction of the constructed flow entry are OFPAT_PUSH_VXLAN and OFPAT_OUTPUT. .
  • the VTEP control plane is deployed in the OpenFlow controller, and the VXLAN VNI-Multicast address mapping table is pre-configured in the VTEP control plane. Therefore, the OpenFlow controller looks up the VXLAN VNI-Multicast address mapping table.
  • the multicast address corresponding to the VXLAN to which the VM-1 belongs is obtained as the VTEP IP address to which the peer (VM-3) in the OFTAT_PUSH_VXLAN structure belongs, and the VTEP IP address to which the VM-3 belongs is added to the OFPAT_PUSH_VXLAN structure.
  • the OpenFlow controller sends the constructed flow entry to the OpenFlow switch.
  • the OpenFlow controller can directly encapsulate the ARP request packet in the VXLAN encapsulation according to the instruction in the configured flow entry, and then send the encapsulated ARP request packet.
  • the OpenFlow switch sends the ARP request packet to the VXLAN encapsulation according to the instruction in the flow entry sent by the OpenFlow controller.
  • the OpenFlow switch can cache the flow entry sent by the OpenFlow controller to the flow table of the OpenFlow switch.
  • the OpenFlow switch receives the ARP reply packet encapsulated with the VXLAN encapsulation returned from the VM-3.
  • the remote VM-3 When the remote VM-3 receives the ARP request packet broadcasted by the VM-1, it is determined that the VM-1 needs to communicate with the VM-3. At this time, the VM-3 may return an ARP response packet to the VM-1.
  • the ARP response packet is encapsulated in a VXLAN encapsulation.
  • the OpenFlow switch sends a matching entry between the ARP reply packet and the ARP reply packet encapsulated by the VXLAN to the OpenFlow controller.
  • the OpenFlow switch After receiving the ARP reply packet encapsulated with the VXLAN encapsulation sent from the VM-3, the OpenFlow switch extracts the ARP response information in the VXLAN encapsulation to construct a matching entry of the ARP response message, and passes the open flow.
  • the flow entry cached in the flow table of the switch. If it is determined that it does not exist with ARP.
  • the flow entry corresponding to the match of the response packet sends a matching entry of the ARP reply packet and the ARP reply packet encapsulated in the VXLAN to the OpenFlow controller.
  • the OpenFlow controller constructs a flow entry corresponding to the match of the ARP response message.
  • the actions included in the instruction of the flow table entry constructed by the OpenFlow controller according to the matching of the ARP reply message are OFPAT_POP_VXLAN and OFPAT_OUTPUT.
  • the OpenFlow controller establishes the MAC address of the VM-3 and the VM-3 according to the MAC address of the VM-3 included in the ARP response and the IP address of the VTEP to which the VM-3 included in the VXLAN package belongs.
  • Correspondence between the IP addresses of the VTEPs, and the correspondence between the MAC address of the VM-3 and the IP address of the VTEP to which the VM-3 belongs is stored in the VM MAC-VTEP IP correspondence table to complete the VXLAN address learning. process.
  • the OpenFlow controller sends the constructed flow entry to the OpenFlow switch.
  • the OpenFlow switch decapsulates the ARP reply packet according to the instruction in the flow entry sent by the OpenFlow controller, and sends the decapsulated ARP reply packet to the VM-1.
  • the OpenFlow switch receives the flow entry sent by the OpenFlow controller, where the Action included in the instruction of the flow entry is OFPAT_POP_VXLAN and OFPAT_OUTPUT, and the OFPAT_POP_VXLAN has no information in the structure.
  • the OpenFlow switch decapsulates the VXLAN encapsulation of the ARP reply packet according to the OFPAT_POP_VXLAN, and sends the decapsulated ARP reply packet to VM-1 according to the structure of the OFPAT_OUTPUT.
  • the OpenFlow switch receives the flow entry sent by the OpenFlow controller, and the flow entry can be cached in the flow table of the OpenFlow switch.
  • the OpenFlow switch receives the unicast packet sent by the VM-1.
  • VM-1 When VM-1 receives the ARP reply message returned by VM-3, the MAC address of VM-3 can be obtained. After that, VM-1 can send a unicast message to VM-3.
  • the OpenFlow switch sends the matching between the unicast packet and the unicast packet to the OpenFlow controller.
  • the OpenFlow switch receives the unicast packet sent by the VM-1 to the VM-3, it constructs a unicast packet match according to the unicast packet information, and queries whether there is a matching in the flow entry cached in the OpenFlow switch flow table. A flow entry, assuming that the cached matching flow entry expires, the matching flow entry cannot be determined.
  • the OpenFlow switch can send the match between the unicast packet and the unicast packet to the OpenFlow controller.
  • the OpenFlow controller constructs a flow entry according to a match of the unicast packet.
  • the open flow controller queries the flow table of the open flow controller according to the matching item of the unicast packet sent by the open flow switch, and if yes, sends the flow entry to the open flow switch. If the corresponding flow entry does not exist, the flow entry corresponding to the match of the unicast packet is configured, specifically:
  • the OpenFlow controller sends a unicast message from the local VM-1 to the remote VM-3. Therefore, the actions included in the instruction of the constructed flow entry are OFPAT_PUSH_VXLAN and OFPAT_OUTPUT.
  • the IP address of the VTEP to which the VM-3 belongs is obtained by looking up the VM MAC-VTEP IP correspondence table established by the OpenFlow controller, and the IP address of the VTEP to which the VM-3 belongs is filled in the outer_ip parameter of the OFPAT_PUSH_VXLAN structure.
  • the OpenFlow controller sends the constructed flow entry to the OpenFlow switch.
  • the OpenFlow switch encapsulates the unicast packet in the VXLAN encapsulation according to the instruction in the flow entry sent by the OpenFlow controller, and sends the encapsulated unicast packet to the VM-3.
  • the OpenFlow switch can cache the flow entry sent by the OpenFlow controller into the flow table. Further, when the OpenFlow switch receives the unicast packet encapsulated with the VXLAN encapsulation sent by the VM-3 to the VM-1, the corresponding matching item is constructed according to the information of the unicast packet encapsulated with the VXLAN encapsulation. First, the flow entry that is cached in the OpenFlow switch flow table matches whether the corresponding flow entry exists. If not, the unicast packet encapsulated with the VXLAN encapsulation and its corresponding matching entry are sent to the OpenFlow controller.
  • the OpenFlow controller searches for the corresponding flow entry in the flow table of the OpenFlow controller according to the unicast packet encapsulated with the VXLAN encapsulation and the corresponding matching item. If yes, the matching flow entry is directly sent to the flow entry. Open flow switch; if it does not exist, construct a new flow entry. The action included in the new flow entry is OFTAT_POP_VXLAN and OFPAT_OUTPUT, and send the newly created flow entry to the OpenFlow switch.
  • the open flow switch can cache the newly created flow entry, and the VXLAN encapsulation of the unicast packet is decapsulated according to the action in the newly created flow entry, and the decapsulated unicast packet is sent to the VM-1.
  • the corresponding flow entry is established for the unicast communication between VM-1 and VM-3, and is cached in the open flow switch. If the OpenFlow switch receives the unencapsulated VXLAN encapsulation or the encapsulated VXLAN encapsulation packet when the unicast communication is again unicast between VM-1 and VM-3, the flow table cached in the flow table of the OpenFlow switch can be cached. Find the matching flow entry in the item, and The matched packets in the matching flow entry are encapsulated in a VXLAN encapsulation or decapsulation VXLAN encapsulation and forwarded.
  • a technical means of adding an action type (plus VXLAN encapsulation and de-VXLAN encapsulation) is added, so that the OpenFlow controller sends a match according to the OpenFlow switch.
  • the item constructs or determines a flow entry corresponding to the match, and sends the flow entry to the OpenFlow switch, so that the OpenFlow switch encapsulates the VXLAN according to an instruction in the flow entry sent by the OpenFlow controller.
  • the advantages of the existing OpenFlow protocol can be fully utilized, and the OpenFlow support for VXLAN is fully realized under the premise of maintaining the unified mechanism.
  • the difficulty of deploying VXLAN in OpenFlow network has opened up the application field of VXLAN.
  • the OpenFlow protocol is conducive to the further development of the agreement.
  • FIG. 8 is a schematic structural diagram of an apparatus for transmitting an extensible virtual local area network (LAN) packet according to another embodiment of the present invention. and is located in an open flow network, and is applied to an open flow network, as shown in FIG.
  • the first packet sent by the first virtual machine is received, and the matching item of the first message is constructed according to the information of the first packet;
  • LAN local area network
  • the obtaining module 82 is configured to obtain, according to the matching item of the first packet that is configured by the building module, a first flow entry corresponding to the matching item of the first packet;
  • the encapsulating module 83 is configured to encapsulate the first packet with the first virtual flow entry, and the encapsulated first virtual packet is sent to the second virtual machine according to the first flow entry obtained by the acquiring module;
  • the obtaining module 82 is specifically configured to query a flow table of the OpenFlow switch, and if it is determined that the flow table has a first flow entry corresponding to the matching item of the first packet, Obtaining the first flow entry in the flow table, and sending a match between the first packet and the first packet to an open flow controller, so that the open flow controller is to the open flow
  • the switch sends a first flow entry corresponding to the matching of the first packet.
  • the instruction of the first flow entry includes an action type of adding a VXLAN package, and the adding
  • the structure of the action type of the VXLAN package includes the IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the constructing module 81 is further configured to receive a second packet sent by the second virtual machine, and construct a matching item of the second packet according to the information of the second packet.
  • the obtaining module 82 is further configured to: obtain, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;
  • the device also includes:
  • the decapsulation module 84 is configured to decapsulate the expandable virtual local area network VXLAN encapsulation of the second packet according to the second flow entry, and send the decapsulated second packet to the first virtual machine;
  • the obtaining module 82 is further configured to query a flow table of the OpenFlow switch, and if it is determined that the flow table has a second flow entry corresponding to the matching item of the second packet, Obtaining the second flow entry from the flow table, and sending a matching event between the second packet and the second packet to an open flow controller, so that the open flow controller is located
  • the OpenFlow switch sends a second flow entry corresponding to the matching of the second packet.
  • the instruction of the second flow entry includes an action type of the VXLAN encapsulation.
  • the embodiment of the present invention adopts a technical method of adding an action type (plus VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item based on the Action type specified in the existing OpenFlow protocol, so that the OpenFlow switch receives the
  • the packet information is constructed to match, the corresponding flow entry is obtained according to the matching item, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is further encapsulated according to the instruction in the flow entry, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is sent.
  • the subsequent packets are sent to the remote virtual machine or the local virtual machine.
  • FIG. 9 is a schematic diagram of a device for transmitting a scalable virtual local area network message according to another embodiment of the present invention.
  • the schematic diagram is located on the open flow controller side and is applied to the open flow network.
  • the method includes: a receiving module 91, configured to receive a match between the first packet sent by the OpenFlow switch and the first packet.
  • the first packet is that the OpenFlow switch receives the packet sent by the first virtual machine, and the matching item of the first packet is configured by the OpenFlow switch according to the information of the first packet. ;
  • the obtaining module 92 is configured to obtain, according to the matching item of the first packet, a first flow entry corresponding to the matching of the first packet;
  • the sending module 93 is configured to send the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry, and the expandable virtual local area network (VXLAN) is encapsulated. Sending the encapsulated first packet to the second virtual machine;
  • VXLAN virtual local area network
  • the obtaining module 92 is configured to query the flow table of the OpenFlow controller, and if there is a first flow entry corresponding to the matching item of the first packet, obtain the current flow table from the flow table.
  • the first flow entry is configured; if the first flow entry corresponding to the matching of the first packet does not exist, the first flow entry is constructed.
  • the instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation includes an IP address of a VXLAN tunnel endpoint VTEP where the second virtual machine is located; or
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the device also includes:
  • the encapsulating module 94 is configured to encapsulate the first packet with the expandable virtual local area network VXLAN encapsulation according to the first flow entry, and send the encapsulated first packet to the second virtual machine.
  • the receiving module 91 is further configured to receive a matching between the second packet sent by the OpenFlow switch and the second packet, where the second packet is received by the OpenFlow switch. a packet sent by the second virtual machine, where the matching of the second packet is configured by the OpenFlow switch according to the information of the second packet;
  • the obtaining module 92 is configured to obtain, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;
  • the sending module 93 is configured to send the second flow entry to the open flow switch, so that the open flow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network.
  • the VXLAN encapsulation sends the decapsulated second packet to the first virtual machine.
  • the obtaining module 92 is further configured to query the flow table of the OpenFlow controller, and if there is a second flow entry corresponding to the matching item of the second packet, obtain the current flow table from the flow table.
  • the second flow entry is configured; if the second flow entry corresponding to the matching of the second packet does not exist, the second flow entry is constructed.
  • the instruction of the second flow entry includes an action type of the VXLAN encapsulation.
  • the device further includes: a decapsulation module 95, configured to decapsulate the VXLAN encapsulation according to the second flow entry, and decapsulate the decapsulated second The message is sent to the OpenFlow switch.
  • a decapsulation module 95 configured to decapsulate the VXLAN encapsulation according to the second flow entry, and decapsulate the decapsulated second The message is sent to the OpenFlow switch.
  • the device further includes: an establishing module 96, configured to: according to the information about the second virtual machine included in the information of the second packet received by the receiving module 91, the VTEP of the second virtual machine The IP address establishes a correspondence between a MAC address of the second virtual machine and an IP address of the VTEP where the second virtual machine is located.
  • an establishing module 96 configured to: according to the information about the second virtual machine included in the information of the second packet received by the receiving module 91, the VTEP of the second virtual machine The IP address establishes a correspondence between a MAC address of the second virtual machine and an IP address of the VTEP where the second virtual machine is located.
  • the embodiment of the present invention adopts the action type specified in the existing Open Flow protocol, and adds a technical means of adding an action type (plus VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item, so that the open flow controller is based on
  • the matching item sent by the OpenFlow switch constructs or determines a flow entry corresponding to the matching item, and sends the flow entry to the OpenFlow switch, so that the OpenFlow switch according to the instruction pair in the flow entry sent by the OpenFlow controller
  • the message is encapsulated in a VXLAN package or decapsulated in a VXLAN package, and the VXLAN encapsulated or unsealed VXLAN encapsulated packet is sent to the remote virtual machine or the local virtual machine; the existing OpenFlow network protocol can be solved without VXLAN.
  • FIG. 10 is a schematic structural diagram of a device for transmitting a scalable virtual local area network (LAN) packet according to another embodiment of the present invention; specifically, an open flow switch is applied to an open flow network, as shown in FIG.
  • LAN virtual local area network
  • the open flow switch specifically includes: a processor, a memory, and a communication bus, wherein the processor is connected to the memory through a communication bus, and the memory stores instructions for implementing a transmission method of the scalable virtual local area network message. Further, the open flow switch specifically includes a communication interface, and the communication The interface communicates with other network element devices, such as an OpenFlow controller.
  • the first flow entry corresponding to the matching of the first packet is obtained according to the matching of the first packet that is configured by the building module, and includes:
  • the instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation includes an IP address of a VXLAN tunnel endpoint VTEP where the second virtual machine is located; or
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • processor retrieves instructions in memory, it also performs the following steps:
  • VXLAN virtual local area network
  • the second flow entry corresponding to the matching of the second packet is obtained according to the matching item of the second packet that is configured by the building module, and includes:
  • the instruction of the second flow entry includes an action type of the VXLAN encapsulation.
  • a new type of action type (plus VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item is added, so that the OpenFlow switch receives the
  • the packet information is constructed to match, the corresponding flow entry is obtained according to the matching item, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is further encapsulated according to the instruction in the flow entry, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is sent.
  • the virtual machine of the remote packet or the local virtual machine can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is not conducive to the deployment of VXLAN in the OpenFlow network, and the application field of VXLAN is limited.
  • Can fully utilize the advantages of the existing OpenFlow protocol complete the OpenFlow support for VXLAN under the premise of maintaining a unified mechanism, reduce the difficulty of deploying VXLAN in OpenFlow network, and expand the application field of VXLAN, enriching
  • the OpenFlow protocol facilitates the further development of the protocol.
  • FIG. 1 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network (LAN) packet according to another embodiment of the present invention; specifically, an open flow controller is applied to an open flow network, as shown in FIG.
  • the device specifically includes: a processor, a memory, and a communication bus.
  • the processor is connected to the communication bus.
  • the open flow controller specifically includes a communication interface, and communicates with other network element devices (for example, an open flow switch) through the communication interface.
  • the matching item is configured by the OpenFlow switch according to the information of the first packet
  • the open flow switch Sending the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry to expand the virtual local area network VXLAN encapsulation,
  • the encapsulated first packet is sent to the second virtual machine.
  • the first flow entry corresponding to the matching of the first packet is obtained according to the matching of the first packet, including:
  • the instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation includes an IP address of a VXLAN tunnel endpoint VTEP where the second virtual machine is located; or
  • the instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.
  • the following includes:
  • the first packet is encapsulated by the first flow entry to expand the virtual local area network (VXLAN), and the encapsulated first packet is sent to the second virtual machine.
  • VXLAN virtual local area network
  • the processor retrieves the instruction in the memory
  • the following steps are performed: receiving a matching between the second packet sent by the OpenFlow switch and the second packet, where the second packet is The OpenFlow switch receives the packet sent by the second virtual machine, and the matching item of the second packet is configured by the OpenFlow switch according to the information of the second packet.
  • the OpenFlow switch Sending the second flow entry to the OpenFlow switch, so that the OpenFlow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network VXLAN encapsulation,
  • the decapsulated second packet is sent to the first virtual machine located in the open flow network;
  • the instruction of the second flow entry includes an action type of the VXLAN encapsulation.
  • the method includes:
  • the method after receiving the matching between the second packet sent by the OpenFlow switch and the second packet, the method includes:
  • the embodiment of the present invention adopts an action type (adding VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item on the basis of the Action type specified in the existing OpenFlow protocol, so that the OpenFlow controller is open according to the
  • the matching item sent by the flow switch constructs or determines a flow entry corresponding to the matching item, and sends the flow entry to the OpenFlow switch, so that the OpenFlow switch according to the instruction in the flow entry sent by the OpenFlow controller
  • the message is encapsulated in a VXLAN package or decapsulated in a VXLAN package, and the VXLAN encapsulated or unencapsulated VXLAN encapsulated packet is sent to the remote virtual machine or the local virtual machine; the existing OpenFlow network protocol can be solved without VXLAN.
  • VXLAN application domain is limited; can take full advantage of the existing OpenFlow protocol, under the premise of maintaining a unified mechanism, the implementation of OpenFlow to VXLAN Full support, reducing the difficulty of deploying VXLAN in OpenFlow network, and opening up VXLAN With areas rich of the OpenFlow protocol, it is conducive to the further development of the agreement.
  • FIG. 12 is a schematic structural diagram of a transmission system of an extensible virtual local area network (LAN) packet according to another embodiment of the present invention. As shown in FIG. 12, the method includes: an open flow switch 121 and an open flow controller 122; 8 or the transmission device of the scalable virtual local area network message described in FIG. 10, the details refer to the related description in the transmission device of the scalable virtual local area network message described in FIG. 8 or FIG. 10;
  • the open flow controller 122 is a transmission device of the scalable virtual local area network message as described in FIG. 9 or FIG. 11 .
  • the open flow controller 122 is a transmission device of the scalable virtual local area network message as described in FIG. 9 or FIG. 11 .
  • the transmission device of the expandable virtual local area network message described in FIG. 9 or FIG. 11 refer to the transmission device of the expandable virtual local area network message described in FIG. 9 or FIG. 11 .
  • the specific description of the above embodiment is based on the case where the first virtual machine and the second virtual machine are in the same network segment and the same VXLAN, and the present invention is still applicable to other cases.
  • the first virtual machine and the second virtual machine are in different network segments, the first virtual machine does not directly obtain the MAC address of the second virtual machine through the ARP request packet, and the IP gateway of the first virtual machine is obtained first.
  • the MAC address, and the MAC address of the IP gateway of the first virtual machine is used as the MAC address of the second virtual machine of the present invention.
  • the open flow switch and the controller do not directly obtain the IP address of the VTEP where the second virtual machine is located, but obtain The IP address of the VXLAN gateway, and the IP address of the VXLAN gateway is used as the IP address of the VTEP where the second virtual machine is located in the present invention.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • 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 electrical, mechanical or otherwise.
  • the components displayed by the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives 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 hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the above software functional unit is stored in a storage medium, including several instructions Part of the steps of the method of the various embodiments of the present invention are performed by a computer device (which may be a personal computer, server, or network device, etc.).
  • the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and the like.
  • the medium of the program code includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed are a method, device and system for transmitting a message in a virtual extensible local area network, which are applied in an OpenFlow network. When an OpenFlow switch receives a first message sent by a first virtual machine located in the OpenFlow network, a match of the first message is constructed according to information about the first message; according to the match of the first message, a first flow entry corresponding to the match of the first message is acquired; and the first message is encapsulated via virtual extensible local area network (VXLAN) encapsulation according to the first flow entry, and the encapsulated first message is sent to a second virtual machine; the first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. The problem that a VXLAN is not fully supported in an existing OpenFlow network protocol is solved.

Description

可扩展虛拟局域网报文的传输方法及装置、 系统 技术领域  Method, device and system for transmitting Scalable Virtual LAN message

本发明实施例涉及网络技术领域,尤其涉及一种可扩展虚拟局域网报文的 传输方法及装置、 系统。 背景技术  The embodiments of the present invention relate to the field of network technologies, and in particular, to a method, device, and system for transmitting a scalable virtual local area network message. Background technique

开放流(OpenFlow )技术可通过网络接入交换机或路由器的转发平面, 实现更先进的流量管理, 尤其是在虚拟化环境中。 OpenFlow的核心思想是将 原本完全由交换机或路由器控制的数据包转发过程, 转化为由开放流交换机 ( OpenFlow Switch )和开放流控制器( OpenFlow Controller )分别完成的独立 过程。 是一种将二层报文用三层协议进行封装的技术,可以对二层网络在三层范围进 行扩展,使虚拟机可以在互相连通的三层网络范围内迁移, 而不需要改变互联 网协议 ( Internet Protocol, 筒称 IP )地址和介质访问控制 (Medium Access Control , 筒称 MAC )地址, 保证业务的连续性。  OpenFlow technology enables more advanced traffic management through network access to the forwarding plane of a switch or router, especially in a virtualized environment. The core idea of OpenFlow is to transform the packet forwarding process, which is completely controlled by the switch or router, into a separate process by the OpenFlow Switch and the OpenFlow Controller. It is a technology for encapsulating Layer 2 packets with Layer 3 protocols. It can extend the Layer 2 network in Layer 3, enabling virtual machines to migrate within a three-layer network that is connected to each other without changing the Internet Protocol. (Internet Protocol, IP address) and Medium Access Control (MAC) address to ensure business continuity.

目前, 由于 OpenFlow网络协议中没有对 VXLAN的支持, 因此, 不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的应用领域受限。 发明内容  Currently, there is no support for VXLAN in the OpenFlow network protocol, so it is not conducive to the deployment of VXLAN in the OpenFlow network. The application field of VXLAN is limited. Summary of the invention

本发明实施例提供一种可扩展虚拟局域网报文的传输方法及装置、 系统, 应用于 OpenFlow 网络中, 用以解决现有的 OpenFlow 网络协议中没有对 VXLAN 的完全支持, 导致不利于 VXLAN 在 OpenFlow 网络中的部署, VXLAN的应用领域受限的问题。  The embodiment of the invention provides a method, a device and a system for transmitting a scalable virtual local area network message, which are applied to an OpenFlow network, and are used to solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is disadvantageous to VXLAN in OpenFlow. Deployment in the network, VXLAN's application domain is limited.

第一方面, 本发明提供一种可扩展虚拟局域网报文的传输方法,应用于开 放流网络中, 包括:  In a first aspect, the present invention provides a method for transmitting a scalable virtual local area network (LAN) packet, which is applied to an open flow network, and includes:

开放流交换机接收位于开放流网络中的第一虚拟机发送的第一报文,根据 所述第一 ·^艮文的信息构建所述第一艮文的匹配项; The OpenFlow switch receives the first packet sent by the first virtual machine located in the OpenFlow network, according to And the information of the first message constructs a match of the first message;

根据所述第一 4艮文的匹配项,获取与所述第一 4艮文的匹配项对应的第一流 表项;  Acquiring, according to the matching item of the first message, the first flow entry corresponding to the matching item of the first message;

根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封 装, 将所述封装后的第一报文发送给位于第二虚拟机;  And the first packet is encapsulated by the first flow entry to expand the virtual local area network (VXLAN), and the encapsulated first packet is sent to the second virtual machine;

所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。  The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.

基于第一方面, 在第一种实现方式中, 根据所述第一报文的匹配项, 获取 与所述第一 4艮文的匹配项对应的第一流表项, 包括:  Based on the first aspect, in a first implementation manner, the first flow entry corresponding to the matching item of the first message is obtained according to the matching item of the first packet, including:

所述开放流交换机查询所述开放流交换机的流表,若确定所述流表中保存 有与所述第一报文的匹配项对应的第一流表项,则从所述流表中获取所述第一 流表项, 否则将所述第一报文和所述第一报文的匹配项发送给开放流控制器, 以使所述开放流控制器向所述开放流交换机发送与所述第一报文的匹配项对 应的第一流表项。  The open flow switch queries the flow table of the open flow switch, and if it is determined that the first flow entry corresponding to the matching item of the first packet is saved in the flow table, the current flow table is obtained from the flow table. The first flow entry is sent, and the matching between the first packet and the first packet is sent to the OpenFlow controller, so that the OpenFlow controller sends the first flow switch to the OpenFlow switch. The first flow entry corresponding to the match of a packet.

基于第一方面以及第一方面的第一种实现方式,在第二种实现方式中, 所 述第一流表项的指令中包括加 VXLAN封装的动作类型,所述加 VXLAN封装 的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者  Based on the first aspect and the first implementation manner of the first aspect, in the second implementation manner, the instruction of the first flow entry includes an action type of adding a VXLAN package, and the structure of the action type of the VXLAN package is added. The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

第二方面, 本发明提供一种可扩展虚拟局域网报文的传输方法,应用于开 放流网络中, 包括:  In a second aspect, the present invention provides a method for transmitting a scalable virtual local area network (LAN) message, which is applied to an open flow network, and includes:

开放流交换机接收第二虚拟机发送的第二报文,根据所述第二报文的信息 构建所述第二 4艮文的匹配项;  The OpenFlow switch receives the second packet sent by the second virtual machine, and constructs a matching item of the second packet according to the information of the second packet.

根据所述第二 4艮文的匹配项,获取与所述第二 4艮文的匹配项对应的第二流 表项;  Obtaining, according to the matching item of the second message, a second flow entry corresponding to the matching item of the second message;

根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封 装, 将所述解封后的第二报文发送给位于所述开放流网络中的第一虚拟机; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 Decapsulating the second packet according to the second flow entry to expand the virtual local area network VXLAN encapsulation, and sending the decapsulated second packet to the first virtual machine located in the open flow network; The first virtual machine and the second virtual machine are located in different open flow switches or different objects On the machine.

基于第二方面, 在第二种实现方式中, 根据所述第二报文的匹配项, 获取 与所述第二 ^艮文的匹配项对应的第二流表项, 包括:  According to the second aspect, in a second implementation manner, the second flow entry corresponding to the matching item of the second message is obtained according to the matching item of the second packet, including:

所述开放流交换机查询所述开放流交换机的流表,若确定所述流表中保存 有与所述第二报文的匹配项对应的第二流表项,则从所述流表中获取所述第二 流表项, 否则将所述第二报文和所述第二报文的匹配项发送给开放流控制器, 以使所述开放流控制器向所述开放流交换机发送与所述第二报文的匹配项对 应的第二流表项, 所述第二流表项的指令中包括去 VXLAN封装的动作类型。  The OpenFlow switch queries the flow table of the OpenFlow switch, and if it is determined that the second flow entry corresponding to the matching item of the second packet is saved in the flow table, the flow table is obtained from the flow table. And sending, by the second flow entry, the matching item of the second packet and the second packet to the OpenFlow controller, so that the OpenFlow controller sends the information to the OpenFlow switch A second flow entry corresponding to the matching of the second packet, where the instruction of the second flow entry includes an action type of the VXLAN encapsulation.

第三方面, 本发明提供一种可扩展虚拟局域网报文的传输方法,应用于开 放流网络中, 包括:  In a third aspect, the present invention provides a method for transmitting a scalable virtual local area network (LAN) packet, which is applied to an open flow network, and includes:

开放流控制器接收开放流交换机发送的第一报文和所述第一报文的匹配 项,所述第一报文为所述开放流交换机接收位于开放流网络中的第一虚拟机发 送的报文,所述第一报文的匹配项为所述开放流交换机根据所述第一报文的信 息构建的;  The OpenFlow controller receives a match between the first packet sent by the OpenFlow switch and the first packet, where the first packet is sent by the OpenFlow switch to the first virtual machine that is located in the OpenFlow network. a packet, where the matching of the first packet is configured by the OpenFlow switch according to the information of the first packet;

根据所述第一 4艮文的匹配项,获取与所述第一 4艮文的匹配项对应的第一流 表项;  Acquiring, according to the matching item of the first message, the first flow entry corresponding to the matching item of the first message;

将所述第一流表项发送给所述开放流交换机,以使所述开放流交换机根据 所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装,将所述 封装后的第一报文发送给第二虚拟机;  Sending the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry to expand the virtual local area network (VXLAN) package, and the encapsulated Sending the first packet to the second virtual machine;

所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。  The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.

基于第三方面, 在第一种实现方式中, 根据所述第一报文的匹配项, 获取 与所述第一 4艮文的匹配项对应的第一流表项, 包括:  Based on the third aspect, in a first implementation manner, the first flow entry corresponding to the matching item of the first message is obtained according to the matching item of the first packet, including:

所述开放流控制器查询所述开放流控制器的流表,若存在与所述第一报文 的匹配项对应的第一流表项, 则从所述流表中获取所述第一流表项; 若不存在 与所述第一 4艮文的匹配项对应的第一流表项, 则构建所述第一流表项。  The OpenFlow controller queries the flow table of the OpenFlow controller, and if the first flow entry corresponding to the matching of the first packet exists, the first flow entry is obtained from the flow table. And if there is no first flow entry corresponding to the matching of the first message, the first flow entry is constructed.

基于第三方面的第一种实现方式,在第二种实现方式中, 所述第一流表项 的指令中包括加 VXLAN封装的动作类型,所述加 VXLAN封装的动作类型的 结构体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或 者 According to the first implementation manner of the third aspect, in the second implementation manner, the instruction of the first flow entry includes an action type of adding a VXLAN package, where the structure of the action type added to the VXLAN package includes The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or By

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

基于第三方面以及第三方面的第一、第二种实现方式,在第三种实现方式 中,根据所述第一 4艮文的匹配项, 获取与所述第一 4艮文的匹配项对应的第一流 表项之后, 包括:  Based on the third aspect and the first and second implementation manners of the third aspect, in a third implementation manner, the matching item with the first 4 艮 text is obtained according to the matching item of the first 艮 艮 艮After the corresponding first flow entry, it includes:

所述开放流控制器根据所述第一流表项对所述第一报文加封可扩展虚拟 局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。  The OpenFlow controller encapsulates the first packet according to the first flow entry to the expandable virtual local area network VXLAN encapsulation, and sends the encapsulated first packet to the second virtual machine.

第四方面, 本发明提供一种可扩展虚拟局域网报文的传输方法,应用于开 放流网络中, 包括:  In a fourth aspect, the present invention provides a method for transmitting a scalable virtual local area network (LAN) packet, which is applied to an open flow network, and includes:

开放流控制器接收开放流交换机发送的第二报文和所述第二报文的匹配 项, 所述第二报文为所述开放流交换机接收第二虚拟机发送的报文, 所述第二 报文的匹配项为所述开放流交换机根据所述第二报文的信息构建的;  The OpenFlow controller receives a match between the second packet and the second packet sent by the OpenFlow switch, where the second packet is the OpenFlow switch receiving the packet sent by the second virtual machine, where the The matching of the second packet is that the open flow switch is constructed according to the information of the second packet;

根据所述第二 4艮文的匹配项,获取与所述第二 4艮文的匹配项对应的第二流 表项;  Obtaining, according to the matching item of the second message, a second flow entry corresponding to the matching item of the second message;

将所述第二流表项发送给所述开放流交换机,以使所述开放流交换机根据 所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装,将所述 解封后的第二报文发送给位于所述开放流网络中的第一虚拟机;  Sending the second flow entry to the OpenFlow switch, so that the OpenFlow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network VXLAN encapsulation, The decapsulated second packet is sent to the first virtual machine located in the open flow network;

所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。  The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.

基于第四方面, 在第一种实现方式中, 根据所述第二报文的匹配项, 获取 与所述第二 4艮文的匹配项对应的第二流表项, 包括:  According to the fourth aspect, in a first implementation manner, the second flow entry corresponding to the matching item of the second message is obtained according to the matching item of the second packet, including:

所述开放流控制器查询所述开放流控制器的流表,若存在与所述第二报文 的匹配项对应的第二流表项, 则从所述流表中获取所述第二流表项; 若不存在 与所述第二 4艮文的匹配项对应的第二流表项, 则构建所述第二流表项, 所述第 二流表项的指令中包括去 VXLAN封装的动作类型。  The OpenFlow controller queries the flow table of the OpenFlow controller, and if there is a second flow entry corresponding to the matching of the second packet, the second flow is obtained from the flow table. The second flow entry is configured to be included in the second flow entry, and the second flow entry includes the de-VXLAN encapsulation Action type.

基于第四方面以及第四方面的第一种实现方式,在第二种实现方式中,根 据所述第二报文的匹配项 ,获取与所述第二报文的匹配项对应的第二流表项之 后, 包括: 所述开放流控制器根据所述第二流表项对所述第二报文解封所述According to the fourth aspect, and the first implementation manner of the fourth aspect, in a second implementation manner, the second flow corresponding to the matching item of the second packet is obtained according to the matching item of the second packet After the entry, including: Decapsulating the second packet according to the second flow entry by the OpenFlow controller

VXLAN封装, 将所述解封后的第二报文发送给所述开放流交换机, 以使所述 开放流交换机将所述述解封后的第二报文发送给所述第一虚拟机。 The VXLAN encapsulation sends the decapsulated second packet to the OpenFlow switch, so that the OpenFlow switch sends the decapsulated second packet to the first virtual machine.

基于第四方面,在第三种实现方式中, 所述开放流控制器接收所述开放流 交换机发送的第二报文和所述第二报文的匹配项之后, 包括:  According to the fourth aspect, in a third implementation manner, after the OpenFlow controller receives the matching between the second packet and the second packet sent by the OpenFlow switch, the method includes:

所述开放流控制器根据所述第二报文的信息中包含的第二虚拟机的 MAC 地址与所述第二虚拟机所在的 VTEP的 IP地址,建立所述第二虚拟机的 MAC 地址与所述第二虚拟机所在的 VTEP的 IP地址之间的对应关系。  The OpenFlow controller establishes a MAC address of the second virtual machine according to a MAC address of the second virtual machine included in the information of the second packet and an IP address of the VTEP where the second virtual machine is located. Correspondence between IP addresses of VTEPs where the second virtual machine is located.

第五方面, 本发明提供一种可扩展虚拟局域网报文的传输装置,位于开放 流交换机侧, 应用于开放流网络中, 包括:  In a fifth aspect, the present invention provides a device for transmitting a virtual local area network (LAN) message, which is located on the open flow switch side and is applied to the open flow network, and includes:

构建模块, 用于接收位于开放流网络中的第一虚拟机发送的第一报文,根 据所述第一报文的信息构建所述第一报文的匹配项;  a constructing module, configured to receive a first packet sent by the first virtual machine in the open flow network, and construct a matching item of the first packet according to the information of the first packet;

获取模块, 用于根据所述构建模块构建的第一报文的匹配项, 获取与所述 第一 4艮文的匹配项对应的第一流表项;  An obtaining module, configured to acquire, according to a matching item of the first packet that is configured by the building module, a first flow entry corresponding to the matching item of the first message;

封装模块,用于根据所述获取模块获取的第一流表项对所述第一报文加封 可扩展虚拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟 机;  The encapsulating module is configured to encapsulate the first packet according to the first flow entry obtained by the acquiring module, and expand the virtual local area network VXLAN encapsulation, and send the encapsulated first packet to the second virtual machine;

所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。  The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.

基于第五方面, 在第一种实现方式中, 所述获取模块, 具体用于查询所述 开放流交换机的流表,若确定所述流表中保存有与所述第一报文的匹配项对应 的第一流表项, 则从所述流表中获取所述第一流表项, 否则将所述第一报文和 所述第一报文的匹配项发送给开放流控制器,以使所述开放流控制器向所述开 放流交换机发送与所述第一报文的匹配项对应的第一流表项。  According to the fifth aspect, in a first implementation manner, the acquiring module is specifically configured to query a flow table of the open flow switch, and if it is determined that a matching item with the first packet is saved in the flow table, Corresponding the first flow entry, the first flow entry is obtained from the flow table, and the matching between the first packet and the first packet is sent to the open flow controller, so that the The OpenFlow controller sends a first flow entry corresponding to the matching of the first packet to the OpenFlow switch.

基于第五方面以及第五方面的第一种实现方式,在第二种实现方式中, 所 述第一流表项的指令中包括加 VXLAN封装的动作类型,所述加 VXLAN封装 的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者  According to the fifth aspect, the first implementation manner of the fifth aspect, in the second implementation manner, the instruction of the first flow entry includes an action type of adding a VXLAN package, and the structure of the action type of the VXLAN package is added. The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。 第六方面, 本发明提供一种可扩展虚拟局域网报文的传输装置,位于开放 流交换机侧, 应用于开放流网络中, 包括: The instruction of the first flow entry includes an action type of adding a VXLAN package, and the first flow table The matching item includes the IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located. In a sixth aspect, the present invention provides a device for transmitting a WLAN packet, which is located on the open flow switch side and is applied to the OpenFlow network, and includes:

构建模块, 用于接收第二虚拟机发送的第二报文,根据所述第二报文的信 息构建所述第二报文的匹配项;  a constructing module, configured to receive a second packet sent by the second virtual machine, and construct a matching item of the second packet according to the information of the second packet;

获取模块, 用于根据所述第二报文的匹配项, 获取与所述第二报文的匹配 项对应的第二流表项;  An acquiring module, configured to acquire, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;

解封模块,用于根据所述第二流表项对所述第二报文解封可扩展虚拟局域 网 VXLAN封装,将所述解封后的第二报文发送给位于所述开放流网络中的第 一虚拟机;  a decapsulation module, configured to decapsulate the expandable virtual local area network VXLAN encapsulation of the second packet according to the second flow entry, and send the decapsulated second packet to the open flow network First virtual machine;

所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。  The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines.

基于第六方面, 在第一种实现方式中, 所述获取模块, 具体用于查询所述 开放流交换机的流表,若确定所述流表中保存有与所述第二报文的匹配项对应 的第二流表项, 则从所述流表中获取所述第二流表项, 否则将所述第二报文和 所述第二报文的匹配项发送给开放流控制器,以使所述开放流控制器向所述开 放流交换机发送与所述第二 4艮文的匹配项对应的第二流表项,所述第二流表项 的指令中包括去 VXLAN封装的动作类型。  According to the sixth aspect, in a first implementation manner, the acquiring module is specifically configured to query a flow table of the open flow switch, and if it is determined that a matching item with the second packet is saved in the flow table, Corresponding second flow entry, the second flow entry is obtained from the flow table, and the matching between the second packet and the second packet is sent to the open flow controller, And causing the OpenFlow controller to send, to the OpenFlow switch, a second flow entry corresponding to the matching item of the second packet, where the instruction of the second flow entry includes an action type of the VXLAN encapsulation .

第七方面, 本发明提供一种可扩展虚拟局域网报文的传输装置,位于开放 流控制器侧, 应用于开放流网络中, 包括:  In a seventh aspect, the present invention provides an apparatus for transmitting a virtual local area network (LAN) packet, which is located on an open flow controller side and is applied to an open flow network, and includes:

接收模块,用于接收开放流交换机发送的第一报文和所述第一报文的匹配 项,所述第一报文为所述开放流交换机接收位于开放流网络中的第一虚拟机发 送的报文,所述第一报文的匹配项为所述开放流交换机根据所述第一报文的信 息构建的;  a receiving module, configured to receive a match between the first packet sent by the OpenFlow switch and the first packet, where the first packet is sent by the OpenFlow switch to the first virtual machine that is located in the OpenFlow network. The packet of the first packet is configured by the OpenFlow switch according to the information of the first packet;

获取模块, 用于根据所述第一报文的匹配项, 获取与所述第一报文的匹配 项对应的第一流表项;  An acquiring module, configured to acquire, according to the matching item of the first packet, a first flow entry corresponding to the matching item of the first packet;

发送模块, 用于将所述第一流表项发送给所述开放流交换机, 以使所述开 放流交换机根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 a sending module, configured to send the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry to expand the virtual local area network VXLAN encapsulation, The encapsulated first packet is sent to the second virtual machine; The first virtual machine and the second virtual machine are located on different open flow switches or different physical machines.

基于第七方面, 在第一种实现方式中, 所述获取模块, 具体用于查询所述 开放流控制器的流表, 若存在与所述第一报文的匹配项对应的第一流表项, 则 从所述流表中获取所述第一流表项;若不存在与所述第一报文的匹配项对应的 第一流表项, 则构建所述第一流表项。  According to the seventh aspect, in a first implementation manner, the acquiring module is specifically configured to query a flow table of the OpenFlow controller, and if there is a first flow entry corresponding to the matching item of the first packet, And acquiring the first flow entry from the flow table; if the first flow entry corresponding to the matching of the first packet does not exist, constructing the first flow entry.

基于第七方面以及第七方面的第一种实现方式,在第二种实现方式中, 所 述第一流表项的指令中包括加 VXLAN封装的动作类型,所述加 VXLAN封装 的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者  Based on the seventh aspect, and the first implementation manner of the seventh aspect, in the second implementation manner, the instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

基于第七方面以及第七方面的第一、第二种实现方式,在第三种实现方式 中, 所述装置还包括:  Based on the seventh aspect and the first and second implementation manners of the seventh aspect, in a third implementation manner, the apparatus further includes:

封装模块,用于根据所述第一流表项对所述第一报文加封可扩展虚拟局域 网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。  The encapsulating module is configured to encapsulate the first packet with the scalable virtual local area network VXLAN encapsulation according to the first flow entry, and send the encapsulated first packet to the second virtual machine.

第八方面, 本发明提供一种可扩展虚拟局域网报文的传输装置,位于开放 流控制器侧, 应用于开放流网络中, 包括:  In an eighth aspect, the present invention provides an apparatus for transmitting a virtual local area network (LAN) packet, which is located on an open flow controller side and is applied to an open flow network, and includes:

接收模块,用于接收开放流交换机发送的第二报文和所述第二报文的匹配 项, 所述第二报文为所述开放流交换机接收第二虚拟机发送的报文,所述第二 报文的匹配项为所述开放流交换机根据所述第二报文的信息构建的;  a receiving module, configured to receive a matching message between the second packet and the second packet sent by the OpenFlow switch, where the second packet is the packet sent by the second virtual machine by the OpenFlow switch, where The matching item of the second packet is configured by the OpenFlow switch according to the information of the second packet;

获取模块, 用于根据所述第二报文的匹配项, 获取与所述第二报文的匹配 项对应的第二流表项;  An acquiring module, configured to acquire, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;

发送模块, 用于将所述第二流表项发送给所述开放流交换机, 以使所述开 放流交换机根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装, 将所述解封后的第二报文发送给位于所述开放流网络中的第一 虚拟机;  a sending module, configured to send the second flow entry to the open flow switch, so that the open flow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network VXLAN Encapsulating, sending the decapsulated second packet to the first virtual machine located in the open flow network;

所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 基于第八方面, 在第一种实现方式中, 所述获取模块, 具体用于查询所述 开放流控制器的流表, 若存在与所述第二报文的匹配项对应的第二流表项, 则 从所述流表中获取所述第二流表项;若不存在与所述第二报文的匹配项对应的 第二流表项, 则构建所述第二流表项, 所述第二流表项的指令中包括去The first virtual machine and the second virtual machine are located on different open flow switches or different physical machines. According to the eighth aspect, in a first implementation manner, the acquiring module is specifically configured to query a flow table of the OpenFlow controller, and if there is a second flow table corresponding to the matching item of the second packet, And the second flow entry is obtained from the flow table; if the second flow entry corresponding to the match of the second packet does not exist, the second flow entry is constructed. The instruction of the second flow entry includes

VXLAN封装的动作类型。 The action type of the VXLAN package.

基于第八方面以及第八方面的第一种实现方式,在第二种实现方式中, 所 述装置还包括:  Based on the eighth aspect, and the first implementation of the eighth aspect, in the second implementation, the apparatus further includes:

解封模块,用于根据所述第二流表项对所述第二报文解封所述 VXLAN封 装, 将所述解封后的第二报文发送给所述开放流交换机。  The decapsulation module is configured to decapsulate the VXLAN package from the second packet according to the second flow entry, and send the decapsulated second packet to the OpenFlow switch.

基于第八方面, 在第三种实现方式中, 所述装置还包括:  Based on the eighth aspect, in a third implementation manner, the device further includes:

建立模块, 用于根据所述第二报文的信息中包含的第二虚拟机的 MAC地 址与所述第二虚拟机所在的 VTEP的 IP地址, 建立所述第二虚拟机的 MAC 地址与所述第二虚拟机所在的 VTEP的 IP地址之间的对应关系。  Establishing a module, configured to establish a MAC address and a location of the second virtual machine according to a MAC address of the second virtual machine included in the information of the second packet and an IP address of the VTEP where the second virtual machine is located The correspondence between the IP addresses of the VTEPs where the second virtual machine is located.

第九方面, 本发明提供一种可扩展虚拟局域网报文的传输系统,应用于开 放流网络中, 包括: 开放流交换机和开放流控制器;  According to a ninth aspect, the present invention provides a transmission system for an extensible virtual local area network (LAN) packet, which is applied to an open flow network, including: an open flow switch and an open flow controller;

开放流交换机包括第五方面和第六方面所述的可扩展虚拟局域网报文的 传输装置;  The OpenFlow switch includes the transmission device of the scalable virtual local area network message according to the fifth aspect and the sixth aspect;

开放流控制器包括第七方面和第八方面所述的可扩展虚拟局域网报文的 传输装置。  The OpenFlow controller includes the transmission device of the scalable virtual local area network message described in the seventh aspect and the eighth aspect.

本发明实施例采用在现有的 Open Flow协议中规定的 Action类型的基础 上, 新增了新的动作类型 (加 VXLAN封装)或新的匹配项的技术手段, 从而 使得开放流交换机接收本地虚拟机向同属一个 VXLAN的远端虚拟机发送报文 时, 根据报文信息构建的匹配项, 获取到对应的流表项, 进一步, 根据流表项 对报文加封 VXLAN封装, 并将封装后的报文发送给远端虚拟机, 可以解决现 有的 Open Flow网络协议中没有对 VXLAN的支持, 导致的不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的应用领域受限的问题; 可以充分利用现 有的 OpenFlow协议的优势, 在保持统一机制的前提下, 实现了的 OpenFlow 对 VXLAN的完全支持, 降低了 VXLAN在 OpenFlow网络中部署的难度, 开拓 了 VXLAN的应用领域, 丰富了 Open Flow协议, 有利于协议的进一步发展。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作一筒单地介绍, 显而易见地, 下面描 述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 示意图; The embodiment of the present invention adopts a new action type (plus VXLAN encapsulation) or a new matching item on the basis of the Action type specified in the existing Open Flow protocol, so that the OpenFlow switch receives the local virtual When a packet is sent to a remote virtual machine that belongs to a VXLAN, the device obtains the corresponding flow entry based on the matching information of the packet information, and further encapsulates the VXLAN packet according to the flow entry, and encapsulates the packet. The packet is sent to the remote virtual machine, which can solve the problem that VXLAN is not supported by the existing Open Flow network protocol. This is not conducive to the deployment of VXLAN in the OpenFlow network. The application field of VXLAN is limited. The advantages of some OpenFlow protocols, under the premise of maintaining a unified mechanism, the complete support of OpenFlow for VXLAN, reducing the difficulty of VXLAN deployment in OpenFlow networks, opening up the application field of VXLAN, enriching the Open Flow protocol, Conducive to the further development of the agreement. BRIEF DESCRIPTION OF THE DRAWINGS In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the prior art description will be briefly described below, and obviously, the following description will be described. The drawings in the drawings are some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any inventive labor. schematic diagram;

图 2为 OpenFlow协议规定的流表项的结构示意图; 程示意图; 程示意图; 程示意图; 令图; 统架构图;  2 is a schematic structural diagram of a flow entry specified by the OpenFlow protocol; a schematic diagram; a schematic diagram; a schematic diagram; a diagram;

图 8为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结构 示意图;  FIG. 8 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network message according to another embodiment of the present invention; FIG.

图 9为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结构 示意图;  FIG. 9 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network message according to another embodiment of the present invention;

图 10为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结 构示意图;  FIG. 10 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network message according to another embodiment of the present invention;

图 1 1为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结 构示意图;  FIG. 1 is a schematic structural diagram of a device for transmitting a scalable virtual local area network message according to another embodiment of the present invention;

图 12为本发明另一实施例提供的可扩展虚拟局域网报文的传输系统的结 构示意图。 具体实施方式 为使本发明实施例的目的、技术方案和优点更加清楚, 下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发明中 的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 他实施例, 都属于本发明保护的范围。 FIG. 12 is a schematic structural diagram of a transmission system of an extensible virtual local area network message according to another embodiment of the present invention. The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. The embodiments are a part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without departing from the inventive scope are the scope of the present invention.

本发明以下各实施例中所述第一虚拟机与所述第二虚拟机位于不同的开 放流交换机或不同的物理机上, 其中, 第一虚拟机与本实施例所述的开放流交 换机连接, 第二虚拟机与本实施例所述的开放流交换机不连接, 物理机可以 为普通的计算机、 工作站或专业服务器等, 在此不作限定。  In the following embodiments, the first virtual machine and the second virtual machine are located on different open flow switches or different physical machines, where the first virtual machine is connected to the open flow switch described in this embodiment. The second virtual machine is not connected to the open flow switch in this embodiment, and the physical machine may be an ordinary computer, a workstation, a professional server, or the like, which is not limited herein.

以下对本发明各实施例应用的系统架构进行说明,图 7为本发明实施例提  The system architecture applied in the embodiments of the present invention is described below, and FIG. 7 is an embodiment of the present invention.

OpenFlow 网络系统包括开放流交换机、 开放流控制器以及用于开放流交换机 与开放流控制器间通信的 OpenFlow 协议。 其中, 在开放流控制器中部署有 VXLAN隧道端点( VXLAN Tunnel End Point , 筒称 VTEP )控制层面( VTEP Control Plane ) ,在开放流交换机中部署有 VTEP数据层面( VTEP Data Plane )。 OpenFlow network systems include OpenFlow switches, OpenFlow controllers, and OpenFlow protocols for communication between OpenFlow switches and OpenFlow controllers. A VXLAN Tunnel End Point (VTEP) Control Plane (VTEP Control Plane) is deployed in the OpenFlow controller, and a VTEP Data Plane (VTEP Data Plane) is deployed in the OpenFlow switch.

以下对本发明各实施例中应用的加 VXLAN封装和去 VXLAN封装的动作 类型进行说明, 表 1为本发明各实施例中应用的加 VXLAN封装和去 VXLAN封 装的动作类型的结构体, 如表 1所示:  The following describes the types of operations of the VXLAN package and the de-VXLAN package applied in the embodiments of the present invention. Table 1 shows the structure of the action type of the VXLAN package and the VXLAN package applied in the embodiments of the present invention, as shown in Table 1. Shown as follows:

加 VXLAN封装的动作类型为 OFP AT_PUSH_VXLAN , 对应的结构体为 ofp_action_push_vxlan或者 ofp_action_push , 在结构体中增力口了远端所在的 VTEP的 IP地址和外部虚拟局域网 ( Virtual Local Area Network , 筒称 VLAN ) VLAN 标识 ID两个参数, 分别对应 VXLAN封装中的外部目的 IP地址和外部 VLAN字段。 其中, 外部目的 IP地址为表 1中加 VXLAN封装的动作类型的结构 体中的 outer_ip参数;外部 VLAN字段为表 1中加 VXLAN封装的动作类型的结构 体中的 outer_vlan_id参数; 对于不需要设置外部 VLAN的情况, 夕卜部 VLAN ID 参数可以省略。  The action type of the VXLAN encapsulation is OFP AT_PUSH_VXLAN, and the corresponding structure is ofp_action_push_vxlan or ofp_action_push. The IP address of the VTEP where the remote end is located and the external virtual local area network (VLAN) VLAN are added to the structure. The ID ID is two parameters corresponding to the external destination IP address and the external VLAN field in the VXLAN encapsulation. The external destination IP address is the outer_ip parameter in the structure of the action type of the VXLAN encapsulation in Table 1. The external VLAN field is the outer_vlan_id parameter in the structure of the action type of the VXLAN encapsulation in Table 1. In the case of a VLAN, the VLAN ID parameter of the external unit can be omitted.

去 VXLAN封装的动作类型为 OFPAT_POP_VXLAN, 对应的结构体就是 Action结构体头 ofp_action_header , 其中, ofp_action_header为 openflow协议中 定义的一种动作类型的结构体头; 去 VXLAN封装的动作类型的结构体中无需 任何额外信息。 The action type to go to VXLAN encapsulation is OFPAT_POP_VXLAN, and the corresponding structure is The Action structure header ofp_action_header , where ofp_action_header is the structure header of an action type defined in the openflow protocol; no additional information is required in the structure of the action type of the VXLAN encapsulation.

需要说明的是,在加 VXLAN封装的动作类型的结构体中,仅增加了外部 目的 IP地址( outer_ip )和外部 VLAN的 ID( outer_vlan_id ),是因为其他 VXLAN 封装所需的信息均可以通过配置、 查表、 计算等方式获取, 本发明对此不作限 定。  It should be noted that in the structure of the action type of the VXLAN encapsulation, only the external destination IP address (outer_ip) and the ID of the external VLAN (outer_vlan_id) are added, because the information required for other VXLAN packages can be configured, The method of obtaining a table, a calculation, and the like is obtained, and the present invention does not limit this.

Figure imgf000012_0001
Figure imgf000012_0001

其中, struct表示结构, type 表示类型, Length表示长度, ethertype表 示以太网类型, outer— ip表示外部目的 IP地址, outer— vlan— id表示外部 VLAN 的 标 识 ID , pad 表 示 填 充 位 , OFP_ASSERT(sizeof(struct ofp_action_push_vxlan) == 16表示结构体所占字节数为 16字节。 OFP_ASSERT(sizeof(struct ofp— action— header) == 8表示结构体所占 字节数为 8字节。 意图, 应用于 OpenFlow网络中, 如图 1所示, 本实施例的可扩展虚拟局域网报 文的传输方法可以包括:  Where struct represents the structure, type represents the type, Length represents the length, ethertype represents the Ethernet type, outer_ip represents the external destination IP address, outer_vlan_id represents the ID of the external VLAN, pad represents the padding, OFP_ASSERT(sizeof( Struct ofp_action_push_vxlan) == 16 indicates that the number of bytes occupied by the structure is 16 bytes. OFP_ASSERT(sizeof(struct ofp_action_header) == 8 means that the number of bytes occupied by the structure is 8 bytes. In the OpenFlow network, as shown in FIG. 1, the method for transmitting the scalable virtual local area network packet in this embodiment may include:

101、开放流交换机接收位于开放流网络中的第一虚拟机发送的第一报文, 根据所述第一报文的信息构建所述第一报文的匹配项; 101. The OpenFlow switch receives the first packet sent by the first virtual machine located in the OpenFlow network. Constructing a match of the first packet according to the information of the first packet;

其中, 第一 4艮文的信息中包括但不限于源 MAC地址、 源 IP、 目的 MAC 地址和目的 IP, 第一报文可以为广播报文、 组播报文、 未知单播报文或者已 知单播报文。  The first packet includes, but is not limited to, a source MAC address, a source IP address, a destination MAC address, and a destination IP address. The first packet may be a broadcast packet, a multicast packet, an unknown unicast packet, or a known packet. Unicast message.

假设第一虚拟机知道第二虚拟机的 MAC地址, 则第一虚拟机发送的第一 报文为已知单播报文, 第一报文的信息中包括第一虚拟机 MAC地址、 第一虚 拟机 IP、第二虚拟机 MAC地址和第二虚拟机 IP;假设第一虚拟机不知道第二 虚拟机的 MAC地址, 则第一虚拟机发送的第一报文为广播报文, 具体可以为 地址解析协议(Address Resolution Protocol, 筒称 ARP )请求报文, 第一报文 的信息中包括第一虚拟机 MAC地址、 第一虚拟机 IP、 广播 MAC地址和第二 虚拟机 IP。  Assume that the first virtual machine knows the MAC address of the second virtual machine, the first packet sent by the first virtual machine is a known unicast packet, and the information of the first packet includes the first virtual machine MAC address and the first virtual The machine IP, the second virtual machine MAC address, and the second virtual machine IP; if the first virtual machine does not know the MAC address of the second virtual machine, the first packet sent by the first virtual machine is a broadcast packet, which may be The address resolution protocol (ARP) request message includes the first virtual machine MAC address, the first virtual machine IP, the broadcast MAC address, and the second virtual machine IP.

本实施例中, 所述第一 4艮文的匹配项中包含第一 4艮文的信息, 进一步地, 所述第一 4艮文的匹配项中还包括第一 4艮文的入端端口信息。  In this embodiment, the matching item of the first message includes the information of the first message, and further, the matching of the first message further includes the port of the first port. information.

102、 根据所述第一报文的匹配项, 获取与所述第一报文的匹配项对应的 第一流表项;  Obtaining, by the matching item of the first packet, a first flow entry corresponding to the matching item of the first packet;

举例来说, 开放流交换机中预设有流表, 用于保存未超期的流表项, 图 2 为 OpenFlow协议规定的流表项的结构示意图, 如图 2所示, 通常, 流表项中 包括匹配项、 优先级、 计数器、 指令和超时, 其中, 匹配项中包括报文信息, 用于匹配对应的流表项。优先级表示流表项的匹配优先权。计数器统计匹配该 流表项的报文数目。 指令中包括动作或动作集(英文: Action或 Action Set ), 进一步地, 指令中还可以包括下一级查询的流表等信息。超时表示该流表项在 开放流交换机的过期时间。通常,在一个流表项中最重要的就是匹配项和指令, 也是实现 OpenFlow网络中正常转发报文的关键。  For example, the flow table is pre-configured to store the flow entries that are not expired. Figure 2 shows the structure of the flow entries specified in the OpenFlow protocol. As shown in Figure 2, the flow entries are usually The matching item includes a matching item, a priority, a counter, an instruction, and a timeout, where the matching item includes packet information, and is used to match the corresponding flow entry. The priority indicates the matching priority of the flow entry. The counter counts the number of packets matching the flow entry. The instruction includes an action or action set (English: Action or Action Set). Further, the instruction may further include information such as a flow table of the next level query. The timeout indicates the expiration time of the flow entry in the open flow switch. Generally, the most important one in a flow entry is the match and the instruction. It is also the key to implementing the normal forwarding of packets in the OpenFlow network.

进一步地, 开放流交换机可以根据第一报文的匹配项, 查询开放流交换机 的流表, 若确定流表中保存有与所述第一报文的匹配项对应的第一流表项, 则 从所述流表中获取所述第一流表项 ,否则将所述第一报文和所述第一报文的匹 配项发送给开放流控制器,以使所述开放流控制器向所述开放流交换机发送与 所述第一报文的匹配项对应的第一流表项。  Further, the open flow switch may query the flow table of the open flow switch according to the matching item of the first packet, and if it is determined that the first flow entry corresponding to the matching item of the first packet is saved in the flow table, Obtaining the first flow entry in the flow table, and sending a matching event between the first packet and the first packet to an open flow controller, so that the open flow controller is open to the The flow switch sends a first flow entry corresponding to the matching of the first packet.

103、 根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。 103. Encapsulate the first packet according to the first flow entry to expand the virtual local area network. The VXLAN encapsulation sends the encapsulated first packet to the second virtual machine.

由于第一虚拟机位于开放流网络中,第一虚拟机发送的第一 4艮文是未加封 有 VXLAN封装, 为了能够顺利将第一报文发送给远端的第二虚拟机, 具体实 现时:  The first virtual machine is located in the OpenFlow network, and the first virtual machine sends the first packet to the VXLAN encapsulation. In order to successfully send the first packet to the remote second virtual machine, the specific implementation time is implemented. :

例如, 在现有的 OpenFlow协议中规定的 Action类型的基础上, 增加了新 的 Action类型, 其中, 新增的 Action类型包括加 VXLAN封装, 加 VXLAN 封装为 OFPAT_PUSH_VXLAN, 其中, 加 VXLAN封装的动作类型的结构体 中包括但不限于远端所在的 VTEP的 IP地址和外部 VLAN 标识 ID两个参数, 分别对应 VXLAN封装中的外部目的 IP和外部 VLAN字段。 对于不需要设置 外部 VLAN的情况, 外部 VLAN ID参数可以省略。  For example, based on the Action type specified in the existing OpenFlow protocol, a new Action type is added, wherein the added Action type includes a VXLAN package, and the VXLAN package is OFPAT_PUSH_VXLAN, where the action type of the VXLAN package is added. The structure includes, but is not limited to, the VTEP IP address and the external VLAN ID of the remote end, which correspond to the external destination IP and external VLAN fields in the VXLAN encapsulation. For the case where an external VLAN is not required to be set, the external VLAN ID parameter can be omitted.

因此,第一流表项的指令中的动作类型为加 VXLAN封装,所述加 VXLAN 封装的结构体中包括所述第二虚拟机所在的 VTEP的 IP地址。 对应地, 开放 流交换机根据第一流表项的指令中的动作类型(加 VXLAN封装)对第一报文 加封 VXLAN封装, 将封装后的第一报文发送给第二虚拟机。  Therefore, the action type in the instruction of the first flow entry is a VXLAN encapsulation, and the VXLAN encapsulated structure includes the IP address of the VTEP where the second virtual machine is located. Correspondingly, the OpenFlow switch encapsulates the first packet with the VXLAN encapsulation according to the action type (adding VXLAN encapsulation) in the instruction of the first flow entry, and sends the encapsulated first packet to the second virtual machine.

又例如, 在现有的 OpenFlow协议中规定的 Action类型的基础上, 增加了 新的 Action类型和新的匹配项, 其中, 新增的 Action类型包括加 VXLAN封 装, 其中, 加 VXLAN封装的动作类型的结构体可以用现有的 OpenFlow协议 已有的用于加头的通用结构体 ofp_action_push。 其中, 新的匹配项 OXM_OF_OUTER_IP用于表示远端所在的 VTEP的 IP地址。  For example, based on the Action type specified in the existing OpenFlow protocol, a new Action type and a new match are added, wherein the added Action type includes a VXLAN encapsulation, wherein the action type of the VXLAN encapsulation is added. The structure can use the existing generic structure ofp_action_push for the header in the existing OpenFlow protocol. The new match OXM_OF_OUTER_IP is used to indicate the IP address of the VTEP where the remote end is located.

因此, 第一流表项的指令中包括加 VXLAN封装,所述第一流表项的匹配 项中包括所述第二虚拟机所在的 VTEP的 IP地址。 对应地, 开放流交换机根 据第一流表项的指令中包括的动作类型(加 VXLAN封装)以及第一流表项的 匹配项中包括的第二虚拟机所在的 VTEP 的 IP 地址, 对所述第一 4艮文加封 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。  Therefore, the instruction of the first flow entry includes a VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VTEP where the second virtual machine is located. Correspondingly, the open flow switch is configured according to the action type (plus VXLAN encapsulation) included in the instruction of the first flow entry and the IP address of the VTEP where the second virtual machine included in the matching of the first flow entry is located, The encapsulation VXLAN encapsulation sends the encapsulated first packet to the second virtual machine.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上, 新增了新的动作类型(加 VXLAN封装)或新的匹配项的技术手段, 从而 使得开放流交换机接收本地虚拟机向远端虚拟机发送报文时,根据报文信息构 建的匹配项, 获取到对应的流表项, 进一步, 根据流表项对报文加封 VXLAN 封装, 并将封装后的报文发送给远端虚拟机, 可以解决现有的 OpenFlow网络 协议中没有对 VXLAN的支持, 导致的不利于 VXLAN在 OpenFlow网络中的 部署, VXLAN的应用领域受限的问题; 可以充分利用现有的 OpenFlow协议 的优势, 在保持统一机制的前提下, 实现了的 OpenFlow对 VXLAN的完全支 持, 降低了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用 领域, 丰富了 OpenFlow协议, 有利于协议的进一步发展。 程示意图, 应用于 OpenFlow网络中, 如图 3所示, 包括: The embodiment of the present invention adopts a new action type (plus VXLAN encapsulation) or a new matching item on the basis of the Action type specified in the existing OpenFlow protocol, so that the OpenFlow switch receives the local virtual machine. When a packet is sent to the remote VM, the corresponding entry is obtained based on the matching of the packet information. The packet is encapsulated in the VXLAN according to the flow entry, and the encapsulated packet is sent to the remote device. End virtual machine, which can solve existing OpenFlow network There is no support for VXLAN in the protocol, which is not conducive to the deployment of VXLAN in OpenFlow network, and the application field of VXLAN is limited. The advantages of the existing OpenFlow protocol can be fully utilized, and the unified mechanism is implemented. OpenFlow's full support for VXLAN reduces the difficulty of deploying VXLAN in OpenFlow networks, opens up the application field of VXLAN, and enriches the OpenFlow protocol, which is conducive to the further development of the protocol. The schematic diagram is applied to the OpenFlow network. As shown in Figure 3, it includes:

301、 开放流交换机接收第二虚拟机发送的第二报文, 根据所述第二报文 的信息构建所述第二报文的匹配项;  301. The OpenFlow switch receives the second packet sent by the second virtual machine, and constructs a matching event of the second packet according to the information of the second packet.

其中, 第二报文的信息中包括但不限于源 MAC地址、 源 IP、 目的 MAC 地址和目的 IP, 第二报文可以为广播报文、 组播报文、 未知单播报文或者已 知单播报文。  The information of the second packet includes, but is not limited to, a source MAC address, a source IP address, a destination MAC address, and a destination IP address. The second packet may be a broadcast packet, a multicast packet, an unknown unicast packet, or a known list. Broadcast message.

假设第二虚拟机知道第一虚拟机的 MAC地址, 第二虚拟机向第一虚拟机 发送的第二 4艮文的信息中包括的源 MAC地址、 源 IP、 目的 MAC和目的 IP; 其中, 源 MAC为第二虚拟机 MAC地址、 源 IP为第二虚拟机 IP、 目的 MAC 地址为第一虚拟机 MAC地址、 目的 IP为第一虚拟机 IP。  Assuming that the second virtual machine knows the MAC address of the first virtual machine, and the source MAC address, the source IP address, the destination MAC address, and the destination IP address included in the information of the second virtual machine sent by the second virtual machine to the first virtual machine; The source MAC is the second virtual machine MAC address, the source IP is the second virtual machine IP, the destination MAC address is the first virtual machine MAC address, and the destination IP is the first virtual machine IP.

本实施例中, 所述第二 4艮文的匹配项中包含第二 4艮文的信息, 进一步地, 所述第二 ·^艮文的匹配项中还包括第二 4艮文的入端端口信息。  In this embodiment, the matching item of the second message includes the information of the second message, and further, the matching of the second message further includes the entry of the second message. Port information.

302、 根据所述第二报文的匹配项, 获取与所述第二报文的匹配项对应的 第二流表项;  302. Acquire, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet.

具体地, 开放流交换机可以根据第二报文的匹配项, 查询开放流交换机的 流表, 若确定流表中保存有与所述第二报文的匹配项对应的第二流表项, 则从 所述流表中获取所述第二流表项,否则将所述第二报文和所述第二报文的匹配 项发送给开放流控制器,以使所述开放流控制器向所述开放流交换机发送与所 述第二报文的匹配项对应的第二流表项。  Specifically, the OpenFlow switch may query the flow table of the OpenFlow switch according to the matching item of the second packet, and if it is determined that the second flow entry corresponding to the matching item of the second packet is saved in the flow table, Obtaining the second flow entry from the flow table, and sending a matching event between the second packet and the second packet to an open flow controller, so that the open flow controller is located The OpenFlow switch sends a second flow entry corresponding to the matching of the second packet.

303、 根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装, 将所述解封后的第二报文发送给位于所述开放流网络中的第一 虚拟机;  303. Decapsulate the expandable virtual local area network VXLAN encapsulation of the second packet according to the second flow entry, and send the decapsulated second packet to the first virtual located in the open flow network. Machine

由于第二虚拟机发送的第二报文加封有 VXLAN封装,为了能够顺利将第 二报文发送给位于开放流网络外部的第一虚拟机, 具体实现时: Since the second message sent by the second virtual machine is sealed with a VXLAN package, in order to be able to smoothly The second packet is sent to the first virtual machine located outside the OpenFlow network.

例如, 在现有的 OpenFlow协议中规定的 Action类型的基础上, 增加了新 的 Action 类型, 其中, 新增的 Action 类型包括去 VXLAN 封装 OFPAT_POP_VXLAN , 其中, 去 VXLAN封装的动作类型的结构体中可以不 包括任何信息, 而且, 去 VXLAN 封装的动作类型的结构体可以为现有 OpenFlow协议规定的 Action结构体头。  For example, based on the Action type specified in the existing OpenFlow protocol, a new Action type is added, wherein the newly added Action type includes a VXLAN encapsulation OFTAT_POP_VXLAN, wherein the structure of the action type of the VXLAN encapsulation can be It does not include any information, and the structure of the action type that goes to the VXLAN encapsulation can be the Action structure header specified by the existing OpenFlow protocol.

因此, 第二流表项的指令中的动作类型为去 VXLAN封装, 对应地, 开放 流交换机根据第二流表项的指令中的动作类型(去 VXLAN封装 )对第二报文 解封 VXLAN封装,将解封后的第二 ·^艮文发送给位于所述开放流网络中的第一 虚拟机。  Therefore, the action type in the instruction of the second flow entry is a de-VXLAN encapsulation, and correspondingly, the OpenFlow switch decapsulates the VXLAN encapsulation of the second packet according to the action type (de-VXLAN encapsulation) in the instruction of the second flow entry. And sending the decapsulated second message to the first virtual machine located in the open flow network.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上,新增了去 VXLAN封装的动作类型的技术手段,从而使得开放流交换机在 接收到远端虚拟机向本地虚拟机发送的加封有 VXLAN封装的报文时,根据报 文信息构建的匹配项,获取对应的流表项,进一步,根据流表项中的去 VXLAN 封装对所述报文解封所述 VXLAN封装,之后, 开放流交换机将解封后的报文 发送给位于 OpenFlow网络中的虚拟机; 可以解决现有的 OpenFlow网络协议 中没有对 VXLAN的完全支持, 导致的不利于 VXLAN在 OpenFlow网络中的 部署, VXLAN的应用领域受限的问题; 可以充分利用现有的 OpenFlow协议 的优势, 在保持统一机制的前提下, 实现了的 OpenFlow对 VXLAN的完全支 持, 降低了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用 领域, 丰富了 OpenFlow协议, 有利于协议的进一步发展。 程示意图, 应用于 OpenFlow网络中, 如图 4所示, 包括:  The embodiment of the present invention adds a technical means for removing the action type of the VXLAN encapsulation based on the Action type specified in the existing OpenFlow protocol, so that the OpenFlow switch receives the remote virtual machine and sends it to the local virtual machine. When the packet encapsulated by the VXLAN is encapsulated, the corresponding flow entry is obtained according to the matching item constructed by the packet information, and further, the VXLAN encapsulation is decapsulated according to the de-VXLAN encapsulation in the flow entry, and then The OpenFlow switch sends the decapsulated packet to the virtual machine located in the OpenFlow network. It can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is not conducive to VXLAN deployment in the OpenFlow network. VXLAN The application domain is limited; the advantages of the existing OpenFlow protocol can be fully utilized, and the complete support of VXLAN by OpenFlow is realized under the premise of maintaining the unified mechanism, which reduces the difficulty of deploying VXLAN in the OpenFlow network. The application field of VXLAN enriches the OpenFlow protocol, which is conducive to the further development of the protocol.The schematic diagram is applied to the OpenFlow network, as shown in Figure 4, including:

401、 开放流控制器接收开放流交换机发送的第一报文和所述第一报文的 匹配项。  401. The OpenFlow controller receives a match between the first packet sent by the OpenFlow switch and the first packet.

其中,所述第一报文为所述开放流交换机接收位于本地开放流网络中的第 一虚拟机发送的报文,所述第一报文的匹配项为所述开放流交换机根据所述第 一报文的信息构建的。  The first packet is that the OpenFlow switch receives the packet sent by the first virtual machine in the local OpenFlow network, and the matching item of the first packet is the OpenFlow switch according to the A message is constructed from the information.

402、 根据所述第一报文的匹配项, 获取与所述第一报文的匹配项对应的 第一流表项; 402. Acquire, according to the matching item of the first packet, a matching item corresponding to the first packet. First flow entry;

具体地, 假设开放流控制器预设有流表, 流表中保存未超期的流表项, 开 放流控制器根据所述第一报文的匹配项, 查询流表, 若存在与所述第一报文的 匹配项对应的第一流表项, 则从所述流表中获取所述第一流表项; 若不存在与 所述第一 ^艮文的匹配项对应的第一流表项, 则构建所述第一流表项。具体实现 时:  Specifically, it is assumed that the open flow controller is pre-configured with a flow table, and the flow table stores the flow entry that is not expired, and the open flow controller queries the flow table according to the matching item of the first packet, if If the first flow entry corresponding to the match of the message is obtained, the first flow entry is obtained from the flow table; if there is no first flow entry corresponding to the match of the first message, Constructing the first flow entry. When the specific implementation:

例如, 开放流控制器未完成对 VXLAN的地址学习, 没有建立第二虚拟机 的标识地址与第二虚拟机所在的 VTEP的 IP地址之间的对应关系时, 如图 7 所示, 在开放流控制器中部署有 VTEP控制层面, VTEP控制层面中预设有 VXLAN VNI-组播地址对应表,开放流控制器根据第一报文的信息中包含的第 一虚拟机的 MAC地址和 IP地址, 通过查找 VXLAN VNI-组播地址对应表, 得到第一虚拟机所属 VXLAN对应的组播地址,将获得的组播地址作为第二虚 拟机所在的 VTEP的 IP地址; 其中所述第二虚拟机的标识地址包括所述第二 虚拟机的 MAC地址和 IP地址。  For example, when the OpenFlow controller does not complete the address learning for the VXLAN, and does not establish a correspondence between the identifier address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located, as shown in FIG. 7, in the open flow A VTEP control plane is deployed in the controller, and a VXLAN VNI-multicast address correspondence table is pre-configured in the VTEP control layer, and the OpenFlow controller determines the MAC address and IP address of the first virtual machine included in the information of the first packet. The VXLAN VNI-multicast address mapping table is used to obtain the multicast address corresponding to the VXLAN to which the first virtual machine belongs, and the obtained multicast address is used as the IP address of the VTEP where the second virtual machine is located. The identification address includes a MAC address and an IP address of the second virtual machine.

又例如, 开放流控制器已经完成对 VXLAN的地址学习,且建立第二虚拟 机的标识地址与第二虚拟机所在的 VTEP的 IP地址之间的对应关系时, 开放 流控制器直接根据第二虚拟机的 MAC地址获取第二虚拟机所在的 VTEP的 IP 地址;其中所述第二虚拟机的标识地址包括所述第二虚拟机的 MAC地址和 IP 地址。  For another example, when the OpenFlow controller has completed the address learning of the VXLAN and establishes a correspondence between the identifier address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located, the OpenFlow controller directly according to the second The MAC address of the virtual machine acquires the IP address of the VTEP where the second virtual machine is located; wherein the identifier address of the second virtual machine includes the MAC address and the IP address of the second virtual machine.

由于第一虚拟机位于开放流交换机本地,第一虚拟机发送的第一 4艮文是未 加封有 VXLAN封装, 为了能够顺利将第一报文发送给远端的第二虚拟机,在 一种可选的实施方式中,在现有的 OpenFlow协议中规定的 Action类型的基础 上, 增加了新的 Action类型, 其中, 新增的 Action类型包括加 VXLAN封装 OFPAT_PUSH_VXLAN ,其中,加 VXLAN封装的结构体中包括但不限于远端 所在的 VTEP的 IP地址和外部 VLAN标识 ID两个参数, 分别对应 VXLAN 封装中的外部目的 IP和外部 VLAN字段。对于不需要设置外部 VLAN的情况, 外部 VLAN ID参数可以省略。 因此, 开放流控制器构建的第一流表项的指令 中的动作类型为加 VXLAN封装, 并将第二虚拟机所在的 VTEP的 IP地址添 力口到力。 VXLAN封装的结构体中的 outer_ip参数中, outer_ip表示外部目的 IP。 在另一种可选的实施方式中,在现有的 OpenFlow协议中规定的 Action类 型的基础上, 增加了新的 Action类型和新的匹配项, 其中, 新增的 Action类 型包括加 VXLAN 封装, 其中, 加 VXLAN 封装的结构体可以用现有的 OpenFlow协议已有的用于加头的通用结构体, 其中, OpenFlow协议已有的用 于力口头 的通用 结构体为 ofp_action_push。 其 中 , 新的 匹 配项 OXM_OF_OUTER_IP用于表示远端所在的 VTEP的 IP地址。 因此, 开放流控 制器构建的第一流表项的指令中包括加 VXLAN封装, 将第二虚拟机所在的 VTEP的 IP地址添加到第一流表项的匹配项中。 The first virtual machine is located in the local area of the open flow switch, and the first virtual file sent by the first virtual machine is not encapsulated with a VXLAN encapsulation. In order to successfully send the first packet to the remote second virtual machine, In an optional implementation manner, a new Action type is added on the basis of the Action type specified in the existing OpenFlow protocol, where the added Action type includes adding a VXLAN package OFTAT_PUSH_VXLAN, wherein the structure of the VXLAN package is added. The parameters include the IP address of the VTEP and the external VLAN ID of the remote end, which correspond to the external destination IP and external VLAN fields in the VXLAN encapsulation. For the case where an external VLAN is not required to be set, the external VLAN ID parameter can be omitted. Therefore, the action type in the instruction of the first flow entry constructed by the OpenFlow controller is a VXLAN encapsulation, and the IP address of the VTEP where the second virtual machine is located is added to the force. In the outer_ip parameter in the structure of the VXLAN package, outer_ip represents the external destination IP. In another optional implementation manner, a new Action type and a new matching item are added on the basis of the Action type specified in the existing OpenFlow protocol, and the added Action type includes a VXLAN encapsulation. The structure added with the VXLAN package can use the existing general structure of the existing OpenFlow protocol for the header, wherein the general structure of the OpenFlow protocol for force verbal is ofp_action_push. The new match OXM_OF_OUTER_IP is used to indicate the IP address of the VTEP where the remote end is located. Therefore, the instruction of the first flow entry that is configured by the open flow controller includes adding a VXLAN encapsulation, and adding the IP address of the VTEP where the second virtual machine is located to the matching entry of the first flow entry.

403、 将所述第一流表项发送给所述开放流交换机。  403. Send the first flow entry to the open flow switch.

对应地,开放流交换机根据所述第一流表项对所述第一报文加封可扩展虚 拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。  Correspondingly, the OpenFlow switch encapsulates the first packet with the scalable virtual LAN VXLAN encapsulation according to the first flow entry, and sends the encapsulated first packet to the second virtual machine.

可选地,开放流控制器根据所述第一流表项对所述第一报文加封可扩展虚 拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。  Optionally, the OpenFlow controller encapsulates the first packet with the scalable virtual local area network VXLAN encapsulation according to the first flow entry, and sends the encapsulated first packet to the second virtual machine.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上,新增了加 VXLAN封装的动作类型和新的匹配项的技术手段,使得开放流 控制器根据开放流交换机发送的报文及其匹配项,构建或确定与所述匹配项对 应的流表项, 并将流表项发送给开放流交换机,使得开放流交换机根据开放流 控制器发送的流表项中包含的加 VXLAN 封装的动作类型, 对报文加封 VXLAN 封装, 将封装后的报文发送给远端的虚拟机; 可以解决现有的 OpenFlow网络协议中没有对 VXLAN的完全支持, 导致的不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的应用领域受限的问题; 可以充分利用现 有的 OpenFlow协议的优势, 在保持统一机制的前提下, 实现了的 OpenFlow 对 VXLAN的完全支持, 降低了 VXLAN在 OpenFlow网络中部署的难度, 开 拓了 VXLAN的应用领域,丰富了 OpenFlow协议,有利于协议的进一步发展。 程示意图; 应用于 OpenFlow网络中, 如图 5所示, 包括:  The embodiment of the present invention adopts the action type specified in the existing OpenFlow protocol, and adds a technical means for adding the action type and the new matching item of the VXLAN encapsulation, so that the OpenFlow controller sends the report according to the OpenFlow switch. And the matching item, constructing or determining a flow entry corresponding to the matching item, and sending the flow entry to the OpenFlow switch, so that the OpenFlow switch adds the VXLAN included in the flow entry sent by the OpenFlow controller. The encapsulation action type encapsulates the packet into the VXLAN encapsulation and sends the encapsulated packet to the remote virtual machine. It can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is not conducive to VXLAN in the OpenFlow network. In the deployment, VXLAN's application domain is limited; the advantages of the existing OpenFlow protocol can be fully utilized, and OpenFlow's full support for VXLAN is achieved under the premise of maintaining a unified mechanism, which reduces the deployment of VXLAN in the OpenFlow network. Difficulty, opened up the application field of VXLAN, enriched the OpenFlow protocol, and facilitated the agreement. Further development. Schematic diagram; applied to the OpenFlow network, as shown in Figure 5, including:

501、 开放流控制器接收开放流交交换机发送的第二报文和所述第二报文 的匹配项。  501. The OpenFlow controller receives a match between the second packet sent by the open flow switch and the second packet.

其中, 所述第二报文为所述开放流交换机接收第二虚拟机发送的报文, 所 述第二报文的匹配项为所述开放流交换机根据所述第二报文的信息构建的。由 于第二报文是位于远端的第二虚拟机发送的, 第二报文加封有 VXLAN封装。 The second packet is a packet sent by the OpenFlow switch to the second virtual machine. The matching item of the second packet is configured by the OpenFlow switch according to the information of the second packet. Since the second packet is sent by the second virtual machine located at the remote end, the second packet is encapsulated with a VXLAN encapsulation.

可选地, 开放流控制器可以根据第二报文的 VXLAN封装, 获取第二虚拟 机所在的 VTEP的 IP地址, 根据第二报文的信息获取第二虚拟机的 MAC地 址, 建立所述第二虚拟机的标识地址与所述第二虚拟机所在的 VTEP的 IP地 址之间的对应关系,从而完成 VXLAN的地址学习过程; 其中所述第二虚拟机 的标识地址包括所述第二虚拟机的 MAC地址和 IP地址。  Optionally, the open flow controller may obtain the IP address of the VTEP where the second virtual machine is located according to the VXLAN encapsulation of the second packet, and obtain the MAC address of the second virtual machine according to the information of the second packet, and establish the first Corresponding relationship between the identifier address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located, thereby completing the address learning process of the VXLAN; wherein the identifier address of the second virtual machine includes the second virtual machine MAC address and IP address.

502、 根据所述第二报文的匹配项, 获取与所述第二报文的匹配项对应的 第二流表项;  502. Obtain, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet.

开放流控制器查询所述开放流控制器的流表,若存在与所述第二报文的匹 配项对应的第二流表项, 则从所述流表中获取所述第二流表项;  The open flow controller queries the flow table of the open flow controller, and if there is a second flow entry corresponding to the matching of the second packet, the second flow entry is obtained from the flow table. ;

若不存在与所述第二报文的匹配项对应的第二流表项,则构建所述第二流 表项。 具体实现时:  If the second flow entry corresponding to the matching of the second packet does not exist, the second flow entry is constructed. Specific implementation:

第二虚拟机发送的第二 ·^艮文是加封有 VXLAN封装,为了能够顺利将第二 报文发送给位于开放流交换机本地的第一虚拟机, 在一种可选的实施方式中, 在现有的 OpenFlow协议中规定的 Action类型的基础上, 增加了新的 Action 类型, 其中, 新增的 Action类型包括去 VXLAN封装, 去 VXLAN封装的动 作类型对应的结构体中可以不包括任何信息, 而且,去 VXLAN封装的结构体 可以为现有 OpenFlow协议规定的 Action结构体头。 因此, 开放流控制器构建 的第二流表项的指令中的动作类型为去 VXLAN封装。  The second virtual machine sends the second virtual machine with the VXLAN encapsulation. In order to successfully send the second packet to the first virtual machine local to the open flow switch, in an optional implementation manner, Based on the Action type specified in the existing OpenFlow protocol, a new Action type is added. The new Action type includes a VXLAN encapsulation. The structure corresponding to the action type of the VXLAN encapsulation may not include any information. Moreover, the structure to the VXLAN package can be the Action structure header specified by the existing OpenFlow protocol. Therefore, the action type in the instruction of the second flow entry constructed by the OpenFlow controller is de-VXLAN encapsulation.

503、 将所述第二流表项发送给所述开放流交换机。  503. Send the second flow entry to the open flow switch.

对应地,开放流交换机根据所述第二流表项对所述第二报文解封可扩展虚 拟局域网 VXLAN封装,将所述解封后的第二报文发送给位于所述开放流网络 中的第一虚拟机。  Correspondingly, the OpenFlow switch decapsulates the expandable virtual local area network (VXLAN) encapsulation of the second packet according to the second flow entry, and sends the decapsulated second packet to the open flow network. The first virtual machine.

可选地,开放流控制器可以根据步骤 502获取的第二流表项中包含的动作 类型去 VXLAN封装,对所述第二报文解封 VXLAN封装,将所述解封后的第 二报文发送给开放流交换机,使得开放流交换机将解封后的第二报文发送给第 一虚拟机。  Optionally, the OpenFlow controller may perform the VXLAN encapsulation according to the action type included in the second flow entry obtained in step 502, and decapsulate the VXLAN encapsulation of the second packet, and the decapsulated second report. The message is sent to the OpenFlow switch, so that the OpenFlow switch sends the decapsulated second packet to the first virtual machine.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上,新增了去 VXLAN封装的动作类型的技术手段,使得开放流控制器根据开 放流交换机发送的匹配项构建或确定与所述匹配项对应的流表项,并将流表项 发送给开放流交换机,使得开放流交换机根据开放流控制器发送的流表项中包 含的去 VXLAN封装,对所述报文解封 VXLAN封装, 并将解封后的报文发送 给位于本地的虚拟机; 可以解决现有的 OpenFlow网络协议中没有对 VXLAN 的完全支持, 导致的不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的 应用领域受限的问题; 可以充分利用现有的 OpenFlow协议的优势, 在保持统 一机制的前提下,实现了的 OpenFlow对 VXLAN的完全支持,降低了 VXLAN 在 OpenFlow网络中部署的难度,开拓了 VXLAN的应用领域,丰富了 OpenFlow 协议, 有利于协议的进一步发展。 令图; 应用于 OpenFlow网络中, 图 7为本发明实施例提供的可扩展虚拟局域 网 ·^艮文的传输方法应用的系统架构图; 如图 6和图 7所示, 包括: The embodiment of the present invention adopts the basis of the Action type specified in the existing OpenFlow protocol. In the above, a new method for the action type of the VXLAN encapsulation is added, so that the OpenFlow controller constructs or determines a flow entry corresponding to the matching item according to the matching item sent by the OpenFlow switch, and sends the flow entry to the open The flow switch is configured to decapsulate the VXLAN encapsulation of the packet according to the de-VXLAN encapsulation included in the flow entry sent by the OpenFlow controller, and send the decapsulated packet to the local virtual machine. It can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is not conducive to the deployment of VXLAN in the OpenFlow network, and the application field of VXLAN is limited; the advantages of the existing OpenFlow protocol can be fully utilized, Under the premise of the unified mechanism, OpenFlow fully supports VXLAN, which reduces the difficulty of VXLAN deployment in OpenFlow network, opens up the application field of VXLAN, and enriches the OpenFlow protocol, which is conducive to the further development of the protocol. FIG. 7 is a system architecture diagram of an application method for transmitting a scalable virtual local area network according to an embodiment of the present invention; as shown in FIG. 6 and FIG. 7, the method includes:

601、开放流交换机接收虚拟机 VM-1发送的地址解析协议 ARP请求报文。 如图 7所示, OpenFlow网络系统包括开放流交换机、 开放流控制器以及 用于开放流交换机与开放流控制器间通信的 OpenFlow协议。 其中, 在开放流 控制器中部署有 VTEP控制层面, 在开放流交换机中部署有 VTEP数据层面; VM-1与虚拟机 VM-3属于同一个 VXLAN; VM-1所属的 VTEP与 VM-3所属 的 VTEP是不同的。  601. The OpenFlow switch receives an address resolution protocol ARP request packet sent by the virtual machine VM-1. As shown in Figure 7, the OpenFlow network system includes an OpenFlow switch, an OpenFlow controller, and an OpenFlow protocol for communication between the OpenFlow switch and the OpenFlow controller. The VTEP control plane is deployed in the OpenFlow controller, and the VTEP data plane is deployed in the OpenFlow switch; VM-1 and VM-3 belong to the same VXLAN; VTEP and VM-3 to which VM-1 belongs The VTEP is different.

通常,在 VM-1与 VM-3通信前,若 VM-1不知道 VM-3的 MAC地址时, VM-1需要通过 ARP请求报文去获取 VM-3的 MAC地址。 此时, VM-1广播 ARP请求 4艮文, 该 ARP请求 4艮文中包括发送端 MAC地址和 IP地址, 以及目 的 IP地址,其中, 目的 IP地址为 VM-3的 IP地址,发送端 MAC地址为 VM-1 的 MAC地址, 发送端 IP地址为 VM-1的 IP地址。  Generally, before VM-1 communicates with VM-3, if VM-1 does not know the MAC address of VM-3, VM-1 needs to obtain the MAC address of VM-3 through ARP request message. At this time, the VM-1 broadcasts the ARP request message, and the ARP request includes the sender MAC address and the IP address, and the destination IP address, wherein the destination IP address is the IP address of the VM-3, and the sender MAC address. For the MAC address of VM-1, the IP address of the sender is the IP address of VM-1.

602、 开放流交换机将 ARP请求报文以及 ARP请求报文的匹配项发送给 开放流控制器。  602. The OpenFlow switch sends the matching entry of the ARP request packet and the ARP request packet to the OpenFlow controller.

开放流交换机根据 ARP请求报文的信息构建 ARP请求报文的匹配项,查 询本地流表中緩存的流表项中确定不存在与所述匹配项对应的流表项, 则将 ARP请求报文以及 ARP请求报文的匹配项发送给开放流控制器。 603、 开放流控制器构建与 ARP请求 ^艮文的匹配项对应的流表项。 The OpenFlow switch constructs a matching entry of the ARP request packet according to the information of the ARP request packet, and queries the flow entry that is cached in the local flow table to determine that there is no flow entry corresponding to the matching item, and then the ARP request packet is sent. And a match of the ARP request message is sent to the OpenFlow controller. 603. The OpenFlow controller constructs a flow entry corresponding to the matching of the ARP request.

开放流控制器收到 ARP请求报文和 ARP请求报文的匹配项之后,在开放 流控制器的流表中再次匹配。 通常也无法找到匹配的流表项, 此时, 开放流控 制器构建与 ARP请求 ^艮文的匹配项对应的流表项。 具体实现时:  After receiving the match between the ARP request packet and the ARP request packet, the OpenFlow controller matches again in the flow table of the OpenFlow controller. A matching flow entry cannot be found. In this case, the open flow controller constructs a flow entry corresponding to the match of the ARP request. Specific implementation:

开放流控制器根据 ARP请求报文的匹配项可知, 是从本地 VM-1向远端 VM-3 发送 ARP请求 4艮文, 因此, 构建的流表项的指令中包括的 Action为 OFPAT_PUSH_VXLAN和 OFPAT_OUTPUT。 如图 7所示, 在开放流控制器中 部署有 VTEP控制层面, VTEP控制层面中预设有 VXLAN VNI-组播地址对应 表, 因此, 开放流控制器通过查找 VXLAN VNI-组播地址对应表, 得到 VM-1 所属 VXLAN对应的组播地址作为 OFPAT_PUSH_VXLAN 结构体中的对端 ( VM-3 )所属的 VTEP IP地址, 并将 VM-3 所属的 VTEP IP地址添加到 OFPAT_PUSH_VXLAN结构体中。  According to the matching of the ARP request message, the OpenFlow controller sends an ARP request from the local VM-1 to the remote VM-3. Therefore, the actions included in the instruction of the constructed flow entry are OFPAT_PUSH_VXLAN and OFPAT_OUTPUT. . As shown in Figure 7, the VTEP control plane is deployed in the OpenFlow controller, and the VXLAN VNI-Multicast address mapping table is pre-configured in the VTEP control plane. Therefore, the OpenFlow controller looks up the VXLAN VNI-Multicast address mapping table. The multicast address corresponding to the VXLAN to which the VM-1 belongs is obtained as the VTEP IP address to which the peer (VM-3) in the OFTAT_PUSH_VXLAN structure belongs, and the VTEP IP address to which the VM-3 belongs is added to the OFPAT_PUSH_VXLAN structure.

604、 开放流控制器将构建的流表项发送给开放流交换机。  604. The OpenFlow controller sends the constructed flow entry to the OpenFlow switch.

可选地, 开放流控制器可以直接根据构建的流表项中的指令对 ARP请求 报文加封 VXLAN封装, 之后, 将该封装后的 ARP请求报文发送出去。  Optionally, the OpenFlow controller can directly encapsulate the ARP request packet in the VXLAN encapsulation according to the instruction in the configured flow entry, and then send the encapsulated ARP request packet.

605、开放流交换机根据开放流控制器发送的流表项中的指令对 ARP请求 艮文加封 VXLAN封装进行发送。  605. The OpenFlow switch sends the ARP request packet to the VXLAN encapsulation according to the instruction in the flow entry sent by the OpenFlow controller.

可选地,开放流交换机可以将开放流控制器发送的流表项緩存到开放流交 换机的流表中。  Optionally, the OpenFlow switch can cache the flow entry sent by the OpenFlow controller to the flow table of the OpenFlow switch.

606、开放流交换机接收从 VM-3返回的加封有 VXLAN封装的 ARP应答 报文。  606. The OpenFlow switch receives the ARP reply packet encapsulated with the VXLAN encapsulation returned from the VM-3.

当远端的 VM-3接收到 VM-1广播的 ARP请求报文时, 确定 VM-1需要 与 VM-3进行通信,此时, VM-3可以向 VM-1返回一个 ARP应答报文,其中, ARP应答报文加封有 VXLAN封装。  When the remote VM-3 receives the ARP request packet broadcasted by the VM-1, it is determined that the VM-1 needs to communicate with the VM-3. At this time, the VM-3 may return an ARP response packet to the VM-1. The ARP response packet is encapsulated in a VXLAN encapsulation.

607、 开放流交换机将加封有 VXLAN封装的 ARP应答报文和 ARP应答 报文的匹配项发给开放流控制器。  607. The OpenFlow switch sends a matching entry between the ARP reply packet and the ARP reply packet encapsulated by the VXLAN to the OpenFlow controller.

当开放流交换机收到从 VM-3发回的加封有 VXLAN封装的 ARP应答报 文之后,提取 VXLAN封装内部的 ARP应答 ^艮文的信息构建 ARP应答 4艮文的 匹配项, 并通过开放流交换机的流表中緩存的流表项, 若确定不存在与 ARP 应答报文的匹配项对应的流表项, 则将加封有 VXLAN封装的 ARP应答报文 和 ARP应答报文的匹配项发给开放流控制器。 After receiving the ARP reply packet encapsulated with the VXLAN encapsulation sent from the VM-3, the OpenFlow switch extracts the ARP response information in the VXLAN encapsulation to construct a matching entry of the ARP response message, and passes the open flow. The flow entry cached in the flow table of the switch. If it is determined that it does not exist with ARP. The flow entry corresponding to the match of the response packet sends a matching entry of the ARP reply packet and the ARP reply packet encapsulated in the VXLAN to the OpenFlow controller.

608、 开放流控制器构建与 ARP应答艮文的匹配项对应的流表项。  608. The OpenFlow controller constructs a flow entry corresponding to the match of the ARP response message.

开放流控制器根据 ARP应答报文的匹配项构建的流表项的指令中包括的 Action为 OFPAT_POP_VXLAN和 OFPAT_OUTPUT。  The actions included in the instruction of the flow table entry constructed by the OpenFlow controller according to the matching of the ARP reply message are OFPAT_POP_VXLAN and OFPAT_OUTPUT.

可选地, 开放流控制器根据 ARP应答 ^艮文中包括的 VM-3的 MAC地址 与 VXLAN封装中包括的 VM-3所属的 VTEP的 IP地址,建立 VM-3的 MAC 地址与 VM-3所属的 VTEP的 IP地址之间的对应关系,并将 VM-3的 MAC地 址与 VM-3所属的 VTEP的 IP地址之间的对应关系保存到 VM MAC-VTEP IP 对应表中, 完成 VXLAN的地址学习过程。  Optionally, the OpenFlow controller establishes the MAC address of the VM-3 and the VM-3 according to the MAC address of the VM-3 included in the ARP response and the IP address of the VTEP to which the VM-3 included in the VXLAN package belongs. Correspondence between the IP addresses of the VTEPs, and the correspondence between the MAC address of the VM-3 and the IP address of the VTEP to which the VM-3 belongs is stored in the VM MAC-VTEP IP correspondence table to complete the VXLAN address learning. process.

609、 开放流控制器将构建的流表项发送给开放流交换机。  609. The OpenFlow controller sends the constructed flow entry to the OpenFlow switch.

610、开放流交换机根据开放流控制器发送的流表项中的指令对 ARP应答 报文解封 VXLAN封装, 并将解封后的 ARP应答报文发送给 VM- 1。  610. The OpenFlow switch decapsulates the ARP reply packet according to the instruction in the flow entry sent by the OpenFlow controller, and sends the decapsulated ARP reply packet to the VM-1.

具体地, 开放流交换机接收开放流控制器发送的流表项, 其中, 该流表项 的指令中包括的 Action 为 OFPAT_POP_VXLAN 和 OFPAT_OUTPUT , OFPAT_POP_VXLAN 的结构体中没有任何信息。 开放流交换机根据 OFPAT_POP_VXLAN 解封 ARP 应答报文的 VXLAN 封装, 根据 OFPAT_OUTPUT的结构体, 将解封后的 ARP应答报文发送给 VM-1。  Specifically, the OpenFlow switch receives the flow entry sent by the OpenFlow controller, where the Action included in the instruction of the flow entry is OFPAT_POP_VXLAN and OFPAT_OUTPUT, and the OFPAT_POP_VXLAN has no information in the structure. The OpenFlow switch decapsulates the VXLAN encapsulation of the ARP reply packet according to the OFPAT_POP_VXLAN, and sends the decapsulated ARP reply packet to VM-1 according to the structure of the OFPAT_OUTPUT.

可选地, 开放流交换机接收开放流控制器发送的流表项, 可以将该流表项 緩存到开放流交换机的流表中。  Optionally, the OpenFlow switch receives the flow entry sent by the OpenFlow controller, and the flow entry can be cached in the flow table of the OpenFlow switch.

611、 开放流交换机接收 VM-1发送的单播报文。  611. The OpenFlow switch receives the unicast packet sent by the VM-1.

当 VM-1接收到 VM-3返回的 ARP应答报文,可以获得 VM-3的 MAC地 址, 之后, VM-1可以向 VM-3发送单播报文。  When VM-1 receives the ARP reply message returned by VM-3, the MAC address of VM-3 can be obtained. After that, VM-1 can send a unicast message to VM-3.

612、 开放流交换机将单播报文及单播报文的匹配项发给开放流控制器。 开放流交换机收到 VM-1发往 VM-3的单播报文时,根据单播报文的信息 构建单播报文的匹配项,查询开放流交换机流表中緩存的流表项中是否存在匹 配的流表项, 假设已緩存的匹配的流表项超时, 无法确定匹配的流表项。 开放 流交换机可以将单播报文和单播报文的匹配项发给开放流控制器。  612. The OpenFlow switch sends the matching between the unicast packet and the unicast packet to the OpenFlow controller. When the OpenFlow switch receives the unicast packet sent by the VM-1 to the VM-3, it constructs a unicast packet match according to the unicast packet information, and queries whether there is a matching in the flow entry cached in the OpenFlow switch flow table. A flow entry, assuming that the cached matching flow entry expires, the matching flow entry cannot be determined. The OpenFlow switch can send the match between the unicast packet and the unicast packet to the OpenFlow controller.

613、 开放流控制器根据单播报文的匹配项构建流表项。 开放流控制器根据开放流交换机发送的单播报文的匹配项,查询开放流控 制器的流表中是否存在对应的流表项, 若存在, 则将该流表项直接发送给开放 流交换机;若不存在对应的流表项,则构建与单播报文的匹配项对应的流表项, 具体为: 613. The OpenFlow controller constructs a flow entry according to a match of the unicast packet. The open flow controller queries the flow table of the open flow controller according to the matching item of the unicast packet sent by the open flow switch, and if yes, sends the flow entry to the open flow switch. If the corresponding flow entry does not exist, the flow entry corresponding to the match of the unicast packet is configured, specifically:

开放流控制器根据单播报文的匹配项可知, 是从本地 VM-1向远端 VM-3 发送单播报文, 因此, 构建的流表项的指令中 包括的 Action 为 OFPAT_PUSH_VXLAN 和 OFPAT_OUTPUT。 通过查找开放流控制器建立的 VM MAC-VTEP IP对应表, 获得 VM-3所属的 VTEP的 IP地址, 将 VM-3所 属的 VTEP的 IP地址填写到 OFPAT_PUSH_VXLAN结构体的 outer_ip参数中。  According to the match of the unicast message, the OpenFlow controller sends a unicast message from the local VM-1 to the remote VM-3. Therefore, the actions included in the instruction of the constructed flow entry are OFPAT_PUSH_VXLAN and OFPAT_OUTPUT. The IP address of the VTEP to which the VM-3 belongs is obtained by looking up the VM MAC-VTEP IP correspondence table established by the OpenFlow controller, and the IP address of the VTEP to which the VM-3 belongs is filled in the outer_ip parameter of the OFPAT_PUSH_VXLAN structure.

614、 开放流控制器将构建的流表项发送给开放流交换机。  614. The OpenFlow controller sends the constructed flow entry to the OpenFlow switch.

615、 开放流交换机根据开放流控制器发送的流表项中的指令对单播报文 加封 VXLAN封装, 将封装后的单播报文发送给 VM-3。  615. The OpenFlow switch encapsulates the unicast packet in the VXLAN encapsulation according to the instruction in the flow entry sent by the OpenFlow controller, and sends the encapsulated unicast packet to the VM-3.

可选地, 开放流交换机可以将开放流控制器发送的流表项緩存到流表中。 进一步地, 当开放流交换机接收到 VM-3发送给 VM-1的加封有 VXLAN 封装的单播报文时,根据加封有 VXLAN封装的单播报文的信息构建对应的匹 配项。 首先在开放流交换机流表中緩存的流表项匹配是否存在对应的流表项, 若不存在,则将加封有 VXLAN封装的单播报文及其对应的匹配项发给开放流 控制器。  Optionally, the OpenFlow switch can cache the flow entry sent by the OpenFlow controller into the flow table. Further, when the OpenFlow switch receives the unicast packet encapsulated with the VXLAN encapsulation sent by the VM-3 to the VM-1, the corresponding matching item is constructed according to the information of the unicast packet encapsulated with the VXLAN encapsulation. First, the flow entry that is cached in the OpenFlow switch flow table matches whether the corresponding flow entry exists. If not, the unicast packet encapsulated with the VXLAN encapsulation and its corresponding matching entry are sent to the OpenFlow controller.

开放流控制器根据加封有 VXLAN封装的单播报文及其对应的匹配项,查 找开放流控制器的流表中是否存在对应的流表项, 若存在, 则直接将匹配的流 表项发送给开放流交换机; 若不存在, 则构建新的流表项, 新的流表项中包括 的 Action为 OFPAT_POP_VXLAN和 OFPAT_OUTPUT , 并将新建的流表项发 送给开放流交换机。  The OpenFlow controller searches for the corresponding flow entry in the flow table of the OpenFlow controller according to the unicast packet encapsulated with the VXLAN encapsulation and the corresponding matching item. If yes, the matching flow entry is directly sent to the flow entry. Open flow switch; if it does not exist, construct a new flow entry. The action included in the new flow entry is OFTAT_POP_VXLAN and OFPAT_OUTPUT, and send the newly created flow entry to the OpenFlow switch.

开放流交换机可以緩存该新建的流表项,根据该新建的流表项中的 Action 解封单播报文的 VXLAN封装, 并将解封后的单播报文发送给 VM-1。  The open flow switch can cache the newly created flow entry, and the VXLAN encapsulation of the unicast packet is decapsulated according to the action in the newly created flow entry, and the decapsulated unicast packet is sent to the VM-1.

通过图 6所示实施例, 对 VM-1与 VM-3间的单播通信, 已经建立了对应 的流表项, 并在开放流交换机中緩存。 如果在 VM-1与 VM-3之间再次单播通 信时,开放流交换机接收到未加封 VXLAN封装或已加封 VXLAN封装的报文 时, 即可在开放流交换机的流表中緩存的流表项中找到匹配的流表项, 并根据 匹配的流表项中 Action的对报文进行加封 VXLAN封装或解封 VXLAN封装 并转发。 Through the embodiment shown in FIG. 6, the corresponding flow entry is established for the unicast communication between VM-1 and VM-3, and is cached in the open flow switch. If the OpenFlow switch receives the unencapsulated VXLAN encapsulation or the encapsulated VXLAN encapsulation packet when the unicast communication is again unicast between VM-1 and VM-3, the flow table cached in the flow table of the OpenFlow switch can be cached. Find the matching flow entry in the item, and The matched packets in the matching flow entry are encapsulated in a VXLAN encapsulation or decapsulation VXLAN encapsulation and forwarded.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上, 新增了动作类型(加 VXLAN封装和去 VXLAN封装)的技术手段, 使得 开放流控制器根据开放流交换机发送的匹配项构建或确定与所述匹配项对应 的流表项, 并将流表项发送给开放流交换机,使得开放流交换机根据开放流控 制器发送的流表项中的指令对所述报文加封 VXLAN封装或者解封 VXLAN封 装,并发送加封 VXLAN封装或解封 VXLAN封装后的报文给远端的虚拟机或 者本地虚拟机; 可以解决现有的 OpenFlow网络协议中没有对 VXLAN的完全 支持, 导致的不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的应用领 域受限的问题; 可以充分利用现有的 OpenFlow协议的优势, 在保持统一机制 的前提下, 实现了的 OpenFlow对 VXLAN的完全支持, 降低了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用领域, 丰富了 OpenFlow 协议, 有利于协议的进一步发展。  In the embodiment of the present invention, based on the Action type specified in the existing OpenFlow protocol, a technical means of adding an action type (plus VXLAN encapsulation and de-VXLAN encapsulation) is added, so that the OpenFlow controller sends a match according to the OpenFlow switch. The item constructs or determines a flow entry corresponding to the match, and sends the flow entry to the OpenFlow switch, so that the OpenFlow switch encapsulates the VXLAN according to an instruction in the flow entry sent by the OpenFlow controller. Encapsulate or decapsulate the VXLAN package, and send the encapsulated VXLAN package or unpack the VXLAN encapsulated packet to the remote virtual machine or the local virtual machine; it can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN. It is not conducive to the deployment of VXLAN in the OpenFlow network, and the application field of VXLAN is limited. The advantages of the existing OpenFlow protocol can be fully utilized, and the OpenFlow support for VXLAN is fully realized under the premise of maintaining the unified mechanism. The difficulty of deploying VXLAN in OpenFlow network has opened up the application field of VXLAN. The OpenFlow protocol, is conducive to the further development of the agreement.

图 8为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结构 示意图; 位于开放流交换机侧, 应用于开放流网络中, 如图 8所示, 具体包括: 构建模块 81 , 用于接收第一虚拟机发送的第一报文, 根据所述第一报文 的信息构建所述第一 4艮文的匹配项;  FIG. 8 is a schematic structural diagram of an apparatus for transmitting an extensible virtual local area network (LAN) packet according to another embodiment of the present invention; and is located in an open flow network, and is applied to an open flow network, as shown in FIG. The first packet sent by the first virtual machine is received, and the matching item of the first message is constructed according to the information of the first packet;

获取模块 82, 用于根据所述构建模块构建的第一报文的匹配项, 获取与 所述第一报文的匹配项对应的第一流表项;  The obtaining module 82 is configured to obtain, according to the matching item of the first packet that is configured by the building module, a first flow entry corresponding to the matching item of the first packet;

封装模块 83, 用于根据所述获取模块获取的第一流表项对所述第一报文 加封可扩展虚拟局域网 VXLAN封装,将所述封装后的第一报文发送给第二虚 拟机;  The encapsulating module 83 is configured to encapsulate the first packet with the first virtual flow entry, and the encapsulated first virtual packet is sent to the second virtual machine according to the first flow entry obtained by the acquiring module;

举例来说, 获取模块 82, 具体用于查询所述开放流交换机的流表, 若确 定所述流表中保存有与所述第一报文的匹配项对应的第一流表项,则从所述流 表中获取所述第一流表项 ,否则将所述第一报文和所述第一报文的匹配项发送 给开放流控制器,以使所述开放流控制器向所述开放流交换机发送与所述第一 报文的匹配项对应的第一流表项。  For example, the obtaining module 82 is specifically configured to query a flow table of the OpenFlow switch, and if it is determined that the flow table has a first flow entry corresponding to the matching item of the first packet, Obtaining the first flow entry in the flow table, and sending a match between the first packet and the first packet to an open flow controller, so that the open flow controller is to the open flow The switch sends a first flow entry corresponding to the matching of the first packet.

其中, 所述第一流表项的指令中包括加 VXLAN封装的动作类型, 所述加 VXLAN封装的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道 端点 VTEP的 IP地址; 或者 The instruction of the first flow entry includes an action type of adding a VXLAN package, and the adding The structure of the action type of the VXLAN package includes the IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

进一步举例来说, 构建模块 81 , 还用于接收第二虚拟机发送的第二报文, 根据所述第二报文的信息构建所述第二报文的匹配项;  For example, the constructing module 81 is further configured to receive a second packet sent by the second virtual machine, and construct a matching item of the second packet according to the information of the second packet.

获取模块 82, 还用于根据所述第二报文的匹配项, 获取与所述第二报文 的匹配项对应的第二流表项;  The obtaining module 82 is further configured to: obtain, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;

所述装置还包括:  The device also includes:

解封模块 84, 用于根据所述第二流表项对所述第二报文解封可扩展虚拟 局域网 VXLAN封装, 将所述解封后的第二报文发送给第一虚拟机;  The decapsulation module 84 is configured to decapsulate the expandable virtual local area network VXLAN encapsulation of the second packet according to the second flow entry, and send the decapsulated second packet to the first virtual machine;

举例来说, 获取模块 82, 具体还用于查询所述开放流交换机的流表, 若 确定所述流表中保存有与所述第二报文的匹配项对应的第二流表项,则从所述 流表中获取所述第二流表项,否则将所述第二报文和所述第二报文的匹配项发 送给开放流控制器,以使所述开放流控制器向所述开放流交换机发送与所述第 二报文的匹配项对应的第二流表项。  For example, the obtaining module 82 is further configured to query a flow table of the OpenFlow switch, and if it is determined that the flow table has a second flow entry corresponding to the matching item of the second packet, Obtaining the second flow entry from the flow table, and sending a matching event between the second packet and the second packet to an open flow controller, so that the open flow controller is located The OpenFlow switch sends a second flow entry corresponding to the matching of the second packet.

其中, 所述第二流表项的指令中包括去 VXLAN封装的动作类型。  The instruction of the second flow entry includes an action type of the VXLAN encapsulation.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上, 新增了动作类型(加 VXLAN封装和去 VXLAN封装)或新的匹配项的技 术手段,使得开放流交换机根据接收到的报文信息构建匹配项,根据匹配项获 取对应的流表项,进一步根据流表项中的指令对所述报文加封 VXLAN封装或 者解封 VXLAN封装,并发送加封 VXLAN封装或解封 VXLAN封装后的报文 给远端虚拟机或者本地虚拟机; 可以解决现有的 OpenFlow网络协议中没有对 VXLAN 的完全支持, 导致的不利于 VXLAN在 OpenFlow 网络中的部署, VXLAN的应用领域受限的问题;可以充分利用现有的 OpenFlow协议的优势, 在保持统一机制的前提下, 实现了的 OpenFlow对 VXLAN的完全支持, 降低 了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用领域, 丰 富了 OpenFlow协议, 有利于协议的进一步发展。  The embodiment of the present invention adopts a technical method of adding an action type (plus VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item based on the Action type specified in the existing OpenFlow protocol, so that the OpenFlow switch receives the The packet information is constructed to match, the corresponding flow entry is obtained according to the matching item, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is further encapsulated according to the instruction in the flow entry, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is sent. The subsequent packets are sent to the remote virtual machine or the local virtual machine. It can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is not conducive to the deployment of VXLAN in the OpenFlow network. The application domain of VXLAN is limited. Can fully utilize the advantages of the existing OpenFlow protocol, complete the OpenFlow support for VXLAN under the premise of maintaining a unified mechanism, reduce the difficulty of deploying VXLAN in OpenFlow network, and expand the application field of VXLAN, enriching The OpenFlow protocol facilitates the further development of the protocol.

图 9为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结构 示意图; 位于开放流控制器侧, 应用于开放流网络中, 如图 9所示, 具体包括: 接收模块 91 , 用于接收开放流交换机发送的第一报文和所述第一报文的 匹配项, 所述第一报文为所述开放流交换机接收第一虚拟机发送的报文, 所述 第一报文的匹配项为所述开放流交换机根据所述第一报文的信息构建的; FIG. 9 is a schematic diagram of a device for transmitting a scalable virtual local area network message according to another embodiment of the present invention; The schematic diagram is located on the open flow controller side and is applied to the open flow network. As shown in FIG. 9, the method includes: a receiving module 91, configured to receive a match between the first packet sent by the OpenFlow switch and the first packet. The first packet is that the OpenFlow switch receives the packet sent by the first virtual machine, and the matching item of the first packet is configured by the OpenFlow switch according to the information of the first packet. ;

获取模块 92, 用于根据所述第一报文的匹配项, 获取与所述第一报文的 匹配项对应的第一流表项;  The obtaining module 92 is configured to obtain, according to the matching item of the first packet, a first flow entry corresponding to the matching of the first packet;

发送模块 93 , 用于将所述第一流表项发送给所述开放流交换机, 以使所 述开放流交换机根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机;  The sending module 93 is configured to send the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry, and the expandable virtual local area network (VXLAN) is encapsulated. Sending the encapsulated first packet to the second virtual machine;

举例来说, 获取模块 92, 具体用于查询所述开放流控制器的流表, 若存 在与所述第一报文的匹配项对应的第一流表项,则从所述流表中获取所述第一 流表项; 若不存在与所述第一报文的匹配项对应的第一流表项, 则构建所述第 一流表项。  For example, the obtaining module 92 is configured to query the flow table of the OpenFlow controller, and if there is a first flow entry corresponding to the matching item of the first packet, obtain the current flow table from the flow table. The first flow entry is configured; if the first flow entry corresponding to the matching of the first packet does not exist, the first flow entry is constructed.

其中, 所述第一流表项的指令中包括加 VXLAN封装的动作类型, 所述加 VXLAN封装的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道 端点 VTEP的 IP地址; 或者  The instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation includes an IP address of a VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

所述装置还包括:  The device also includes:

封装模块 94, 用于根据所述第一流表项对所述第一报文加封可扩展虚拟 局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。  The encapsulating module 94 is configured to encapsulate the first packet with the expandable virtual local area network VXLAN encapsulation according to the first flow entry, and send the encapsulated first packet to the second virtual machine.

进一步举例来说, 接收模块 91 , 还用于接收开放流交换机发送的第二报 文和所述第二 4艮文的匹配项,所述第二 ·^艮文为所述开放流交换机接收第二虚拟 机发送的报文,所述第二报文的匹配项为所述开放流交换机根据所述第二报文 的信息构建的;  For example, the receiving module 91 is further configured to receive a matching between the second packet sent by the OpenFlow switch and the second packet, where the second packet is received by the OpenFlow switch. a packet sent by the second virtual machine, where the matching of the second packet is configured by the OpenFlow switch according to the information of the second packet;

获取模块 92, 用于根据所述第二报文的匹配项, 获取与所述第二报文的 匹配项对应的第二流表项;  The obtaining module 92 is configured to obtain, according to the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet;

发送模块 93 , 用于将所述第二流表项发送给所述开放流交换机, 以使所 述开放流交换机根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装, 将所述解封后的第二报文发送给第一虚拟机; The sending module 93 is configured to send the second flow entry to the open flow switch, so that the open flow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network. The VXLAN encapsulation sends the decapsulated second packet to the first virtual machine.

其中, 获取模块 92, 具体还用于查询所述开放流控制器的流表, 若存在 与所述第二报文的匹配项对应的第二流表项,则从所述流表中获取所述第二流 表项; 若不存在与所述第二报文的匹配项对应的第二流表项, 则构建所述第二 流表项。  The obtaining module 92 is further configured to query the flow table of the OpenFlow controller, and if there is a second flow entry corresponding to the matching item of the second packet, obtain the current flow table from the flow table. The second flow entry is configured; if the second flow entry corresponding to the matching of the second packet does not exist, the second flow entry is constructed.

其中, 所述第二流表项的指令中包括去 VXLAN封装的动作类型。  The instruction of the second flow entry includes an action type of the VXLAN encapsulation.

举例来说, 所述装置还包括: 解封模块 95 , 用于根据所述第二流表项对 所述第二 _t艮文解封所述 VXLAN封装,将所述解封后的第二 ·^艮文发送给所述开 放流交换机。  For example, the device further includes: a decapsulation module 95, configured to decapsulate the VXLAN encapsulation according to the second flow entry, and decapsulate the decapsulated second The message is sent to the OpenFlow switch.

举例来说, 所述装置还包括: 建立模块 96, 用于根据接收模块 91接收的 所述第二报文的信息中包含的第二虚拟机的 MAC地址与所述第二虚拟机所在 的 VTEP的 IP地址, 建立所述第二虚拟机的 MAC地址与所述第二虚拟机所 在的 VTEP的 IP地址之间的对应关系。  For example, the device further includes: an establishing module 96, configured to: according to the information about the second virtual machine included in the information of the second packet received by the receiving module 91, the VTEP of the second virtual machine The IP address establishes a correspondence between a MAC address of the second virtual machine and an IP address of the VTEP where the second virtual machine is located.

本发明实施例采用在现有的 Open Flow协议中规定的 Action类型的基础 上, 新增了动作类型 (加 VXLAN封装和去 VXLAN封装)或者新的匹配项的技 术手段,使得开放流控制器根据开放流交换机发送的匹配项构建或确定与所述 匹配项对应的流表项, 并将流表项发送给开放流交换机,使得开放流交换机根 据开放流控制器发送的流表项中的指令对所述报文加封 VXLAN封装或者解封 VXLAN封装, 并发送加封 VXLAN封装或解封 VXLAN封装后的报文给远端的虚 拟机或者本地虚拟机; 可以解决现有的 OpenFlow网络协议中没有对 VXLAN的 完全支持, 导致的不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的应用 领域受限的问题; 可以充分利用现有的 OpenFlow协议的优势, 在保持统一机 制的前提下, 实现了的 OpenFlow对 VXLAN的完全支持, 降低了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用领域, 丰富了 OpenFlow 协议,有利于协议的进一步发展。 图 10为本发明另一实施例提供的可扩展虚拟 局域网报文的传输装置的结构示意图; 具体可以为开放流交换机,应用于开放 流网络中,如图 10所示,开放流交换机具体包括:处理器、存储器和通信总线, 处理器通过通信总线与存储器连接,存储器中保存有实现可扩展虚拟局域网报 文的传输方法的指令, 进一步, 开放流交换机具体还包括通信接口, 通过通信 接口与其他网元设备(例如开放流控制器)通信。 The embodiment of the present invention adopts the action type specified in the existing Open Flow protocol, and adds a technical means of adding an action type (plus VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item, so that the open flow controller is based on The matching item sent by the OpenFlow switch constructs or determines a flow entry corresponding to the matching item, and sends the flow entry to the OpenFlow switch, so that the OpenFlow switch according to the instruction pair in the flow entry sent by the OpenFlow controller The message is encapsulated in a VXLAN package or decapsulated in a VXLAN package, and the VXLAN encapsulated or unsealed VXLAN encapsulated packet is sent to the remote virtual machine or the local virtual machine; the existing OpenFlow network protocol can be solved without VXLAN. Full support, which is not conducive to VXLAN deployment in OpenFlow network, VXLAN application limited problem; can take full advantage of the existing OpenFlow protocol, under the premise of maintaining a unified mechanism, OpenFlow to VXLAN Full support, reducing the difficulty of VXLAN deployment in OpenFlow network, opening up the application field of VXLAN, enriching The OpenFlow protocol facilitates the further development of the protocol. FIG. 10 is a schematic structural diagram of a device for transmitting a scalable virtual local area network (LAN) packet according to another embodiment of the present invention; specifically, an open flow switch is applied to an open flow network, as shown in FIG. 10, the open flow switch specifically includes: a processor, a memory, and a communication bus, wherein the processor is connected to the memory through a communication bus, and the memory stores instructions for implementing a transmission method of the scalable virtual local area network message. Further, the open flow switch specifically includes a communication interface, and the communication The interface communicates with other network element devices, such as an OpenFlow controller.

当处理器调取存储器中的指令时, 执行如下步骤:  When the processor retrieves instructions from memory, the following steps are performed:

接收第一虚拟机发送的第一报文,根据所述第一报文的信息构建所述第一 艮文的匹配项;  Receiving a first packet sent by the first virtual machine, and constructing a matching item of the first text according to the information of the first packet;

根据所述构建模块构建的第一报文的匹配项,获取与所述第一报文的匹配 项对应的第一流表项;  Obtaining, according to the matching item of the first packet that is configured by the building module, the first flow entry corresponding to the matching item of the first packet;

根据所述获取模块获取的第一流表项对所述第一报文加封可扩展虚拟局 域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机;  Encapsulating the first packet according to the first flow entry obtained by the acquiring module, and expanding the virtual local area network VXLAN encapsulation, and sending the encapsulated first packet to the second virtual machine;

举例来说,根据所述构建模块构建的第一报文的匹配项, 获取与所述第一 报文的匹配项对应的第一流表项, 包括:  For example, the first flow entry corresponding to the matching of the first packet is obtained according to the matching of the first packet that is configured by the building module, and includes:

查询所述开放流交换机的流表,若确定所述流表中保存有与所述第一报文 的匹配项对应的第一流表项, 则从所述流表中获取所述第一流表项, 否则将所 述第一报文和所述第一报文的匹配项发送给开放流控制器,以使所述开放流控 制器向所述开放流交换机发送与所述第一报文的匹配项对应的第一流表项。  Querying the flow table of the open flow switch, if it is determined that the first flow entry corresponding to the matching of the first packet is saved in the flow table, obtaining the first flow entry from the flow table And sending a match between the first packet and the first packet to the OpenFlow controller, so that the OpenFlow controller sends a match with the first packet to the OpenFlow switch. The first flow entry corresponding to the item.

其中, 所述第一流表项的指令中包括加 VXLAN封装的动作类型, 所述加 VXLAN封装的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道 端点 VTEP的 IP地址; 或者  The instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation includes an IP address of a VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

当处理器调取存储器中的指令时, 还执行如下步骤:  When the processor retrieves instructions in memory, it also performs the following steps:

接收第二虚拟机发送的第二报文,根据所述第二报文的信息构建所述第二 艮文的匹配项;  Receiving a second packet sent by the second virtual machine, and constructing a matching item of the second text according to the information of the second packet;

根据所述第二 4艮文的匹配项,获取与所述第二 4艮文的匹配项对应的第二流 表项;  Obtaining, according to the matching item of the second message, a second flow entry corresponding to the matching item of the second message;

根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封 装, 将所述解封后的第二报文发送给第一虚拟机;  Decapsulating the second packet according to the second flow entry to expand the virtual local area network (VXLAN), and sending the decapsulated second message to the first virtual machine;

举例来说,根据所述构建模块构建的第二报文的匹配项, 获取与所述第二 报文的匹配项对应的第二流表项, 包括:  For example, the second flow entry corresponding to the matching of the second packet is obtained according to the matching item of the second packet that is configured by the building module, and includes:

查询所述开放流交换机的流表,若确定所述流表中保存有与所述第二报文 的匹配项对应的第二流表项, 则从所述流表中获取所述第二流表项, 否则将所 述第二报文和所述第二报文的匹配项发送给开放流控制器,以使所述开放流控 制器向所述开放流交换机发送与所述第二报文的匹配项对应的第二流表项。 Querying a flow table of the open flow switch, if it is determined that the flow table is saved with the second packet The second flow entry corresponding to the matching item, the second flow entry is obtained from the flow table, and the matching between the second packet and the second packet is sent to the open flow control. And the second flow entry corresponding to the matching of the second packet is sent by the open flow controller to the open flow switch.

其中, 所述第二流表项的指令中包括去 VXLAN封装的动作类型。  The instruction of the second flow entry includes an action type of the VXLAN encapsulation.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上, 新增了动作类型(加 VXLAN封装和去 VXLAN封装)或者新的匹配项的 技术手段,使得开放流交换机根据接收到的报文信息构建匹配项,根据匹配项 获取对应的流表项,进一步根据流表项中的指令对所述报文加封 VXLAN封装 或者解封 VXLAN封装,并发送加封 VXLAN封装或解封 VXLAN封装后的报 文远端的虚拟机或者本地虚拟机; 可以解决现有的 OpenFlow网络协议中没有 对 VXLAN的完全支持, 导致的不利于 VXLAN在 OpenFlow网络中的部署, VXLAN的应用领域受限的问题;可以充分利用现有的 OpenFlow协议的优势, 在保持统一机制的前提下, 实现了的 OpenFlow对 VXLAN的完全支持, 降低 了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用领域, 丰 富了 OpenFlow协议, 有利于协议的进一步发展。  In the embodiment of the present invention, based on the Action type specified in the existing OpenFlow protocol, a new type of action type (plus VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item is added, so that the OpenFlow switch receives the The packet information is constructed to match, the corresponding flow entry is obtained according to the matching item, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is further encapsulated according to the instruction in the flow entry, and the VXLAN encapsulation or decapsulation VXLAN encapsulation is sent. The virtual machine of the remote packet or the local virtual machine can solve the problem that the existing OpenFlow network protocol does not have full support for VXLAN, which is not conducive to the deployment of VXLAN in the OpenFlow network, and the application field of VXLAN is limited. Can fully utilize the advantages of the existing OpenFlow protocol, complete the OpenFlow support for VXLAN under the premise of maintaining a unified mechanism, reduce the difficulty of deploying VXLAN in OpenFlow network, and expand the application field of VXLAN, enriching The OpenFlow protocol facilitates the further development of the protocol.

图 1 1为本发明另一实施例提供的可扩展虚拟局域网报文的传输装置的结 构示意图; 具体可以为开放流控制器, 应用于开放流网络中, 如图 1 1所示, 开 放流控制器具体包括: 处理器、 存储器和通信总线, 处理器通过通信总线与存 一步, 开放流控制器具体还包括通信接口, 通过通信接口与其他网元设备 (例 如开放流交换机)通信。  FIG. 1 is a schematic structural diagram of an apparatus for transmitting a scalable virtual local area network (LAN) packet according to another embodiment of the present invention; specifically, an open flow controller is applied to an open flow network, as shown in FIG. The device specifically includes: a processor, a memory, and a communication bus. The processor is connected to the communication bus. The open flow controller specifically includes a communication interface, and communicates with other network element devices (for example, an open flow switch) through the communication interface.

当处理器调取存储器中的指令时, 执行如下步骤:  When the processor retrieves instructions from memory, the following steps are performed:

接收开放流交换机发送的第一报文和所述第一报文的匹配项,所述第一报 文为所述开放流交换机接收第一虚拟机发送的报文,所述第一报文的匹配项为 所述开放流交换机根据所述第一报文的信息构建的;  And receiving, by the OpenFlow switch, a packet sent by the first virtual machine, where the first packet is received by the OpenFlow switch, where the first packet is received by the OpenFlow switch. The matching item is configured by the OpenFlow switch according to the information of the first packet;

根据所述第一 4艮文的匹配项,获取与所述第一 4艮文的匹配项对应的第一流 表项;  Acquiring, according to the matching item of the first message, the first flow entry corresponding to the matching item of the first message;

将所述第一流表项发送给所述开放流交换机,以使所述开放流交换机根据 所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装,将所述 封装后的第一报文发送给第二虚拟机; Sending the first flow entry to the open flow switch, so that the open flow switch encapsulates the first packet according to the first flow entry to expand the virtual local area network VXLAN encapsulation, The encapsulated first packet is sent to the second virtual machine.

举例来说,根据所述第一报文的匹配项, 获取与所述第一报文的匹配项对 应的第一流表项, 包括:  For example, the first flow entry corresponding to the matching of the first packet is obtained according to the matching of the first packet, including:

查询所述开放流控制器的流表,若存在与所述第一报文的匹配项对应的第 一流表项, 则从所述流表中获取所述第一流表项; 若不存在与所述第一报文的 匹配项对应的第一流表项, 则构建所述第一流表项。  Querying the flow table of the open flow controller, if there is a first flow entry corresponding to the matching of the first packet, obtaining the first flow entry from the flow table; The first flow entry corresponding to the matching of the first packet is used to construct the first flow entry.

其中, 所述第一流表项的指令中包括加 VXLAN封装的动作类型, 所述加 VXLAN封装的动作类型的结构体中包括所述第二虚拟机所在的 VXLAN隧道 端点 VTEP的 IP地址; 或者  The instruction of the first flow entry includes an action type of adding a VXLAN encapsulation, and the structure of the action type of the VXLAN encapsulation includes an IP address of a VXLAN tunnel endpoint VTEP where the second virtual machine is located; or

所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。  The instruction of the first flow entry includes an action type of the VXLAN encapsulation, and the matching of the first flow entry includes an IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located.

进一步举例来说,根据所述第一报文的匹配项, 获取与所述第一报文的匹 配项对应的第一流表项之后, 包括:  For example, after the first flow entry corresponding to the matching of the first packet is obtained, the following includes:

根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封 装, 将所述封装后的第一报文发送给第二虚拟机。  And the first packet is encapsulated by the first flow entry to expand the virtual local area network (VXLAN), and the encapsulated first packet is sent to the second virtual machine.

进一步举例来说, 当处理器调取存储器中的指令时, 执行如下步骤: 接收开放流交换机发送的第二报文和所述第二报文的匹配项,所述第二报 文为所述开放流交换机接收第二虚拟机发送的报文,所述第二报文的匹配项为 所述开放流交换机根据所述第二报文的信息构建的;  For example, when the processor retrieves the instruction in the memory, the following steps are performed: receiving a matching between the second packet sent by the OpenFlow switch and the second packet, where the second packet is The OpenFlow switch receives the packet sent by the second virtual machine, and the matching item of the second packet is configured by the OpenFlow switch according to the information of the second packet.

根据所述第二 4艮文的匹配项,获取与所述第二 4艮文的匹配项对应的第二流 表项;  Obtaining, according to the matching item of the second message, a second flow entry corresponding to the matching item of the second message;

将所述第二流表项发送给所述开放流交换机,以使所述开放流交换机根据 所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装,将所述 解封后的第二报文发送给位于所述开放流网络中的第一虚拟机;  Sending the second flow entry to the OpenFlow switch, so that the OpenFlow switch decapsulates the second packet according to the second flow entry to expand the virtual local area network VXLAN encapsulation, The decapsulated second packet is sent to the first virtual machine located in the open flow network;

其中,根据所述第二报文的匹配项, 获取与所述第二报文的匹配项对应的 第二流表项, 包括:  And obtaining, by the matching item of the second packet, a second flow entry corresponding to the matching item of the second packet, including:

查询所述开放流控制器的流表,若存在与所述第二报文的匹配项对应的第 二流表项, 则从所述流表中获取所述第二流表项; 若不存在与所述第二报文的 匹配项对应的第二流表项, 则构建所述第二流表项。 其中, 所述第二流表项的指令中包括去 VXLAN封装的动作类型。 Querying the flow table of the open flow controller, if there is a second flow entry corresponding to the matching of the second packet, obtaining the second flow entry from the flow table; And configuring, by the second flow entry corresponding to the matching of the second packet, the second flow entry. The instruction of the second flow entry includes an action type of the VXLAN encapsulation.

举例来说,根据所述第二报文的匹配项, 获取与所述第二报文的匹配项对 应的第二流表项之后, 包括:  For example, after acquiring the second flow entry corresponding to the matching item of the second packet according to the matching item of the second packet, the method includes:

根据所述第二流表项对所述第二报文解封所述 VXLAN封装,将所述解封 后的第二报文发送给所述开放流交换机。  Decapsulating the VXLAN encapsulation of the second packet according to the second flow entry, and sending the decapsulated second packet to the OpenFlow switch.

举例来说,接收开放流交换机发送的第二报文和所述第二报文的匹配项之 后, 包括:  For example, after receiving the matching between the second packet sent by the OpenFlow switch and the second packet, the method includes:

根据所述第二报文的信息中包含的第二虚拟机的 MAC地址与所述第二虚 拟机所在的 VTEP的 IP地址, 建立所述第二虚拟机的 MAC地址与所述第二 虚拟机所在的 VTEP的 IP地址之间的对应关系。  Establishing a MAC address of the second virtual machine and the second virtual machine according to a MAC address of the second virtual machine included in the information of the second packet and an IP address of the VTEP where the second virtual machine is located Correspondence between the IP addresses of the VTEPs.

本发明实施例采用在现有的 OpenFlow协议中规定的 Action类型的基础 上, 新增了动作类型(加 VXLAN封装和去 VXLAN封装)或者新的匹配项的 技术手段,使得开放流控制器根据开放流交换机发送的匹配项构建或确定与所 述匹配项对应的流表项, 并将流表项发送给开放流交换机,使得开放流交换机 根据开放流控制器发送的流表项中的指令对所述报文加封 VXLAN封装或者 解封 VXLAN封装,并发送加封 VXLAN封装或解封 VXLAN封装后的报文给 远端的虚拟机或者本地虚拟机; 可以解决现有的 OpenFlow网络协议中没有对 VXLAN 的完全支持, 导致的不利于 VXLAN在 OpenFlow 网络中的部署, VXLAN的应用领域受限的问题;可以充分利用现有的 OpenFlow协议的优势, 在保持统一机制的前提下, 实现了的 OpenFlow对 VXLAN的完全支持, 降低 了 VXLAN在 OpenFlow网络中部署的难度, 开拓了 VXLAN的应用领域, 丰 富了 OpenFlow协议, 有利于协议的进一步发展。  The embodiment of the present invention adopts an action type (adding VXLAN encapsulation and de-VXLAN encapsulation) or a new matching item on the basis of the Action type specified in the existing OpenFlow protocol, so that the OpenFlow controller is open according to the The matching item sent by the flow switch constructs or determines a flow entry corresponding to the matching item, and sends the flow entry to the OpenFlow switch, so that the OpenFlow switch according to the instruction in the flow entry sent by the OpenFlow controller The message is encapsulated in a VXLAN package or decapsulated in a VXLAN package, and the VXLAN encapsulated or unencapsulated VXLAN encapsulated packet is sent to the remote virtual machine or the local virtual machine; the existing OpenFlow network protocol can be solved without VXLAN. Full support, which is not conducive to VXLAN deployment in OpenFlow network, VXLAN application domain is limited; can take full advantage of the existing OpenFlow protocol, under the premise of maintaining a unified mechanism, the implementation of OpenFlow to VXLAN Full support, reducing the difficulty of deploying VXLAN in OpenFlow network, and opening up VXLAN With areas rich of the OpenFlow protocol, it is conducive to the further development of the agreement.

图 12为本发明另一实施例提供的可扩展虚拟局域网报文的传输系统的结 构示意图, 如图 12所示, 包括: 开放流交换机 121和开放流控制器 122; 开放流交换机 121为如图 8或图 10所述的可扩展虚拟局域网报文的传输 装置, 详细内容参考图 8或图 10所述的可扩展虚拟局域网报文的传输装置中 的相关描述;  FIG. 12 is a schematic structural diagram of a transmission system of an extensible virtual local area network (LAN) packet according to another embodiment of the present invention. As shown in FIG. 12, the method includes: an open flow switch 121 and an open flow controller 122; 8 or the transmission device of the scalable virtual local area network message described in FIG. 10, the details refer to the related description in the transmission device of the scalable virtual local area network message described in FIG. 8 or FIG. 10;

开放流控制器 122为如图 9或图 11所述的可扩展虚拟局域网报文的传输 装置, 详细内容参考图 9或图 11所述的可扩展虚拟局域网报文的传输装置中 的相关描述。 The open flow controller 122 is a transmission device of the scalable virtual local area network message as described in FIG. 9 or FIG. 11 . For details, refer to the transmission device of the expandable virtual local area network message described in FIG. 9 or FIG. 11 . Related description.

所属领域的技术人员可以清楚地了解到, 为描述的方便和筒洁, 上述描述 的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程, 在此不再赘述。  A person skilled in the art can clearly understand that, for the convenience and the cleaning of the description, the specific working processes of the system, the device and the unit described above can be referred to the corresponding processes in the foregoing method embodiments, and details are not described herein again.

以上实施例的具体描述是基于第一虚拟机与第二虚拟机在同一网段和同 一 VXLAN的情况, 对于其他情况本发明依然适用。 例如, 如果第一虚拟机与 第二虚拟机在不同网段,则第一虚拟机不会直接通过 ARP请求报文获取第二虚 拟机的 MAC地址, 将会首先获取第一虚拟机的 IP网关的 MAC地址, 并以第一 虚拟机的 IP网关的 MAC地址作为本发明所述第二虚拟机的 MAC地址。 如果第 一虚拟机与第二虚拟机在不同 VXLAN或者第二虚拟机位于非 VXLAN中, 则所 述开放流交换机和控制器也不会直接获得第二虚拟机所在 VTEP的 IP地址, 而 是获得 VXLAN网关的 I P地址, 并以 VXLAN网关的 I P地址作为本发明所述第二 虚拟机所在 VTEP的 IP地址。 在本申请所提供的几个实施例中, 应该理解到, 所公开的系统, 装置和方法, 可以通过其它的方式实现。 例如, 以上所描述的 装置实施例仅仅是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划 分, 实际实现时可以有另外的划分方式, 例如多个单元或组件可以结合或者可 以集成到另一个系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨 论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元 的间接耦合或通信连接, 可以是电性, 机械或其它的形式。 单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。  The specific description of the above embodiment is based on the case where the first virtual machine and the second virtual machine are in the same network segment and the same VXLAN, and the present invention is still applicable to other cases. For example, if the first virtual machine and the second virtual machine are in different network segments, the first virtual machine does not directly obtain the MAC address of the second virtual machine through the ARP request packet, and the IP gateway of the first virtual machine is obtained first. The MAC address, and the MAC address of the IP gateway of the first virtual machine is used as the MAC address of the second virtual machine of the present invention. If the first virtual machine and the second virtual machine are in different VXLANs or the second virtual machine is located in the non-VXLAN, the open flow switch and the controller do not directly obtain the IP address of the VTEP where the second virtual machine is located, but obtain The IP address of the VXLAN gateway, and the IP address of the VXLAN gateway is used as the IP address of the VTEP where the second virtual machine is located in the present invention. In the several embodiments provided herein, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed. In addition, 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 electrical, mechanical or otherwise. The components displayed by the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.

另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元 中。上述集成的单元既可以采用硬件的形式实现, 也可以采用硬件加软件功能 单元的形式实现。  In addition, 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 hardware plus software functional units.

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可 读取存储介质中。上述软件功能单元存储在一个存储介质中, 包括若干指令用 以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行 本发明各个实施例所述方法的部分步骤。 而前述的存储介质包括: U盘、 移动 硬盘、 只读存储器 ( Read-Only Memory, 筒称 ROM ) 、 随机存取存储器 ( Random Access Memory, 筒称 RAM ) 、 磁碟或者光盘等各种可以存储程 序代码的介质。 The above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium. The above software functional unit is stored in a storage medium, including several instructions Part of the steps of the method of the various embodiments of the present invention are performed by a computer device (which may be a personal computer, server, or network device, etc.). The foregoing storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and the like. The medium of the program code.

最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其限 制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术人员 应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范围。  It should be noted that the above embodiments are only for explaining the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art that: The technical solutions described in the foregoing embodiments are modified, or the equivalents of the technical features are replaced by the same. However, the modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

权 利 要 求 书 claims 1、 一种可扩展虚拟局域网^ 的传输方法, 应用于开放流网络中, 其特 征在于, 包括: 1. A scalable virtual local area network^ transmission method applied in an open flow network, which is characterized by: 开放流交换机接收位于开放流网络中的第一虚拟机发送的第一报文,根据 所述第一报文的信息构建所述第一报文的匹配项; The OpenFlow switch receives the first message sent by the first virtual machine located in the OpenFlow network, and constructs a matching item of the first message based on the information of the first message; 根据所述第一报文的匹配项,获取与所述第一报文的匹配项对应的第一流 表项; According to the matching item of the first message, obtain the first flow table entry corresponding to the matching item of the first message; 根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封 装, 将所述封装后的第一艮文发送给第二虚拟机; Add an extensible virtual LAN VXLAN encapsulation to the first packet according to the first flow entry, and send the encapsulated first packet to the second virtual machine; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 2、 根据权利要求 1所述的方法, 其特征在于, 根据所述第一报文的匹配 项, 获取与所述第一报文的匹配项对应的第一流表项, 包括: 2. The method according to claim 1, characterized in that, according to the matching item of the first message, obtaining the first flow entry corresponding to the matching item of the first message, including: 所述开放流交换机查询所述开放流交换机的流表,若确定所述流表中保存 有与所述第一报文的匹配项对应的第一流表项,则从所述流表中获取所述第一 流表项, 否则将所述第一报文和所述第一报文的匹配项发送给开放流控制器, 以使所述开放流控制器向所述开放流交换机发送与所述第一报文的匹配项对 应的第一流表项。 The OpenFlow switch queries the flow table of the OpenFlow switch. If it is determined that the flow table contains a first flow table entry corresponding to the matching item of the first message, then obtain all the flow entries from the flow table. The first flow entry, otherwise the first message and the matching item of the first message are sent to the open flow controller, so that the open flow controller sends the first flow entry to the open flow switch with the first flow entry. The first flow entry corresponding to the matching item of a packet. 3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述第一流表项的指 令中包括加 VXLAN封装的动作类型 ,所述加 VXLAN封装的动作类型的结构 体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者 所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。 3. The method according to claim 1 or 2, characterized in that, the instruction of the first flow entry includes an action type of adding VXLAN encapsulation, and the structure of the action type of adding VXLAN encapsulation includes the third The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or the instruction of the first flow entry includes the action type of adding VXLAN encapsulation, and the matching item of the first flow entry includes the IP address of the VXLAN tunnel endpoint where the second virtual machine is located. IP address of the VXLAN tunnel endpoint VTEP. 4、 一种可扩展虚拟局域网 文的传输方法, 应用于开放流网络中, 其特 征在于, 包括: 4. An extensible virtual LAN text transmission method, applied in an open flow network, characterized by: 开放流交换机接收第二虚拟机发送的第二报文,根据所述第二报文的信息 构建所述第二 文的匹配项; The OpenFlow switch receives the second message sent by the second virtual machine, and constructs a matching item of the second message based on the information of the second message; 根据所述第二 4艮文的匹配项,获取与所述第二4艮文的匹配项对应的第二流 表项; According to the matching item of the second text, obtain the second flow table entry corresponding to the matching item of the second text; 根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封 装, 将所述解封后的第二报文发送给位于所述开放流网络中的第一虚拟机; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 Unencapsulate the extensible virtual LAN VXLAN encapsulation of the second packet according to the second flow entry Install, and send the decapsulated second packet to the first virtual machine located in the OpenFlow network; the first virtual machine and the second virtual machine are located in different OpenFlow switches or different on the physical machine. 5、 根据权利要求 4所述的方法, 其特征在于, 根据所述第二报文的匹配 项, 获取与所述第二报文的匹配项对应的第二流表项, 包括: 5. The method according to claim 4, characterized in that, according to the matching item of the second message, obtaining the second flow entry corresponding to the matching item of the second message includes: 所述开放流交换机查询所述开放流交换机的流表,若确定所述流表中保存 有与所述第二报文的匹配项对应的第二流表项,则从所述流表中获取所述第二 流表项, 否则将所述第二报文和所述第二报文的匹配项发送给开放流控制器, 以使所述开放流控制器向所述开放流交换机发送与所述第二报文的匹配项对 应的第二流表项, 所述第二流表项的指令中包括去 VXLAN封装的动作类型。 The OpenFlow switch queries the flow table of the OpenFlow switch. If it is determined that the flow table contains a second flow table entry corresponding to the matching item of the second message, then obtain the flow table from the flow table. The second flow entry, otherwise, the second message and the matching item of the second message are sent to the open flow controller, so that the open flow controller sends the matching item to the open flow switch to the open flow switch. The second flow entry corresponding to the matching item of the second packet, the instruction of the second flow entry includes an action type to remove VXLAN encapsulation. 6、 一种可扩展虚拟局域网报文的传输方法, 应用于开放流网络中, 其特 征在于, 包括: 6. A scalable virtual LAN message transmission method, applied in an open flow network, characterized by: 开放流控制器接收开放流交换机发送的第一报文和所述第一报文的匹配 项,所述第一报文为所述开放流交换机接收位于开放流网络中的第一虚拟机发 送的报文,所述第一报文的匹配项为所述开放流交换机根据所述第一报文的信 息构建的; The OpenFlow controller receives a first message sent by the OpenFlow switch and a match of the first message, where the OpenFlow switch receives a first message sent by the first virtual machine located in the OpenFlow network. message, the matching item of the first message is constructed by the OpenFlow switch based on the information of the first message; 根据所述第一 4艮文的匹配项,获取与所述第一 4艮文的匹配项对应的第一流 表项; According to the matching item of the first text, obtain the first flow entry corresponding to the matching item of the first text; 将所述第一流表项发送给所述开放流交换机,以使所述开放流交换机根据 所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装,将所述 封装后的第一报文发送给第二虚拟机; Send the first flow entry to the OpenFlow switch, so that the OpenFlow switch encapsulates the first message with an extensible virtual LAN VXLAN encapsulation according to the first flow entry, and encapsulates the encapsulated The first message is sent to the second virtual machine; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 7、 根据权利要求 6所述的方法, 其特征在于, 根据所述第一报文的匹配 项, 获取与所述第一报文的匹配项对应的第一流表项, 包括: 7. The method according to claim 6, characterized in that, according to the matching item of the first message, obtaining the first flow entry corresponding to the matching item of the first message includes: 所述开放流控制器查询所述开放流控制器的流表,若存在与所述第一报文 的匹配项对应的第一流表项, 则从所述流表中获取所述第一流表项; 若不存在 与所述第一 4艮文的匹配项对应的第一流表项, 则构建所述第一流表项。 The open flow controller queries the flow table of the open flow controller, and if there is a first flow entry corresponding to the matching item of the first message, obtain the first flow entry from the flow table. ; If there is no first flow entry corresponding to the matching item of the first text, construct the first flow entry. 8、 根据权利要求 7所述的方法, 其特征在于, 所述第一流表项的指令中 包括加 VXLAN封装的动作类型,所述加 VXLAN封装的动作类型的结构体中 包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者 8. The method according to claim 7, characterized in that: in the instruction of the first flow entry It includes an action type of adding VXLAN encapsulation, and the structure of the action type of adding VXLAN encapsulation includes the IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or 所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。 The instruction of the first flow entry includes the action type of adding VXLAN encapsulation, and the matching item of the first flow entry includes the IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located. 9、 根据权利要求 6-8任一项所述的方法, 其特征在于, 根据所述第一报 文的匹配项, 获取与所述第一报文的匹配项对应的第一流表项之后, 包括: 所述开放流控制器根据所述第一流表项对所述第一报文加封可扩展虚拟 局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。 9. The method according to any one of claims 6 to 8, characterized in that, after obtaining the first flow entry corresponding to the matching item of the first message according to the matching item of the first message, The method includes: the open flow controller encapsulates the first message with an extensible virtual LAN VXLAN encapsulation according to the first flow entry, and sends the encapsulated first message to the second virtual machine. 10、 一种可扩展虚拟局域网 ·^艮文的传输方法, 应用于开放流网络中, 其特 征在于, 包括: 10. A scalable virtual local area network (VLAN) text transmission method, applied in an open flow network, characterized by: 开放流控制器接收开放流交换机发送的第二报文和所述第二报文的匹配 项, 所述第二报文为所述开放流交换机接收第二虚拟机发送的报文, 所述第二 报文的匹配项为所述开放流交换机根据所述第二报文的信息构建的; The OpenFlow controller receives a second packet sent by the OpenFlow switch and a match of the second packet, where the second packet is a packet sent by the OpenFlow switch received by the second virtual machine, and the second packet is sent by the OpenFlow switch. The matching item of the second message is constructed by the OpenFlow switch based on the information of the second message; 根据所述第二 4艮文的匹配项,获取与所述第二 4艮文的匹配项对应的第二流 表项; According to the matching item of the second text, obtain the second flow table entry corresponding to the matching item of the second text; 将所述第二流表项发送给所述开放流交换机,以使所述开放流交换机根据 所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装,将所述 解封后的第二报文发送给位于所述开放流网络中的第一虚拟机; Send the second flow entry to the OpenFlow switch, so that the OpenFlow switch decapsulates the extensible virtual LAN VXLAN encapsulation of the second packet according to the second flow entry, and converts the The decapsulated second packet is sent to the first virtual machine located in the open flow network; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 11、 根据权利要求 10所述的方法, 其特征在于, 根据所述第二报文的匹 配项, 获取与所述第二报文的匹配项对应的第二流表项, 包括: 11. The method according to claim 10, characterized in that, according to the matching item of the second message, obtaining the second flow entry corresponding to the matching item of the second message includes: 所述开放流控制器查询所述开放流控制器的流表,若存在与所述第二报文 的匹配项对应的第二流表项, 则从所述流表中获取所述第二流表项; 若不存在 与所述第二 4艮文的匹配项对应的第二流表项, 则构建所述第二流表项, 所述第 二流表项的指令中包括去 VXLAN封装的动作类型。 The open flow controller queries the flow table of the open flow controller, and if there is a second flow entry corresponding to the matching item of the second message, obtains the second flow from the flow table. table entry; if there is no second flow table entry corresponding to the matching item of the second text, construct the second flow table entry, and the instructions of the second flow table entry include de-VXLAN encapsulation Action type. 12、 根据权利要求 10或 11所述的方法, 其特征在于, 根据所述第二报文 的匹配项, 获取与所述第二报文的匹配项对应的第二流表项之后, 包括: 12. The method according to claim 10 or 11, characterized in that, after obtaining the second flow entry corresponding to the matching item of the second message according to the matching item of the second message, the method includes: 所述开放流控制器根据所述第二流表项对所述第二报文解封所述 VXLAN封装, 将所述解封后的第二报文发送给所述开放流交换机, 以使所述 开放流交换机将所述述解封后的第二报文发送给所述第一虚拟机。 The open flow controller unblocks the second packet according to the second flow entry. VXLAN encapsulation, sending the decapsulated second packet to the OpenFlow switch, so that the OpenFlow switch sends the decapsulated second packet to the first virtual machine. 13、 根据权利要求 10所述的方法, 其特征在于, 所述开放流控制器接收 所述开放流交换机发送的第二报文和所述第二报文的匹配项之后, 包括: 13. The method according to claim 10, characterized in that, after the OpenFlow controller receives the second message sent by the OpenFlow switch and the matching item of the second message, it includes: 所述开放流控制器根据所述第二报文的信息中包含的第二虚拟机的 MAC 地址与所述第二虚拟机所在的 VTEP的 IP地址,建立所述第二虚拟机的 MAC 地址与所述第二虚拟机所在的 VTEP的 IP地址之间的对应关系。 The open flow controller establishes the MAC address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located based on the MAC address of the second virtual machine contained in the information of the second message. Correspondence between the IP addresses of the VTEP where the second virtual machine is located. 14、 一种可扩展虚拟局域网报文的传输装置, 位于开放流交换机侧, 应用 于开放流网络中, 其特征在于, 包括: 14. A scalable virtual LAN message transmission device, located on the side of the open flow switch, used in the open flow network, and is characterized by including: 构建模块, 用于接收位于开放流网络中的第一虚拟机发送的第一报文,根 据所述第一报文的信息构建所述第一报文的匹配项; A building module, configured to receive the first message sent by the first virtual machine located in the open flow network, and construct a matching item of the first message based on the information of the first message; 获取模块, 用于根据所述构建模块构建的第一报文的匹配项, 获取与所述 第一 4艮文的匹配项对应的第一流表项; An acquisition module, configured to obtain the first flow entry corresponding to the matching item of the first message according to the matching item of the first message constructed by the building module; 封装模块,用于根据所述获取模块获取的第一流表项对所述第一报文加封 可扩展虚拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟 机; An encapsulation module, configured to encapsulate the first message with Extensible Virtual LAN VXLAN encapsulation according to the first flow entry obtained by the acquisition module, and send the encapsulated first message to the second virtual machine; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 15、 根据权利要求 14所述的装置, 其特征在于, 所述获取模块, 具体用 于查询所述开放流交换机的流表,若确定所述流表中保存有与所述第一报文的 匹配项对应的第一流表项, 则从所述流表中获取所述第一流表项, 否则将所述 第一报文和所述第一报文的匹配项发送给开放流控制器,以使所述开放流控制 器向所述开放流交换机发送与所述第一报文的匹配项对应的第一流表项。 15. The device according to claim 14, characterized in that the acquisition module is specifically configured to query the flow table of the open flow switch. If it is determined that the flow table contains a flow table corresponding to the first message If the first flow entry corresponding to the matching item is obtained, the first flow entry is obtained from the flow table; otherwise, the first packet and the matching item of the first packet are sent to the open flow controller to The OpenFlow controller is caused to send the first flow entry corresponding to the matching item of the first message to the OpenFlow switch. 16、 根据权利要求 14或 15所述的装置, 其特征在于, 所述第一流表项的 指令中包括加 VXLAN封装的动作类型,所述加 VXLAN封装的动作类型的结 构体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者 所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。 16. The device according to claim 14 or 15, wherein the instruction of the first flow entry includes an action type of adding VXLAN encapsulation, and the structure of the action type of adding VXLAN encapsulation includes the third The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or the instruction of the first flow entry includes the action type of adding VXLAN encapsulation, and the matching item of the first flow entry includes the IP address of the VXLAN tunnel endpoint where the second virtual machine is located. IP address of the VXLAN tunnel endpoint VTEP. 17、 一种可扩展虚拟局域网报文的传输装置, 位于开放流交换机侧, 应用 于开放流网络中, 其特征在于, 包括: 17. A scalable virtual LAN message transmission device, located on the open flow switch side, applied In the open flow network, it is characterized by: 构建模块, 用于接收第二虚拟机发送的第二报文,根据所述第二报文的信 息构建所述第二报文的匹配项; A construction module, configured to receive the second message sent by the second virtual machine, and construct a matching item of the second message according to the information of the second message; 获取模块, 用于根据所述第二报文的匹配项, 获取与所述第二报文的匹配 项对应的第二流表项; An acquisition module, configured to obtain the second flow entry corresponding to the matching item of the second message according to the matching item of the second message; 解封模块,用于根据所述第二流表项对所述第二报文解封可扩展虚拟局域 网 VXLAN封装,将所述解封后的第二报文发送给位于所述开放流网络中的第 一虚拟机; An decapsulation module, configured to decapsulate the extensible virtual LAN VXLAN encapsulation of the second message according to the second flow entry, and send the decapsulated second message to the open flow network. The first virtual machine; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 18、 根据权利要求 17所述的装置, 其特征在于, 所述获取模块, 具体用 于查询所述开放流交换机的流表,若确定所述流表中保存有与所述第二报文的 匹配项对应的第二流表项, 则从所述流表中获取所述第二流表项, 否则将所述 第二报文和所述第二报文的匹配项发送给开放流控制器,以使所述开放流控制 器向所述开放流交换机发送与所述第二报文的匹配项对应的第二流表项,所述 第二流表项的指令中包括去 VXLAN封装的动作类型。 18. The device according to claim 17, characterized in that the acquisition module is specifically configured to query the flow table of the open flow switch. If it is determined that the flow table contains the flow table corresponding to the second message If the second flow entry corresponding to the matching item is obtained, the second flow entry is obtained from the flow table; otherwise, the second packet and the matching item of the second packet are sent to the open flow controller. , so that the OpenFlow controller sends the second flow entry corresponding to the matching item of the second message to the OpenFlow switch, and the instruction of the second flow entry includes the action of removing VXLAN encapsulation. type. 19、 一种可扩展虚拟局域网报文的传输装置, 位于开放流控制器侧, 应用 于开放流网络中, 其特征在于, 包括: 19. An extensible virtual LAN message transmission device, located on the side of the open flow controller, used in the open flow network, and is characterized by including: 接收模块,用于接收开放流交换机发送的第一报文和所述第一报文的匹配 项,所述第一报文为所述开放流交换机接收位于开放流网络中的第一虚拟机发 送的报文,所述第一报文的匹配项为所述开放流交换机根据所述第一报文的信 息构建的; A receiving module, configured to receive a first message sent by the OpenFlow switch and a matching item of the first message. The first message is sent by the OpenFlow switch and received by the first virtual machine located in the OpenFlow network. message, the matching item of the first message is constructed by the OpenFlow switch based on the information of the first message; 获取模块, 用于根据所述第一报文的匹配项, 获取与所述第一报文的匹配 项对应的第一流表项; An acquisition module, configured to obtain the first flow entry corresponding to the matching item of the first message according to the matching item of the first message; 发送模块, 用于将所述第一流表项发送给所述开放流交换机, 以使所述开 放流交换机根据所述第一流表项对所述第一报文加封可扩展虚拟局域网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机; A sending module, configured to send the first flow entry to the OpenFlow switch, so that the OpenFlow switch encapsulates the first packet with an extensible virtual LAN VXLAN encapsulation according to the first flow entry, The encapsulated first message is sent to the second virtual machine; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 20、 根据权利要求 19所述的装置, 其特征在于, 所述获取模块, 具体用 于查询所述开放流控制器的流表,若存在与所述第一报文的匹配项对应的第一 流表项, 则从所述流表中获取所述第一流表项; 若不存在与所述第一报文的匹 配项对应的第一流表项, 则构建所述第一流表项。 20. The device according to claim 19, wherein the acquisition module is specifically configured to query the flow table of the open flow controller, and if there is a first flow corresponding to the matching item of the first message, entry, obtain the first flow entry from the flow table; if there is no first flow entry corresponding to the matching item of the first message, construct the first flow entry. 21、 根据权利要求 19或 20所述的装置, 其特征在于, 所述第一流表项的 指令中包括加 VXLAN封装的动作类型,所述加 VXLAN封装的动作类型的结 构体中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址; 或者 所述第一流表项的指令中包括加 VXLAN封装的动作类型,所述第一流表 项的匹配项中包括所述第二虚拟机所在的 VXLAN隧道端点 VTEP的 IP地址。 21. The device according to claim 19 or 20, wherein the instruction of the first flow entry includes an action type of adding VXLAN encapsulation, and the structure of the action type of adding VXLAN encapsulation includes the third The IP address of the VXLAN tunnel endpoint VTEP where the second virtual machine is located; or the instruction of the first flow entry includes the action type of adding VXLAN encapsulation, and the matching item of the first flow entry includes the IP address of the VXLAN tunnel endpoint where the second virtual machine is located. IP address of the VXLAN tunnel endpoint VTEP. 22、 根据权利要求 19-21任一项所述的装置, 其特征在于, 还包括: 封装模块,用于根据所述第一流表项对所述第一报文加封可扩展虚拟局域 网 VXLAN封装, 将所述封装后的第一报文发送给第二虚拟机。 22. The device according to any one of claims 19 to 21, further comprising: an encapsulation module, configured to encapsulate the first packet with an extensible virtual LAN VXLAN encapsulation according to the first flow entry, Send the encapsulated first message to the second virtual machine. 23、 一种可扩展虚拟局域网报文的传输装置, 位于开放流控制器侧, 应用 于开放流网络中, 其特征在于, 包括: 23. An extensible virtual LAN message transmission device, located on the side of the open flow controller, used in the open flow network, and is characterized by including: 接收模块,用于接收开放流交换机发送的第二报文和所述第二报文的匹配 项, 所述第二报文为所述开放流交换机接收第二虚拟机发送的报文,所述第二 报文的匹配项为所述开放流交换机根据所述第二报文的信息构建的; A receiving module, configured to receive a second message sent by the OpenFlow switch and a match of the second message. The second message is a message sent by the OpenFlow switch received by the second virtual machine. The matching item of the second message is constructed by the OpenFlow switch based on the information of the second message; 获取模块, 用于根据所述第二报文的匹配项, 获取与所述第二报文的匹配 项对应的第二流表项; An acquisition module, configured to obtain the second flow entry corresponding to the matching item of the second message according to the matching item of the second message; 发送模块, 用于将所述第二流表项发送给所述开放流交换机, 以使所述开 放流交换机根据所述第二流表项对所述第二报文解封可扩展虚拟局域网 VXLAN封装, 将所述解封后的第二报文发送给位于所述开放流网络中的第一 虚拟机; A sending module, configured to send the second flow entry to the OpenFlow switch, so that the OpenFlow switch decapsulates the second packet according to the second flow entry. Encapsulate and send the decapsulated second message to the first virtual machine located in the open flow network; 所述第一虚拟机与所述第二虚拟机位于不同的开放流交换机或不同的物 理机上。 The first virtual machine and the second virtual machine are located on different OpenFlow switches or different physical machines. 24、 根据权利要求 23所述的装置, 其特征在于, 所述获取模块, 具体用 于查询所述开放流控制器的流表,若存在与所述第二报文的匹配项对应的第二 流表项, 则从所述流表中获取所述第二流表项; 若不存在与所述第二报文的匹 配项对应的第二流表项, 则构建所述第二流表项, 所述第二流表项的指令中包 括去 VXLAN封装的动作类型。 24. The device according to claim 23, wherein the acquisition module is specifically configured to query the flow table of the open flow controller, and if there is a second flow table corresponding to the matching item of the second message, flow table entry, then obtain the second flow table entry from the flow table; if there is no second flow table entry corresponding to the matching item of the second message, construct the second flow table entry , the instruction of the second flow entry contains Includes the action type to remove VXLAN encapsulation. 25、 根据权利要求 23或 24所述的装置, 其特征在于, 还包括: 解封模块,用于根据所述第二流表项对所述第二报文解封所述 VXLAN封 装, 将所述解封后的第二报文发送给所述开放流交换机。 25. The device according to claim 23 or 24, further comprising: an decapsulation module, configured to decapsulate the VXLAN encapsulation of the second packet according to the second flow entry, and encapsulate the VXLAN encapsulation of the second packet. The decapsulated second packet is sent to the OpenFlow switch. 26、 根据权利要求 23所述的装置, 其特征在于, 还包括: 26. The device according to claim 23, further comprising: 建立模块, 用于根据所述第二报文的信息中包含的第二虚拟机的 MAC地 址与所述第二虚拟机所在的 VTEP的 IP地址, 建立所述第二虚拟机的 MAC 地址与所述第二虚拟机所在的 VTEP的 IP地址之间的对应关系。 An establishment module, configured to establish the MAC address of the second virtual machine and the IP address of the VTEP where the second virtual machine is located based on the MAC address of the second virtual machine contained in the information of the second message. Describe the corresponding relationship between the IP addresses of the VTEP where the second virtual machine is located. 27、 一种可扩展虚拟局域网 ·^艮文的传输系统, 应用于开放流网络中, 其特 征在于, 包括: 开放流交换机和开放流控制器; 27. A scalable virtual local area network-based transmission system, applied in an open flow network, characterized by including: an open flow switch and an open flow controller; 开放流交换机包括如权利要求 14-16任一项所述的可扩展虚拟局域网报文 的传输装置和 17-18任一项所述的可扩展虚拟局域网报文的传输装置; The open flow switch includes the extensible virtual LAN message transmission device as described in any one of claims 14-16 and the extensible virtual LAN message transmission device as described in any one of claims 17-18; 开放流控制器包括如权利要求 19-22任一项所述的可扩展虚拟局域网报文 的传输装置和 23-26任一项所述的可扩展虚拟局域网报文的传输装置。 The open flow controller includes the extensible virtual LAN message transmission device as described in any one of claims 19-22 and the extensible virtual LAN message transmission device as described in any one of claims 23-26.
PCT/CN2013/079564 2012-12-24 2013-07-18 Method, device and system for transmitting message in virtual extensible local area network Ceased WO2014101394A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210564482.4 2012-12-24
CN201210564482.4A CN103888386B (en) 2012-12-24 2012-12-24 The transmission method and device, system of expansible virtual local area network packet

Publications (1)

Publication Number Publication Date
WO2014101394A1 true WO2014101394A1 (en) 2014-07-03

Family

ID=50957110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/079564 Ceased WO2014101394A1 (en) 2012-12-24 2013-07-18 Method, device and system for transmitting message in virtual extensible local area network

Country Status (2)

Country Link
CN (1) CN103888386B (en)
WO (1) WO2014101394A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034014A1 (en) * 2014-09-05 2016-03-10 华为技术有限公司 Gateway control method, device and system based on virtual machine migration
WO2016177322A1 (en) * 2015-05-04 2016-11-10 Hangzhou H3C Technologies Co., Ltd. Multicast data packet forwarding
CN109660443A (en) * 2018-12-26 2019-04-19 江苏省未来网络创新研究院 Physical equipment and virtual network communication method and system based on SDN
US10341223B2 (en) 2015-05-04 2019-07-02 New H3C Technologies Co., Ltd. Multicast data packet forwarding
US10511547B2 (en) 2015-05-04 2019-12-17 New H3C Technologies Co., Ltd. Multicast data packet forwarding
CN113141290A (en) * 2020-01-19 2021-07-20 华为技术有限公司 Message transmission method, device and equipment
CN114629820A (en) * 2022-03-25 2022-06-14 阿里巴巴(中国)有限公司 Network connectivity detection method, device, equipment and medium

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301446B (en) * 2014-08-08 2019-04-09 新华三技术有限公司 A kind of message processing method, switch device and system
CN104158718B (en) * 2014-08-25 2017-06-13 新华三技术有限公司 A kind of message processing method and device
CN104219149B (en) * 2014-08-26 2018-07-13 新华三技术有限公司 A kind of message transmitting method and equipment based on virtual connections
CN105515992B (en) * 2014-09-26 2019-01-11 新华三技术有限公司 Flow entry processing method and processing device in VXLAN network
CN104320340A (en) * 2014-10-21 2015-01-28 杭州华三通信技术有限公司 Method and device for defining study source MAC address in network by software
CN104283785B (en) * 2014-10-29 2018-11-27 新华三技术有限公司 A kind of method and apparatus of quick processing flow table
CN104486246B (en) * 2014-12-23 2018-05-01 上海斐讯数据通信技术有限公司 A kind of QoS mechanism implementation methods of VXLAN based on SDN frameworks
CN104601409B (en) * 2015-01-30 2018-01-09 新华三技术有限公司 A kind of MTU detection methods and device
CN105991438B (en) * 2015-01-30 2019-10-15 华为技术有限公司 Method and device for processing data packets based on virtual two-layer network
CN105991389B (en) * 2015-02-11 2019-04-12 新华三技术有限公司 A kind of retransmission method and device of virtual expansible local network packet
CN106210157B (en) * 2015-04-30 2019-07-23 中国电信股份有限公司 Inhibit method and system, the controller of address resolution protocol message
CN105591955B (en) * 2015-10-30 2019-07-09 新华三技术有限公司 A kind of method and apparatus of message transmissions
CN108353037A (en) * 2015-11-13 2018-07-31 华为技术有限公司 With the OPENFLOW compatible networks for flowing through phase extension
CN105471756B (en) * 2015-11-17 2018-11-16 浪潮(北京)电子信息产业有限公司 A kind of data package processing method and device
CN106817316B (en) * 2015-12-02 2020-02-21 华为技术有限公司 Method, apparatus and system for detecting path MTU
CN107404436A (en) * 2016-05-19 2017-11-28 华为技术有限公司 Communication means and device for virtual expansible LAN
CN106161253B (en) * 2016-06-23 2020-12-25 新华三技术有限公司 Message processing method and device
CN105939296B (en) * 2016-06-24 2019-11-12 杭州迪普科技股份有限公司 The processing method and processing device of message
CN107566262A (en) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 Message forwarding method and device in virtual expansible LAN VXLAN
CN107770072B (en) * 2016-08-18 2021-01-08 阿里巴巴集团控股有限公司 Method and equipment for sending and receiving message
CN108270878A (en) * 2016-12-31 2018-07-10 中国移动通信集团江西有限公司 Method, the VTEP equipment of ARP messages are sent in VXLAN
CN106888144B (en) * 2017-01-16 2019-11-12 新华三技术有限公司 A kind of message forwarding method and device
CN108632124A (en) * 2017-03-24 2018-10-09 中兴通讯股份有限公司 A kind of resource allocation methods, server, optical line terminal and system
CN107517151B (en) * 2017-09-30 2019-06-28 中国联合网络通信集团有限公司 User access method, CPE, OLT, interchanger, vBNG, SDN controller and Metropolitan Area Network (MAN)
CN108494691B (en) * 2018-06-22 2021-02-26 新华三技术有限公司 Multicast forwarding method and device and tunnel endpoint equipment
CN108989176A (en) * 2018-08-13 2018-12-11 郑州云海信息技术有限公司 A kind of virtual machine exchange visit methods, devices and systems
CN113098954B (en) * 2021-03-30 2022-10-25 平安科技(深圳)有限公司 Message forwarding method and device, computer equipment and storage medium
CN113726632B (en) * 2021-07-31 2023-04-18 新华三信息安全技术有限公司 Message forwarding method and device
CN115001900B (en) * 2022-06-06 2024-11-15 中移(杭州)信息技术有限公司 Message forwarding method, device, equipment and computer-readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012032864A1 (en) * 2010-09-08 2012-03-15 日本電気株式会社 Switching system, switching control method, and memory medium
WO2012049960A1 (en) * 2010-10-15 2012-04-19 日本電気株式会社 Switching system, and monitoring centralization management method
CN102594697A (en) * 2012-02-21 2012-07-18 华为技术有限公司 Load balancing method and device
WO2012133060A1 (en) * 2011-03-29 2012-10-04 日本電気株式会社 Network system and method for acquiring vlan tag information

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2712128B1 (en) * 2011-07-06 2016-01-13 Huawei Technologies Co., Ltd. Message processing method and related device thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012032864A1 (en) * 2010-09-08 2012-03-15 日本電気株式会社 Switching system, switching control method, and memory medium
WO2012049960A1 (en) * 2010-10-15 2012-04-19 日本電気株式会社 Switching system, and monitoring centralization management method
WO2012133060A1 (en) * 2011-03-29 2012-10-04 日本電気株式会社 Network system and method for acquiring vlan tag information
CN102594697A (en) * 2012-02-21 2012-07-18 华为技术有限公司 Load balancing method and device

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034014A1 (en) * 2014-09-05 2016-03-10 华为技术有限公司 Gateway control method, device and system based on virtual machine migration
US10511547B2 (en) 2015-05-04 2019-12-17 New H3C Technologies Co., Ltd. Multicast data packet forwarding
WO2016177322A1 (en) * 2015-05-04 2016-11-10 Hangzhou H3C Technologies Co., Ltd. Multicast data packet forwarding
US20180351878A1 (en) 2015-05-04 2018-12-06 New H3C Technologies Co., Ltd. Multicast data packet forwarding
US10326712B2 (en) 2015-05-04 2019-06-18 New H3C Technologies Co., Ltd. Multicast data packet forwarding
US10341223B2 (en) 2015-05-04 2019-07-02 New H3C Technologies Co., Ltd. Multicast data packet forwarding
CN109660443A (en) * 2018-12-26 2019-04-19 江苏省未来网络创新研究院 Physical equipment and virtual network communication method and system based on SDN
CN109660443B (en) * 2018-12-26 2021-12-31 江苏省未来网络创新研究院 SDN-based physical device and virtual network communication method and system
CN113141290A (en) * 2020-01-19 2021-07-20 华为技术有限公司 Message transmission method, device and equipment
CN113141290B (en) * 2020-01-19 2023-12-19 华为技术有限公司 A message transmission method, device and equipment
US12267236B2 (en) 2020-01-19 2025-04-01 Huawei Technologies Co., Ltd. Packet transmission method and apparatus, and device
CN114629820A (en) * 2022-03-25 2022-06-14 阿里巴巴(中国)有限公司 Network connectivity detection method, device, equipment and medium
CN114629820B (en) * 2022-03-25 2023-09-12 阿里巴巴(中国)有限公司 Network connectivity detection method, device, equipment and medium

Also Published As

Publication number Publication date
CN103888386B (en) 2017-10-17
CN103888386A (en) 2014-06-25

Similar Documents

Publication Publication Date Title
WO2014101394A1 (en) Method, device and system for transmitting message in virtual extensible local area network
CN103905283B (en) Communication means and device based on expansible VLAN
CN103200069B (en) A kind of method and apparatus of Message processing
CN103944867B (en) Processing method, the device and system of dynamic host configuration protocol message
US20180152322A1 (en) Method and system for virtual and physical network integration
WO2018040529A1 (en) Message processing method, device and system
CN104579954B (en) The cross-domain retransmission method of message, device and communication equipment
WO2016173271A1 (en) Message processing method, device and system
CN111736958B (en) Virtual machine migration method, system, computer equipment and storage medium
WO2015123987A1 (en) Packet forwarding method and device
WO2015100953A1 (en) Method and device for implementing virtual machine communication
WO2015003566A1 (en) Method, device and system for transmitting packet in multicast domain name system
CN103209318B (en) A kind of web camera
WO2014019205A1 (en) Method, apparatus, and system for processing data packet
US11296985B2 (en) Normalized lookup and forwarding for diverse virtual private networks
WO2015003565A1 (en) Method, device and system for controlling access of user terminal
EP3618365B1 (en) Packet forwarding
WO2015070614A1 (en) Method and device for detecting connectivity of user side interfaces of l2vpn
CN104348929B (en) A kind of edge router and cut-in method that IPv4 Internet are accessed for 6LoWPAN
WO2007009349A1 (en) Method and apparatus for transmitting message
WO2014114058A1 (en) Data message forwarding method, customer premises equipment and system
WO2018219319A1 (en) Packet forwarding
CN107483369B (en) A packet processing method and virtual switch
WO2015024373A1 (en) Virtual machine communication method and device
WO2014063606A1 (en) Packet forwarding method and corresponding device

Legal Events

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

Ref document number: 13866885

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

Country of ref document: EP

Kind code of ref document: A1