WO2016188366A1 - Network communication - Google Patents

Network communication Download PDF

Info

Publication number
WO2016188366A1
WO2016188366A1 PCT/CN2016/082741 CN2016082741W WO2016188366A1 WO 2016188366 A1 WO2016188366 A1 WO 2016188366A1 CN 2016082741 W CN2016082741 W CN 2016082741W WO 2016188366 A1 WO2016188366 A1 WO 2016188366A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
packet
destination
tep
encapsulation
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/CN2016/082741
Other languages
French (fr)
Inventor
Min Zheng
Xiaopeng Yang
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Publication of WO2016188366A1 publication Critical patent/WO2016188366A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Definitions

  • a layer 2 packet is encapsulated using a layer 3 protocol and the layer 2 network is extended in layer 3.
  • a Virtual Machine may migrate in interconnected layer 3 networks without changing an Internet Protocol (IP) address and a Media Access Control (MAC) address of the VM. Therefore, continuity of a service may be guaranteed.
  • IP Internet Protocol
  • MAC Media Access Control
  • the VXLAN may adopt a 24-bit network identifier to create 16M isolated virtual networks.
  • the NVGRE is a tunnel forwarding mode, in which an Ethernet packet is encapsulated in Generic Routing Encapsulation (GRE) . Similar to the VXLAN, the NVGRE adopts the 24-bit network identifier.
  • GRE Generic Routing Encapsulation
  • Figure 1 is a diagram illustrating a VXLAN encapsulation format
  • Figure 2 is a diagram illustrating an NVGRE encapsulation format
  • FIG. 3 is a diagram illustrating structure of a network, in which communication between the VXLAN and NVGRE network is implemented, in accordance with various examples of the present disclosure
  • Figure 4A is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure
  • Figure 4B is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure
  • Figure 5 is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure
  • FIGS. 6a to 6d and figures 7a to 7d are diagram illustrating structure of packets generated using the method for implementing the communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure
  • Figure 8 is a diagram illustrating structure of a device for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure
  • Figure 9 is a diagram illustrating structure of a device shown in figure 8 in accordance with various examples of the present disclosure.
  • FIG. 10 is a diagram illustrating structure of a Tunnel End Point (TEP) for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
  • TEP Tunnel End Point
  • the present disclosure is described by referring to examples. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure.
  • the term “includes” means includes but not limited to, the term “including” means including but not limited to.
  • the term “based on” means based at least in part on.
  • the terms “a” and “an” are intended to denote at least one of a particular element.
  • Figure 1 is a diagram illustrating a VXLAN encapsulation format.
  • Figure 2 is a diagram illustrating an NVGRE encapsulation format.
  • the VXLAN encapsulation format may be different from the NVGRE encapsulation format.
  • Examples of the present disclosure may provide a scheme for implementing communication between the VXLAN and the NVGRE network.
  • a TEP connected to a vswitch such as each TEP shown in figure 3 should be modified to make the TEP have the following three kinds of functions:
  • VXLAN Tunnel End Point VTEP
  • NVGRE Tunnel End Point NVGRE Tunnel End Point
  • GW GateWay
  • the function of the VTEP may implement the VXLAN encapsulation and VXLAN decapsulation of a packet.
  • the function of the NVTEP may implement NVGRE encapsulation and NVGRE decapsulation of a packet.
  • the function of the GW may implement layer 2 forwarding and layer 3 forwarding of a packet.
  • the layer 2 forwarding and layer 3 forwarding may be processed by the TEP.
  • figure 4A is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
  • a packet may be received.
  • VXLAN decapsulation may be performed for the packet in the VXLAN format to obtain a first packet.
  • a first forwarding entry matching a destination Internet Protocol (IP) address in the first packet may be found from a local forwarding table. It may be identified that an encapsulation format in the first forwarding entry may be NVGRE encapsulation.
  • NVGRE encapsulation may be performed for the first packet to obtain a second packet. The second packet may be sent to a device corresponding to the destination IP address in the first packet.
  • the packet in the NVGRE format may be decapsulated to obtain a third packet.
  • a second forwarding entry matching a destination IP address in the third packet may be found from the local forwarding table. It may be identified that an encapsulation format in the second forwarding entry may be VXLAN encapsulation. VXLAN encapsulation may be performed for the third packet to obtain a fourth packet. The fourth packet may be sent to a device corresponding to the destination IP address in the third packet.
  • figure 4B is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure. This flow may be applied to the above TEP. As shown in figure 4B, the flow may include following blocks.
  • a TEP may receive a packet in a VXLAN format, perform decapsulation for the received packet to obtain a first packet, find a first forwarding entry matching a destination IP address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet and forward the first packet in the NVGRE format to a device corresponding to the destination IP address of the first packet.
  • the first packet may be an original packet obtained by the VXLAN decapsulation.
  • the original packet obtained by the VXLAN decapsulation may be called the first packet.
  • the first forwarding entry may be a forwarding entry matching the destination IP address of the first packet in the local forwarding table.
  • the local forwarding table may be statically configured on the TEP.
  • the local forwarding table may be learned by the TEP using a VXLAN control plane protocol, such as an Intermediate System to Intermediate System (ISIS) protocol.
  • the local forwarding table of the TEP may include multiple forwarding entries. Each forwarding entry may include: a destination IP address, an IP address of a TEP, to which a device corresponding to the destination IP address may belong, an encapsulation format, an outer destination IP address and an egress port.
  • Figure 1 may show structure of a forwarding entry.
  • an IP address of a TEP when the destination IP address in the forwarding entry is an IP address of a VM connected to a vswitch, which connects to a TEP in turn, an IP address of a TEP, to which a device corresponding to the destination IP address in the forwarding entry belongs, may be the IP address of the TEP.
  • the encapsulation format may be that allowed by a network, to which the device corresponding to the destination IP address in the forwarding entry may belong.
  • the outer destination IP address in the forwarding entry may be an IP address of a vswitch connected to the device corresponding to the destination IP address.
  • the egress port in the forwarding entry may be an egress port, which may be used to transmit a packet to the device corresponding to the destination IP address.
  • the forwarding entry may record the destination IP address and the IP address of the TEP, to which the device corresponding to the destination IP address may belong.
  • Other entries in the forwarding entry may be null. Taking the TEP1 in figure 3 for example, on the basis of the above description, the local forwarding table of the TEP1 in figure 3 may be shown in table 2.
  • the packet forwarding from the VXLAN to the NVGRE network may be implemented.
  • the TEP may find the IP address of the TEP, to which the device corresponding to the destination IP address of the first packet may belong, from the first forwarding entry.
  • step a2 when an IP address of a TEP found in step a1 is the IP address of the local TEP, the TEP may continue to perform the operation of identifying the encapsulation format in the first forwarding entry as the NVGRE encapsulation.
  • the TEP may perform the VXLAN encapsulation for the first packet and forward the VXLAN packet obtained after the VXLAN encapsulation operation to the TEP corresponding to the found IP address of the TEP.
  • the source IP address and destination IP address in the outer IP header of the VXLAN encapsulation may respectively be the IP address of the local TEP and the IP address of the TEP found in step a1.
  • a reason for the TEP to perform the VXLAN encapsulation for the first packet may be that the IP address of the TEP found in step a1 is not the IP address of the local TEP, which may mean that the destination IP address of the first packet may not be the IP address of the VM connected to the vswitch, which may connect to the local TEP in turn.
  • the encapsulation format in the first forwarding entry matching the destination IP address of the first packet may be null. That is, the local TEP may not know how to encapsulate the first packet. Therefore, the TEP may perform the VXLAN encapsulation for the first packet according to the encapsulation format of the received first packet, i.e., the VXLAN encapsulation.
  • the method for performing the NVGRE encapsulation for the first packet and forwarding the packet obtained after the NVGRE encapsulation to the device corresponding to the destination IP address of the first packet may include following steps.
  • the TEP may perform the NVGRE encapsulation for the first packet.
  • the outer destination IP address may be obtained from the first forwarding entry and the outer destination IP address may be added to the destination IP address of the outer IP header.
  • the destination IP address of the outer IP header may be the IP address of the vswitch connected to the device corresponding to the destination IP address in the first packet.
  • the IP address of the vswitch connected to the device corresponding to a source IP address in the first packet may be found using the source IP address in the first packet.
  • the IP address of the vswitch may be taken as the outer source IP address.
  • the outer source IP address may be added to the source IP address of the outer IP header.
  • the IP address of the vswitch connected to the device corresponding to the source IP address of the first packet may be determined by the TEP according to the source IP address of the first packet.
  • all vswitches and all TEPs in the network may store global topology structure information.
  • the global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch.
  • the TEP may determine the IP address of the vswitch connected to the device corresponding to the source IP address of the first packet.
  • step b2 the first packet obtained after the NVGRE encapsulation may be forwarded via the egress port in the first forwarding entry.
  • the egress port may be obtained from the first forwarding entry.
  • the first packet obtained after the NVGRE encapsulation may be forwarded to the vswitch connected to the device corresponding to the outer destination IP address via the egress port, so that the vswitch may perform NVGRE decapsulation for the first packet obtained after the NVGRE encapsulation to obtain the first packet and send the first packet to the device corresponding to the destination IP address in the first packet according to the destination IP address in the first packet.
  • the NVGRE encapsulation of the first packet may be implemented and the packet in the NVGRE format may be forwarded to the device corresponding to the destination IP address of the first packet.
  • the TEP may receive the packet in the NVGRE format, decapsualte the received packet to obtain a second packet, find a second forwarding entry matching the destination IP address of the second packet from the local forwarding table, identify the encapsulation format in the second forwarding entry as the VXLAN encapsulation, perform the VXLAN encapsulation for the second packet, and send the packet in the VXLAN format to the device corresponding to the destination IP address of the second packet.
  • the second packet may be the original packet obtained after the NVGRE decapsulation.
  • the packet obtained after the NVGRE decapsulation may be called the second packet.
  • the second forwarding entry may be a forwarding entry matching the destination IP address of the second packet in the local forwarding table.
  • the packet forwarding from the NVGRE network to the VXLAN may be implemented.
  • the TEP may find the IP address of the TEP, to which the device corresponding to the destination IP address of the second packet may belong, from the second forwarding entry.
  • step c2 when an IP address of a TEP found in step c1 is the IP address of the local TEP, the local TEP may continue to perform the operation of identifying the encapsulation format in the second forwarding entry as the VXLAN encapsulation.
  • the TEP may perform the NVGRE encapsulation for the second packet and forward the packet obtained after the NVGRE encapsulation operation to a TEP corresponding to the found IP address of the TEP.
  • the source IP address and destination IP address in the outer IP header of the NVGRE encapsulation may respectively be the IP address of the local TEP and the IP address of the TEP found in step c1.
  • a reason for the TEP to perform the NVGRE encapsulation for the second packet may be that the IP address of the TEP found in step c1 is not the IP address of the local TEP, which may mean that the destination IP address of the second packet may not be the IP address of the VM connected to the vswitch, which may connect to the local TEP in turn.
  • the encapsulation format in the second forwarding entry matching the destination IP address of the second packet may be null. That is, the TEP may not know how to encapsulate the second packet. Therefore, the TEP may perform the NVGRE encapsulation for the second packet according to the encapsulation format of the received second packet, i.e., the NVGRE encapsulation.
  • the method for performing the VXLAN encapsulation for the second packet and forwarding the packet in the VXLAN format to the device corresponding to the destination IP address of the second packet may include following steps.
  • the TEP may perform the VXLAN encapsulation for the second packet.
  • the outer destination IP address may be obtained from the second forwarding entry and the outer destination IP address may be added to the destination IP address of the outer IP header.
  • the destination IP address of the outer IP header may be the IP address of the vswitch connected to the device corresponding to the destination IP address of the second packet.
  • the IP address of the vswitch connected to the device corresponding to a source IP address in the second packet may be found using the source IP address in the second packet.
  • the IP address of the vswitch may be taken as the outer source IP address.
  • the outer source IP address may be added to the source IP address of the outer IP header.
  • the IP address of the vswitch connected to the device corresponding to the source IP address of the second packet may be determined by the TEP according to the source IP address of the second packet.
  • the TEP may determine the IP address of the vswitch connected to the device corresponding to the source IP address of the second packet.
  • the second packet in the VXLAN format may be forwarded via the egress port in the second forwarding entry.
  • the egress port may be obtained from the second forwarding entry.
  • the second packet in the VXLAN format may be forwarded to the vswitch connected to the device corresponding to the outer destination IP address via the egress port, so that the vswitch may perform VXLAN decapsulation for the second packet in the VXLAN format to obtain the second packet and send the second packet to the device corresponding to the destination IP address in the second packet according to the destination IP address in the second packet.
  • the VXLAN encapsulation of the second packet may be implemented and the packet in the VXLAN format may be forwarded to the device corresponding to the IP address of the second packet.
  • TEP1 to TEP4 have the function of the VTEP, the function of the NVTEP and the function of the GW.
  • a vswitch1 in figure 5 IP address of the vswitch1 may be vmknic1
  • VM1 an IP address of the VM1 may be IP1
  • TEP2 IP address of the vswitch2 may be vmknic2
  • VM2 an IP address of the VM2 may be IP2 and TEP2.
  • a vswitch3 (IP address of the vswitch3 may be vmknic3) may connect to a VM3 (an IP address of the VM3 may be IP3) and TEP3.
  • a vswitch4 (IP address of the vswitch4 may be vmknic4) may connect to a VM4 (an IP address of the VM4 may be IP4) and TEP4.
  • the vswitch1 to vswitch4 may be configured with corresponding encapsulation and decapsulation capability as needed.
  • the vswitch1 may be configured with VXLAN encapsulation capability and VXLAN decapsulation capability.
  • the vswitch2 may be configured with the VXLAN encapsulation and VXLAN decapsulation capability.
  • the vswitch3 may be configured with the NVGRE encapsulation and NVGRE decapsulation capability.
  • the vswitch4 may be configured with the NVGRE encapsulation and NVGRE de
  • An example may be given taking that the VM1 in the VXLAN access the VM3 in the NVGRE network shown in figure 5 for example.
  • the VM1 may send a packet 01 to the vswitch1.
  • a source IP address of the packet 01 may be an IP address of the VM1, i.e., IP1.
  • a destination IP address of the packet 01 may be the IP address of the VM3, i.e., IP3.
  • the source IP address and destination IP address of the packet 01 may be configured in an inner IP header.
  • Figure 6a may show the structure of the packet 01.
  • the vswitch1 may receive the packet 01 from the VM1.
  • the vswitch1 may perform the VXLAN encapsulation for the received packet 01 according to the VXLAN encapsulation capability of the vswitch1.
  • the packet 01 which may have been encapsulated into the VXLAN format, may be denoted by a packet 02.
  • a source IP address in the outer IP header of the VXLAN encapsulation may be the IP address of the vswitch1, i.e. the vmkinc1.
  • a destination IP address in the outer IP header of the VXLAN encapsulation may be the IP address of the vswitch3, i.e. the vmkinc3.
  • the vswitch1 may determine the destination IP address in the outer IP header according to the destination IP address in the packet 01, i.e., IP3.
  • all vswitches and all TEPs in the network may store the global topology structure information.
  • the global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch.
  • the vswitch1 may determine that the destination IP address in the outer IP header may be the IP address of the vswitch3 (denoted as vmknic3) connected to the VM3, the IP address of which may be the IP3.
  • Figure 6b may show the structure of the packet 02.
  • the vswitch1 may send the packet 02 to the TEP1 connected to the vswitch1.
  • the TEP1 may perform the VXLAN decapsulation for the packet 02 to obtain the above packet 01.
  • the TEP1 may find a forwarding entry matching the destination IP address in the inner IP header of the packet 01, i.e., IP3 from the local forwarding table.
  • Table 3 may show the local forwarding table of the TEP1.
  • the TEP1 may find that the IP address of the TEP, to which the device corresponding to the destination IP address, i.e., the IP3 may belong, may be the IP address of the TEP3, which may not be the IP address of the TEP1.
  • the VXLAN encapsulation may be performed for the packet 01 according to the encapsulation format of the received packet 01, i.e., the VXLAN encapsulation and the packet in the VXLAN format may be forwarded to the TEP3.
  • the packet 01 obtained after the VXLAN encapsulation may be called the packet 03.
  • the source IP address in the outer IP header in the VXLAN encapsulation may be the IP address of the TEP1 and the destination IP address in the outer IP header may be the IP address of the TEP3.
  • Figure 6c may show the structure of the packet 03.
  • the TEP3 may receive a packet 03 and decapsulate the packet 03 to obtain the above packet 01.
  • the TEP3 may find a forwarding entry matching a destination IP address in an inner IP header of the packet 01, i.e., IP3 from a local forwarding table.
  • the following table 4 may show the local forwarding table of the TEP3.
  • the TEP3 may find the destination IP address from the found forwarding entry. That is, an IP address of a TEP, to which a device corresponding to the IP3 may belong, may be the IP address of the TEP3.
  • the TEP3 may continue to search the forwarding entry for an encapsulation format, find that the found encapsulation format may be NVGRE encapsulation and perform NVGRE encapsulation for the packet 01.
  • the packet 01 in the NVGRE format may be called a packet 04.
  • a source IP address in an outer IP header in the NVGRE encapsulation may be an IP address of vswitch1, i.e., vmkninc1.
  • the destination IP address may be an outer destination IP address in the found forwarding entry (i.e., the destination IP address, i.e., the IP address of the vswitch3 connected to the VM3 corresponding to the IP3, i.e., vmknic3) .
  • the TEP3 may determine the source IP address in the outer IP header according to the source IP address of the packet 01, i.e., IP1.
  • all vswitches and TEPs in the network may store the global topology structure information.
  • the global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch.
  • the TEP3 may determine that the source IP address in the outer IP header, i.e., the outer source IP address may be the IP address of vswitch1 (i.e., vmknic1) connected to the VM1, the IP address of which may be the IP1.
  • Figure 6d may show structure of the packet 04.
  • the TEP3 may forward the packet 04 via an egress port (denoted as Port33) via the found forwarding entry.
  • the vswitch3 may receive the packet 04 from the TEP3 and decapsulate the received packet 04 with its NVGRE decapsulation capability to obtain the packet 01.
  • the vswitch3 finds that the destination IP address in the inner IP header of the packet 01, i.e., the IP3 is the IP address of the VM3 connected to the vswitch3, the vswitch3 may send the packet 01 to the VM3.
  • the VM3 may receive the packet 01 from the VM1. Therefore, the packet forwarding from the VXLAN to the NVGRE network may be implemented.
  • the networking shown in figure 5 may still be taken as the example.
  • An example may be given taking that the VM3 in the NVGRE network may access the VM1 in the VXLAN for example.
  • the VM3 may send a packet 11 to the vswitch3 connected to the VM3.
  • a source IP address of the packet 11 may be the IP address of the VM3, i.e., IP3.
  • a destination IP address of the packet 11 may be the IP address of the VM1, i.e., IP1.
  • the source IP address and destination IP address of the packet 11 may be set in the inner IP header.
  • Figure 7a may show the structure of the packet 11.
  • the vswitch3 may receive the packet 11 from the VM3 and perform NVGRE encapsulation for the received packet 11 according to the configured NVGRE encapsulation capability.
  • the packet 11, which may have been encapsulated into the NVGRE format, may be call a packet 12.
  • the source IP address in the outer IP header of the NVGRE encapsulation may be the IP address of the vswitch3, i.e., vmknic3 and the destination IP address in the outer header of the NVGRE encapsulation may be the IP address of the vswitch1, i.e., vmknic1.
  • the vswitch3 may determine the destination IP address in the outer IP header according to the destination IP address of the packet 11, i.e., the IP1.
  • all vswitches and TEPs in the network may store the global topology structure information.
  • the global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch.
  • the destination IP address in the outer IP header determined by the vswitch1 according to the connection relationships recorded in the global topology structure information may be vmknic1, i.e., the IP address of the vswitch1 connected to the VM1, the IP address of which may be the IP1.
  • Figure 7b may show the structure of the packet 12.
  • the vswitch3 may send the packet 12 to the TEP3 connected to the vswitch3.
  • the TEP3 may perform NVGRE decapsulation for the packet 12 to obtain the packet 11.
  • the TEP3 may find a forwarding entry matching the destination IP address in the inner IP header of the packet 11, i.e., IP1 from the local forwarding table.
  • the TEP3 may find that the IP address of the TEP, to which the VM1 corresponding to the destination IP address, i.e., the IP1 may belong, may be the IP address of the TEP1, which may not be the IP address of the TEP3.
  • the NVGRE encapsulation may be performed for the packet 11 according to the encapsulation format of the received packet 11, i.e., the NVGRE encapsulation and the packet in the NVGRE format may be forwarded to the TEP1.
  • the packet 11 obtained after the NVGRE encapsulation may be called the packet 13.
  • the source IP address in the outer IP header in the NVGRE encapsulation may be the IP address of the TEP3 and the destination IP address in the outer IP header may be the IP address of the TEP1.
  • Figure 7c may show the structure of the packet 13.
  • the TEP1 may receive a packet 13 and decapsulate the packet 13 to obtain the above packet 11.
  • the TEP1 may find a forwarding entry matching a destination IP address in an inner IP header of the packet 11, i.e., IP1 from a local forwarding table.
  • the TEP1 may continue to search the forwarding entry for an encapsulation format, find that the found encapsulation format may be VXLAN encapsulation and perform VXLAN encapsulation for the packet 11.
  • the packet 11 which may have been encapsulated into the VXLAN format, may be called a packet 14.
  • a source IP address in an outer IP header in the VXLAN encapsulation may be an IP address of vswitch3, i.e., vmkninc3.
  • the destination IP address in the outer IP header may be an outer destination IP address in the found forwarding entry (i.e., the IP address of the vswitch1, i.e., vmknic1) .
  • the TEP1 may determine the source IP address in the outer IP header according to the source IP address of the packet 11, i.e., IP3.
  • all vswitches and TEPs in the network may store the global topology structure information.
  • the global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch.
  • the TEP1 may determine that the source IP address in the outer IP header may be the IP address of vswitch3 (i.e., vmknic3) connected to the VM3, the IP address of which may be the IP3.
  • Figure 7d may show structure of the packet 04.
  • the TEP1 may forward the packet 14 via an egress port (denoted as Port11) via the found forwarding entry.
  • the vswitch1 may receive the packet 14 from the TEP1 and decapsulate the received packet 14 with its VXLAN decapsulation capability to obtain the packet 11.
  • the vswitch1 finds that the destination IP address in the inner IP header of the packet 11, i.e., the IP1 is the IP address of the VM1 connected to the vswitch1, the vswitch1 may send the packet 11 to the VM1.
  • the VM1 may receive the packet 11 from the VM3. Therefore, the packet forwarding from the NVGRE network to the VXLAN may be implemented.
  • figure 8 is a diagram illustrating structure of a device for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
  • the device may be applied to a Tunnel End Point (TEP) acting as a gateway.
  • TEP Tunnel End Point
  • the device may include:
  • a first communication unit configured to receive a packet in a VXLAN format, perform VXLAN decapsulation for the received packet to obtain a first packet, find a first forwarding entry matching a destination IP address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet and forward the first packet in an NVGRE format to a device corresponding to the destination IP address of the first packet;
  • a second communication unit configured to receive a packet in the NVGRE format, perform NVGRE decapsulation for the received packet to obtain a second packet, find a second forwarding entry matching a destination IP address of the second packet from the local forwarding table, identify an encapsulation format in the second forwarding entry as VXLAN encapsulation, perform VXLAN encapsulation for the second packet and forward the second packet in a VXLAN format to a device corresponding to the destination IP address of the second packet.
  • the first communication unit Before the first communication unit identifies that the encapsulation format in the first forwarding entry is the NVGRE encapsulation, the first communication unit may be further configured to obtain an IP address of a TEP, to which a device corresponding to the destination IP address of the first packet from the first forwarding entry. When the found IP address of the TEP is the IP address of the local TEP, the first communication unit may be further configured to continue to perform an operation of identifying the encapsulation format in the first forwarding entry as the NVGRE encapsulation.
  • the first communication unit may be further configured to perform VXLAN encapsulation for the first packet, forward the packet in the VXLAN format to the TEP corresponding to the found IP address of the TEP.
  • a source IP address and a destination IP address in an outer IP header of the VXLAN encapsulation may respectively be the IP address of the local TEP and the found IP address of the TEP.
  • the first communication unit may be further configured to perform the NVGRE encapsulation for the first packet and forward the first packet in the NVGRE format via an egress port in the first forwarding entry.
  • the source IP address in the outer IP header of the NVGRE encapsulation may be an IP address of a vswitch connected to the device corresponding to a source IP address of the first packet.
  • the destination IP address in the outer IP header of the NVGRE encapsulation may be an outer destination IP address in the first forwarding entry.
  • the outer destination IP address may be the IP address of the vswitch connected to the device corresponding to the destination IP address of the first packet.
  • the second communication unit Before the second communication unit identifies that the encapsulation format in the second forwarding entry is the VXLAN encapsulation, the second communication unit may be further configured to obtain an IP address of a TEP, to which a device corresponding to the destination IP address of the second packet from the second forwarding entry.
  • the second communication unit may be further configured to continue to perform an operation of identifying the encapsulation format in the second forwarding entry as the VXLAN encapsulation.
  • the second communication unit may be further configured to perform NVGRE encapsulation for the second packet, forward the packet in the NVGRE format to the TEP corresponding to the found IP address of the TEP.
  • a source IP address and a destination IP address in an outer IP header of the NVGRE encapsulation may respectively be the IP address of the local TEP and the found IP address of the TEP.
  • the second communication unit may be further configured to perform the VXLAN encapsulation for the second packet and forward the second packet in the VXLAN format via an egress port in the second forwarding entry.
  • the source IP address in the outer IP header of the VXLAN encapsulation may be an IP address of a vswitch connected to the device corresponding to a source IP address of the second packet.
  • the destination IP address in the outer IP header of the VXLAN encapsulation may be an outer destination IP address in the second forwarding entry.
  • the outer destination IP address may be the IP address of the vswitch connected to the device corresponding to the destination IP address of the second packet.
  • An example of the present disclosure may provide a diagram illustrating structure of the device shown in figure 8. As shown in figure 9, the structure may include:
  • a storage configured to store the first communication unit and the second communication unit, which may connect to each other in the storage via interconnected lines;
  • a CPU configured to store control programs running on the first communication unit to control the first communication unit in the storage to execute the above operation and store control programs running on the second communication unit to control the second communication unit in the storage to execute the above operations.
  • figure 10 is a diagram illustrating structure of a Tunnel End Point (TEP) for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
  • TEP Tunnel End Point
  • the device may include: a CPU 1001, a non-transitory storage 1002 and a network interface 1003.
  • the non-transitory storage 1002 may be configured to store machine readable instructions.
  • the CPU 1001 may be configured to communicate with non-transitory storage 1002 to read and execute the machine readable instructions in the non-transitory storage 1002 to:
  • the packet when the packet is a packet in a VXLAN format, perform VXLAN decapsulation for the packet in the VXLAN format to obtain a first packet, find a first forwarding entry matching a destination Internet Protocol (IP) address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet to obtain a second packet, and send the second packet to a device corresponding to the destination IP address in the first packet;
  • IP Internet Protocol
  • the packet when the packet is a packet in an NVGRE format, decapsulate the packet in the NVGRE format to obtain a third packet, find a second forwarding entry matching a destination IP address in the third packet from the local forwarding table, identify an encapsulation format in the second forwarding entry as VXLAN encapsulation, perform VXLAN encapsulation for the third packet to obtain a fourth packet, and send the fourth packet to a device corresponding to the destination IP address in the third packet.
  • the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
  • IP address of the found TEP is an IP address of a local TEP, identify the encapsulation format in the first forwarding entry as the NVGRE encapsulation;
  • the IP address of the found TEP when the IP address of the found TEP is not the IP address of the local TEP, perform the VXLAN encapsulation for the first packet to obtain a fifth packet, send the fifth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the fifth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
  • the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
  • the destination IP address of the first outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the first packet;
  • the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
  • the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
  • the IP address of the found TEP when the IP address of the found TEP is not the IP address of the local TEP, perform NVGRE encapsulation for the third packet to obtain a sixth packet, send the sixth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the sixth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
  • the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
  • the second outer destination IP address is an IP address of a vswitch connected to the device corresponding to the destination IP address in the third packet;
  • the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
  • the fourth packet sends the fourth packet to a vswitch corresponding to the second outer destination IP address using the second egress port, so that the vswitch corresponding to the second outer destination IP address performs VXLAN decapsulation for the fourth packet to obtain the third packet and sends the third packet to the device corresponding to the destination IP address in the third packet according to the destination IP address in the third packet.

Landscapes

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

Abstract

Examples of the present disclosure may provide methods and devices for implementing communication between a VXLAN and a NVGRE network. A packet may be received. When the packet is a packet in a VXLAN format, VXLAN decapsulation may be performed for the packet in the VXLAN format to obtain a first packet. A first forwarding entry matching a destination Internet Protocol (IP) address in the first packet may be found from a local forwarding table. It may be identified that an encapsulation format in the first forwarding entry may be NVGRE encapsulation. NVGRE encapsulation may be performed for the first packet to obtain a second packet. The second packet may be sent to a device corresponding to the destination IP address in the first packet. When the packet is a packet in an NVGRE format, the packet in the NVGRE format may be decapsulated to obtain a third packet. A second forwarding entry matching a destination IP address in the third packet may be found from the local forwarding table. It may be identified that an encapsulation format in the second forwarding entry may be VXLAN encapsulation. VXLAN encapsulation may be performed for the third packet to obtain a fourth packet. The fourth packet may be sent to a device corresponding to the destination IP address in the third packet.

Description

NETWORK COMMUNICATION
This application claims the benefit of priority from a Chinese Patent Application, No. 201510268834.5, entitled “Communication method and device between a Virtual eXtensible Local Area Network (VXLAN) and a Network Virtualization using Generic Routing Encapsulation (NVGRE) network” and filed on May 22, 2015, the entire content of which is hereby incorporated by reference.
BACKGROUND
In the VXLAN, a layer 2 packet is encapsulated using a layer 3 protocol and the layer 2 network is extended in layer 3. In the VXLAN, a Virtual Machine (VM) may migrate in interconnected layer 3 networks without changing an Internet Protocol (IP) address and a Media Access Control (MAC) address of the VM. Therefore, continuity of a service may be guaranteed. The VXLAN may adopt a 24-bit network identifier to create 16M isolated virtual networks.
The NVGRE is a tunnel forwarding mode, in which an Ethernet packet is encapsulated in Generic Routing Encapsulation (GRE) . Similar to the VXLAN, the NVGRE adopts the 24-bit network identifier.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a diagram illustrating a VXLAN encapsulation format;
Figure 2 is a diagram illustrating an NVGRE encapsulation format;
Figure 3 is a diagram illustrating structure of a network, in which communication between the VXLAN and NVGRE network is implemented, in accordance with various examples of the present disclosure;
Figure 4A is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure;
Figure 4B is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure;
Figure 5 is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure;
Figures 6a to 6d and figures 7a to 7d are diagram illustrating structure of packets generated using the method for implementing the communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure;
Figure 8 is a diagram illustrating structure of a device for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure;
Figure 9 is a diagram illustrating structure of a device shown in figure 8 in accordance with various examples of the present disclosure; and
Figure 10 is a diagram illustrating structure of a Tunnel End Point (TEP) for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
DETAILED DESCRIPTION
For simplicity and illustrative purposes, the present disclosure is described by referring to examples. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on. In addition, the terms “a” and “an” are intended to denote at least one of a particular element.
Figure 1 is a diagram illustrating a VXLAN encapsulation format.
Figure 2 is a diagram illustrating an NVGRE encapsulation format.
As shown in figure 1 and figure 2, the VXLAN encapsulation format may be different from the NVGRE encapsulation format. Examples of the present disclosure  may provide a scheme for implementing communication between the VXLAN and the NVGRE network.
In examples of the present disclosure, in order to implement the communication between the VXLAN and NVGRE network, a TEP connected to a vswitch, such as each TEP shown in figure 3 should be modified to make the TEP have the following three kinds of functions:
function of a VXLAN Tunnel End Point (VTEP) ;
function of a NVGRE Tunnel End Point (NVTEP) ; and
a function of a GateWay (GW) .
The function of the VTEP may implement the VXLAN encapsulation and VXLAN decapsulation of a packet.
The function of the NVTEP may implement NVGRE encapsulation and NVGRE decapsulation of a packet.
The function of the GW may implement layer 2 forwarding and layer 3 forwarding of a packet. The layer 2 forwarding and layer 3 forwarding may be processed by the TEP.
Referring to figure 4A, figure 4A is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
At block 401A, a packet may be received.
At block 402A, when the packet is a packet in a VXLAN format, VXLAN decapsulation may be performed for the packet in the VXLAN format to obtain a first packet. A first forwarding entry matching a destination Internet Protocol (IP) address in the first packet may be found from a local forwarding table. It may be identified that an encapsulation format in the first forwarding entry may be NVGRE encapsulation. NVGRE encapsulation may be performed for the first packet to obtain a second packet. The second packet may be sent to a device corresponding to the  destination IP address in the first packet.
At block 403A, when the packet is a packet in an NVGRE format, the packet in the NVGRE format may be decapsulated to obtain a third packet. A second forwarding entry matching a destination IP address in the third packet may be found from the local forwarding table. It may be identified that an encapsulation format in the second forwarding entry may be VXLAN encapsulation. VXLAN encapsulation may be performed for the third packet to obtain a fourth packet. The fourth packet may be sent to a device corresponding to the destination IP address in the third packet. 
Referring to figure 4B, figure 4B is a flow chart illustrating a method for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure. This flow may be applied to the above TEP. As shown in figure 4B, the flow may include following blocks.
At block 401B, a TEP may receive a packet in a VXLAN format, perform decapsulation for the received packet to obtain a first packet, find a first forwarding entry matching a destination IP address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet and forward the first packet in the NVGRE format to a device corresponding to the destination IP address of the first packet.
The first packet may be an original packet obtained by the VXLAN decapsulation. For the convenience of description, the original packet obtained by the VXLAN decapsulation may be called the first packet.
The first forwarding entry may be a forwarding entry matching the destination IP address of the first packet in the local forwarding table.
The local forwarding table may be statically configured on the TEP. In the alternative, the local forwarding table may be learned by the TEP using a VXLAN control plane protocol, such as an Intermediate System to Intermediate System (ISIS) protocol. The local forwarding table of the TEP may include multiple forwarding entries. Each forwarding entry may include: a destination IP address, an IP address of  a TEP, to which a device corresponding to the destination IP address may belong, an encapsulation format, an outer destination IP address and an egress port. Figure 1 may show structure of a forwarding entry.
Table 1
Figure PCTCN2016082741-appb-000001
In an example of the present disclosure, when the destination IP address in the forwarding entry is an IP address of a VM connected to a vswitch, which connects to a TEP in turn, an IP address of a TEP, to which a device corresponding to the destination IP address in the forwarding entry belongs, may be the IP address of the TEP. The encapsulation format may be that allowed by a network, to which the device corresponding to the destination IP address in the forwarding entry may belong. The outer destination IP address in the forwarding entry may be an IP address of a vswitch connected to the device corresponding to the destination IP address. The egress port in the forwarding entry may be an egress port, which may be used to transmit a packet to the device corresponding to the destination IP address. When the destination IP address in the forwarding entry is not an IP address of a VM connected to the vswitch, which connects to the TEP in turn, the forwarding entry may record the destination IP address and the IP address of the TEP, to which the device corresponding to the destination IP address may belong. Other entries in the forwarding entry may be null. Taking the TEP1 in figure 3 for example, on the basis of the above description, the local forwarding table of the TEP1 in figure 3 may be shown in table 2.
Table 2
Figure PCTCN2016082741-appb-000002
It can be seen from block 401B that in examples of the present disclosure, the packet forwarding from the VXLAN to the NVGRE network may be implemented.
As an example of the present disclosure, in block 401B, before the TEP identifies that the encapsulation format in the first forwarding entry is the NVGRE encapsulation, following steps may be performed.
In step a1, the TEP may find the IP address of the TEP, to which the device corresponding to the destination IP address of the first packet may belong, from the first forwarding entry.
In step a2, when an IP address of a TEP found in step a1 is the IP address of the local TEP, the TEP may continue to perform the operation of identifying the encapsulation format in the first forwarding entry as the NVGRE encapsulation. When the IP address of the TEP found in step a1 is not the IP address of the TEP, the TEP may perform the VXLAN encapsulation for the first packet and forward the VXLAN packet obtained after the VXLAN encapsulation operation to the TEP corresponding to the found IP address of the TEP. The source IP address and destination IP address in the outer IP header of the VXLAN encapsulation may respectively be the IP address of the local TEP and the IP address of the TEP found in step a1.
In step a2, a reason for the TEP to perform the VXLAN encapsulation for the first packet may be that the IP address of the TEP found in step a1 is not the IP address of the local TEP, which may mean that the destination IP address of the first packet may not be the IP address of the VM connected to the vswitch, which may connect to the local TEP in turn. Based on the above forwarding entry, the encapsulation format in the first forwarding entry matching the destination IP address of the first packet may be null. That is, the local TEP may not know how to encapsulate the first packet. Therefore, the TEP may perform the VXLAN encapsulation for the first packet according to the encapsulation format of the received first packet, i.e., the VXLAN encapsulation.
The method for performing the NVGRE encapsulation for the first packet and forwarding the packet obtained after the NVGRE encapsulation to the device corresponding to the destination IP address of the first packet may include following  steps.
In step b1, the TEP may perform the NVGRE encapsulation for the first packet.
In this example of the present disclosure, the outer destination IP address may be obtained from the first forwarding entry and the outer destination IP address may be added to the destination IP address of the outer IP header. The destination IP address of the outer IP header may be the IP address of the vswitch connected to the device corresponding to the destination IP address in the first packet. The IP address of the vswitch connected to the device corresponding to a source IP address in the first packet may be found using the source IP address in the first packet. The IP address of the vswitch may be taken as the outer source IP address. The outer source IP address may be added to the source IP address of the outer IP header.
The IP address of the vswitch connected to the device corresponding to the source IP address of the first packet, i.e., the outer IP address, may be determined by the TEP according to the source IP address of the first packet. In an example of the present disclosure, all vswitches and all TEPs in the network may store global topology structure information. The global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch. Based on locally-stored global topology structure information, the TEP may determine the IP address of the vswitch connected to the device corresponding to the source IP address of the first packet.
In step b2, the first packet obtained after the NVGRE encapsulation may be forwarded via the egress port in the first forwarding entry.
The egress port may be obtained from the first forwarding entry. The first packet obtained after the NVGRE encapsulation may be forwarded to the vswitch connected to the device corresponding to the outer destination IP address via the egress port, so that the vswitch may perform NVGRE decapsulation for the first  packet obtained after the NVGRE encapsulation to obtain the first packet and send the first packet to the device corresponding to the destination IP address in the first packet according to the destination IP address in the first packet.
With the step b1 and step b2, the NVGRE encapsulation of the first packet may be implemented and the packet in the NVGRE format may be forwarded to the device corresponding to the destination IP address of the first packet.
At block 402B, the TEP may receive the packet in the NVGRE format, decapsualte the received packet to obtain a second packet, find a second forwarding entry matching the destination IP address of the second packet from the local forwarding table, identify the encapsulation format in the second forwarding entry as the VXLAN encapsulation, perform the VXLAN encapsulation for the second packet, and send the packet in the VXLAN format to the device corresponding to the destination IP address of the second packet.
The second packet may be the original packet obtained after the NVGRE decapsulation. For the convenience of description, the packet obtained after the NVGRE decapsulation may be called the second packet.
The second forwarding entry may be a forwarding entry matching the destination IP address of the second packet in the local forwarding table.
With block 402B, the packet forwarding from the NVGRE network to the VXLAN may be implemented.
At block 402B, before the TEP identifies that the encapsulation format in the second forwarding entry is the VXLAN encapsulation, following steps may be performed.
In step c1, the TEP may find the IP address of the TEP, to which the device corresponding to the destination IP address of the second packet may belong, from the second forwarding entry.
In step c2, when an IP address of a TEP found in step c1 is the IP address of the local TEP, the local TEP may continue to perform the operation of identifying the  encapsulation format in the second forwarding entry as the VXLAN encapsulation. When the IP address of the TEP found in step c1 is not the IP address of the local TEP, the TEP may perform the NVGRE encapsulation for the second packet and forward the packet obtained after the NVGRE encapsulation operation to a TEP corresponding to the found IP address of the TEP. The source IP address and destination IP address in the outer IP header of the NVGRE encapsulation may respectively be the IP address of the local TEP and the IP address of the TEP found in step c1.
In step c2, a reason for the TEP to perform the NVGRE encapsulation for the second packet may be that the IP address of the TEP found in step c1 is not the IP address of the local TEP, which may mean that the destination IP address of the second packet may not be the IP address of the VM connected to the vswitch, which may connect to the local TEP in turn. Based on the above forwarding entry, the encapsulation format in the second forwarding entry matching the destination IP address of the second packet may be null. That is, the TEP may not know how to encapsulate the second packet. Therefore, the TEP may perform the NVGRE encapsulation for the second packet according to the encapsulation format of the received second packet, i.e., the NVGRE encapsulation.
The method for performing the VXLAN encapsulation for the second packet and forwarding the packet in the VXLAN format to the device corresponding to the destination IP address of the second packet may include following steps.
In step d1, the TEP may perform the VXLAN encapsulation for the second packet.
In this example of the present disclosure, the outer destination IP address may be obtained from the second forwarding entry and the outer destination IP address may be added to the destination IP address of the outer IP header. The destination IP address of the outer IP header may be the IP address of the vswitch connected to the device corresponding to the destination IP address of the second packet. The IP address of the vswitch connected to the device corresponding to a source IP address in the second packet may be found using the source IP address in the second packet. The IP address of the vswitch may be taken as the outer source IP address. The outer  source IP address may be added to the source IP address of the outer IP header.
The IP address of the vswitch connected to the device corresponding to the source IP address of the second packet, i.e., the outer source IP address, may be determined by the TEP according to the source IP address of the second packet. In an example of the present disclosure, based on the above global topology structure information, the TEP may determine the IP address of the vswitch connected to the device corresponding to the source IP address of the second packet.
In step d2, the second packet in the VXLAN format may be forwarded via the egress port in the second forwarding entry.
The egress port may be obtained from the second forwarding entry. The second packet in the VXLAN format may be forwarded to the vswitch connected to the device corresponding to the outer destination IP address via the egress port, so that the vswitch may perform VXLAN decapsulation for the second packet in the VXLAN format to obtain the second packet and send the second packet to the device corresponding to the destination IP address in the second packet according to the destination IP address in the second packet.
With the step d1 and step d2, the VXLAN encapsulation of the second packet may be implemented and the packet in the VXLAN format may be forwarded to the device corresponding to the IP address of the second packet.
Taking the networking shown in figure 5 for example, in figure 5, TEP1 to TEP4 have the function of the VTEP, the function of the NVTEP and the function of the GW. A vswitch1 in figure 5 (IP address of the vswitch1 may be vmknic1) may connect to a VM1 (an IP address of the VM1 may be IP1) and TEP1. A vswitch2 (IP address of the vswitch2 may be vmknic2) may connect to a VM2 (an IP address of the VM2 may be IP2) and TEP2. A vswitch3 (IP address of the vswitch3 may be vmknic3) may connect to a VM3 (an IP address of the VM3 may be IP3) and TEP3. A vswitch4 (IP address of the vswitch4 may be vmknic4) may connect to a VM4 (an IP address of the VM4 may be IP4) and TEP4. The vswitch1 to vswitch4 may be configured with corresponding encapsulation and decapsulation capability as needed. The vswitch1 may be configured with VXLAN encapsulation capability and VXLAN decapsulation  capability. The vswitch2 may be configured with the VXLAN encapsulation and VXLAN decapsulation capability. The vswitch3 may be configured with the NVGRE encapsulation and NVGRE decapsulation capability. The vswitch4 may be configured with the NVGRE encapsulation and NVGRE decapsulation capability.
An example may be given taking that the VM1 in the VXLAN access the VM3 in the NVGRE network shown in figure 5 for example.
The VM1 may send a packet 01 to the vswitch1. A source IP address of the packet 01 may be an IP address of the VM1, i.e., IP1. A destination IP address of the packet 01 may be the IP address of the VM3, i.e., IP3. For distinguishing the source IP address and destination IP address in the outer IP header in the VXLAN encapsulation, the source IP address and destination IP address of the packet 01 may be configured in an inner IP header. Figure 6a may show the structure of the packet 01.
The vswitch1 may receive the packet 01 from the VM1. The vswitch1 may perform the VXLAN encapsulation for the received packet 01 according to the VXLAN encapsulation capability of the vswitch1. For the convenience of description, the packet 01, which may have been encapsulated into the VXLAN format, may be denoted by a packet 02. A source IP address in the outer IP header of the VXLAN encapsulation may be the IP address of the vswitch1, i.e. the vmkinc1. A destination IP address in the outer IP header of the VXLAN encapsulation may be the IP address of the vswitch3, i.e. the vmkinc3. The vswitch1 may determine the destination IP address in the outer IP header according to the destination IP address in the packet 01, i.e., IP3. In view of the above, all vswitches and all TEPs in the network may store the global topology structure information. The global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch. Based on locally-stored global topology structure information, the vswitch1 may determine that the destination IP address in the outer IP header may be the IP address of the vswitch3 (denoted as vmknic3) connected to the VM3, the IP address of which may be the IP3. Figure 6b may show the structure of the packet 02.
The vswitch1 may send the packet 02 to the TEP1 connected to the vswitch1. 
After the TEP1 receives the packet 02, the TEP1 may perform the VXLAN decapsulation for the packet 02 to obtain the above packet 01.
The TEP1 may find a forwarding entry matching the destination IP address in the inner IP header of the packet 01, i.e., IP3 from the local forwarding table. Table 3 may show the local forwarding table of the TEP1.
Table 3
Figure PCTCN2016082741-appb-000003
The TEP1 may find that the IP address of the TEP, to which the device corresponding to the destination IP address, i.e., the IP3 may belong, may be the IP address of the TEP3, which may not be the IP address of the TEP1. The VXLAN encapsulation may be performed for the packet 01 according to the encapsulation format of the received packet 01, i.e., the VXLAN encapsulation and the packet in the VXLAN format may be forwarded to the TEP3. For the convenience of description, the packet 01 obtained after the VXLAN encapsulation may be called the packet 03. The source IP address in the outer IP header in the VXLAN encapsulation may be the IP address of the TEP1 and the destination IP address in the outer IP header may be the IP address of the TEP3. Figure 6c may show the structure of the packet 03.
The TEP3 may receive a packet 03 and decapsulate the packet 03 to obtain the above packet 01.
The TEP3 may find a forwarding entry matching a destination IP address in an inner IP header of the packet 01, i.e., IP3 from a local forwarding table. The  following table 4 may show the local forwarding table of the TEP3.
Table 4
Figure PCTCN2016082741-appb-000004
The TEP3 may find the destination IP address from the found forwarding entry. That is, an IP address of a TEP, to which a device corresponding to the IP3 may belong, may be the IP address of the TEP3. The TEP3 may continue to search the forwarding entry for an encapsulation format, find that the found encapsulation format may be NVGRE encapsulation and perform NVGRE encapsulation for the packet 01. For the convenience of description, the packet 01 in the NVGRE format may be called a packet 04. A source IP address in an outer IP header in the NVGRE encapsulation may be an IP address of vswitch1, i.e., vmkninc1. The destination IP address may be an outer destination IP address in the found forwarding entry (i.e., the destination IP address, i.e., the IP address of the vswitch3 connected to the VM3 corresponding to the IP3, i.e., vmknic3) . The TEP3 may determine the source IP address in the outer IP header according to the source IP address of the packet 01, i.e., IP1. As mentioned above, all vswitches and TEPs in the network may store the global topology structure information. The global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch. Based on the locally-stored global topology structure information, the TEP3 may determine that the source IP address in the outer IP header, i.e., the outer source IP address may be the IP address of vswitch1 (i.e., vmknic1) connected to the VM1, the IP address of which  may be the IP1. Figure 6d may show structure of the packet 04.
The TEP3 may forward the packet 04 via an egress port (denoted as Port33) via the found forwarding entry.
The vswitch3 may receive the packet 04 from the TEP3 and decapsulate the received packet 04 with its NVGRE decapsulation capability to obtain the packet 01. When the vswitch3 finds that the destination IP address in the inner IP header of the packet 01, i.e., the IP3 is the IP address of the VM3 connected to the vswitch3, the vswitch3 may send the packet 01 to the VM3.
The VM3 may receive the packet 01 from the VM1. Therefore, the packet forwarding from the VXLAN to the NVGRE network may be implemented.
For another example, the networking shown in figure 5 may still be taken as the example. An example may be given taking that the VM3 in the NVGRE network may access the VM1 in the VXLAN for example.
The VM3 may send a packet 11 to the vswitch3 connected to the VM3. A source IP address of the packet 11 may be the IP address of the VM3, i.e., IP3. A destination IP address of the packet 11 may be the IP address of the VM1, i.e., IP1. In order to distinguish from a source IP address and destination IP address in the outer IP header in the VXLAN encapsulation, the source IP address and destination IP address of the packet 11 may be set in the inner IP header. Figure 7a may show the structure of the packet 11. The vswitch3 may receive the packet 11 from the VM3 and perform NVGRE encapsulation for the received packet 11 according to the configured NVGRE encapsulation capability. For the convenience, the packet 11, which may have been encapsulated into the NVGRE format, may be call a packet 12. The source IP address in the outer IP header of the NVGRE encapsulation may be the IP address of the vswitch3, i.e., vmknic3 and the destination IP address in the outer header of the NVGRE encapsulation may be the IP address of the vswitch1, i.e., vmknic1. The vswitch3 may determine the destination IP address in the outer IP header according to the destination IP address of the packet 11, i.e., the IP1. As mentioned above, all vswitches and TEPs in the network may store the global topology structure information. The global topology structure information may record a connection  relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch. Based on locally-stored global topology structure information, the destination IP address in the outer IP header determined by the vswitch1 according to the connection relationships recorded in the global topology structure information may be vmknic1, i.e., the IP address of the vswitch1 connected to the VM1, the IP address of which may be the IP1. Figure 7b may show the structure of the packet 12.
The vswitch3 may send the packet 12 to the TEP3 connected to the vswitch3. 
After receiving the packet 12, the TEP3 may perform NVGRE decapsulation for the packet 12 to obtain the packet 11.
The TEP3 may find a forwarding entry matching the destination IP address in the inner IP header of the packet 11, i.e., IP1 from the local forwarding table.
The TEP3 may find that the IP address of the TEP, to which the VM1 corresponding to the destination IP address, i.e., the IP1 may belong, may be the IP address of the TEP1, which may not be the IP address of the TEP3. The NVGRE encapsulation may be performed for the packet 11 according to the encapsulation format of the received packet 11, i.e., the NVGRE encapsulation and the packet in the NVGRE format may be forwarded to the TEP1. For the convenience of description, the packet 11 obtained after the NVGRE encapsulation may be called the packet 13. The source IP address in the outer IP header in the NVGRE encapsulation may be the IP address of the TEP3 and the destination IP address in the outer IP header may be the IP address of the TEP1. Figure 7c may show the structure of the packet 13.
The TEP1 may receive a packet 13 and decapsulate the packet 13 to obtain the above packet 11.
The TEP1 may find a forwarding entry matching a destination IP address in an inner IP header of the packet 11, i.e., IP1 from a local forwarding table.
When the TEP1 finds that an IP address of a TEP, to which the VM1  corresponding to the destination IP, i.e., the IP1 belongs, is the IP address of the TEP1, the TEP1 may continue to search the forwarding entry for an encapsulation format, find that the found encapsulation format may be VXLAN encapsulation and perform VXLAN encapsulation for the packet 11. For the convenience of description, the packet 11, which may have been encapsulated into the VXLAN format, may be called a packet 14. A source IP address in an outer IP header in the VXLAN encapsulation may be an IP address of vswitch3, i.e., vmkninc3. The destination IP address in the outer IP header may be an outer destination IP address in the found forwarding entry (i.e., the IP address of the vswitch1, i.e., vmknic1) . The TEP1 may determine the source IP address in the outer IP header according to the source IP address of the packet 11, i.e., IP3. As mentioned above, all vswitches and TEPs in the network may store the global topology structure information. The global topology structure information may record a connection relationship between each vswitch (identified with an IP address) and each VM (identified with an IP address) connected to the each vswitch and a connection relationship between the each vswitch (identified with an IP address) and each TEP (identified with an IP address) connected to the each vswitch. Based on the locally-stored global topology structure information, the TEP1 may determine that the source IP address in the outer IP header may be the IP address of vswitch3 (i.e., vmknic3) connected to the VM3, the IP address of which may be the IP3. Figure 7d may show structure of the packet 04.
The TEP1 may forward the packet 14 via an egress port (denoted as Port11) via the found forwarding entry.
The vswitch1 may receive the packet 14 from the TEP1 and decapsulate the received packet 14 with its VXLAN decapsulation capability to obtain the packet 11. When the vswitch1 finds that the destination IP address in the inner IP header of the packet 11, i.e., the IP1 is the IP address of the VM1 connected to the vswitch1, the vswitch1 may send the packet 11 to the VM1.
The VM1 may receive the packet 11 from the VM3. Therefore, the packet forwarding from the NVGRE network to the VXLAN may be implemented.
An example may be given to describe the flow shown in figure B.
Till then, the description of the methods provided by examples of the present disclosure may be finished. The devices provided by examples of the present disclosure may be described hereinafter.
Referring to figure 8, figure 8 is a diagram illustrating structure of a device for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure. The device may be applied to a Tunnel End Point (TEP) acting as a gateway. As shown in figure 8, the device may include:
a first communication unit, configured to receive a packet in a VXLAN format, perform VXLAN decapsulation for the received packet to obtain a first packet, find a first forwarding entry matching a destination IP address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet and forward the first packet in an NVGRE format to a device corresponding to the destination IP address of the first packet; and
a second communication unit, configured to receive a packet in the NVGRE format, perform NVGRE decapsulation for the received packet to obtain a second packet, find a second forwarding entry matching a destination IP address of the second packet from the local forwarding table, identify an encapsulation format in the second forwarding entry as VXLAN encapsulation, perform VXLAN encapsulation for the second packet and forward the second packet in a VXLAN format to a device corresponding to the destination IP address of the second packet.
Before the first communication unit identifies that the encapsulation format in the first forwarding entry is the NVGRE encapsulation, the first communication unit may be further configured to obtain an IP address of a TEP, to which a device corresponding to the destination IP address of the first packet from the first forwarding entry. When the found IP address of the TEP is the IP address of the local TEP, the first communication unit may be further configured to continue to perform an operation of identifying the encapsulation format in the first forwarding entry as the NVGRE encapsulation. When the found IP address of the TEP is not the IP address of the local TEP, the first communication unit may be further configured to perform VXLAN encapsulation for the first packet, forward the packet in the VXLAN format  to the TEP corresponding to the found IP address of the TEP. A source IP address and a destination IP address in an outer IP header of the VXLAN encapsulation may respectively be the IP address of the local TEP and the found IP address of the TEP.
The first communication unit may be further configured to perform the NVGRE encapsulation for the first packet and forward the first packet in the NVGRE format via an egress port in the first forwarding entry. The source IP address in the outer IP header of the NVGRE encapsulation may be an IP address of a vswitch connected to the device corresponding to a source IP address of the first packet. The destination IP address in the outer IP header of the NVGRE encapsulation may be an outer destination IP address in the first forwarding entry. The outer destination IP address may be the IP address of the vswitch connected to the device corresponding to the destination IP address of the first packet.
Before the second communication unit identifies that the encapsulation format in the second forwarding entry is the VXLAN encapsulation, the second communication unit may be further configured to obtain an IP address of a TEP, to which a device corresponding to the destination IP address of the second packet from the second forwarding entry. When the found IP address of the TEP is the IP address of the local TEP, the second communication unit may be further configured to continue to perform an operation of identifying the encapsulation format in the second forwarding entry as the VXLAN encapsulation. When the found IP address of the TEP is not the IP address of the local TEP, the second communication unit may be further configured to perform NVGRE encapsulation for the second packet, forward the packet in the NVGRE format to the TEP corresponding to the found IP address of the TEP. A source IP address and a destination IP address in an outer IP header of the NVGRE encapsulation may respectively be the IP address of the local TEP and the found IP address of the TEP.
The second communication unit may be further configured to perform the VXLAN encapsulation for the second packet and forward the second packet in the VXLAN format via an egress port in the second forwarding entry. The source IP address in the outer IP header of the VXLAN encapsulation may be an IP address of a vswitch connected to the device corresponding to a source IP address of the second  packet. The destination IP address in the outer IP header of the VXLAN encapsulation may be an outer destination IP address in the second forwarding entry. The outer destination IP address may be the IP address of the vswitch connected to the device corresponding to the destination IP address of the second packet.
Till then, the description of the structure of the device shown in figure 8 may be finished.
An example of the present disclosure may provide a diagram illustrating structure of the device shown in figure 8. As shown in figure 9, the structure may include:
a storage, configured to store the first communication unit and the second communication unit, which may connect to each other in the storage via interconnected lines; and
a CPU, configured to store control programs running on the first communication unit to control the first communication unit in the storage to execute the above operation and store control programs running on the second communication unit to control the second communication unit in the storage to execute the above operations. 
Till then, the description of the device shown in figure 8 may be finished.
Referring to figure 10, figure 10 is a diagram illustrating structure of a Tunnel End Point (TEP) for implementing communication between the VXLAN and NVGRE network in accordance with various examples of the present disclosure.
The device may include: a CPU 1001, a non-transitory storage 1002 and a network interface 1003.
The non-transitory storage 1002 may be configured to store machine readable instructions.
The CPU 1001 may be configured to communicate with non-transitory storage 1002 to read and execute the machine readable instructions in the non-transitory storage 1002 to:
receive a packet;
when the packet is a packet in a VXLAN format, perform VXLAN  decapsulation for the packet in the VXLAN format to obtain a first packet, find a first forwarding entry matching a destination Internet Protocol (IP) address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet to obtain a second packet, and send the second packet to a device corresponding to the destination IP address in the first packet;
when the packet is a packet in an NVGRE format, decapsulate the packet in the NVGRE format to obtain a third packet, find a second forwarding entry matching a destination IP address in the third packet from the local forwarding table, identify an encapsulation format in the second forwarding entry as VXLAN encapsulation, perform VXLAN encapsulation for the third packet to obtain a fourth packet, and send the fourth packet to a device corresponding to the destination IP address in the third packet.
In an example of the preset disclosure, the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
find an IP address of a TEP, to which the device corresponding to the destination IP address in the first packet belongs, from the first forwarding entry;
when the IP address of the found TEP is an IP address of a local TEP, identify the encapsulation format in the first forwarding entry as the NVGRE encapsulation;
when the IP address of the found TEP is not the IP address of the local TEP, perform the VXLAN encapsulation for the first packet to obtain a fifth packet, send the fifth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the fifth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
In an example of the preset disclosure, the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
obtain a first outer destination IP address from the first forwarding entry;
add the first outer destination IP address to a destination IP address in a first outer IP header; wherein the destination IP address of the first outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the first packet;
find an IP address of a vswitch connected to a device corresponding to a source IP address in the first packet using the source IP address in the first packet;
take the IP address of the vswitch connected to the device corresponding to the source IP address in the first packet as a first outer source IP address; and
add the first outer source IP address to a source IP address of the first outer IP header.
In an example of the preset disclosure, the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
obtain a first egress port from the first forwarding entry;
send the second packet to a vswitch corresponding to the first outer destination IP address using the first egress port, so that the vswitch corresponding to the first outer destination IP address performs NVGRE decapsulation for the second packet to obtain the first packet and sends the first packet to the device corresponding to the destination IP address in the first packet according to the destination IP address in the first packet.
In an example of the preset disclosure, the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
find an IP address of a TEP, to which the device corresponding to the destination IP address in the third packet belongs, from the second forwarding entry;
when the IP address of the found TEP is an IP address of a local TEP, identify the encapsulation format in the second forwarding entry as the VXLAN encapsulation;
when the IP address of the found TEP is not the IP address of the local TEP, perform NVGRE encapsulation for the third packet to obtain a sixth packet, send the sixth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the sixth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
In an example of the preset disclosure, the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
obtain a second outer destination IP address from the second forwarding entry;
add the second outer destination IP address to a destination IP address in a second outer IP header; wherein the destination IP address of the second outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the third packet;
find an IP address of a vswitch connected to a device corresponding to a source IP address in the third packet using the source IP address in the third packet;
take the IP address of the vswitch connected to the device corresponding to the source IP address in the third packet as a second outer source IP address; and
add the second outer source IP address to a source IP address of the second outer IP header.
In an example of the preset disclosure, the CPU 1001 may be further configured to execute the machine readable instructions in the non-transitory storage 1002 to:
obtain a second egress port from the second forwarding entry;
send the fourth packet to a vswitch corresponding to the second outer destination IP address using the second egress port, so that the vswitch corresponding to the second outer destination IP address performs VXLAN decapsulation for the fourth packet to obtain the third packet and sends the third packet to the device corresponding to the destination IP address in the  third packet according to the destination IP address in the third packet.
What has been described and illustrated herein are examples of the disclosure along with some variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the scope of the disclosure, which is intended to be defined by the following claims--and their equivalents--in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

Claims (14)

  1. A method for implementing communication between a Virtual eXtensible Local Area Network (VXLAN) and a Virtualization using Generic Routing Encapsulation (NVGRE) network, applied to a Tunnel End Point (TEP) , comprising:
    receiving a packet;
    when the packet is a packet in a VXLAN format, performing VXLAN decapsulation for the packet in the VXLAN format to obtain a first packet, finding a first forwarding entry matching a destination Internet Protocol (IP) address in the first packet from a local forwarding table, identifying an encapsulation format in the first forwarding entry as NVGRE encapsulation, performing NVGRE encapsulation for the first packet to obtain a second packet, and sending the second packet to a device corresponding to the destination IP address in the first packet;
    when the packet is a packet in an NVGRE format, decapsulating the packet in the NVGRE format to obtain a third packet, finding a second forwarding entry matching a destination IP address in the third packet from the local forwarding table, identifying an encapsulation format in the second forwarding entry as VXLAN encapsulation, performing VXLAN encapsulation for the third packet to obtain a fourth packet, and sending the fourth packet to a device corresponding to the destination IP address in the third packet.
  2. The method according to claim 1, further comprising:
    finding an IP address of a TEP, to which the device corresponding to the destination IP address in the first packet belongs, from the first forwarding entry;
    when the IP address of the found TEP is an IP address of a local TEP, identifying the encapsulation format in the first forwarding entry as the NVGRE encapsulation;
    when the IP address of the found TEP is not the IP address of the local TEP, performing the VXLAN encapsulation for the first packet to obtain a fifth packet, sending the fifth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the fifth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
  3. The method according to claim 1, wherein performing the NVGRE encapsulation for the first packet to obtain the second packet comprises:
    obtaining a first outer destination IP address from the first forwarding entry;
    adding the first outer destination IP address to a destination IP address in a first outer IP header; wherein the destination IP address of the first outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the first packet;
    finding an IP address of a vswitch connected to a device corresponding to a source IP address in the first packet using the source IP address in the first packet;
    taking the IP address of the vswitch connected to the device corresponding to the source IP address in the first packet as a first outer source IP address; and
    adding the first outer source IP address to a source IP address of the first outer IP header.
  4. The method according to claim 3, wherein sending the second packet to the device corresponding to the destination IP address in the first packet comprises:
    obtaining a first egress port from the first forwarding entry;
    sending the second packet to a vswitch corresponding to the first outer destination IP address using the first egress port, so that the vswitch corresponding to the first outer destination IP address performs NVGRE decapsulation for the second packet to obtain the first packet and sends the first packet to the device corresponding to the destination IP address in the first packet according to the destination IP address in the first packet.
  5. The method according to claim 1, further comprising:
    finding an IP address of a TEP, to which the device corresponding to the destination IP address in the third packet belongs, from the second forwarding entry;
    when the IP address of the found TEP is an IP address of a local TEP, identifying the encapsulation format in the second forwarding entry as the VXLAN encapsulation;
    when the IP address of the found TEP is not the IP address of the local TEP, performing NVGRE encapsulation for the third packet to obtain a sixth packet, sending the sixth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the sixth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
  6. The method according to claim 1, wherein performing the VXLAN encapsulation for the third packet to obtain the fourth packet comprises:
    obtaining a second outer destination IP address from the second forwarding entry;
    adding the second outer destination IP address to a destination IP address in a second outer IP header; wherein the destination IP address of the second outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the third packet;
    finding an IP address of a vswitch connected to a device corresponding to a source IP address in the third packet using the source IP address in the third packet;
    taking the IP address of the vswitch connected to the device corresponding to the source IP address in the third packet as a second outer source IP address; and
    adding the second outer source IP address to a source IP address of the second outer IP header.
  7. The method according to claim 6, wherein sending the fourth packet to the device corresponding to the destination IP address in the third packet comprises:
    obtaining a second egress port from the second forwarding entry;
    sending the fourth packet to a vswitch corresponding to the second outer destination IP address using the second egress port, so that the vswitch corresponding to the second outer destination IP address performs VXLAN decapsulation for the fourth packet to obtain the third packet and sends the third packet to the device corresponding to the destination IP address in the third packet according to the destination IP address in the third packet.
  8. A Tunnel End Point (TEP) for implementing communication between a Virtual eXtensible Local Area Network (VXLAN) and a Virtualization using Generic Routing Encapsulation (NVGRE) network, comprising: a storage and a processor;
    wherein the processor is to execute machine readable instructions in the storage to:
    receive a packet;
    when the packet is a packet in a VXLAN format, perform VXLAN decapsulation for the packet in the VXLAN format to obtain a first packet, find a first forwarding entry matching a destination Internet Protocol (IP) address in the first packet from a local forwarding table, identify an encapsulation format in the first forwarding entry as NVGRE encapsulation, perform NVGRE encapsulation for the first packet to obtain a second packet, and send the second packet to a device  corresponding to the destination IP address in the first packet;
    when the packet is a packet in an NVGRE format, decapsulate the packet in the NVGRE format to obtain a third packet, find a second forwarding entry matching a destination IP address in the third packet from the local forwarding table, identify an encapsulation format in the second forwarding entry as VXLAN encapsulation, perform VXLAN encapsulation for the third packet to obtain a fourth packet, and send the fourth packet to a device corresponding to the destination IP address in the third packet.
  9. The TEP according to claim 8, wherein the processor is further to execute the machine readable instructions in the storage to:
    find an IP address of a TEP, to which the device corresponding to the destination IP address in the first packet belongs, from the first forwarding entry;
    when the IP address of the found TEP is an IP address of a local TEP, identify the encapsulation format in the first forwarding entry as the NVGRE encapsulation;
    when the IP address of the found TEP is not the IP address of the local TEP, perform the VXLAN encapsulation for the first packet to obtain a fifth packet, send the fifth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the fifth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
  10. The TEP according to claim 8, wherein the processor is further to execute the machine readable instructions in the storage to:
    obtain a first outer destination IP address from the first forwarding entry;
    add the first outer destination IP address to a destination IP address in a first outer IP header; wherein the destination IP address of the first outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the first packet;
    find an IP address of a vswitch connected to a device corresponding to a source IP address in the first packet using the source IP address in the first packet;
    take the IP address of the vswitch connected to the device corresponding to the source IP address in the first packet as a first outer source IP address; and
    add the first outer source IP address to a source IP address of the first outer IP header.
  11. The TEP according to claim 10, wherein the processor is further to execute  the machine readable instructions in the storage to:
    obtain a first egress port from the first forwarding entry;
    send the second packet to a vswitch corresponding to the first outer destination IP address using the first egress port, so that the vswitch corresponding to the first outer destination IP address performs NVGRE decapsulation for the second packet to obtain the first packet and sends the first packet to the device corresponding to the destination IP address in the first packet according to the destination IP address in the first packet.
  12. The TEP according to claim 8, wherein the processor is further to execute the machine readable instructions in the storage to:
    find an IP address of a TEP, to which the device corresponding to the destination IP address in the third packet belongs, from the second forwarding entry;
    when the IP address of the found TEP is an IP address of a local TEP, identify the encapsulation format in the second forwarding entry as the VXLAN encapsulation;
    when the IP address of the found TEP is not the IP address of the local TEP, perform NVGRE encapsulation for the third packet to obtain a sixth packet, send the sixth packet to the found TEP, wherein a source IP address and a destination IP address in an outer IP header of the sixth packet are respectively the IP address of the local TEP and the IP address of the found TEP.
  13. The TEP according to claim 8, wherein the processor is further to execute the machine readable instructions in the storage to:
    obtain a second outer destination IP address from the second forwarding entry;
    add the second outer destination IP address to a destination IP address in a second outer IP header; wherein the destination IP address of the second outer IP header is an IP address of a vswitch connected to the device corresponding to the destination IP address in the third packet;
    find an IP address of a vswitch connected to a device corresponding to a source IP address in the third packet using the source IP address in the third packet;
    take the IP address of the vswitch connected to the device corresponding to the source IP address in the third packet as a second outer source IP address; and
    add the second outer source IP address to a source IP address of the second outer IP header.
  14. The TEP according to claim 13, wherein the processor is further to execute  the machine readable instructions in the storage to:
    obtain a second egress port from the second forwarding entry;
    send the fourth packet to a vswitch corresponding to the second outer destination IP address using the second egress port, so that the vswitch corresponding to the second outer destination IP address performs VXLAN decapsulation for the fourth packet to obtain the third packet and sends the third packet to the device corresponding to the destination IP address in the third packet according to the destination IP address in the third packet.
PCT/CN2016/082741 2015-05-22 2016-05-20 Network communication Ceased WO2016188366A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510268834.5A CN106302069A (en) 2015-05-22 2015-05-22 Realize interoperability methods and the equipment of VXLAN and NVGRE network
CN201510268834.5 2015-05-22

Publications (1)

Publication Number Publication Date
WO2016188366A1 true WO2016188366A1 (en) 2016-12-01

Family

ID=57393808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/082741 Ceased WO2016188366A1 (en) 2015-05-22 2016-05-20 Network communication

Country Status (2)

Country Link
CN (1) CN106302069A (en)
WO (1) WO2016188366A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992917B (en) * 2017-03-03 2020-01-03 新华三技术有限公司 Message forwarding method and device
CN111182016B (en) * 2018-11-12 2022-12-27 中移(杭州)信息技术有限公司 PPPoE dialing message transmission method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130329728A1 (en) * 2012-06-11 2013-12-12 Avaya Inc. Bidirectional translation of network edge virtualization encapsulation to core network virtualization encapsulation
US20140086253A1 (en) * 2012-09-26 2014-03-27 Futurewei Technologies, Inc. Overlay Virtual Gateway for Overlay Networks
CN104579954A (en) * 2013-10-16 2015-04-29 华为技术有限公司 Message cross-domain forwarding method and device as well as communication device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099602A1 (en) * 2010-10-25 2012-04-26 Brocade Communications Systems, Inc. End-to-end virtualization
US9143582B2 (en) * 2013-03-08 2015-09-22 International Business Machines Corporation Interoperability for distributed overlay virtual environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130329728A1 (en) * 2012-06-11 2013-12-12 Avaya Inc. Bidirectional translation of network edge virtualization encapsulation to core network virtualization encapsulation
US20140086253A1 (en) * 2012-09-26 2014-03-27 Futurewei Technologies, Inc. Overlay Virtual Gateway for Overlay Networks
CN104579954A (en) * 2013-10-16 2015-04-29 华为技术有限公司 Message cross-domain forwarding method and device as well as communication device

Also Published As

Publication number Publication date
CN106302069A (en) 2017-01-04

Similar Documents

Publication Publication Date Title
US12021826B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US10205657B2 (en) Packet forwarding in data center network
US10439843B2 (en) Method and system for virtual and physical network integration
US10171357B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
CN104869042B (en) Message forwarding method and device
CN103200069B (en) A kind of method and apparatus of Message processing
AU2013273254B2 (en) Routing VLAN tagged packets to far end addresses of virtual forwarding instances using separate administrations
EP2874359B1 (en) Extended ethernet fabric switches
US9509527B2 (en) Method and system for VXLAN encapsulation offload
US10367717B2 (en) Processing a flow entry in VXLAN
WO2016082739A1 (en) Layer-3 forwarding in vxlan
WO2016173271A1 (en) Message processing method, device and system
CN105763512A (en) SDN virtual network communication method and device
JP2016503247A (en) Packet transfer method and apparatus, and data center network
WO2015113410A1 (en) Data packet processing method and apparatus
CN104579954A (en) Message cross-domain forwarding method and device as well as communication device
EP3292663B1 (en) Packet forwarding
WO2016188366A1 (en) Network communication

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

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

Country of ref document: EP

Kind code of ref document: A1