WO2017071547A1 - 应用于vxlan的报文转发 - Google Patents

应用于vxlan的报文转发 Download PDF

Info

Publication number
WO2017071547A1
WO2017071547A1 PCT/CN2016/103152 CN2016103152W WO2017071547A1 WO 2017071547 A1 WO2017071547 A1 WO 2017071547A1 CN 2016103152 W CN2016103152 W CN 2016103152W WO 2017071547 A1 WO2017071547 A1 WO 2017071547A1
Authority
WO
WIPO (PCT)
Prior art keywords
vxlan
address
vtep
gateway
tunnel
Prior art date
Application number
PCT/CN2016/103152
Other languages
English (en)
French (fr)
Inventor
张帝民
Original Assignee
新华三技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新华三技术有限公司 filed Critical 新华三技术有限公司
Priority to EP16858982.8A priority Critical patent/EP3370385B1/en
Priority to JP2018521516A priority patent/JP6557415B2/ja
Priority to US15/770,545 priority patent/US10868791B2/en
Publication of WO2017071547A1 publication Critical patent/WO2017071547A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Definitions

  • VXLAN Virtual extensible LAN
  • SDN software defined networks
  • VNI VXLAN ID
  • VNI VXLAN Network Identifier
  • FIG. 1 is a structural diagram of a VXLAN provided by some embodiments of the present application.
  • FIG. 3 is a flow chart of another method provided by some embodiments of the present application.
  • Figure 4 is a network diagram of an application provided by some embodiments of the present application.
  • FIG. 5 is a network diagram of another application provided by some embodiments of the present application.
  • FIG. 6 is a schematic structural diagram of a device according to some embodiments of the present disclosure.
  • FIG. 7 is a schematic structural diagram of hardware of the apparatus shown in FIG. 6 according to some embodiments of the present disclosure.
  • FIG. 8 is a schematic structural diagram of another device according to some embodiments of the present disclosure.
  • FIG. 9 is a schematic structural diagram of hardware of the apparatus shown in FIG. 8 according to some embodiments of the present disclosure.
  • VXLAN In VXLAN, a large number of services are forwarded through the VXLAN IP gateway. Therefore, the redundant backup protection of the VXLAN IP gateway is particularly important.
  • FIG. 1 is a schematic diagram of networking of a VXLAN in some embodiments of the present application:
  • multiple VTEPs are deployed as VXLAN IP gateways in VXLAN, and VTEPs other than VXLAN IP gateways in VXLAN establish VXLAN control tunnels from each VTEP to each VXLAN IP gateway in the VXLAN IP gateway group, and Establish a VXLAN data tunnel from the VTEP to the VXLAN IP gateway group, and send ARP packets through the VXLAN data tunnel and the VXLAN control tunnel, so that each VXLAN IP gateway learns the ARP entries matched by the same host, which is equivalent to each VXLAN IP address.
  • the gateways back up each other to implement redundancy protection of the VXLAN IP gateway device, and the ARP entry can ensure that each VXLAN IP gateway correctly forwards service packets.
  • the method provided in this embodiment of the present invention can perform redundancy protection on a VXLAN IP gateway in a VXLAN, thereby improving network robustness and fault tolerance.
  • FIG. 2 is a flowchart of a method provided by some embodiments of the present application.
  • N VTEPs are deployed in the VXLAN as VXLAN IP gateways, and N is greater than 1, and N VTEPs as VXLAN IP gateways constitute a VXLAN IP gateway group.
  • the VXLAN in addition to the VTEP as the VXLAN IP gateway, there is also a VTEP that is not a VXLAN IP gateway.
  • the VTEP that is not a VXLAN IP gateway is referred to as a first VTEP, and the VTEP that is a VXLAN IP gateway is called a VTEP.
  • VTEP For the second VTEP.
  • the VXLAN IP gateway group is equivalent to one device for the first VTEP.
  • the VXLAN IP gateway group is configured with a VTEP group IP address, and the VXLAN IP gateway group is configured.
  • Each VXLAN IP gateway is also configured with a VTEP IP address, where different VXLAN IP gateways in the VXLAN IP gateway group Configure different VTEP IP addresses.
  • the VTEP group IP address of the VXLAN IP gateway group and the different VTEP IP addresses configured by different VXLAN IP gateways in the VXLAN IP gateway group are not the gateway IP address, and the VXLAN IP gateway group is configured with the VTEP group IP address. The address is only for identifying the VXLAN IP gateway group.
  • the VXLAN IP gateway is configured with different VTEP IP addresses only to identify the VXLAN IP gateway, regardless of the gateway IP address.
  • each VXLAN IP gateway in the VXLAN IP gateway group needs to additionally configure a gateway IP address and a virtual MAC address in addition to the above-mentioned VTEP IP address.
  • the gateway IP address and virtual MAC address configured by each VXLAN IP gateway are the same in order to achieve transparency to the VM.
  • the process can include the following steps:
  • Step 201 The first VTEP establishes a VXLAN data tunnel from the VTEP to the VXLAN IP gateway group.
  • the source address of the VXLAN data tunnel is the VTEP IP address of the first VTEP, and the destination address is the VTEP group IP address of the VXLAN IP gateway group.
  • the VTEP group IP address of the VXLAN IP gateway group is configured on the loopback port of the VXLAN IP gateway of the VXLAN IP gateway group, and is distributed to the network through a routing protocol, so that the first VTEP is based on the VXLAN IP.
  • the gateway is easy to obtain the VTEP group IP address of the VXLAN IP gateway group, and then establishes a VXLAN data tunnel from the VTEP to the VXLAN IP gateway group according to the obtained VTEP group IP address.
  • the VXLAN data tunnel established from the VTEP to the VXLAN IP gateway group established by the first VTEP is associated with N tunnel ports.
  • N is as described above, specifically the number of VXLAN IP gateways in the VXLAN IP gateway group.
  • the N tunnel ports point to the above N VXLAN IP gateways.
  • a tunnel port is selected from the N tunnel ports to send the VXLAN service.
  • There are multiple ways to select the tunnel port such as the equal-cost route load balancing mode. Etc., the first VTEP selects a tunnel according to the equal-cost routing load sharing mode.
  • the port sends VXLAN services, which can finally ensure load balancing between VXLAN IP gateways in the VXLAN IP gateway group.
  • Step 202 The first VTEP establishes a VXLAN control tunnel from the VTEP to each VXLAN IP gateway in the VXLAN IP gateway group.
  • the source address of the VXLAN control tunnel is the VTEP IP address of the first VTEP, and the destination address is the VTEP IP of the VXLAN IP gateway.
  • Address, VXLAN Control Tunnel is associated with the same VXLAN ID as the VXLAN Data Tunnel.
  • the VXLAN control tunnel here does not forward data packets, and only performs protocol control packets, such as ARP packet forwarding.
  • the first VTEP establishes a VXLAN control tunnel from the VTEP to each VXLAN IP gateway in the VXLAN IP gateway group, and the purpose is to establish a VXLAN during the subsequent ARP entry learning process.
  • the control tunnel sends ARP packets to learn the ARP entries of the hosts in the tenant in the VXLAN IP gateway group. This prevents the following defects: ARP packets in some tenants cannot be received on each VXLAN IP gateway. For example, the ARP packet sent by the VM in the tenant cannot be received on each VXLAN IP gateway. As a result, the ARP entry of the VM cannot be learned on the gateway. As a result, the VXLAN IP gateway cannot forward VXLAN service packets.
  • step 201 and step 202 do not have a fixed chronological order.
  • step 202 may be performed before step 201 is performed, or step 201 and step 202 are simultaneously performed. Execution, etc., this application is not specifically limited.
  • Step 203 The first VTEP sends an ARP packet through the VXLAN data tunnel and the VXLAN control tunnel.
  • the first VTEP has N tunnel ports associated with the VXLAN data tunnel.
  • the sending, by the first VTEP, the ARP packet through the VXLAN data tunnel in step 203 may include step a1 and step a2:
  • step a1 the first VTEP performs VXLAN encapsulation on the ARP packet according to the VXLAN data tunnel.
  • the VXLAN package mainly includes a UDP header, a VXLAN header, an IP header, and the like.
  • the VXLAN header includes at least a VNI.
  • the VNI is specifically a VNI associated with the VXLAN data tunnel.
  • the IP header includes at least an outer source IP address and an outer destination IP address.
  • the outer source IP address is The source address of the VXLAN data tunnel is the VTEP IP address of the first VTEP, and the outer destination IP address is the destination address of the VXLAN data tunnel, that is, the VTEP group IP address of the VXLAN IP gateway group.
  • the first VTEP selects a tunnel port from the N tunnel ports associated with the VXLAN data tunnel on the VTEP, and forwards the VXLAN encapsulated ARP packet through the selected tunnel port.
  • a tunnel port selected from the N tunnel ports associated with the VXLAN data tunnel on the VTEP may be implemented in multiple implementation manners, for example, by using host information for ARP packets.
  • the source IP address and the source MAC address are hashed, and one tunnel port is selected from the N tunnel ports associated with the VXLAN data tunnel on the VTEP according to the hash operation result.
  • the sending, by the first VTEP, the ARP packet by using the VXLAN control tunnel in step 203 may include the following steps b1 and b2:
  • step b1 the first VTEP performs VXLAN encapsulation on the ARP packet according to the VXLAN control tunnel.
  • the VXLAN package mainly includes a UDP header, a VXLAN header, an IP header, and the like.
  • the VXLAN header includes at least a VNI.
  • the VNI is specifically a VNI associated with the VXLAN control tunnel.
  • the IP header includes at least an outer source IP address and an outer destination IP address.
  • the outer source IP address is The source address of the VXLAN control tunnel is the IP address of the first VTEP, and the destination IP address of the outer layer is the destination address of the VXLAN control tunnel, that is, VXLAN.
  • the VTEP IP address of the IP gateway is the IP address of the IP gateway.
  • step b2 the first VTEP forwards the VXLAN encapsulated ARP packet through the tunnel port connected to the VXLAN control tunnel on the VTEP.
  • the first VTEP is configured to send an ARP packet through the VXLAN control tunnel through the step b1 and the step b2.
  • the VXLAN control tunnel and the VXLAN data tunnel are two completely different types of tunnels. Therefore, the tunnel port of the VXLAN control tunnel and the tunnel port associated with the VXLAN data tunnel are completely different. Port.
  • the ARP packet in the step 203 is an ARP request packet or an ARP response packet, which is not specifically limited.
  • the VXLAN IP gateway can receive the ARP packet from the first VTEP, and identify the IP address of the outer layer in the VXLAN encapsulation of the ARP packet as the IP address of the gateway. If not, the ARP entry is learned according to the ARP packet. If yes, modify the outer-layer destination IP address to be the VTEP group IP address, and perform ARP entry learning according to the modified ARP packet.
  • FIG. 3 is a flow chart of another method provided by some embodiments of the present application.
  • VXLAN has a VXLAN IP gateway group consisting of N VXLAN IP gateways.
  • the VXLAN IP gateway group is configured with the VXLAN tunnel endpoint VTEP group IP address.
  • Each VXLAN IP gateway in the VXLAN IP gateway group has a different IP address.
  • the VXLAN IP gateway is a second VTEP in the VXLAN, and the first VTEP is also present in the VXLAN, and the method is applied to the VXLAN IP gateway.
  • the method includes the following steps:
  • Step 301 The VXLAN IP gateway receives the ARP packet sent by the first VTEP.
  • Step 302 The VXLAN IP gateway identifies whether the outer destination IP address of the VXLAN encapsulation of the ARP packet is the VTEP IP address of the gateway. If yes, go to step 304; otherwise Go to step 303.
  • Step 303 The VXLAN IP gateway performs ARP entry learning according to the ARP packet.
  • Step 304 The VXLAN IP gateway modifies the outer-layer destination IP address to be the VTEP group IP address, and performs ARP entry learning according to the modified ARP packet.
  • step 304 when the VXLAN IP gateway finds that the destination IP address of the outer layer in the VXLAN encapsulation of the ARP packet from the first VTEP is the IP address of the gateway, it means that the ARP packet is The first VTEP is sent through the VXLAN control tunnel. Based on this, the VXLAN IP gateway modifies the VTEP group IP address of the VXLAN IP gateway group, and then performs ARP entry learning based on the modified ARP packet.
  • the ARP entry corresponding to the ARP packet sent by the first VTEP through the VXLAN control tunnel is learned by the VXLAN IP gateway to the VXLAN IP gateway of the VXLAN IP gateway to the VXLAN data tunnel of the first VTEP, as described in the following. Description of the ARP entry.
  • multiple VTEPs are deployed as VXLAN IP gateways in VXLAN, and VTEPs other than VXLAN IP gateways in VXLAN are established from this VTEP to VXLAN IP.
  • each VXLAN IP network in the VXLAN IP gateway Further perform the following steps:
  • the source address of the VXLAN data tunnel established here is the VTEP group IP address of the VXLAN IP gateway group, and the destination address is the IP address of the first VTEP, wherein the VXLAN data tunnel from the gateway to the different first VTEP has different VXLAN data tunnels. logo.
  • each VXLAN IP gateway in the VXLAN IP gateway group After each VXLAN IP gateway in the VXLAN IP gateway group establishes a VXLAN data tunnel from the gateway to each first VTEP, each VXLAN IP gateway can implement the gateway through the established VXLAN data tunnel to each first VTEP.
  • the message transmission to the first VTEP such as sending an ARP request packet to the first VTEP to actively learn the ARP entry, or sending an ARP response packet or a data packet.
  • the VXLAN IP gateway performs the ARP entry learning according to the ARP packet, including:
  • step c1 check whether there is an ARP entry containing the following content:
  • the source IP address is the outer IP address and the destination IP address of the VXLAN encapsulation.
  • step c2 when the result of the check in step c1 is NO, the ARP entry containing the above content is learned.
  • the ARP packet may be ignored to avoid repeated establishment of the ARP entry.
  • the ARP entry learning is performed according to the received ARP packet in the foregoing step 303 through the step c1 to the step c2.
  • step 304 the ARP table is performed according to the modified ARP packet.
  • Item learning may include step d1 and step d2:
  • step d1 check whether there is an ARP entry containing the following content:
  • the VXLAN identifies the VNID, the host information in the ARP packet, and the identifier of the VXLAN data tunnel that meets the following conditions:
  • the source address is the destination IP address of the outer layer in the VXLAN encapsulation, and the destination address is the outer source IP address in the VXLAN encapsulation.
  • step d2 when the result of the check in step d1 is NO, the ARP entry containing the above content is learned.
  • the ARP packet when the result of the check in step d1 is YES, the ARP packet may be ignored to avoid duplicate ARP entries.
  • the ARP entry learning is performed according to the modified ARP packet in the above step 304 through the step d1 to the step d2.
  • the host information in the ARP packet mainly refers to the host related information carried in the inner layer encapsulation of the ARP packet, such as the source IP address and the source MAC address.
  • the VXLAN IP gateway when the VXLAN IP gateway establishes an ARP entry according to the above description, when the VXLAN IP gateway sends a data packet to the first VTEP, the local learned ARP entry matches the forwarding datagram.
  • the ARP entry of the text forwards the data packet to the VXLAN data tunnel corresponding to the VXLAN data tunnel in the matched ARP entry.
  • the VXLAN IP gateway forwards the VXLAN service correctly.
  • FIG. 4 is a network diagram of an application provided by some embodiments of the present application.
  • VTEP4_1, VTEP4_2, and VTEP4_3 are deployed as VXLAN IP gateways
  • VTEP4_1, VTEP4_2, and VTEP4_3 are also referred to as second VTEPs
  • the remaining VTEP4_4 to VTEP4_7 in FIG. 4 are first VTEPs.
  • VTEP4_1, VTEP4_2, and VTEP4_3 form a VXLAN IP gateway group.
  • the VTEP4_1, VTEP4_2, and VTEP4_3 in the VXLAN IP gateway group are in equal status and will not be elected. Therefore, the VXLAN IP gateway group is called a stateless VXLAN IP gateway group.
  • the VXLAN IP gateway group is transparent to the first VTEP and is treated as one device.
  • the VXLAN IP gateway group is configured with a VTEP group IP address (called GroupIP1), and VTEP4_1 to VTEP4_3 in the VXLAN IP gateway group, which is equivalent to a member of the VXLAN IP gateway group, which has different VTEP IP addresses (also called group members).
  • IP address the group member IP addresses of VTEP4_1 to VTEP4_3 are recorded as MemberIP4_1, MemberIP4_2, and MemberIP4_3, respectively.
  • Table 1 shows the IP addresses of the group members in the VXLAN IP gateway group and the VXLAN IP gateway group:
  • VTEP4_4 establishes a VXLAN data tunnel from VTEP4_4 to the VXLAN IP gateway group, which is recorded as a VXLAN data tunnel 4_40.
  • the VXLAN associated with the VXLAN data tunnel 4_40 is denoted as VXLAN A.
  • the source address of the VXLAN data tunnel 4_40 is the VTEP IP address of VTEP4_4 (denoted as IP4_4), and the destination address is the IP address GroupIP1 of the VXLAN IP gateway group.
  • VTEP4_4 has three tunnel ports associated with VXLAN data tunnel 4_40, which are respectively recorded as port p41, port p42, and port p43 (not shown in FIG. 4). Port p41 points to VTEP4_1, port p42 points to VTEP4_2, and port p43 points to VTEP4_3.
  • VTEP4_4 establishes a VXLAN control tunnel from VTEP4_4 to VTEP4_1, denoted as VXLAN control tunnel 4_41, VXLAN control tunnel 4_41 association
  • the VXLAN is VXLAN A.
  • the source address of the VXLAN control tunnel 4_41 is the VTEP IP address IP4_4 of VTEP4_4, and the destination IP address of the group member of the VTEP4_1 is MemberIP4_1;
  • VTEP4_4 establishes a VXLAN control tunnel from VTEP4_4 to VTEP4_2, denoted as VXLAN control tunnel 4_42, and VXLAN associated with VXLAN control tunnel 4_42 is VXLAN A.
  • the source address of the VXLAN control tunnel 4_42 is VTEP IP address IP4_4 of VTEP4_4, and the destination IP address of the group member of VTEP4_2 is MemberIP4_2;
  • VTEP4_4 establishes a VXLAN control tunnel from VTEP4_4 to VTEP4_3, denoted as VXLAN control tunnel 4_43, and VXLAN associated with VXLAN control tunnel 4_43 is VXLAN A.
  • the source address of the VXLAN control tunnel 4_43 is the VTEP IP address IP4_4 of VTEP4_4, and the destination address is the member IP address MemberIP4_3 of VTEP4_3.
  • Table 2 shows the VXLAN data tunnel and VXLAN control tunnel established by VTEP4_4:
  • VTEP4_1 as a VXLAN IP gateway establishes a VXLAN data tunnel from VTEP4_1 to VTEP4_4, which is recorded as a VXLAN data tunnel 4_14, a VXLAN associated with the VXLAN data tunnel 4_14 is the above-mentioned VXLAN A, and a source address of the VXLAN data tunnel 4_14 is GroupIP1.
  • the destination address is IP4_4 of VTEP4_4.
  • VTEP4_1 establishes a VXLAN data tunnel from VTEP4_1 to VTEP4_5, which is recorded as VXLAN data tunnel 4_15, VXLAN associated with VXLAN data tunnel 4_15 is VXLAN A mentioned above, source address of VXLAN data tunnel 15 is GroupIP1, and destination address is IP address IP4_5 of VTEP4_5.
  • VTEP4_1 establishes a VXLAN data tunnel from VTEP_1 to VTEP4_6, which is recorded as VXLAN data tunnel 4_16
  • VXLAN associated with VXLAN data tunnel 4_16 is VXLAN A mentioned above
  • source address of VXLAN data tunnel 4_16 is GroupIP1
  • destination address is IP address IP4_6 of VTEP4_6.
  • VTEP4_1 establishes a VXLAN data tunnel from VTEP4_1 to VTEP4_7, which is recorded as VXLAN data tunnel 4_17, VXLAN associated with VXLAN data tunnel 4_17 is VXLAN A mentioned above, source address of VXLAN data tunnel 4_17 is GroupIP1, and destination address is IP address IP4_7 of VTEP4_7.
  • Table 3 shows the VXLAN data tunnel established by VTEP4_1 ( Figure 4 is a simplified diagram Single not shown):
  • VTEP4_2 which is a VXLAN IP gateway, establishes a VXLAN data tunnel as shown in Table 4 in a manner similar to VTEP4_1 establishing a VXLAN data tunnel;
  • VXLAN IP gateway VTEP4_3 is built in accordance with VTEP4_1
  • the VXLAN data tunnel is established in the manner of establishing a VXLAN data tunnel as shown in Table 5.
  • the VM1 broadcasts a free ARP request packet as shown in FIG. 4, where the source IP address of the ARP request packet is the IP address IP1 of the VM1, and the source MAC address is the MAC address MAC1 of the VM1.
  • VTEP4_4 receives the free ARP request packet broadcasted by VM1 and finds that there are four tunnels as shown in Table 2, and then copies four ARP request packets, which are recorded as ARP request message 01 to ARP request message 04.
  • VTEP4_4 encapsulates the ARP request packet 01 in the VXLAN according to the VXLAN data tunnel 4_40.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN A.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP4_4 of the VXLAN data tunnel 4_40.
  • the destination IP address of the outer layer is the destination address GroupIP1 of the VXLAN data tunnel 4_40.
  • VTEP4_4 is locally associated with 3 VXLAN data tunnels 4_40
  • the tunnel port is one of the ports p41 to p43.
  • the port p41 is selected as an example.
  • VTEP4_4 sends the VXLAN encapsulated ARP request packet 01 through port p41.
  • the VXLAN encapsulated ARP request message 01 is referred to as an ARP request message 11.
  • VTEP4_4 VXLAN encapsulation of the ARP request packet 02 according to the VXLAN control tunnel 4_41.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN A.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP4_4 of the VXLAN control tunnel 4_41.
  • the destination IP address of the outer layer is the destination address MemberIP4_1 of the VXLAN control tunnel 4_41.
  • VTEP4_4 sends the VXLAN encapsulated ARP Request message 02 through the VXLAN control tunnel 4_41.
  • the VXLAN encapsulated ARP request message 02 is referred to as an ARP request message 12.
  • VTEP4_4 VXLAN encapsulation of ARP request message 03 according to VXLAN control tunnel 4_42.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN A.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP4_4 of the VXLAN control tunnel 4_42.
  • the destination IP address of the outer layer is the destination address MemberIP4_2 of the VXLAN control tunnel 4_42.
  • VTEP4_4 sends the VXLAN encapsulated ARP request message 03 through the VXLAN control tunnel 4_42.
  • the VXLAN encapsulated ARP request message 03 is referred to as an ARP request message 13.
  • VTEP4_4 VXLAN encapsulation of ARP request message 04 according to VXLAN control tunnel 4_43.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN A.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP4_4 of the VXLAN control tunnel 4_43.
  • the destination IP address of the outer layer is the destination address MemberIP4_3 of the VXLAN control tunnel 4_43.
  • VTEP4_4 sends the VXLAN encapsulated ARP request message 04 through the VXLAN control tunnel 4_43.
  • the VXLAN encapsulated ARP request message 04 is referred to as an ARP request message 14.
  • VTEP4_1 receives the ARP request packet 11 sent by VTEP4_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP request packet 11 is the IP address GroupIP1 of the VXLAN IP gateway group.
  • VTEP4_1 receives the ARP request packet 12 sent by VTEP4_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP request packet 12 is the VTEP IP address of the VTEP4_1, and the outer destination destination IP address is changed to the VXLAN IP gateway. If the ARP entry contains the ARP entry, the ARP entry contains the ARP entry as shown in Table 6. If no, the ARP entry is displayed.
  • VTEP4_2 receives the ARP request packet 13 sent by VTEP4_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP request packet 13 is the VTEP IP address of the VTEP4_2, and the outer destination destination IP address is changed to the VXLAN IP gateway.
  • the IP address of the group is IPIP1. Then, check whether there is an ARP entry containing the content shown in Table 7:
  • VTEP4_3 receives the ARP request packet 14 sent by VTEP4_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP request packet 14 is the VTEP IP address of the VTEP4_3, and the outer destination destination IP address is changed to the VXLAN IP gateway. If the IP address of the group is IPIP1, check whether the ARP entry containing the content shown in Table 8 exists locally:
  • VTEP4_1 to VTEP4_3, which are VXLAN IP gateways in the VXLAN IP gateway group, learn the ARP entry matched by VM1 (which includes the MAC address MAC1 and IP address IP1 of VM1). After that, whether it is VTEP4_1, VTEP4_2, or VTEP4_3 as a VXLAN IP gateway in the VXLAN IP gateway group, When it receives the service packet sent to the VM1, it forwards the service packet based on the ARP entry that is learned by the local device. This prevents the existing VXLAN IP gateway from forwarding the service packet.
  • FIG. 5 is a network diagram of another application provided by some embodiments of the present application.
  • VTEP5_1, VTEP5_2, and VTEP5_3 are deployed as VXLAN IP gateways
  • VTEP5_1, VTEP5_2, and VTEP5_3 are also referred to as second VTEPs
  • the remaining VTEPs 5_4 to VTEP5_6 in FIG. 5 are first VTEPs.
  • VTEP5_1, VTEP5_2, and VTEP5_3 form a VXLAN IP gateway group.
  • the VTEP5_1, VTEP5_2, and VTEP5_3 in the VXLAN IP gateway group are in the same state and will not be elected. Therefore, the VXLAN IP gateway group is called a stateless VXLAN IP gateway group.
  • the VXLAN IP gateway group is transparent to the first VTEP and is treated as one device.
  • the VXLAN IP gateway group is configured with a VTEP group IP address (called GroupIP2), and VTEP5_1 to VTEP5_3 in the VXLAN IP gateway group, which is equivalent to a member of the VXLAN IP gateway group, which has different VTEP IP addresses (also called group members).
  • IP address the group member IP addresses of VTEP5_1 to VTEP5_3 are recorded as MemberIP5_1, MemberIP5_2, and MemberIP5_3, respectively.
  • Table 9 shows the IP addresses of the group members in the VXLAN IP gateway group and the VXLAN IP gateway group:
  • VTEP5_1 which is a VXLANIP gateway, is taken as an example.
  • VTEP5_1 establishes a VXLAN data tunnel from VTEP5_1 to VTEP5_4, which is a VXLAN data tunnel 5_14, and a VXLAN associated with a VXLAN data tunnel 5_14 is VXLAN B.
  • the source address of the VXLAN data tunnel 5_14 is GroupIP2, and the destination address is the IP address IP5_4 of VTEP5_4.
  • VTEP5_1 establishes a VXLAN data tunnel from VTEP5_1 to VTEP5_5, which is recorded as VXLAN data tunnel 5_15, VXLAN associated with VXLAN data tunnel 5_15 is VXLAN B, the source address of VXLAN data tunnel 5_15 is GroupIP2, and the destination address is IP5_5 of VTEP5_5.
  • VTEP5_1 establishes a VXLAN data tunnel from VTEP5_1 to VTEP5_6, which is recorded as VXLAN data tunnel 5_16
  • VXLAN associated with VXLAN data tunnel 5_16 is VXLAN B
  • the source address of VXLAN data tunnel 5_16 is GroupIP2
  • the destination address is IP5_6 of VTEP5_6.
  • Table 10 shows the VXLAN data tunnel established by VTEP 5_1:
  • VTEP5_2 which is a VXLAN IP gateway, locally establishes a VXLAN data tunnel as shown in Table 11 below in a manner similar to VTEP5_1 establishing a VXLAN data tunnel.
  • VTEP5_3 which is a VXLAN IP gateway, locally establishes a VXLAN data tunnel as shown in Table 12 below in a manner similar to VTEP5_1 establishing a VXLAN data tunnel.
  • VTEP5_4 establishes a VXLAN data tunnel from VTEP5_4 to the VXLAN IP gateway group, which is recorded as a VXLAN data tunnel 5_40.
  • the VXLAN associated with the VXLAN data tunnel 5_40 is VXLAN B.
  • the source address of the VXLAN data tunnel 5_40 is the VTEP IP address of VTEP5_4 (denoted as IP5_4), and the destination address is the IP address GroupIP2 of the VXLAN IP gateway group.
  • VTEP5_4 has three tunnel ports associated with the VXLAN data tunnel 5_40, which are respectively recorded as port p51, port p52, and port p53 (not shown in FIG. 5), where port p51 points to VTEP5_1. Port p52 points to VTEP5_2 and port p53 points to VTEP5_3.
  • VTEP5_4 establishes a VXLAN control tunnel from VTEP5_4 to VTEP5_1, denoted as VXLAN control tunnel 5_41, and VXLAN associated with VXLAN control tunnel 5_41 is VXLAN B.
  • the source address of the VXLAN control tunnel 5_41 is VTEP IP address IP5_4 of VTEP5_4, and the destination IP address of the group member of VTEP5_1 is MemberIP5_1.
  • VTEP5_4 establishes a VXLAN control tunnel from VTEP5_4 to VTEP5_2, which is recorded as VXLAN control tunnel 5_42, and VXLAN associated with VXLAN control tunnel 5_42 is VXLAN B.
  • the source address of the VXLAN control tunnel 5_42 is VTEP IP address IP5_4 of VTEP5_4, and the destination IP address of the group member of VTEP5_2 is MemberIP5_2;
  • VTEP5_4 establishes a VXLAN control tunnel from VTEP5_4 to VTEP5_3, which is recorded as VXLAN control tunnel 5_43, and VXLAN associated with VXLAN control tunnel 5_43 is VXLAN B.
  • the source address of the VXLAN control tunnel 5_43 is the VTEP IP address IP5_4 of VTEP5_4, and the destination address is the member IP address of the VTEP5_3 MemberIP5_3.
  • Table 13 shows the VXLAN data tunnel and VXLAN control tunnel established by VTEP5_4:
  • the VTEP5_1 forwards the data packet of the IP address IP2 of the VM2 to the destination IP address, it checks that there is no ARP entry matching the IP2 in the local area, and then the three VXLAN data tunnels existing according to the local table 10 are replicated.
  • the ARP request message is recorded as an ARP request message 21 to an ARP request message 23.
  • the VTEP5_1 encapsulates the ARP request packet 21 in the VXLAN according to the VXLAN data tunnel 5_14.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address GroupIP2 of the VXLAN data tunnel 5_14.
  • the destination IP address of the outer layer is the destination address IP5_4 of the VXLAN data tunnel 5_14.
  • the VXLAN encapsulated ARP request message 21 is referred to herein as an ARP request message 31.
  • VTEP5_1 sends an ARP Request message 31 through the local VXLAN data tunnel 5_14.
  • VTEP5_1 performs VXLAN encapsulation on the ARP request packet 22 according to the VXLAN data tunnel 5_15.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address GroupIP2 of the VXLAN data tunnel 5_15.
  • the destination IP address of the outer layer is the purpose of the VXLAN data tunnel 5_15. Address IP5_5.
  • the VXLAN encapsulated ARP request message 22 is referred to herein as an ARP request message 32.
  • VTEP5_1 sends an ARP Request message 32 through the local VXLAN data tunnel 5_15.
  • VTEP5_1 performs VXLAN encapsulation on the ARP request packet 23 according to the VXLAN data tunnel 5_16.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address GroupIP2 of the VXLAN data tunnel 5_16.
  • the destination IP address of the outer layer is the destination address IP5_6 of the VXLAN data tunnel 5_16.
  • the VXLAN encapsulated ARP request message 23 is referred to as an ARP request message 33.
  • VTEP5_1 sends an ARP Request message 33 through the local VXLAN data tunnel 5_16.
  • the VTEP5_4 After receiving the ARP request packet 31, the VTEP5_4 performs VXLAN decapsulation on the ARP request packet 31 (that is, restores the ARP request packet 21), and checks whether the destination IP address IP2 of the ARP request packet 21 is the IP address of the local host. If yes, the ARP request message 21 is sent to the destination IP address. Otherwise, the ARP request message 21 can be ignored.
  • the VTEP5_5 receives the ARP request message 32 and the VTEP5_6 receives the ARP request message 33 in the same manner as the VTEP5_4 receives the ARP request message 31.
  • the destination IP address IP2 of the ARP request message 21 is the IP address of the VTEP5_4 local host VM2.
  • the VM2 After receiving the ARP request packet 21, the VM2 finds that the destination IP address of the ARP request packet 21 is the local IP address, and then returns an ARP response packet.
  • the source IP address of the ARP response packet is IP2 and the source MAC address is MAC2.
  • VTEP5_4 After receiving the ARP response packet, VTEP5_4 finds that there are four tunnels as shown in Table 13, and then copies four ARP response packets, which are recorded as ARP response message 41 to ARP response message 44.
  • VTEP5_4 performs ARP response message 41 according to VXLAN data tunnel 5_40.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP5_4 of the VXLAN data tunnel 5_40, and the outer destination IP address is the destination address of the VXLAN data tunnel 5_40.
  • GroupIP2
  • VTEP5_4 selects one of the three tunnel ports associated with the VXLAN data tunnel 5_40, that is, port p51 to port p53 (here, port p51 is taken as an example), and VTEP5_4 sends the VXLAN encapsulated ARP response packet 41 through port p51.
  • the VXLAN encapsulated ARP response message 41 is referred to herein as an ARP response message 51.
  • VTEP5_4 VXLAN encapsulation of the ARP response packet 42 according to the VXLAN control tunnel 5_41.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP5_4 of the VXLAN control tunnel 5_41.
  • the destination IP address of the outer layer is the destination address MemberIP5_1 of the VXLAN control tunnel 5_41.
  • VTEP5_4 sends the VXLAN encapsulated ARP response packet 42 through the local VXLAN control tunnel 5_41.
  • the VXLAN encapsulated ARP response message 42 is referred to herein as an ARP response message 52.
  • VTEP5_4 encapsulates the ARP response packet 43 in VXLAN according to the VXLAN control tunnel 5_42.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B.
  • the outer source IP address in the IP header of the VXLAN encapsulation is the source address IP5_4 of the VXLAN control tunnel 5_42.
  • the destination IP address of the outer layer is the destination address MemberIP5_2 of the VXLAN control tunnel 5_42.
  • VTEP5_4 sends the VXLAN encapsulated ARP response message 43 through the local VXLAN control tunnel 5_42.
  • the VXLAN encapsulated ARP response message 43 is referred to herein as an ARP response message 53.
  • VTEP5_4 VXLAN encapsulation of the ARP response packet 44 according to the VXLAN control tunnel 5_43.
  • the VNI in the VXLAN header of the VXLAN package is VXLAN B
  • the outer source IP address in the IP header of the VXLAN encapsulation is VXLAN control tunnel 5_43.
  • the source IP address is IP5_4
  • the destination IP address of the outer layer is the destination address MemberIP5_3 of the VXLAN control tunnel 5_43.
  • VTEP5_4 sends the VXLAN encapsulated ARP response packet 44 through the local VXLAN control tunnel 5_43.
  • the VXLAN encapsulated ARP response message 44 is referred to herein as an ARP response message 54.
  • VTEP5_1 receives the ARP response packet 51 sent by the VTEP5_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP response packet 51 is the IP address GroupIP2 of the VXLAN IP gateway group, and checks whether the local presence includes Table 14 ARP entry for the content shown:
  • VTEP5_1 receives the ARP response packet 52 sent by VTEP5_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP response packet 52 is the VTEP IP address IP5_1 of the VTEP5_1, and the outer destination IP address is changed to VXLAN IP.
  • the IP address of the gateway group, GroupIP2 is checked. The ARP entry containing the content shown in Table 14 is displayed. If it exists, the ARP response packet 52 is ignored. If not, the ARP entry shown in Table 14 is learned.
  • VTEP5_2 receives the ARP response packet 53 sent by VTEP5_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP response packet 53 is the VTEP IP address IP5_2 of the VTEP5_2, and the outer destination IP address is changed to VXLAN IP.
  • the IP address of the gateway group, GroupIP2 is checked. The ARP entry containing the content shown in Table 15 is displayed. If it exists, the ARP response packet 53 is ignored. If not, the ARP entry shown in Table 15 is learned.
  • VTEP5_3 receives the ARP response packet 54 sent by VTEP5_4, and finds that the outer destination IP address in the IP header of the VXLAN encapsulation of the ARP response packet 54 is the VTEP IP address IP5_3 of the VTEP5_3, and the outer destination destination IP address is changed to VXLAN IP.
  • the IP address of the gateway group, GroupIP2 is checked. The ARP entry containing the content shown in Table 16 is displayed. If it exists, the ARP response packet 54 is ignored. If not, the ARP entry shown in Table 16 is learned.
  • VTEP5_1 continues to forward the above data packet according to the learned ARP entry as shown in Table 14.
  • the VXLAN IP gateway group acts as a VXLAN IP network.
  • the VTEP5_1 to VTEP5_3 will learn the ARP entry matching VM2 (which includes the MAC address MAC2 and IP address IP2 of VM2) by sending ARP request packets. After that, whether it is the VTEP5_1, VTEP5_2, or VTEP5_3 of the VXLAN IP gateway in the VXLAN IP gateway group, when it receives the service packet sent to the VM2, it performs the service based on the locally learned ARP entry that matches the VM2.
  • the packet is forwarded to avoid the defect that the existing VXLAN IP gateway may fail to forward service packets.
  • FIG. 6 is a schematic structural diagram of a device according to some embodiments of the present application.
  • the device is applied to the first VTEP, as shown in FIG. 6, the device may include:
  • the tunnel unit 601 is configured to establish a VXLAN data tunnel from the first VTEP to the VXLAN IP gateway group.
  • the source address of the VXLAN data tunnel is the VTEP IP address of the first VTEP, and the destination address is the VTEP group IP address of the VXLAN IP gateway group;
  • VXLAN The IP gateway group consists of N VXLAN IP gateways in the VXLAN, N is greater than 1, the VXLAN IP gateway is the second VTEP in the VXLAN, and each VXLAN IP gateway has a different VTEP IP address;
  • the source address of the VXLAN control tunnel is the VTEP IP address of the first VTEP, and the destination address is the VTEP IP address of the VXLAN IP gateway, VXLAN.
  • the control tunnel is associated with the same VXLAN identifier as the VXLAN data tunnel;
  • the message unit 602 is configured to send an ARP packet through the VXLAN data tunnel and the VXLAN control tunnel respectively.
  • the first VTEP has N tunnel ports associated with the VXLAN data tunnel;
  • the message unit 602 sends an ARP packet through the VXLAN data tunnel.
  • the VXLAN data tunnel include:
  • the VXLAN encapsulation of the ARP packet according to the VXLAN data tunnel may include: a UDP header, a VXLAN header, an IP header, and the like.
  • the VXLAN header includes at least a VNI.
  • the VNI is specifically a VNI associated with a VXLAN data tunnel.
  • the IP header includes at least an outer source IP address and an outer destination IP address.
  • the outer source IP address is the source address of the VXLAN data tunnel.
  • the VTEP IP address of a VTEP, and the outer destination IP address is the destination address of the VXLAN data tunnel, that is, the VTEP group IP address of the VXLAN IP gateway group.
  • the sending, by the message unit 602, the ARP packet by using the VXLAN control tunnel includes:
  • the VXLAN encapsulation of the ARP packet is performed by the VXLAN control tunnel, and the VXLAN encapsulated ARP packet is forwarded through the tunnel port connected to the VXLAN control tunnel on the VTEP.
  • the VXLAN encapsulation of the ARP packet according to the VXLAN control tunnel may include: a UDP header, a VXLAN header, an IP header, and the like.
  • the VXLAN header includes at least a VNI.
  • the VNI is specifically a VNI associated with the VXLAN control tunnel.
  • the IP header includes at least an outer source IP address and an outer destination IP address.
  • the outer source IP address is the source address of the VXLAN control tunnel.
  • the VTEP IP address of a VTEP, and the outer destination IP address is the destination address of the VXLAN control tunnel, that is, the VTEP IP address of the VXLAN IP gateway.
  • FIG. 7 is a schematic structural diagram of hardware of the apparatus shown in FIG. 6 according to some embodiments of the present disclosure.
  • the device can include:
  • the memory 702 is configured to store the tunnel unit 721 and the message unit 722.
  • the processor 701 is configured to store a control program run by the tunnel unit 721 to control the tunnel unit 721 in the memory 702 to perform the following operations: establishing a VXLAN data tunnel from the first VTEP to the VXLAN IP gateway group, establishing a first VTEP to a VXLAN IP
  • the VXLAN control tunnel of each VXLAN IP gateway in the gateway group, the VXLAN data tunnel and the VXLAN control tunnel established here are as described above;
  • the control program for storing the operation of the message unit 722 to control the message unit 722 in the memory 702 performs the following operations: ARP packets are transmitted through the VXLAN data tunnel and the VXLAN control tunnel, respectively.
  • FIG. 8 is a schematic structural diagram of another apparatus according to some embodiments of the present application.
  • the device uses VXLAN memory in a VXLAN IP gateway group consisting of N different VXLAN IP gateways.
  • the VXLAN IP gateway group is configured with the VTEP group IP address.
  • Each VXLAN IP gateway in the VXLAN IP gateway group has a different IP address.
  • the device may include:
  • the receiving unit 801 is configured to receive the ARP packet sent by the first VTEP; the ARP packet received here is an ARP request packet or an ARP response packet, which is not specifically limited in this application;
  • the ARP entry unit 802 is configured to identify whether the outer destination IP address in the VXLAN encapsulation of the ARP packet is the IP address of the gateway.
  • the outer-layer destination IP address is changed to the VTEP group IP address, and the ARP entry learning is performed according to the modified ARP packet.
  • the apparatus further includes:
  • the tunneling unit 803 is configured to establish a VXLAN data tunnel from the local gateway to each of the first VTEPs; the source address of the VXLAN data tunnel is the IP address of the VTEP group, and the destination address is the IP address of the first VTEP, where The VXLAN data tunnel of the first VTEP has different VXLAN data tunnel identifiers;
  • the forwarding unit 804 is configured to send a message to the first VTEP by using the established VXLAN data tunnel from the local gateway to the first VTEP.
  • the ARP entry learning process performed by the ARP entry unit 802 according to the ARP packet includes:
  • VXLAN in the VXLAN package the VXID, the host information in the ARP packet, and the VXLAN data tunnel ID in the VXLAN package.
  • the source address is the outer IP address and the destination IP address of the VXLAN encapsulation. If not, Learn the ARP entries that contain the content.
  • the ARP entry learning process performed by the ARP entry unit 802 according to the modified ARP packet includes:
  • the source IP address is the outer IP address and the destination IP address of the VXLAN encapsulation.
  • FIG. 9 is a schematic structural diagram of hardware of the apparatus shown in FIG. 8 provided by the present application.
  • the device can include:
  • the memory 902 is configured to store the receiving unit 921 and the ARP entry unit 922;
  • the processor 901 is configured to store a control program run by the receiving unit 921 to control storage.
  • the receiving unit 921 in the device 902 performs the following operations: receiving an ARP packet sent by the first VTEP;
  • the control program for storing the ARP entry unit 922 to control the ARP entry unit 922 in the memory 902 performs the following operations: identifying whether the outer destination IP address in the VXLAN encapsulation of the ARP packet is the IP address of the gateway; if not, The ARP entry learning is performed according to the ARP packet. If yes, the outer IP address of the outer layer is changed to the VTEP group IP address, and the ARP entry is learned according to the modified ARP packet.
  • the memory 902 further stores a tunnel unit 923, a forwarding unit 924;
  • the CPU 901 is configured to store a control program running by the tunnel unit 923 to control the tunnel unit 923 in the memory 902 to perform the following operations: establishing a VXLAN data tunnel from the VXLAN IP gateway to each of the first VTEPs; the source address of the VXLAN data tunnel is The VTEP group IP address and the destination address are the IP addresses of the first VTEP, wherein the established VXLAN data tunnels from the VXLAN IP gateway to the different first VTEPs have different VXLAN data tunnel identifiers;
  • the control program running by the forwarding unit 924 controls the forwarding unit 924 in the memory 902 to perform the following operations: when an ARP message or a data message is sent to the first VTEP, through the established slave VXLAN IP gateway to the first VTEP The VXLAN data tunnel is sent.

Abstract

本申请一些实施例提供了应用于VXLAN中的报文转发方法和装置。本申请一些实施例中,通过在VXLAN部署VXLAN IP网关组,实现了对VXLAN IP网关进行冗余保护,并且VXLAN中第一VTEP通过建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,以及建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,能够保证VXLAN IP网关组中的每一VXLAN IP网关学习到同一VM的ARP表项,保证VXLAN IP网关正确转发业务报文。

Description

应用于VXLAN的报文转发
发明背景
虚拟可扩展局域网(virtual extensible LAN,VXLAN)基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN作为网络虚拟化的核心技术,正在与软件定义网络(software defined network,SDN)一起被越来越多的运用于大型数据中心网络。
VXLAN通过VXLAN标识(ID)进行标识,VXLAN ID又称VXLAN网络标识符(VNI:VXLAN Network Identifier),其长度为24比特。
附图简要说明
图1为本申请一些实施例提供的VXLAN的结构图;
图2为本申请一些实施例提供的方法流程图;
图3为本申请一些实施例提供的另一方法流程图;
图4为本申请一些实施例提供的应用组网图;
图5为本申请一些实施例提供的另一应用组网图;
图6为本申请一些实施例提供的装置结构示意图;
图7为本申请一些实施例提供的图6所示装置的硬件结构示意图;
图8为本申请一些实施例提供的另一装置结构示意图;
图9为本申请一些实施例提供的图8所示装置的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。
在VXLAN中,大量业务通过VXLAN IP网关转发,因此,VXLAN IP网关的冗余备份保护显得尤其重要。
图1示出了本申请一些实施例中VXLAN的组网示意图:
本申请一些实施例中,在VXLAN部署多个VTEP作为VXLAN IP网关,并且,VXLAN中除VXLAN IP网关外的VTEP建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,以及建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,并分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文,以使各个VXLAN IP网关学习到同一主机匹配的ARP表项,相当于各个VXLAN IP网关相互备份,实现了VXLAN IP网关设备的冗余保护,并且基于ARP表项能够保证每一VXLAN IP网关正确转发业务报文。本申请实施例提供的方法能够对VXLAN中的VXLAN IP网关进行冗余保护,提高网络的健壮性和容错能力。
下面对本申请实施例提供的方法进行描述:
参见图2,图2为本申请一些实施例提供的方法流程图。本申请实施例提供的方法中,在VXLAN内部署N个VTEP作为VXLAN IP网关,N大于1,作为VXLAN IP网关的N个VTEP组成了一个VXLAN IP网关组。在VXLAN内除了作为VXLAN IP网关的VTEP,还有未作为VXLAN IP网关的VTEP,为便于描述,这里将未作为VXLAN IP网关的VTEP称为第一VTEP,而作为VXLAN IP网关的VTEP,则称为第二VTEP。
在本申请一些实施例中,VXLAN IP网关组对第一VTEP而言相当于一台设备,在本申请一些实施例中,VXLAN IP网关组被配置一个VTEP组IP地址,而VXLAN IP网关组中的各个VXLAN IP网关也被配置了VTEP IP地址,其中,VXLAN IP网关组中不同VXLAN IP网关 配置不同的VTEP IP地址。需要解释的是:VXLAN IP网关组被配置的VTEP组IP地址、VXLAN IP网关组中不同VXLAN IP网关被配置的不同VTEP IP地址,并不是网关IP地址,VXLAN IP网关组被配置的VTEP组IP地址只是为了标识VXLAN IP网关组,VXLAN IP网关被配置的不同VTEP IP地址只是为了标识VXLAN IP网关,与网关IP地址无关。
在本申请一些实施例中,VXLAN IP网关组中的各个VXLAN IP网关在配置上述的VTEP IP地址之外,还需要额外配置网关IP地址和虚MAC地址。其中,为了实现对VM透明,各个VXLAN IP网关配置的网关IP地址和虚MAC地址相同。
如图2所示,该流程可包括以下步骤:
步骤201,第一VTEP建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址。
作为本申请的一个实施例,VXLAN IP网关组的VTEP组IP地址会在VXLAN IP网关组的VXLAN IP网关的环回口上进行配置,并且通过路由协议发布到网络中,这样第一VTEP基于VXLAN IP网关的发布很容易获取到VXLAN IP网关组的VTEP组IP地址,继而根据获取的VTEP组IP地址建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道。
本申请一些实施例中,第一VTEP建立的从本VTEP至VXLAN IP网关组的VXLAN数据隧道关联N个隧道端口。N如上所述,具体为VXLAN IP网关组中VXLAN IP网关的数量。N个隧道端口分别指向上述的N个VXLAN IP网关。如此,当第一VTEP后续通过该VXLAN数据隧道发送VXLAN业务时,会从上述的N个隧道端口选择一个隧道端口发送VXLAN业务,这里选择隧道端口的方式有多种,比如等价路由负载分担方式等,第一VTEP按照等价路由负载分担方式选择一个隧道 端口并发送VXLAN业务,能够最终保证VXLAN IP网关组中VXLAN IP网关之间的负载分担均衡。
步骤202,第一VTEP建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识。
这里的VXLAN控制隧道不进行数据报文的转发,只执行协议控制报文比如ARP报文的转发。
在本申请一些实施例中,第一VTEP之所以建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,其目的是在后续进行ARP表项学习过程中,通过建立的VXLAN控制隧道发送ARP报文,以实现VXLAN IP网关组中每一VXLAN IP网关学习到租户内主机的ARP表项,避免以下缺陷:某些租户内的ARP报文无法在每台VXLAN IP网关上接收,例如租户内的VM发送的ARP报文无法在每台VXLAN IP网关上接收,会导致网关上无法学习到VM的ARP表项,进而导致VXLAN IP网关无法转发VXLAN业务报文。
需要说明的是,在本申请一些实施例中,步骤201和步骤202并不具备固定的时间先后顺序,比如,在应用中,可以先执行步骤202再执行步骤201,或者步骤201、步骤202同时执行等,本申请并不具体限定。
步骤203,第一VTEP分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
如上所述,第一VTEP上有与VXLAN数据隧道关联的N个隧道端口,则具体地,步骤203中第一VTEP通过VXLAN数据隧道发送ARP报文可包括步骤a1和步骤a2:
步骤a1,第一VTEP依据VXLAN数据隧道对ARP报文进行VXLAN封装。
VXLAN封装主要包含UDP头、VXLAN头、IP头等。VXLAN头至少包含VNI,在步骤a1中,该VNI具体为VXLAN数据隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,在步骤a1中,外层源IP地址为VXLAN数据隧道的源地址即第一VTEP的VTEP IP地址,外层目的IP地址为VXLAN数据隧道的目的地址即VXLAN IP网关组的VTEP组IP地址。
步骤a2,第一VTEP从本VTEP上与VXLAN数据隧道关联的N个隧道端口中选择一个隧道端口,通过选择的隧道端口转发VXLAN封装后的ARP报文。
作为本申请的一个实施例,这里从本VTEP上与VXLAN数据隧道关联的N个隧道端口中选择一个隧道端口在具体实现时可有多种实现方式,比如,通过对ARP报文的主机信息比如源IP地址、源MAC地址进行哈希运算,依据哈希运算结果从本VTEP上与VXLAN数据隧道关联的N个隧道端口中选择一个隧道端口。
具体地,步骤203中第一VTEP通过VXLAN控制隧道发送ARP报文可包括如下的步骤b1和步骤b2:
步骤b1,第一VTEP依据VXLAN控制隧道对ARP报文进行VXLAN封装。
如上所述,VXLAN封装主要包含UDP头、VXLAN头、IP头等。VXLAN头至少包含VNI,在步骤b1中,该VNI具体为VXLAN控制隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,在步骤b1中,外层源IP地址为VXLAN控制隧道的源地址即第一VTEP的IP地址,外层目的IP地址为VXLAN控制隧道的目的地址即VXLAN  IP网关的VTEP IP地址。
步骤b2,第一VTEP通过本VTEP上连接VXLAN控制隧道的隧道端口转发VXLAN封装后的ARP报文。
至此,通过步骤b1和步骤b2实现第一VTEP通过VXLAN控制隧道发送ARP报文。
需要解释的是,在本申请一些实施例中,VXLAN控制隧道、VXLAN数据隧道是两种类型完全不同的隧道,因此,VXLAN控制隧道的隧道端口、VXLAN数据隧道关联的隧道端口是两种完全不同的端口。
在步骤203中的ARP报文为ARP请求报文,或者为ARP响应报文,本申请并不具体限定。
至此,完成图2所示的流程。
之后,VXLAN IP网关可以接收来自第一VTEP的ARP报文,识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的IP地址;如果否,依据所述ARP报文进行ARP表项学习;如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
图3为本申请一些实施例提供的另一方法流程图。如图3所示,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该方法应用于VXLAN IP网关。该方法包括以下步骤:
步骤301,VXLAN IP网关接收第一VTEP发送的ARP报文。
步骤302,VXLAN IP网关识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEP IP地址,如果是,执行步骤304;否则 执行步骤303。
步骤303,VXLAN IP网关依据所述ARP报文进行ARP表项学习。
步骤304,VXLAN IP网关修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
通过步骤304可以看出,本申请一些实施例中,当VXLAN IP网关发现来自第一VTEP的ARP报文的VXLAN封装中外层目的IP地址为本网关的IP地址,则意味着ARP报文是由第一VTEP是通过VXLAN控制隧道发送的,基于此,VXLAN IP网关会修改外层目的IP地址为VXLAN IP网关组的VTEP组IP地址,之后依据修改后的ARP报文进行ARP表项学习,这能够保证VXLAN IP网关最终会将第一VTEP通过VXLAN控制隧道发送的ARP报文对应的ARP表项学习到VXLAN IP网关至第一VTEP的VXLAN数据隧道上,具体见下文通过实施例描述的如何学习ARP表项的描述。
基于图2和图3所示的流程可以看出,本申请一些实施例中,在VXLAN部署多个VTEP作为VXLAN IP网关,并且,VXLAN中除VXLAN IP网关外的VTEP建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,以及建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,并分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文,以使各个VXLAN IP网关学习到同一ARP表项,这相当于VXLAN IP网关组中的VXLAN IP网关之间相互备份,实现了VXLAN IP网关设备的冗余保护,并且基于VXLAN IP网关能学习到每一租户内VM的ARP表项,能够保证每一VXLAN IP网关正确转发VXLAN业务报文。
本申请一些实施例中,为了保证VXLAN IP网关组中各VXLAN IP网关向各个第一VTEP发送报文,VXLAN IP网关中每一VXLAN IP网 关还进一步执行以下步骤:
建立从本网关至各个第一VTEP的VXLAN数据隧道;
这里建立的VXLAN数据隧道的源地址为VXLAN IP网关组的VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,从本网关至不同第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识。
当VXLAN IP网关组中的每一VXLAN IP网关建立了从本网关至各个第一VTEP的VXLAN数据隧道后,每一VXLAN IP网关就可以通过建立的至各个第一VTEP的VXLAN数据隧道实现本网关到各第一VTEP的报文传送,如主动向第一VTEP发送ARP请求报文以主动学习ARP表项,或者发送ARP响应报文或者数据报文等。
作为本申请的一个实施例,基于上述VXLAN IP网关建立的从本网关至各个第一VTEP的VXLAN数据隧道,上述步骤303中,VXLAN IP网关依据ARP报文进行ARP表项学习包括:
步骤c1,检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
步骤c2,在步骤c1检查结果为否时,学习包含上述内容的ARP表项。
作为本申请的一个实施例,在步骤c1检查结果为是时,为避免重复建立ARP表项,则可忽略ARP报文。
至此,通过步骤c1至步骤c2实现了上述步骤303中如何依据接收的ARP报文进行ARP表项学习。
类似地,在步骤304中,所述依据修改后的ARP报文进行ARP表 项学习可包括步骤d1和步骤d2:
步骤d1,检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址。
步骤d2,在步骤d1检查结果为否时,学习包含上述内容的ARP表项。
作为本申请的一个实施例,在步骤d1检查结果为是时,为避免重复建立ARP表项,则可忽略ARP报文。
至此,通过步骤d1至步骤d2实现了上述步骤304中如何依据修改后的ARP报文进行ARP表项学习。
需要说明的是,在上面步骤c1或步骤d1中,ARP报文中的主机信息主要是指ARP报文在内层封装中携带的主机相关信息,比如源IP地址、源MAC地址等。
本申请一些实施例中,当VXLAN IP网关基于上面描述建立ARP表项后,则当VXLAN IP网关向第一VTEP发送数据报文时,在本地已学习的ARP表项中匹配用于转发数据报文的ARP表项,通过匹配的ARP表项中的VXLAN数据隧道标识对应的VXLAN数据隧道转发数据报文,最终实现了VXLAN IP网关正确转发VXLAN业务的目的。
以上对本申请提供的方法进行了概括描述,下面通过实施例对图2和图3所示的流程进行描述:
图4为本申请一些实施例提供的应用组网图。在图4中,部署VTEP4_1、VTEP4_2、VTEP4_3作为VXLAN IP网关,VTEP4_1、VTEP4_2、VTEP4_3也称为第二VTEP,图4中剩余的VTEP4_4至VTEP4_7为第一VTEP。
VTEP4_1、VTEP4_2、VTEP4_3组成一个VXLAN IP网关组。VXLAN IP网关组中的VTEP4_1、VTEP4_2、VTEP4_3地位对等,不会进行角色选举,因此,VXLAN IP网关组称为无状态VXLAN IP网关组。VXLAN IP网关组对于第一VTEP而言是透明的,被当作一台设备处理。
VXLAN IP网关组被配置了一个VTEP组IP地址(称为GroupIP1),VXLAN IP网关组中的VTEP4_1至VTEP4_3,相当于VXLAN IP网关组的成员,其具有不同的VTEP IP地址(也称为组成员IP地址),VTEP4_1至VTEP4_3的组成员IP地址分别记为MemberIP4_1、MemberIP4_2、MemberIP4_3。表1示出了VXLAN IP网关组与VXLAN IP网关组中组成员的IP地址:
Figure PCTCN2016103152-appb-000001
表1
在图4中的第一VTEP,以VTEP4_4为例,VTEP4_4建立从VTEP4_4至VXLAN IP网关组的VXLAN数据隧道,记为VXLAN数据隧道4_40。VXLAN数据隧道4_40关联的VXLAN记为VXLAN A。VXLAN数据隧道4_40的源地址为VTEP4_4的VTEP IP地址(记为IP4_4),目的地址为VXLAN IP网关组的IP地址GroupIP1。VTEP4_4本地存在VXLAN数据隧道4_40关联的3个隧道端口,分别记为端口p41、端口p42、端口p43(图4未示出),其中,端口p41指向VTEP4_1,端口p42指向VTEP4_2,端口p43指向VTEP4_3。
在图4中,VTEP4_4建立从VTEP4_4至VTEP4_1的VXLAN控制隧道,记为VXLAN控制隧道4_41,VXLAN控制隧道4_41关联 的VXLAN为VXLAN A。VXLAN控制隧道4_41的源地址为VTEP4_4的VTEP IP地址IP4_4,目的地址为VTEP4_1的组成员IP地址MemberIP4_1;
VTEP4_4建立从VTEP4_4至VTEP4_2的VXLAN控制隧道,记为VXLAN控制隧道4_42,VXLAN控制隧道4_42关联的VXLAN为VXLAN A。VXLAN控制隧道4_42的源地址为VTEP4_4的VTEP IP地址IP4_4,目的地址为VTEP4_2的组成员IP地址MemberIP4_2;
VTEP4_4建立从VTEP4_4至VTEP4_3的VXLAN控制隧道,记为VXLAN控制隧道4_43,VXLAN控制隧道4_43关联的VXLAN为VXLAN A。VXLAN控制隧道4_43的源地址为VTEP4_4的VTEP IP地址IP4_4,目的地址为VTEP4_3的组成员IP地址MemberIP4_3。
表2示出了VTEP4_4建立的VXLAN数据隧道和VXLAN控制隧道:
Figure PCTCN2016103152-appb-000002
Figure PCTCN2016103152-appb-000003
表2
图4中的第一VTEP如VTEP4_5至VTEP4_7,其按照类似VTEP4_4建立VXLAN数据隧道和VXLAN控制隧道的原理建立VXLAN数据隧道和VXLAN控制隧道,这里不再赘述。
在图4中,作为VXLAN IP网关的VTEP4_1建立从VTEP4_1至VTEP4_4的VXLAN数据隧道,记为VXLAN数据隧道4_14,VXLAN数据隧道4_14关联的VXLAN为上述的VXLAN A,VXLAN数据隧道4_14的源地址为GroupIP1,目的地址为VTEP4_4的IP地址IP4_4。
VTEP4_1建立从VTEP4_1至VTEP4_5的VXLAN数据隧道,记为VXLAN数据隧道4_15,VXLAN数据隧道4_15关联的VXLAN为上述的VXLAN A,VXLAN数据隧道15的源地址为GroupIP1,目的地址为VTEP4_5的IP地址IP4_5。
VTEP4_1建立从VTEP_1至VTEP4_6的VXLAN数据隧道,记为VXLAN数据隧道4_16,VXLAN数据隧道4_16关联的VXLAN为上述的VXLAN A,VXLAN数据隧道4_16的源地址为GroupIP1,目的地址为VTEP4_6的IP地址IP4_6。
VTEP4_1建立从VTEP4_1至VTEP4_7的VXLAN数据隧道,记为VXLAN数据隧道4_17,VXLAN数据隧道4_17关联的VXLAN为上述的VXLAN A,VXLAN数据隧道4_17的源地址为GroupIP1,目的地址为VTEP4_7的IP地址IP4_7。
表3示出了VTEP4_1建立的VXLAN数据隧道(图4为画图简 单没有示出):
Figure PCTCN2016103152-appb-000004
表3
在图4中,作为VXLAN IP网关的VTEP4_2按照类似VTEP4_1建立VXLAN数据隧道的方式建立如表4所示的VXLAN数据隧道;
Figure PCTCN2016103152-appb-000005
表4
在图4中,作为VXLAN IP网关VTEP4_3按照类似VTEP4_1建 立VXLAN数据隧道的方式建立如表5所示的VXLAN数据隧道。
Figure PCTCN2016103152-appb-000006
表5
基于上面描述的VXLAN数据隧道、VXLAN控制隧道的建立,下面描述基于VXLAN数据隧道、VXLAN控制隧道的报文转发:
以如图4所示的VM1广播免费ARP请求报文为例,其中,ARP请求报文的源IP地址为VM1的IP地址IP1,源MAC地址为VM1的MAC地址MAC1。
VTEP4_4收到VM1广播的免费ARP请求报文,发现本地存在如表2所示的4条隧道,则复制4份ARP请求报文,记为ARP请求报文01至ARP请求报文04。
VTEP4_4依据VXLAN数据隧道4_40对ARP请求报文01进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道4_40的源地址IP4_4,外层目的IP地址为VXLAN数据隧道4_40的目的地址GroupIP1。VTEP4_4从本地与VXLAN数据隧道4_40关联的3个 隧道端口即端口p41至端口p43中选择一个端口,这里以选择端口p41为例,VTEP4_4通过端口p41发送VXLAN封装后的ARP请求报文01。为便于描述,这里将VXLAN封装后的ARP请求报文01称为ARP请求报文11。
VTEP4_4依据VXLAN控制隧道4_41对ARP请求报文02进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道4_41的源地址IP4_4,外层目的IP地址为VXLAN控制隧道4_41的目的地址MemberIP4_1。VTEP4_4通过VXLAN控制隧道4_41发送VXLAN封装后的ARP请求报文02。为便于描述,这里将VXLAN封装后的ARP请求报文02称为ARP请求报文12。
VTEP4_4依据VXLAN控制隧道4_42对ARP请求报文03进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道4_42的源地址IP4_4,外层目的IP地址为VXLAN控制隧道4_42的目的地址MemberIP4_2。VTEP4_4通过VXLAN控制隧道4_42发送VXLAN封装后的ARP请求报文03。为便于描述,这里将VXLAN封装后的ARP请求报文03称为ARP请求报文13。
VTEP4_4依据VXLAN控制隧道4_43对ARP请求报文04进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道4_43的源地址IP4_4,外层目的IP地址为VXLAN控制隧道4_43的目的地址MemberIP4_3。VTEP4_4通过VXLAN控制隧道4_43发送VXLAN封装后的ARP请求报文04。为便于描述,这里将VXLAN封装后的ARP请求报文04称为ARP请求报文14。
VTEP4_1接收到VTEP4_4发送的ARP请求报文11,发现ARP请求报文11的VXLAN封装中IP头内的外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,则检查本地是否存在包含如表6所示内容的ARP表项:
Figure PCTCN2016103152-appb-000007
表6
如果存在,忽略ARP请求报文11,如果不存在,则学习如表6所示的ARP表项。
VTEP4_1接收到VTEP4_4发送的ARP请求报文12,发现ARP请求报文12的VXLAN封装中IP头内的外层目的IP地址为本VTEP4_1的VTEP IP地址,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,之后检查本地是否存在包含如表6所示内容的ARP表项,如果存在,忽略ARP请求报文12,如果不存在,则学习如表6所示的ARP表项。
VTEP4_2接收到VTEP4_4发送的ARP请求报文13,发现ARP请求报文13的VXLAN封装中IP头内的外层目的IP地址为本VTEP4_2的VTEP IP地址,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,之后检查本地是否存在包含如表7所示内容的ARP表项:
Figure PCTCN2016103152-appb-000008
Figure PCTCN2016103152-appb-000009
表7
如果存在,忽略ARP请求报文13,如果不存在,则学习如表7所示的ARP表项。
VTEP4_3接收到VTEP4_4发送的ARP请求报文14,发现ARP请求报文14的VXLAN封装中IP头内的外层目的IP地址为本VTEP4_3的VTEP IP地址,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,之后检查本地是否存在包含如表8所示内容的ARP表项:
Figure PCTCN2016103152-appb-000010
表8
如果存在,忽略ARP请求报文14,如果不存在,则学习如表8所示的ARP表项。
至此,完成图4所示的实施例的描述。
通过图4所示的实施例,VXLAN IP网关组中作为VXLAN IP网关的VTEP4_1至VTEP4_3都会学习到VM1匹配的ARP表项(其包含了VM1的MAC地址MAC1、IP地址IP1)。之后,不管是VXLAN IP网关组中作为VXLAN IP网关的VTEP4_1、VTEP4_2、还是VTEP4_3, 其在收到发向VM1的业务报文时,就会基于本地已学习的与VM1匹配的ARP表项进行业务报文转发,避免现有VXLAN IP网关可能无法顺利转发业务报文的缺陷。
图5为本申请一些实施例提供的另一应用组网图。在图5中,部署VTEP5_1、VTEP5_2、VTEP5_3作为VXLAN IP网关,VTEP5_1、VTEP5_2、VTEP5_3也称为第二VTEP,图5中剩余的VTEP 5_4至VTEP5_6为第一VTEP。
VTEP5_1、VTEP5_2、VTEP5_3组成一个VXLAN IP网关组。VXLAN IP网关组中的VTEP5_1、VTEP5_2、VTEP5_3地位对等,不会进行角色选举,因此,VXLAN IP网关组称为无状态VXLAN IP网关组。VXLAN IP网关组对于第一VTEP而言是透明的,被当作一台设备处理。
VXLAN IP网关组被配置了一个VTEP组IP地址(称为GroupIP2),VXLAN IP网关组中的VTEP5_1至VTEP5_3,相当于VXLAN IP网关组的成员,其具有不同的VTEP IP地址(也称为组成员IP地址),VTEP5_1至VTEP5_3的组成员IP地址分别记为MemberIP5_1、MemberIP5_2、MemberIP5_3。表9示出了VXLAN IP网关组与VXLAN IP网关组中组成员的IP地址:
Figure PCTCN2016103152-appb-000011
表9
在图5中,以作为VXLANIP网关的VTEP5_1为例描述,VTEP5_1建立从VTEP5_1至VTEP5_4的VXLAN数据隧道,为VXLAN数据隧道5_14,VXLAN数据隧道5_14关联的VXLAN为VXLAN B, VXLAN数据隧道5_14的源地址为GroupIP2,目的地址为VTEP5_4的IP地址IP5_4。
VTEP5_1建立从VTEP5_1至VTEP5_5的VXLAN数据隧道,记为VXLAN数据隧道5_15,VXLAN数据隧道5_15关联的VXLAN为VXLAN B,VXLAN数据隧道5_15的源地址为GroupIP2,目的地址为VTEP5_5的IP地址IP5_5。
VTEP5_1建立从VTEP5_1至VTEP5_6的VXLAN数据隧道,记为VXLAN数据隧道5_16,VXLAN数据隧道5_16关联的VXLAN为VXLAN B,VXLAN数据隧道5_16的源地址为GroupIP2,目的地址为VTEP5_6的IP地址IP5_6。
表10示出了VTEP 5_1建立的VXLAN数据隧道:
Figure PCTCN2016103152-appb-000012
表10
在图5中,作为VXLAN IP网关的VTEP5_2会按照类似VTEP5_1建立VXLAN数据隧道的方式在本地建立如下表11所示的VXLAN数据隧道。
Figure PCTCN2016103152-appb-000013
Figure PCTCN2016103152-appb-000014
表11
在图5中,作为VXLAN IP网关的VTEP5_3会按照类似VTEP5_1建立VXLAN数据隧道的方式在本地建立如下表12所示的VXLAN数据隧道。
Figure PCTCN2016103152-appb-000015
表12
以图5中的第一VTEP即VTEP5_4为例描述,VTEP5_4建立从VTEP5_4至VXLAN IP网关组的VXLAN数据隧道,记为VXLAN数据隧道5_40。VXLAN数据隧道5_40关联的VXLAN为VXLAN B。VXLAN数据隧道5_40的源地址为VTEP5_4的VTEP IP地址(记为IP5_4),目的地址为VXLAN IP网关组的IP地址GroupIP2。VTEP5_4本地存在VXLAN数据隧道5_40关联的3个隧道端口,分别记为端口p51、端口p52、端口p53(图5未示出),其中,端口p51指向VTEP5_1, 端口p52指向VTEP5_2,端口p53指向VTEP5_3。
在图5中,VTEP5_4建立从VTEP5_4至VTEP5_1的VXLAN控制隧道,记为VXLAN控制隧道5_41,VXLAN控制隧道5_41关联的VXLAN为VXLAN B。VXLAN控制隧道5_41的源地址为VTEP5_4的VTEP IP地址IP5_4,目的地址为VTEP5_1的组成员IP地址MemberIP5_1;
VTEP5_4建立从VTEP5_4至VTEP5_2的VXLAN控制隧道,记为VXLAN控制隧道5_42,VXLAN控制隧道5_42关联的VXLAN为VXLAN B。VXLAN控制隧道5_42的源地址为VTEP5_4的VTEP IP地址IP5_4,目的地址为VTEP5_2的组成员IP地址MemberIP5_2;
VTEP5_4建立从VTEP5_4至VTEP5_3的VXLAN控制隧道,记为VXLAN控制隧道5_43,VXLAN控制隧道5_43关联的VXLAN为VXLAN B。VXLAN控制隧道5_43的源地址为VTEP5_4的VTEP IP地址IP5_4,目的地址为VTEP5_3的组成员IP地址MemberIP5_3。
表13示出了VTEP5_4建立的VXLAN数据隧道和VXLAN控制隧道:
Figure PCTCN2016103152-appb-000016
Figure PCTCN2016103152-appb-000017
表13
在图5中的第一VTEP诸如VTEP5_5、VTEP5_6也会按照类似VTEP5_4的方式建立VXLAN数据隧道和VXLAN控制隧道,这里不再赘述。
基于上面描述的VXLAN数据隧道、VXLAN控制隧道的建立,下面描述基于VXLAN数据隧道、VXLAN控制隧道的报文转发:
在图5中,VTEP5_1在转发目的IP地址为VM2的IP地址IP2的数据报文时,检查本地不存在IP2匹配的ARP表项,则基于本地如表10所示存在的三条VXLAN数据隧道复制3份ARP请求报文,记为ARP请求报文21至ARP请求报文23。
VTEP5_1依据VXLAN数据隧道5_14对ARP请求报文21进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_14的源地址GroupIP2,外层目的IP地址为VXLAN数据隧道5_14的目的地址IP5_4。为便于描述,这里将VXLAN封装后的ARP请求报文21称为ARP请求报文31。VTEP5_1通过本地VXLAN数据隧道5_14发送ARP请求报文31。
VTEP5_1依据VXLAN数据隧道5_15对ARP请求报文22进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_15的源地址GroupIP2,外层目的IP地址为VXLAN数据隧道5_15的目的 地址IP5_5。为便于描述,这里将VXLAN封装后的ARP请求报文22称为ARP请求报文32。VTEP5_1通过本地VXLAN数据隧道5_15发送ARP请求报文32。
VTEP5_1依据VXLAN数据隧道5_16对ARP请求报文23进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_16的源地址GroupIP2,外层目的IP地址为VXLAN数据隧道5_16的目的地址IP5_6。为便于描述,这里将VXLAN封装后的ARP请求报文23称为ARP请求报文33。VTEP5_1通过本地VXLAN数据隧道5_16发送ARP请求报文33。
VTEP5_4收到ARP请求报文31后,对ARP请求报文31进行VXLAN解封装(即恢复上述的ARP请求报文21),检查ARP请求报文21的目的IP地址IP2是否为本地主机的IP地址,如果是,向目的IP地址发送ARP请求报文21,否则,可忽略ARP请求报文21。VTEP5_5收到ARP请求报文32、VTEP5_6收到ARP请求报文33的处理方式类似VTEP5_4收到ARP请求报文31的处理方式。这里假如ARP请求报文21的目的IP地址IP2为VTEP5_4本地主机VM2的IP地址。
当VM2收到ARP请求报文21后,发现ARP请求报文21的目的IP地址为本地IP地址,则返回ARP响应报文。ARP响应报文的源IP地址为IP2,源MAC地址为MAC2。
VTEP5_4收到ARP响应报文后,发现本地存在如表13所示的4条隧道,则复制4份ARP响应报文,记为ARP响应报文41至ARP响应报文44。
VTEP5_4依据VXLAN数据隧道5_40对ARP响应报文41进行 VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_40的源地址IP5_4,外层目的IP地址为VXLAN数据隧道5_40的目的地址GroupIP2。VTEP5_4从本地与VXLAN数据隧道5_40关联的3个隧道端口即端口p51至端口p53中选择一个端口(这里以端口p51为例),VTEP5_4通过端口p51发送VXLAN封装后的ARP响应报文41。为便于描述,这里将VXLAN封装后的ARP响应报文41称为ARP响应报文51。
VTEP5_4依据VXLAN控制隧道5_41对ARP响应报文42进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道5_41的源地址IP5_4,外层目的IP地址为VXLAN控制隧道5_41的目的地址MemberIP5_1。VTEP5_4通过本地VXLAN控制隧道5_41发送VXLAN封装后的ARP响应报文42。为便于描述,这里将VXLAN封装后的ARP响应报文42称为ARP响应报文52。
VTEP5_4依据VXLAN控制隧道5_42对ARP响应报文43进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道5_42的源地址IP5_4,外层目的IP地址为VXLAN控制隧道5_42的目的地址MemberIP5_2。VTEP5_4通过本地VXLAN控制隧道5_42发送VXLAN封装后的ARP响应报文43。为便于描述,这里将VXLAN封装后的ARP响应报文43称为ARP响应报文53。
VTEP5_4依据VXLAN控制隧道5_43对ARP响应报文44进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道5_43的 源地址IP5_4,外层目的IP地址为VXLAN控制隧道5_43的目的地址MemberIP5_3。VTEP5_4通过本地VXLAN控制隧道5_43发送VXLAN封装后的ARP响应报文44。为便于描述,这里将VXLAN封装后的ARP响应报文44称为ARP响应报文54。
VTEP5_1接收到VTEP5_4发送的ARP响应报文51,发现ARP响应报文51的VXLAN封装中IP头内的外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2,则检查本地是否存在包含如表14所示内容的ARP表项:
Figure PCTCN2016103152-appb-000018
表14
如果存在,忽略ARP响应报文51,如果不存在,则学习如表14所示的ARP表项。
VTEP5_1接收到VTEP5_4发送的ARP响应报文52,发现ARP响应报文52的VXLAN封装中IP头内的外层目的IP地址为本VTEP5_1的VTEP IP地址IP5_1,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2,之后检查本地是否存在包含如表14所示内容的ARP表项,如果存在,忽略ARP响应报文52,如果不存在,则学习如表14所示的ARP表项。
VTEP5_2接收到VTEP5_4发送的ARP响应报文53,发现ARP响应报文53的VXLAN封装中IP头内的外层目的IP地址为本VTEP5_2的VTEP IP地址IP5_2,则修改外层目的IP地址为VXLAN IP 网关组的IP地址GroupIP2,之后检查本地是否存在包含如表15所示内容的ARP表项,如果存在,忽略ARP响应报文53,如果不存在,则学习如表15所示的ARP表项。
Figure PCTCN2016103152-appb-000019
表15
VTEP5_3接收到VTEP5_4发送的ARP响应报文54,发现ARP响应报文54的VXLAN封装中IP头内的外层目的IP地址为本VTEP5_3的VTEP IP地址IP5_3,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2,之后检查本地是否存在包含如表16所示内容的ARP表项,如果存在,忽略ARP响应报文54,如果不存在,则学习如表16所示的ARP表项。
Figure PCTCN2016103152-appb-000020
表16
之后,VTEP5_1按照学习的如表14所示的ARP表项对上述的数据报文继续进行转发。
至此,完成图5所示的实施例的描述。
通过图5所示的实施例,VXLAN IP网关组中作为VXLAN IP网 关的VTEP5_1至VTEP5_3都会通过主动发送ARP请求报文学习到VM2匹配的ARP表项(其包含了VM2的MAC地址MAC2、IP地址IP2)。之后,不管是VXLAN IP网关组中作为VXLAN IP网关的VTEP5_1、VTEP5_2、还是VTEP5_3,其在收到发向VM2的业务报文时,就会基于本地已学习的与VM2匹配的ARP表项进行业务报文转发,避免现有VXLAN IP网关可能无法顺利转发业务报文的缺陷。
以上对本申请提供的方法进行了描述,下面对本申请提供的装置进行描述:
参见图6,图6为本申请一些实施例提供的装置结构示意图。该装置应用于第一VTEP,如图6所示,该装置可包括:
隧道单元601,用于建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;以及,
用于建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
报文单元602,用于分别通过所述VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
本申请中,第一VTEP上有与所述VXLAN数据隧道关联的N个隧道端口;
基于此,所述报文单元602通过VXLAN数据隧道发送ARP报文包 括:
依据所述VXLAN数据隧道对所述ARP报文进行VXLAN封装,从所述N个隧道端口中选择一个隧道端口转发VXLAN封装后的ARP报文。这里从N个隧道端口中选择一个隧道端口的方法有多种,比如哈希算法等,本申请并不具体限定。
这里,依据VXLAN数据隧道对ARP报文进行的VXLAN封装具体可包括:UDP头、VXLAN头、IP头等。VXLAN头至少包含VNI,该VNI具体为VXLAN数据隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,其中,外层源IP地址为VXLAN数据隧道的源地址即第一VTEP的VTEP IP地址,外层目的IP地址为VXLAN数据隧道的目的地址即VXLAN IP网关组的VTEP组IP地址。
本申请一些实施例中,所述报文单元602通过VXLAN控制隧道发送ARP报文包括:
依据VXLAN控制隧道对ARP报文进行VXLAN封装,通过本VTEP上连接VXLAN控制隧道的隧道端口转发VXLAN封装后的ARP报文。
这里,依据VXLAN控制隧道对ARP报文进行的VXLAN封装具体可包括:UDP头、VXLAN头、IP头等。VXLAN头至少包含VNI,该VNI具体为VXLAN控制隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,其中,外层源IP地址为VXLAN控制隧道的源地址即第一VTEP的VTEP IP地址,外层目的IP地址为VXLAN控制隧道的目的地址即VXLAN IP网关的VTEP IP地址。
至此,完成图6所示的装置描述。
本申请一些实施例还提供了图6所示装置的硬件结构。参见图7,图7为本申请一些实施例提供的图6所示装置的硬件结构示意图。如图7所示,该装置可包括:
处理器701和存储器702。
其中,存储器702,用于存放隧道单元721、报文单元722;
处理器701,用于存放隧道单元721运行的控制程序以控制存储器702中的隧道单元721执行以下操作:建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,这里建立的VXLAN数据隧道和VXLAN控制隧道如上所述;以及,
用于存放报文单元722运行的控制程序以控制存储器702中的报文单元722执行如下操作:分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
至此,完成图7所示的硬件结构描述。
参见图8,图8为本申请一些实施例提供的另一装置结构示意图。该装置应用的VXLAN内存在由N个不同VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VTEP组IP地址,VXLAN IP网关组中各个VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该装置应用于VXLAN IP网关,如图8所示,该装置可包括:
接收单元801,用于接收第一VTEP发送的ARP报文;这里接收的ARP报文为ARP请求报文或者为ARP响应报文,本申请并不具体限定;
ARP表项单元802,用于识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的IP地址;
如果否,依据所述ARP报文进行ARP表项学习;
如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
在一些实施例中,如图8所示,该装置进一步包括:
隧道单元803,用于建立从本网关至各个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,建立的至各个第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;
转发单元804,用于通过已建立的从本网关至第一VTEP的VXLAN数据隧道向第一VTEP发送报文。
所述ARP表项单元802依据ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;如果否,学习包含所述内容的ARP表项。
所述ARP表项单元802依据修改后的ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
如果否,学习包含所述内容的ARP表项。
至此,完成图8所示装置的结构描述。
本申请还提供了图8所示装置的硬件结构。参见图9,图9为本申请提供的图8所示装置的硬件结构示意图。如图9所示,该装置可包括:
处理器901和存储器902。
其中,存储器902,用于存放接收单元921、ARP表项单元922;
处理器901,用于存放接收单元921运行的控制程序以控制存储 器902中的接收单元921执行以下操作:接收第一VTEP发送的ARP报文;以及,
用于存放ARP表项单元922运行的控制程序以控制存储器902中的ARP表项单元922执行如下操作:识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的IP地址;如果否,依据所述ARP报文进行ARP表项学习;如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
在一些实施例中,存储器902进一步存放隧道单元923、转发单元924;
CPU 901,用于存放隧道单元923运行的控制程序以控制存储器902中的隧道单元923执行以下操作:建立从本VXLAN IP网关至每一个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址、目的地址为所述第一VTEP的IP地址,其中,建立的从VXLAN IP网关至不同第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;以及,
存放转发单元924运行的控制程序以控制存储器902中的转发单元924执行以下操作:当向第一VTEP发送ARP报文或者数据报文时,通过已建立的从本VXLAN IP网关至该第一VTEP的VXLAN数据隧道发送。
至此,完成图9所示的硬件结构描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

  1. 一种应用于虚拟扩展局域网VXLAN的报文转发方法,其特征在于,该方法应用于第一VXLAN隧道端点VTEP,包括:
    建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N为大于1的整数,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;
    建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
    分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
  2. 根据权利要求1所述的方法,其特征在于,第一VTEP上有与所述VXLAN数据隧道关联的N个隧道端口;
    通过所述VXLAN数据隧道发送ARP报文包括:
    依据所述VXLAN数据隧道对所述ARP报文进行VXLAN封装,从所述N个隧道端口中选择一个隧道端口转发VXLAN封装后的ARP报文。
  3. 一种应用于虚拟扩展局域网VXLAN的报文转发方法,其特征在于,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该方法应用于VXLAN IP网关,包括:
    接收第一VTEP发送的ARP报文;
    识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEP IP地址;
    如果否,依据所述ARP报文进行ARP表项学习;
    如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
  4. 根据权利要求3所述的方法,其特征在于,该方法进一步包括:
    建立从本网关至各个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,建立的至各个第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;
    通过已建立的从本网关至第一VTEP的VXLAN数据隧道向第一VTEP发送报文。
  5. 根据权利要求3或4所述的方法,其特征在于,所述依据ARP报文进行ARP表项学习包括:
    检查本地是否存在包含以下内容的ARP表项:
    VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;如果否,学习包含所述内容的ARP表项;
    所述依据修改后的ARP报文进行ARP表项学习包括:
    检查本地是否存在包含以下内容的ARP表项:
    VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
    如果否,学习包含所述内容的ARP表项。
  6. 一种应用于虚拟扩展局域网VXLAN的报文转发装置,其特征在于,该装置应用于第一VXLAN隧道端点VTEP,包括:
    隧道单元,用于建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;以及,
    用于建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
    报文单元,用于分别通过所述VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
  7. 根据权利要求6所述的装置,其特征在于,第一VTEP上有与所述VXLAN数据隧道关联的N个隧道端口;
    所述报文单元通过VXLAN数据隧道发送ARP报文包括:
    依据所述VXLAN数据隧道对所述ARP报文进行VXLAN封装,从所述N个隧道端口中选择一个隧道端口转发VXLAN封装后的ARP报文。
  8. 一种应用于虚拟扩展局域网VXLAN的报文转发装置,其特征在于,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为 VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该装置应用于VXLAN IP网关,包括:
    接收单元,用于接收第一VTEP发送的ARP报文;
    ARP表项单元,用于识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEPIP地址;
    如果否,依据所述ARP报文进行ARP表项学习;
    如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
  9. 根据权利要求8所述的装置,其特征在于,该装置进一步包括:
    隧道单元,用于建立从本网关至各个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,建立的至各个第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;
    转发单元,用于通过已建立的从本网关至第一VTEP的VXLAN数据隧道向第一VTEP发送报文。
  10. 根据权利要求8或9所述的装置,其特征在于,所述ARP表项单元依据ARP报文进行ARP表项学习包括:
    检查本地是否存在包含以下内容的ARP表项:
    VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;如果否,学习包含所述内容的ARP表项;
    所述ARP表项单元依据修改后的ARP报文进行ARP表项学习包括:
    检查本地是否存在包含以下内容的ARP表项:
    VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满 足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
    如果否,学习包含所述内容的ARP表项。
PCT/CN2016/103152 2015-10-26 2016-10-25 应用于vxlan的报文转发 WO2017071547A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16858982.8A EP3370385B1 (en) 2015-10-26 2016-10-25 Packet forwarding applied to vxlan
JP2018521516A JP6557415B2 (ja) 2015-10-26 2016-10-25 Vxlanに用いられるパケット転送
US15/770,545 US10868791B2 (en) 2015-10-26 2016-10-25 Packet forwarding applied to VXLAN

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510701615.1 2015-10-26
CN201510701615.1A CN106612224B (zh) 2015-10-26 2015-10-26 应用于vxlan的报文转发方法和装置

Publications (1)

Publication Number Publication Date
WO2017071547A1 true WO2017071547A1 (zh) 2017-05-04

Family

ID=58613501

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/103152 WO2017071547A1 (zh) 2015-10-26 2016-10-25 应用于vxlan的报文转发

Country Status (5)

Country Link
US (1) US10868791B2 (zh)
EP (1) EP3370385B1 (zh)
JP (1) JP6557415B2 (zh)
CN (1) CN106612224B (zh)
WO (1) WO2017071547A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770298A (zh) * 2017-09-30 2018-03-06 华为技术有限公司 传输数据的方法和装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846342B (zh) * 2016-09-20 2020-11-06 华为技术有限公司 一种vxlan报文的转发方法、设备及系统
CN107360096B (zh) * 2017-08-14 2020-08-25 北京青云科技股份有限公司 一种vxlan报文的转发方法及系统
CN108259302B (zh) * 2017-10-31 2021-04-27 新华三技术有限公司 一种集中式网关组网实现方法及装置
CN107948041B (zh) * 2017-11-22 2020-12-18 锐捷网络股份有限公司 构建vxlan集中式多活网关的方法和设备
CN107743095A (zh) * 2017-11-30 2018-02-27 新华三技术有限公司 报文转发方法和装置
CN109995638A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种进行二层互通的方法及设备
CN108199967B (zh) * 2018-03-30 2020-08-11 新华三技术有限公司 路由处理方法及装置
US10778464B2 (en) * 2018-04-20 2020-09-15 Futurewei Technologies, Inc. NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
CN110620715B (zh) * 2018-06-20 2021-10-22 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
US10992543B1 (en) 2019-03-21 2021-04-27 Apstra, Inc. Automatically generating an intent-based network model of an existing computer network
CN112422397B (zh) * 2020-11-05 2022-04-08 中国联合网络通信集团有限公司 业务转发方法及通信装置
CN113037883B (zh) * 2021-02-23 2022-06-10 中国联合网络通信集团有限公司 一种mac地址表项的更新方法及装置
CN113726632B (zh) * 2021-07-31 2023-04-18 新华三信息安全技术有限公司 一种报文转发方法及设备
CN114301868B (zh) * 2021-12-30 2023-07-11 上海观安信息技术股份有限公司 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置
CN115190100A (zh) * 2022-07-04 2022-10-14 中国联合网络通信集团有限公司 数据转发方法、vtep网关、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184017A (zh) * 2007-12-04 2008-05-21 华为技术有限公司 以太网隧道处理方法及通讯系统以及相关设备
US7830787B1 (en) * 2001-09-25 2010-11-09 Cisco Technology, Inc. Flooding control for multicast distribution tunnel
CN101917439A (zh) * 2010-08-24 2010-12-15 杭州华三通信技术有限公司 一种数据的传输方法和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4728511B2 (ja) * 2001-06-14 2011-07-20 古河電気工業株式会社 データ中継方法、その装置およびその装置を用いたデータ中継システム
CN104272668B (zh) * 2012-05-23 2018-05-22 博科通讯系统有限公司 层3覆盖网关
EP2723118B1 (en) * 2012-09-28 2019-03-27 Juniper Networks, Inc. Methods and apparatus for controlling wireless access points
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7830787B1 (en) * 2001-09-25 2010-11-09 Cisco Technology, Inc. Flooding control for multicast distribution tunnel
CN101184017A (zh) * 2007-12-04 2008-05-21 华为技术有限公司 以太网隧道处理方法及通讯系统以及相关设备
CN101917439A (zh) * 2010-08-24 2010-12-15 杭州华三通信技术有限公司 一种数据的传输方法和设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770298A (zh) * 2017-09-30 2018-03-06 华为技术有限公司 传输数据的方法和装置

Also Published As

Publication number Publication date
CN106612224A (zh) 2017-05-03
CN106612224B (zh) 2019-11-01
EP3370385B1 (en) 2023-11-15
US20190068543A1 (en) 2019-02-28
US10868791B2 (en) 2020-12-15
EP3370385A1 (en) 2018-09-05
JP6557415B2 (ja) 2019-08-07
EP3370385A4 (en) 2018-12-12
JP2018532342A (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
WO2017071547A1 (zh) 应用于vxlan的报文转发
US11765000B2 (en) Method and system for virtual and physical network integration
US9866409B2 (en) Method and system for VXLAN encapsulation offload
JP6663020B2 (ja) パケット処理方法、関連装置、およびnvo3ネットワークシステム
JP6581277B2 (ja) データパケット転送
US10333836B2 (en) Convergence for EVPN multi-homed networks
EP2853066B1 (en) Layer-3 overlay gateways
US10992590B2 (en) Path maximum transmission unit (PMTU) discovery in software-defined networking (SDN) environments
US20220393976A9 (en) HANDLING PACKETS TRAVELLING TOWARDS LOGICAL SERVICE ROUTERS (SRs) FOR ACTIVE-ACTIVE STATEFUL SERVICE INSERTION
WO2017036384A1 (zh) 运营商边缘设备及数据转发方法
US20230379190A1 (en) Method to Build a Service Function Chain in an Overlay Network
CN115913819A (zh) 一种通信方法以及相关装置

Legal Events

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

Ref document number: 16858982

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2018521516

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016858982

Country of ref document: EP