WO2017008712A1 - Vxlan隧道端点vtep之间的路径可达检测 - Google Patents
Vxlan隧道端点vtep之间的路径可达检测 Download PDFInfo
- Publication number
- WO2017008712A1 WO2017008712A1 PCT/CN2016/089597 CN2016089597W WO2017008712A1 WO 2017008712 A1 WO2017008712 A1 WO 2017008712A1 CN 2016089597 W CN2016089597 W CN 2016089597W WO 2017008712 A1 WO2017008712 A1 WO 2017008712A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vtep
- path
- vxlan
- detection
- detection packet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Definitions
- VXLAN Virtual eXtensible Local Area Network
- the VXLAN technology encapsulates the Layer 2 packet with the Layer 3 protocol.
- the main principle is to introduce an outer tunnel in the User Datagram Protocol (UDP) format as the data path layer and the original Layer 2 packet.
- UDP User Datagram Protocol
- the outer layer of the payload uses UDP as the transmission means, this ensures that the payload is smoothly transmitted in the Layer 2 and Layer 3 networks, and the capability of the Layer 2 network to cover the Layer 3 network is realized.
- the covered virtual network is referred to as an overlay network
- the covered physical bearer network is referred to as an underlay network.
- FIG. 1 is a schematic flow chart of a method provided by an example of the present application.
- FIG. 2 is a schematic structural diagram of a VXLAN package provided by an example of the present application.
- FIG. 3 is a schematic diagram of an application networking provided by an example of the present application.
- FIG. 4 is a schematic diagram of an application networking provided by an example of the present application.
- FIG. 5 is a schematic structural diagram of an apparatus provided by an example of the present application.
- FIG. 6 is a schematic structural diagram of hardware of an apparatus provided by an example of the present application.
- a data center that provides services such as a data center that provides cloud services, VXLAN technology architecture overlay network and underlay network.
- the Overlay network includes a tunnel endpoint (VTEP: VXLAN Tunnel End Point).
- VXLAN related processing is performed on VTEP, such as VXLAN encapsulation of packets and VXLAN decapsulation.
- the VTEP can be a virtual switch or a physical switch.
- An Underlay network can be a physical bearer network, including multiple hosts and other devices.
- the VTEP in the Overlay network is connected to the underlay network, and the IP address of the physical bearer network of the underlay network is allocated, and the IP address is independent of the overlay network.
- the path between different VTEPs may have multiple or even multiple equivalent multipaths (ECMP: Equal-Cost).
- ECMP Equal-Cost
- FIG. 1 is a flowchart of a method provided by an example of the present application. As shown in FIG. 1, the method may include the following steps:
- the first VTEP is configured to detect whether the forwarding path from the first VTEP to the second VTEP is reachable to the second VTEP according to the principle that different detection packets correspond to different UDP source port numbers.
- the detection packet determines the UDP source port number.
- first VTEP and the second VTEP are only for naming for convenience of description, and do not limit the present application.
- N is greater than or equal to the number M of paths from the first VTEP to the second VTEP.
- the N test packets may have different message key information.
- the message key information is at least one parameter included in the message quintuple or the message quintuple.
- the packet quintuple includes the following parameters: destination IP address, source IP address, destination port number, source port number, and protocol type.
- the packet quintuple includes the following parameters: destination IP address, source IP address, and destination MAC address.
- the destination MAC address is used as the destination MAC address.
- you can define a destination MAC address range for example, 00-00-5E-90-00-01.
- the destination MAC address of the N detection packets may be different destination MAC addresses in the destination MAC address range.
- other parameters of the N detection packets such as the source MAC address, the source IP address, the destination IP address, the destination port number, the source port number, and the protocol type are the same.
- the source MAC address of the N detection packets can be the bridge MAC address of the source VTEP
- the source IP address can be the IP address of the source VTEP
- the destination IP address can be fixed to one for the representation.
- the value of the packet discarded by the destination VTEP after receiving it such as 127.0.0.1.
- the destination port number, source port number, and protocol type can be set in advance according to actual requirements, and are not described here.
- the N detection messages may also have the same message key information.
- the key information of the packet is the same, the other parameters of the N detection packets may be the same or different, and are not specifically limited herein.
- the principle that the different detection packets correspond to different UDP source port numbers is the The N detection packets sent by the VTEP to detect whether the forwarding path from the first VTEP to the second VTEP is reachable may determine that the outer UDP source port number is implemented in the following manner 1 or mode 2:
- Method 1 For each detection packet, the algorithm determines the key information of the packet in the detection packet according to the set UDP source port number determination algorithm, and determines the obtained result as the UDP source port number of the detection packet. For example, according to the hash algorithm, the UDP source port number of the detection packet is calculated according to the packet quintuple of the detection packet.
- Manner 2 The N detection packets are queued into a queue, and the UDP source port number is determined as the default port number K for the first detection packet in the queue, and the second detection packet in the queue is determined and first.
- the UDP source port number of the outer UDP source port number of the detection packet is, for example, the default port number K+1, and so on, until the last detection packet in the queue is determined to be the one of the queue detection packets.
- the N test packets may have the same message key information.
- the step 201 according to the principle that different test packets correspond to different UDP source port numbers, The N detection packets sent by the second VTEP for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable can be determined by the foregoing mode 2.
- step 201 it is finally possible to determine different UDP source port numbers for the N detection messages for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable.
- Step 202 The first VTEP performs VXLAN encapsulation on the detection packet by using the UDP source port number determined for the detection packet for each detection packet.
- the first VTEP in step 202, for each detection packet, performing VXLAN encapsulation on the detection packet by using the UDP source port number determined for the detection packet may include the following steps a1 to a2:
- step a1 a VXLAN encapsulation parameter used for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable is determined.
- the above N detection messages are used to detect from the first VTEP to the second If the forwarding path of the VTEP is reachable, in this example, the VXLAN encapsulation parameters of the N detection packets when the VXLAN encapsulation is performed are the same, and are the VXLAN encapsulation parameters determined in step a1.
- Figure 2 shows the structure of a VXLAN package.
- the VXLAN encapsulation parameters here include parameters in the VXLAN encapsulation except for the UDP source port number (Source Port) in the outer UDP header.
- the detection packet is VXLAN encapsulated by using the outer UDP source port number and the VXLAN encapsulation parameter determined for the detection packet for each detection packet.
- the UDP source port number in the outer UDP header of the VXLAN encapsulation of each detection packet is the UDP source port number determined by the detection packet, and other parameters are the VXLAN encapsulation parameters described above.
- Step 203 The first VTEP shares the detection packet of the N VXLAN encapsulation by the egress port corresponding to the path of the VTEP to the second VTEP, so that the intermediate device or the second VTEP of the VXLAN encapsulated detection packet is received.
- the path detecting device transmits a path parameter for the path detecting device to determine a reachable forwarding path from the first VTEP to the second VTEP.
- the first VTEP and the second VTEP are underlay Layer 3 forwarding links, and the intermediate device can be a Layer 3 switch or router.
- the first VTEP can send the detection messages of the N VXLAN encapsulations by using the egress port corresponding to all the paths from the VTEP to the second VTEP.
- step b1 an egress port corresponding to the path from the first VTEP to the second VTEP is determined.
- the egress port corresponding to the path from the first VTEP to the second VTEP may be used by the first VTEP to find an egress port corresponding to the path of the second VTEP according to the local routing table, and is not specifically described.
- M is the number of forwarding paths from the first VTEP to the second VTEP, based on Therefore, the number of outbound ports (indicated by L) corresponding to the path determined in this step b1 is less than or equal to M.
- step b2 when the number L of the egress ports corresponding to the determined path is 1, the detection packets of the N VXLAN encapsulations are sent by the egress port corresponding to the determined path; the number of egress ports corresponding to the determined path When L is greater than 1, a target egress port is allocated for each VXLAN encapsulated detection packet from the egress port corresponding to the L paths according to the equalization sharing principle, and the VXLAN encapsulation is sent by the target egress port allocated for the detection packet of the VXLAN encapsulation. Detect the message.
- a specific implementation form may be allocated for each target detection port from the egress port corresponding to the L paths, and only one implementation form may be used, for example, N
- the detection packet is grouped, and the number of detection packets in any group is less than or equal to L, and different detection ports are assigned as the target egress port from the L out ports for the detection packets in each group.
- the first VTEP can share the detection packets of the N VXLAN encapsulations to the egress port corresponding to all the paths from the VTEP to the second VTEP by using the step b1 to the step b2.
- VXLAN there is generally a controller control management VTEP, based on which, when there is a controller in the VXLAN, as an example of the present application, the above path detecting device may be a controller.
- the N detection packets that are reachable by the forwarding path from the first VTEP to the second VTEP are the controller determining whether to detect the forwarding path from the first VTEP to the second VTEP. Generated and sent to the first VTEP when reachable.
- the VXLAN encapsulation parameter used when the forwarding path of the VTEP to the second VTEP is reachable includes: receiving a VXLAN encapsulation parameter sent by the controller for detecting whether a forwarding path from the first VTEP to the second VTEP is reachable.
- the above-described path detecting device may be the first VTEP regardless of whether or not the above-described controller is present in the VXLAN.
- the N detection packets for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable are generated by the first VTEP.
- the VXLAN encapsulation parameter used in the step a1 to determine whether the forwarding path from the first VTEP to the second VTEP is reachable may include: all VXLAN encapsulation parameters pre-configured from the local.
- the VXLAN encapsulation parameter used to detect whether the forwarding path from the first VTEP to the second VTEP is reachable is determined.
- the VXLAN encapsulation parameter includes an outer UDP destination port (Dest Port), an outer Ethernet header (Outer Ethernet Header), and an outer UDP header.
- Layer IP header Outer IP Header
- VXLAN header VXLAN Header
- the inner UDP destination port number (Dest Port) of the outer UDP header is the set port number specified by the VXLAN protocol.
- the outer destination destination MAC address of the outer layer Ethernet header is the bridge MAC address of the second VTEP
- the outer source MAC address of the outer layer outer header is the bridge MAC address of the first VTEP, outside the outer IP header.
- the IP address of the layer is the IP address of the second VTEP
- the outer source IP address of the outer IP header is the IP address of the first VTEP.
- the value in the designated reserved field (such as the first reserved field shown in FIG. 2) in the VXLAN header is a set value such as 100
- the VXLAN identifier (VNID) in the VXLAN header is the first VTEP.
- the VXLAN identifier is such as VNID200.
- the intermediate device is between the first VTEP and the second VTEP, and the second VTEP receives the detection packet of the VXLAN encapsulation.
- the device or the second VTEP can use the VXLAN encapsulation of the detection packet to match the locally saved matching rule. If the matching succeeds, the device sends the path detection device to the path detection device to determine from the first.
- the matching rule here may be sent by the path detecting device, or may be pre-configured, and the example of the present application is not specifically limited.
- the matching rule herein may be: the outer UDP header inner and outer UDP destination port number is a set port number specified by the VXLAN protocol, and the specified reserved field in the VXLAN header is as shown in FIG. 2 The value in the first reserved field shown is a set value such as 100.
- the path parameter sent by the intermediate device may include at least the device identifier of the intermediate device and the identifier of the port that the intermediate device receives the detection packet of the VXLAN encapsulation.
- the intermediate device sends the detection packet of the VXLAN encapsulation received and received by the egress port for forwarding the detection packet according to the destination IP address of the outer IP header in the VXLAN encapsulation.
- the intermediate device selects the detection packet of the VXLAN encapsulation received by the egress port for forwarding the detection packet, and specifically determines the egress port for forwarding the detection packet according to the destination IP address of the outer IP header in the VXLAN encapsulation.
- the outgoing port of the VXLAN encapsulation received by the determined outbound port is directly selected. If the number of the outbound ports is greater than 1, the UDP source port number in the outer UDP header in the VXLAN encapsulation is performed.
- the hash operation selects an outbound port from the determined outbound port to forward the received VXLAN encapsulated test packet according to the hash operation result.
- the intermediate device receives multiple detection packets with the destination end being the second VTEP. Because the UDP source port numbers in the outer UDP header of the VXLAN encapsulation of the multiple detection packets are different, The detection packets will be forwarded from different egress ports, so that the detection packets can traverse different forwarding paths.
- the path parameter sent by the second VTEP may be implemented by at least the device identifier of the second VTEP and the identifier of the port that the second VTEP receives the detection packet of the VXLAN encapsulation. Moreover, in order to prevent the normal service from being affected, the second VTEP discards the detected packet of the received VXLAN encapsulation.
- the path parameter sent by the intermediate device and the second VTEP may further include The identifier of a VTEP and the identifier of the second VTEP. That is, in the example of the present application, the specific content of the path parameter is not limited, as long as it can be finally guaranteed to detect whether the forwarding path from the first VTEP to the second VTEP is reachable.
- the first VTEP may also receive the detection packet of the VXLAN package sent by the other VTEP.
- the processing process of the first VTEP is similar to the second VTEP described above. , no longer repeat them here.
- FIG. 3 is a diagram of an application networking diagram of an example provided by the present application.
- the Overlay network The network shows only two VTEPs: VTEP1 and VTEP2, the controller 30 controls VTEP1 and VTEP2, and the underlay network shows only five devices, respectively device 31 to device 35.
- the path detecting device is the controller 30.
- the controller 30 determines that the forwarding path reachability between two VTEPs (using VTEP1 as the source VTEP and VTEP2 as the destination VTEP as an example) is reached, the controller 30 is based on the collected network topology. Determine the number of forwarding paths from VTEP1 to VTEP2.
- the controller 30 also generates 5 or more detection messages according to the determined number of forwarding paths 5 from VTEP1 to VTEP2, here to generate 5 detection reports
- the text is an example.
- the controller 30 sends the generated 5 detection messages to VTEP1.
- the detection packets have different packet key information, and the packet key information is the destination MAC address.
- the destination MAC address of message 01 is 00-00-5E-90-00-01
- the destination MAC address of the message 02 is 00-00-5E-90-00-02
- the destination MAC address of the message 03 is 00-00-5E-90-00-03
- the destination MAC address of the message 04 is 00.
- the destination MAC address of message 05 is 00-00-5E-90-00-05.
- the controller 30 also notifies VTEP1 of the VXLAN encapsulation parameters (parameters in the VXLAN encapsulation other than the outer UDP source port in the outer UDP header) used to detect whether the forwarding path from VTEP1 to VTEP2 is reachable.
- the UDP destination port number in the outer UDP header of the VXLAN encapsulation parameter is the set port number specified by the VXLAN protocol (take the port number 200 as an example), and the outer destination MAC address of the outer Ethernet header is VTEP2.
- the bridge MAC address, the external source MAC address is the bridge MAC address of VTEP1, the outer destination IP address of the outer IP header is the IP address of VTEP2, and the outer source IP address of the outer IP header is the IP address of VTEP1, VXLAN header
- the middle VXLAN identifier is the ID of the first VXLAN where VTEP1 is located (here, VNID100 is taken as an example), and the reserved field such as the value in the first reserved field in the VXLAN header is set to a set value such as 100.
- the controller 30 sends a matching rule to VTEP2.
- the controller 30 sends a matching rule to the intermediate device on any forwarding path from VTEP1 to VTEP2 (here, the intermediate device is the device 31 to the device 35 in FIG. 3, and FIG. 3 is not shown because the line is relatively large.
- the controller 30 issues a matching rule to the line of the device 31 to the device 35).
- the matching rule may be: the value in the specified reserved field in the VXLAN header in the VXLAN encapsulation is a set value, and the UDP destination port number in the outer UDP header in the VXLAN encapsulation is the set port number specified by the VXLAN protocol.
- the VTEP1 receives a total of five detection messages from the message 01 to the message 05 sent by the controller 30, and receives the VXLAN encapsulation parameters sent by the controller 30.
- VTEP1 finds that the message 01 to the message 05 have different message key information, and the key information of the message is the destination MAC address. For example, the VTEP1 calculates the UDP source port number and uses the destination MAC address of the message 01. -00-5E-90-00-01 Calculates the UDP source port number of message 01. VTEP1 uses the UDP source port number calculation method and uses the destination MAC address of message 02 00-00-5E-90-00- 02 Calculate the UDP source port number of the message 02; VTEP1 calculates the UDP source port of the message 03 according to the set UDP source port number calculation method and the destination MAC address 00-00-5E-90-00-03 of the message 03.
- VTEP1 calculates the UDP source port number of packet 04 according to the configured UDP source port number calculation method and uses destination MAC address 00-00-5E-90-00-04 of packet 04; VTEP1 follows the set UDP source. Port number calculation method and use the purpose of message 05 The MAC address 00-00-5E-90-00-05 calculates the UDP source port number of the message 05.
- VTEP1 uses the VXLAN encapsulation parameter notified by the controller 30 and the UDP source port number of the packet 01 to perform VXLAN encapsulation on the packet 01, that is, the UDP source port number in the outer UDP header in the VXLAN encapsulation is the UDP source port determined by the message 01. No. Other parameters in the VXLAN package are the VXLAN package parameters as described above.
- the VTEP1 performs VXLAN encapsulation on the message 02 by using the VXLAN encapsulation parameter notified by the controller 30 and the UDP source port number of the message 02; the VTEP1 uses the VXLAN encapsulation parameter notified by the controller 30 and the UDP source port number of the message 03.
- the VXLAN encapsulation is performed by the VXLAN encapsulation parameter notified by the controller 30 and the UDP source port number of the message 04; the VXLAN encapsulation parameter notified by the controller 30 and the UDP source of the message 05 are used by the VTEP1.
- the port number encapsulates the message 05 in VXLAN.
- the message 01 to the message 05 in the VXLAN encapsulation are sequentially recorded as the message 11, the message 12, the message 13, the message 14, and the message 15.
- VTEP1 determines the egress port corresponding to the path from this VTEP1 to VTEP2. If the number of outbound ports corresponding to the path determined by VTEP1 is 2, which is port 11 and port 12, VTEP1 sends packet 11 through port 11, sends packet 12 through port 12, and sends packet 13 through port 11. The message 14 is sent through port 12 and the message 15 is sent through port 11.
- the packet 11 is received by any intermediate device in any path from VTEP1 to VTEP2 (here, only device 31 is taken as an example), and the value in the specified reserved field in the VXLAN header of the VXLAN encapsulation of the packet 11 is found to be the set value. 100.
- the UDP destination port number in the outer UDP header of the VXLAN encapsulation is the set port number 200 specified by the VXLAN protocol. If the matching rule sent by the controller is met, the path parameter is sent to the controller, where the path parameter includes at least The device identifier of the device 31 and the port number of the port on which the device 31 receives the packet 11 (taking port 311 as an example).
- the device 31 determines the path to the destination IP address of the outer layer according to the outer destination IP address of the outer IP header in the VXLAN encapsulation of the packet 11.
- the result is that the path is more than one, which is three equal-cost paths, which are: 31->Device 32->Device 34->VTEP2; Device 31->Device 32->Device 35->VTEP2, Device 31->Device 33->Device 34->VTEP2, based on this, device 31 pairs message 11
- the UDP source port number of the outer UDP header in the VXLAN encapsulation is hashed, and a path corresponding to the hash result is found from the three equal-cost paths according to the hash result, such as device 31->device 33->device 34->VTEP2
- the received message 11 is forwarded through a path found.
- the process of receiving the message 13 and receiving the message 15 by the device 31 is similar to the process of receiving the message 11, and details are not described herein again.
- the controller 30 receives and saves the path parameters transmitted by the device 31.
- the processing after the device 32 to the device 35 receives the packet is similar to the processing of the device 31, and details are not described herein again.
- VTEP2 when VTEP2 receives any of the packets from message 11 to message 15, it finds that the value in the first reserved field in the VXLAN header of the VXLAN encapsulation of the packet is the set value of 100, and the outer UDP in the VXLAN encapsulation The destination UDP port number in the header is the set port number 200 specified by the VXLAN protocol. If the matching rule sent by the controller is met, the path parameter is sent to the controller.
- the path parameter here includes at least: the device identifier of VTEP2 and the VTEP2. The identifier of the port to the packet.
- VTEP2 discards the received destination packet when the outer IP address of the outer IP header in the VXLAN encapsulation is the IP address of the VTEP2.
- the controller 30 After receiving the path parameter sent by VTEP2, the controller 30 summarizes and counts the reachable paths from VTEP1 to VTEP2 according to all the received path parameters.
- the path parameters received by the controller 30 are:
- the controller 30 connects the VTEP1 to the port corresponding to the port 311 on the device 31 based on the collected network topology.
- the path from VTEP1 to device 31 is determined by (device 31, port 311); the controller 30 is based on the collected network.
- the port corresponding to the port 321 of the topology discovery device 32 is connected to the device 31.
- the path from the device 31 to the device 32 is determined by (device 32, port 321), and the previously determined path from VTEP1 to device 31 is reachable.
- the controller 30 discovers the port connection device 32 corresponding to the port 352 on the device 35 based on the collected network topology, and thus, the slave device is determined by (device 35, port 352).
- the path from 32 to device 35 is reachable, and the path from VTEP1 to device 32 is determined to be reachable, and then the path from VTEP1 to device 35 is further determined; controller 30 discovers VTEP2 based on the collected network topology.
- the port corresponding to port 25 is connected to device 35.
- the path from device 35 to VTEP2 is determined by (VTEP2, port 25), combined with the previously determined path from VTEP1 to device 35. Up, it is further determined at this time to the path VTEP1 VTEP2 up, i.e. up above the transfer path 2.
- the controller 30 connects the VTEP1 to the port corresponding to the port 322 on the device 32 based on the collected network topology.
- the path from VTEP1 to device 32 is determined by (device 32, port 322); the controller 30 is based on the collected network.
- the port corresponding to the port 342 of the topology discovery device 34 is connected to the device 32.
- the path from the device 32 to the device 34 is determined by (device 34, port 342), and the previously determined path from VTEP1 to device 32 is reachable.
- the controller 30 discovers the port connection device 34 corresponding to the port 24 on the VTEP2 based on the collected network topology, and thus, the slave device 34 is determined by (VTEP2, port 24)
- the path of VTEP2 is reachable, and the path from VTEP1 to device 34 is determined to be reachable. Steps determine that the path from VTEP1 to VTEP2 is reachable, that is, the above forwarding path 5 is reachable.
- controller 30 summarizes and counts the received path parameters to determine that only the forwarding path 2 and the forwarding path 5 are reachable, and the forwarding paths 1, 3, and 4 are unreachable.
- FIG. 4 is a schematic diagram of an application networking of an example provided by the present application.
- the Overlay network shows only two VTEPs: VTEP3 and VTEP4, and the underlay network shows only five devices, device 61 to device 65, respectively.
- an example is taken to detect whether the forwarding path from VTEP3 to VTEP4 is reachable.
- the path detection device is VTEP3.
- VTEP3 determines the number of forwarding paths from the VTEP3 to VTEP4 based on the previously collected network topology. If the number of forwarding paths is 5, respectively: forwarding path 1, VTEP3->device 61->device 62->device 64->VTEP4, Forwarding path 2, VTEP3->Device 61->Device 62->Device 65->VTEP4, Forwarding Path 3, VTEP3->Device 61->Device 63->Device 64->VTEP4, Forwarding Path 4, VTEP3->Device 62->Device 65->VTEP4, Forwarding Path 5, VTEP3->Device 62->Device 64->VTEP4.
- the VTEP3 generates 5 or more detection packets according to the determined number of forwarding paths 5 from the VTEP3 to the VTEP4.
- five detection packets are generated as an example.
- the detection packets have different packet key information, and the packet key information is the destination MAC address.
- the five detection messages are respectively recorded as message 61, message 62, message 63, message 64, message 65, wherein the destination MAC address of the message 61 is 00-00-5E-90-00-06
- the destination MAC address of the packet 62 is 00-00-5E-90-00-07
- the destination MAC address of the packet 63 is 00-00-5E-90-00-08
- the destination MAC address of the packet 64 is 00.
- -00-5E-90-00-09 the destination MAC address of message 65 is 00-00-5E-90-00-10.
- VTEP3 sends a matching rule to VTEP4.
- VTEP3 determines the intermediate device (ie, device 61 to device 65 in Figure 4) on the path from the VTEP3 to VTEP4 according to the previously collected network topology, and VTEP3 sends The matching rule is given to the device 61 to the device 65 in Fig. 4 (Fig. 4 because the line is relatively large, the line for transmitting the matching rule is not shown).
- the matching rule may be: the value in the first reserved field in the VXLAN header in the VXLAN encapsulation is a set value, and the UDP destination port number in the outer UDP header in the VXLAN encapsulation is the set port number specified by the VXLAN protocol.
- VTEP3 determines the UDP source port number of the packet 61 to the packet 65 according to the set UDP source port number calculation method.
- VTEP3 performs VXLAN encapsulation on the packets 61 to 65 respectively.
- the UDP source port numbers of the outer UDP headers in the VXLAN encapsulation of the packets 61 to 65 are the UDP source port numbers determined by the packets 61 to 65, respectively.
- the message 61 to the message 65 in the VXLAN encapsulation are sequentially recorded as the message 71 to the message 75.
- VTEP3 determines the egress port corresponding to the path from this VTEP3 to VTEP4. If the number of outbound ports L determined by VTEP3 is 2, which is port 31 and port 32 respectively (not shown in FIG. 4), VTEP3 sends a message 71 through port 31, and sends a message 72 through port 32, which is sent through port 31. In the message 73, the message 74 is sent through the port 32, and the message 75 is sent through the port 31.
- Any intermediate device in any path from VTEP3 to VTEP4 receives the message 71, and finds that the value in the first reserved field in the VXLAN header of the VXLAN encapsulation of the message 71 is set. The value is set, and the UDP destination port number in the outer UDP header of the VXLAN encapsulation is the set port number specified by the VXLAN protocol. If the matching rule sent by VTEP3 is met, the path parameter is sent to VTEP3, and the path parameter includes: the device identifier of the device 61, The device 61 receives the port number of the port of the message 71.
- the device 61 determines the path to the destination IP address of the outer layer according to the outer destination IP address of the outer IP header in the VXLAN encapsulation of the packet 71, and finds that there is more than one path, which is three equal-cost paths. 61 pairs of messages 71 of VXLAN The UDP source port number of the outer UDP header in the encapsulation is hashed, and a path corresponding to the hash result is found from the three equal-cost paths according to the hash result, such as device 61->device 63->device 64->VTEP4 and passes A path found forwards the received message 71.
- the process of receiving the message 73 and receiving the message 75 by the device 61 is similar to the process of receiving the message 71, and details are not described herein again.
- VTEP3 receives and saves the path parameters sent by device 61.
- the processing after the device 62 to the device 65 receives the message is similar to the processing of the device 61, and details are not described herein again.
- VTEP4 when VTEP4 receives any of the packets from message 71 to message 75, it finds that the value in the first reserved field in the VXLAN header of the VXLAN encapsulation of the packet is the set value, and the outer UDP header in the VXLAN encapsulation The UDP destination port number is the set port number specified by the VXLAN protocol. If the matching rule sent by VTEP3 is met, the path parameter is sent to VTEP3, and the outer destination IP address of the outer IP header in the VXLAN encapsulation is the IP address of VTEP4. , the received message is discarded.
- VTEP3 After receiving the path parameters sent by VTEP4, VTEP3 summarizes and counts the reachable forwarding paths from VTEP3 to VTEP4 according to all the received path parameters. The summary and statistics are similar to the previous examples, and are not described here. 4 The port of the VXLAN encapsulated detection packet is not specifically shown. Finally, VTEP3 will globally count all path reachable conditions from VTEP3 to VTEP4, including how many reachable paths, etc., for upper-layer queries. Here, VTEP3 finally globally counts the reachability of all paths from VTEP3 to VTEP4. There may be no intuitive access to all paths that are counted by the controller.
- FIG. 5 is a schematic structural diagram of a device provided by an example of the present application. As shown in Figure 5, the apparatus 50 includes:
- the determining unit 51 is configured to detect, according to the principle that different detection packets correspond to different UDP source port numbers, whether the forwarding path from the first VTEP to the second VTEP is sent by the first VTEP to the second VTEP.
- the detection message determines the UDP source port number; wherein N is greater than or equal to the number M of paths from the first VTEP to the second VTEP.
- the VXLAN encapsulating unit 52 is configured to perform VXLAN encapsulation on the detection packet by using a UDP source port number determined for the detection packet for each detection packet.
- the detection packet sending unit 53 is configured to share the detection packets of the N VXLAN encapsulations by using the egress port corresponding to all the paths from the first VTEP to the second VTEP, so that the intermediate device that receives the detection packet of the VXLAN encapsulation or The second VTEP transmits to the path detecting device a path parameter for the path detecting device to determine a reachable forwarding path from the first VTEP to the second VTEP.
- the path detecting device is a controller for managing VTEP in the VXLAN
- the N detecting messages for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable is the control. Transmitted to the first VTEP;
- the N detecting messages for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable are generated by the first VTEP.
- the VXLAN encapsulation unit 52 performs VXLAN encapsulation on the detection packet by using the UDP source port number determined for the detection packet for each detection packet, including:
- VXLAN encapsulation parameter used to detect whether a forwarding path from the first VTEP to the second VTEP is reachable
- the detection packet For each detection packet, the detection packet is VXLAN encapsulated by using the UDP source port number and the VXLAN encapsulation parameter determined for the detection packet.
- the VTLAN encapsulation parameter used by the controller of the VTEP to determine whether the forwarding path from the first VTEP to the second VTEP is reachable includes: receiving, by the controller, detecting the first VTEP to the second VXLAN encapsulation parameters used when the forwarding path of the VTEP is reachable;
- the determining the VXLAN encapsulation parameter used for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable includes: determining from all locally preconfigured VXLAN encapsulation parameters A VXLAN encapsulation parameter used to detect whether a forwarding path from the first VTEP to the second VTEP is reachable.
- the detection packet sending unit 53 performs the detection of the N VXLAN encapsulated detection packets by using the outbound port corresponding to the path from the first VTEP to the second VTEP.
- the detection packets of the N VXLAN encapsulations are sent by the egress port corresponding to the determined one path;
- a target out port is allocated for each VXLAN encapsulated detection packet from the outbound ports corresponding to the L paths according to the equalization sharing principle, and the detection packet is encapsulated by the VXLAN.
- the target outgoing port of the file sends a detection packet of the VXLAN encapsulation.
- the apparatus 50 further includes:
- the receiving unit 54 is configured to receive a detection packet of the VXLAN package.
- the path parameter sending unit 55 is configured to: when the receiving unit 54 receives the detection packet of the VXLAN encapsulation, send the path parameter corresponding to the received detection packet of the VXLAN encapsulation to the path detecting device, where the received VXLAN encapsulation
- the path parameter corresponding to the detection packet includes at least: the device identifier of the first VTEP, and the first VTEP receives the VXLAN The identifier of the port of the encapsulated detection packet;
- the processing unit 56 is configured to determine that the destination IP address of the outer IP header in the VXLAN encapsulation is the IP address of the VTEP, and discard the detection packet of the VXLAN encapsulation received by the receiving unit.
- FIG. 6 is a schematic structural diagram of hardware of an apparatus provided by an example of the present application.
- the device 60 is a first VTEP.
- the device 60 includes a processor 61 and a memory 62.
- the processor 61 is, for example, a central processing unit (CPU).
- the memory 62 can be a non-volatile storage medium storing computer-executable instructions, which can be specifically path-detectable instructions.
- the processor 61 reads the path reachable detection command to perform:
- UDP is determined for the N detection packets sent by the first VTEP to the second VTEP for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable.
- Source port number
- the detection packet is VXLAN encapsulated by using the UDP source port number determined for the detection packet;
- the path detecting device determines a path parameter of a reachable forwarding path from the first VTEP to the second VTEP;
- N is greater than or equal to the number M of paths from the first VTEP to the second VTEP.
- the path detecting device is a controller for managing VTEP in the VXLAN
- the N detecting messages for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable is that the controller is first Sent by VTEP;
- the N are used to detect from the first A detection message that the forwarding path of the VTEP to the second VTEP is reachable is generated by the first VTEP.
- the VXLAN encapsulation of the detection packet by using the UDP source port number determined for the detection packet for each detection packet includes:
- VXLAN encapsulation parameter used to detect whether a forwarding path from the first VTEP to the second VTEP is reachable
- the detection packet For each detection packet, the detection packet is VXLAN encapsulated by using the UDP source port number and the VXLAN encapsulation parameter determined for the detection packet.
- the determining the VXLAN encapsulation parameter used when detecting whether the forwarding path from the first VTEP to the second VTEP is reachable includes: receiving the controller The VXLAN encapsulation parameter sent when detecting whether the forwarding path from the first VTEP to the second VTEP is reachable;
- the determining the VXLAN encapsulation parameter used for detecting whether the forwarding path from the first VTEP to the second VTEP is reachable includes: determining from all locally preconfigured VXLAN encapsulation parameters A VXLAN encapsulation parameter used to detect whether a forwarding path from the first VTEP to the second VTEP is reachable.
- the detecting, by the outbound port corresponding to all the paths corresponding to the path from the first VTEP to the second VTEP, the sending of the detection messages of the N VXLAN encapsulations includes:
- the detection packets of the N VXLAN encapsulations are sent by the egress port corresponding to the determined one path;
- a target out port is allocated for each VXLAN encapsulated detection packet from the outbound ports corresponding to the L paths according to the equalization sharing principle, and the detection packet is encapsulated by the VXLAN.
- Target assigned port outgoing Detection packet encapsulated in VXLAN.
- the processor 61 reads the path reachable detection instruction, and further performs: receiving the detection packet encapsulated by the VXLAN;
- the path parameter corresponding to the detection packet of the received VXLAN encapsulation is sent to the path detection device, and the path parameter corresponding to the detection packet of the received VXLAN encapsulation includes at least: the first VTEP Device identifier, the identifier of the port on which the first VTEP receives the detection packet encapsulated by the VXLAN;
- the destination IP address of the outer IP header in the VXLAN encapsulation is determined to be the IP address of the first VTEP, and the detection packet of the received VXLAN encapsulation is discarded.
- the UDP source port number is determined by:
- the algorithm determines the key information of the packet, and determines the UDP source port number of the detection packet according to the UDP source port number determination algorithm;
- the N detection packets are arranged in a queue, and different preset port numbers are determined for each detection message in the queue.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
Abstract
本申请中,第一VTEP为待向第二VTEP发送的N份检测报文确定不同的用于VXLAN封装的UDP源端口号,这能够使接收到VXLAN封装的检测报文的中间设备在确定出至第二VTEP的转发路径有两条以上时利用VXLAN封装中的UDP源端口号选择转发路径,检测报文的数量N大于从第一VTEP至第二VTEP的所有转发路径数量M,并且,第一VTEP从第一VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文。
Description
发明背景
虚拟扩展局域网(VXLAN:Virtual eXtensible Local Area Network),是一种实现Overlay网络架构的技术。VXLAN技术将二层报文用三层协议进行封装,主要原理为:引入一个用户数据包协议(UDP:User Datagram Protocol)格式的外层隧道,作为数据路径层,而原有的二层报文数据作为净荷来传输。
由于净荷的外层采用了UDP作为传输手段,这可以保证净荷顺利在二、三层网络中传输,实现了二层网络覆盖(overlay)三层网络的能力。这里,为方便描述,将覆盖的虚拟网络称为overlay网络,而将被覆盖的物理承载网络称为underlay网络。
附图简要说明
本申请将通过非限制性示例结合以下附图来描述:
图1为本申请示例提供的方法流程示意图;
图2为本申请示例提供的VXLAN封装结构示意图;
图3为本申请示例提供的应用组网示意图;
图4为本申请示例提供的应用组网示意图;
图5为本申请示例提供的装置结构示意图;
图6为本申请示例提供的装置的硬件结构示意图。
实施本申请的方式
在提供服务的数据中心,例如提供云服务的数据中心,使用
VXLAN技术架构overlay网络和underlay网络。
Overlay网络中包括隧道端点(VTEP:VXLAN Tunnel End Point)。VXLAN的相关处理都在VTEP上进行,例如报文的VXLAN封装和VXLAN解封装。VTEP可以是虚拟交换机或者物理交换机。
Underlay网络可以是一个物理承载网络,包括多个主机和其他设备。
Overlay网络中的VTEP与underlay网络连接,分配有underlay网络的物理承载网络的IP地址,该IP地址与overlay网络无关。
在overlay网络中,不同VTEP之间的路径(因为VTEP与underlay网络连接,这里不同VTEP之间的路径也称underlay路径)可能有多条,甚至是多条等价多路径(ECMP:Equal-Cost Multi-Path),然而目前还没有一种方法能够检测VTEP之间的underlay路径可达。
参见图1,图1为本申请示例提供的方法流程图。如图1所示,该方法可包括以下步骤:
步骤201,第一VTEP按照不同的检测报文对应不同的UDP源端口号的原则,为待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定UDP源端口号。
假设第一VTEP到第二VTEP之间的路径一共有M条,那么会发送例如N个检测报文,其中检测报文的UDP源端口号是连续变化的,确保发出去的检测报文后HASH(哈希)均匀,可以覆盖所有的M条路径。
本申请示例中,第一VTEP、第二VTEP只是为便于描述进行的命名而已,并非限定本申请。
本申请示例中,N大于或等于从第一VTEP至第二VTEP的路径数量M。
本申请示例中,N个检测报文可以具有不同的报文关键信息,这里,报文关键信息为报文五元组或者报文七元组包含的至少一个参数。其中,报文五元组包括以下参数:目的IP地址、源IP地址、目的端口号、源端口号、协议类型;报文七元组包括以下参数:目的IP地址、源IP地址、目的MAC地址、源MAC地址、目的端口号、源端口号、协议类型。举例描述,以报文关键信息为目的MAC地址为例,为保证N个检测报文的目的MAC地址不同,这里可预先定义一个目的MAC地址范围,比如00-00-5E-90-00-01~00-00-5E-90-00-80,N份检测报文的目的MAC地址可为上述目的MAC地址范围中不同的目的MAC地址。在报文关键信息为目的MAC地址的前提下,N个检测报文的其他参数比如源MAC地址、源IP地址、目的IP地址、目的端口号、源端口号、协议类型是否相同本申请并不具体限定。以其他参数相同为例,则N份检测报文的源MAC地址可为源端VTEP的桥MAC地址,源IP地址可为源端VTEP的IP地址,目的IP地址可固定设置为一个用于表示目的端VTEP收到后丢弃报文的数值,比如127.0.0.1。至于目的端口号、源端口号、协议类型可预先根据实际需求设置,这里不再一一赘述。
本申请示例中,N个检测报文也可以具有相同的报文关键信息。在报文关键信息相同的情况下,N个检测报文的其他参数可以相同也可以不同,这里不具体限制。
如上所述,假如N个检测报文具有不同的报文关键信息,则作为本申请的一个示例,本步骤201中,按照不同的检测报文对应不同的UDP源端口号的原则为待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定外层UDP源端口号可通过以下方式1或方式2实现:
方式1:针对每一个检测报文,按照设定的UDP源端口号确定算法对该检测报文具有的报文关键信息进行计算,将得到的结果确定为该检测报文的UDP源端口号。例如,按照哈希算法,依据该检测报文的报文五元组计算出该检测报文的UDP源端口号。
方式2:将N个检测报文排成一个队列,为队列中的第一个检测报文确定UDP源端口号为预设端口号K,为队列中的第二个检测报文确定与第一份检测报文的外层UDP源端口号不同的UDP源端口号比如预设端口号K+1,依次类推,直至最终为队列中最后一个检测报文确定出与队列中任一个检测报文的外层UDP源端口号不同的UDP源端口号比如预设端口号K+N。
如上所述,N个检测报文可具有相同报文关键信息,基于此,作为本申请的另一个示例,本步骤201中,按照不同检测报文对应不同UDP源端口号的原则,为待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定UDP源端口号可通过上述的方式2实现。
通过步骤201,最终能够为用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定出不同的UDP源端口号。
步骤202,第一VTEP针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装。
作为本申请的一个示例,步骤202中第一VTEP针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装可包括以下步骤a1至步骤a2:
步骤a1,确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
如上所述,上述N个检测报文用于检测从第一VTEP至第二
VTEP的转发路径是否可达,基于此,在本申请示例中,上述N个检测报文执行VXLAN封装时的VXLAN封装参数相同,均为步骤a1确定的VXLAN封装参数。图2示出了VXLAN封装的结构。这里的VXLAN封装参数包含VXLAN封装中除了外层UDP头内UDP源端口号(Source Port)之外的参数。
步骤a2,针对每一个检测报文,利用为该检测报文确定的外层UDP源端口号和所述VXLAN封装参数对该检测报文进行VXLAN封装。
也即,在本申请示例中,每一个检测报文的VXLAN封装中外层UDP头内的UDP源端口号为该检测报文确定的UDP源端口号,其他参数为上述的VXLAN封装参数。
步骤203,第一VTEP通过从本VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文,以使接收到VXLAN封装的检测报文的中间设备或第二VTEP向路径检测设备发送供所述路径检测设备确定从第一VTEP至第二VTEP的可达转发路径的路径参数。第一VTEP和第二VTEP之间是underlay三层转发链路,中间设备可以为三层交换机或者路由器。
在一个示例中,第一VTEP通过从本VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文可包括以下步骤:
步骤b1,确定从第一VTEP至第二VTEP的路径对应的出端口。
这里,从第一VTEP至第二VTEP的路径对应的出端口可由第一VTEP依据本地路由表查找目的地为第二VTEP的路径对应的出端口,不再具体描述。
如上所述,M为从第一VTEP至第二VTEP的转发路径数量,基于
此,本步骤b1中确定的路径对应的出端口的数量(以L表示)小于或等于M。
步骤b2,在确定的路径对应的出端口的数量L为1时,通过该确定出的1个路径对应的出端口发送N个VXLAN封装的检测报文;在确定的路径对应的出端口的数量L大于1时,按照均衡分担原则从L个路径对应的出端口中为每一个VXLAN封装的检测报文分配一个目标出端口,通过为VXLAN封装的检测报文分配的目标出端口发送VXLAN封装的检测报文。
本步骤b2中,按照均衡分担原则从L个路径对应的出端口中为每一个检测报文分配一个目标出端口具体实现时可有多种实现形式,这里仅举一个实现形式,比如:将N份检测报文分组,分成的任一组中检测报文的数量小于等于L,从L个出端口中为每一组中的检测报文分配不同出端口作为目标出端口。
通过步骤b1至步骤b2能够实现第一VTEP将N个VXLAN封装的检测报文分担至从本VTEP至第二VTEP的所有路径对应的出端口转发。
在VXLAN中,一般会有控制器控制管理VTEP,基于此,当VXLAN中存在控制器时,作为本申请的一个示例,上述的路径检测设备可为控制器。
其中,当路径检测设备为控制器时,上述从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文是控制器在确定检测从第一VTEP至第二VTEP的转发路径是否可达时生成并向第一VTEP发送的。
当路径检测设备为控制器时,上述步骤a1确定用于检测从第一
VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:接收所述控制器发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
作为本申请的另一个示例,不管VXLAN中是否存在上述的控制器,上述的路径检测设备也可为第一VTEP。
当路径检测设备为第一VTEP时,用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文是第一VTEP生成的。
当路径检测设备为第一VTEP时,上述步骤a1中确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数可包括:从本地预先配置的所有VXLAN封装参数中确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
如图2所示的VXLAN封装的结构,在本申请示例中,上述的VXLAN封装参数包含外层UDP头中的外层UDP目的端口(Dest Port)、外层以太头(Outer Ethernet Header)、外层IP头(Outer IP Header)、VXLAN头(VXLAN Header)。
在本申请示例中,外层UDP头内外层UDP目的端口号(Dest Port)为VXLAN协议规定的设定端口号。在本申请示例中,外层以太头的外层目的MAC地址为第二VTEP的桥MAC地址,外层以太头的外层源MAC地址为第一VTEP的桥MAC地址,外层IP头的外层目的IP地址为第二VTEP的IP地址、外层IP头的外层源IP地址为第一VTEP的IP地址。在本申请示例中,VXLAN头内的指定保留字段(比如图2所示的第一个保留字段)内的数值为设定值比如100,VXLAN头内的VXLAN标识(VNID)为第一VTEP所处的VXLAN的标识比如VNID200。
在本申请示例中,当第一VTEP发送VXLAN封装的检测报文后,处于从第一VTEP至第二VTEP之间的中间设备,以及第二VTEP会接收到VXLAN封装的检测报文,当中间设备或第二VTEP接收到VXLAN封装的检测报文后,可利用检测报文的VXLAN封装匹配本地保存的匹配规则,如果匹配成功,则向路径检测设备发送供所述路径检测设备确定从第一VTEP至第二VTEP的可达转发路径的路径参数。这里的匹配规则可为路径检测设备发送的,也可为预先配置的,本申请示例并不具体限定。下述两个示例均以路径检测设备发送匹配规则为例。具体地,结合上面描述的VXLAN封装,这里的匹配规则具体可为:外层UDP头内外层UDP目的端口号为VXLAN协议规定的设定端口号,且VXLAN头内的指定保留字段比如图2所示的第一个保留字段内的数值为设定值比如100。
本申请示例中,中间设备发送的路径参数具体实现时至少可包括中间设备的设备标识、中间设备收到VXLAN封装的检测报文的端口的标识。并且,中间设备除了向路径检测设备发送路径参数外,还会继续按照VXLAN封装中外层IP头的目的IP地址选择用于转发检测报文的出端口转发接收的VXLAN封装的检测报文。其中,中间设备选择用于转发检测报文的出端口转发接收的VXLAN封装的检测报文具体为:按照VXLAN封装中外层IP头的目的IP地址确定用于转发检测报文的出端口,如果确定的出端口数量为1,则直接选择该确定的出端口转发接收的VXLAN封装的检测报文;如果确定的出端口的数量大于1,则对VXLAN封装中外层UDP头内UDP源端口号进行哈希运算,依据哈希运算结果从确定出的出端口中选择一个出端口转发接收的VXLAN封装的检测报文。
因为第一VTEP发送的检测报文数量N大于从第一VTEP至第二
VTEP的路径数量M,这样,中间设备会接收到多个目的端为第二VTEP的检测报文,由于这多个检测报文的VXLAN封装中外层UDP头内的UDP源端口号不同,则多个检测报文将从不同的出端口转发,使得检测报文可以遍历不同的转发路径。
本申请示例中,第二VTEP发送的路径参数具体实现时至少可包括第二VTEP的设备标识、第二VTEP收到VXLAN封装的检测报文的端口的标识。并且,为防止影响正常的业务,第二VTEP会丢弃接收的VXLAN封装的检测报文。
需要说明的是,在实际应用中,可能存在同时检测多对VTEP之间的转发路径是否可达时的情况,比如同时存在如上所述的检测第一VTEP至第二VTEP之间的转发路径是否可达,以及检测第三VTEP至第四VTEP之间的转发路径是否可达,基于此种情况,为便于区分检测的转发路径,上述中间设备、第二VTEP发送的路径参数还可进一步包括第一VTEP的标识、第二VTEP的标识。也即,本申请示例中,并不局限路径参数的具体内容,只要能够最终保证检测出从第一VTEP至第二VTEP之间的转发路径是否可达即可。
在本申请示例中,第一VTEP也可以接收到其他VTEP发送的VXLAN封装的检测报文,当第一VTEP接收到VXLAN封装的检测报文,则第一VTEP的处理过程类似上述的第二VTEP,这里不再赘述。
可以看出,本申请示例中,通过图1所示的流程能够遍历从第一VTEP至第二VTEP之间所有的转发路径是否可达。
下面通过示例对图所示流程进行描述:
图3为本申请提供的示例的应用组网图。在图3中,Overlay网
络仅示出两个VTEP:VTEP1和VTEP2,控制器30控制VTEP1和VTEP2,underlay网络仅示出5个设备,分别为设备31至设备35。在图3中,路径检测设备为控制器30。
在图3中,当控制器30确定需要检测两个VTEP(以VTEP1为源端VTEP、VTEP2为目的端VTEP为例)之间的转发路径可达情况,则控制器30依据已收集的网络拓扑确定从VTEP1至VTEP2的转发路径数量,假如转发路径数量为5,分别为:转发路径1,VTEP1->设备31->设备32->设备34->VTEP2,转发路径2,VTEP1->设备31->设备32->设备35->VTEP2,转发路径3,VTEP1->设备31->设备33->设备34->VTEP2,转发路径4,VTEP1->设备32->设备35->VTEP2,转发路径5,VTEP1->设备32->设备34->VTEP2;并且,控制器30还依据确定的从VTEP1至VTEP2的转发路径数量5生成5份以上检测报文,这里以生成5份检测报文为例。
控制器30将生成的5份检测报文发送给VTEP1。本示例中以5份检测报文具有不同报文关键信息、且报文关键信息为目的MAC地址为例。假如5份检测报文分别记为报文01,报文02,报文03、报文04、报文05,其中,报文01的目的MAC地址为00-00-5E-90-00-01,报文02的目的MAC地址为00-00-5E-90-00-02,报文03的目的MAC地址为00-00-5E-90-00-03,报文04的目的MAC地址为00-00-5E-90-00-04,报文05的目的MAC地址为00-00-5E-90-00-05。
控制器30还将用于检测从VTEP1至VTEP2的转发路径是否可达时使用的VXLAN封装参数(VXLAN封装中除了外层UDP头中外层UDP源端口之外的参数)通知给VTEP1。这里,VXLAN封装参数中外层UDP头中UDP目的端口号为VXLAN协议规定的设定端口号(以端口号200为例),外层以太头的外部目的MAC地址为VTEP2
的桥MAC地址、外部源MAC地址为VTEP1的桥MAC地址,外层IP头的外层目的IP地址为VTEP2的IP地址、外层IP头的外层源IP地址为VTEP1的IP地址,VXLAN头中VXLAN标识(VNID)为VTEP1所处的第一VXLAN的ID(这里以VNID100为例),指定保留字段比如VXLAN头中第一个保留字段内的数值为设定值比如100。
控制器30下发匹配规则给VTEP2。
控制器30下发匹配规则给处于从VTEP1至VTEP2的任一转发路径上的中间设备(这里以中间设备为图3中的设备31至设备35为例,图3因为线路比较多,没有示出控制器30下发匹配规则给设备31至设备35的线路)。
这里,匹配规则可为:VXLAN封装中VXLAN头内的指定保留字段内的数值为设定值,且VXLAN封装中外层UDP头内的UDP目的端口号为VXLAN协议规定的设定端口号。
VTEP1接收控制器30发送的报文01至报文05共5份检测报文,以及接收控制器30发送的VXLAN封装参数。
VTEP1发现报文01至报文05具有不同报文关键信息、且报文关键信息为目的MAC地址为例,则VTEP1按照设定的UDP源端口号计算方法并利用报文01的目的MAC地址00-00-5E-90-00-01计算报文01的UDP源端口号,VTEP1按照设定的UDP源端口号计算方法并利用报文02的目的MAC地址00-00-5E-90-00-02计算报文02的UDP源端口号;VTEP1按照设定的UDP源端口号计算方法并利用报文03的目的MAC地址00-00-5E-90-00-03计算报文03的UDP源端口号;VTEP1按照设定的UDP源端口号计算方法并利用报文04的目的MAC地址00-00-5E-90-00-04计算报文04的UDP源端口号;VTEP1按照设定的UDP源端口号计算方法并利用报文05的目的
MAC地址00-00-5E-90-00-05计算报文05的UDP源端口号。
VTEP1利用控制器30通知的VXLAN封装参数和报文01的UDP源端口号对报文01进行VXLAN封装,即VXLAN封装中外层UDP头内的UDP源端口号为报文01被确定的UDP源端口号,VXLAN封装中其他参数如上述的VXLAN封装参数。同样,VTEP1利用控制器30通知的VXLAN封装参数和报文02的UDP源端口号对报文02进行VXLAN封装;VTEP1利用控制器30通知的VXLAN封装参数和报文03的UDP源端口号对报文03进行VXLAN封装;VTEP1利用控制器30通知的VXLAN封装参数和报文04的UDP源端口号对报文04进行VXLAN封装;VTEP1利用控制器30通知的VXLAN封装参数和报文05的UDP源端口号对报文05进行VXLAN封装。为便于描述,这里将进行了VXLAN封装的报文01至报文05依次记为报文11、报文12、报文13、报文14、报文15。
VTEP1确定从本VTEP1至VTEP2的路径对应的出端口。假如VTEP1确定出的路径对应的出端口的数量L为2,分别为端口11、端口12,则VTEP1通过端口11发送报文11,通过端口12发送报文12,通过端口11发送报文13,通过端口12发送报文14、通过端口11发送报文15。
处于从VTEP1至VTEP2任一路径的任一中间设备(这里仅以设备31为例)收到报文11,发现报文11的VXLAN封装中VXLAN头内的指定保留字段内的数值为设定值100,且VXLAN封装中外层UDP头内的UDP目的端口号为VXLAN协议规定的设定端口号200,满足控制器下发的匹配规则,则上送路径参数至控制器,这里的路径参数至少包括:设备31的设备标识、设备31收到报文11的端口的端口号(以端口311为例)。
同时,设备31会依据报文11的VXLAN封装中外层IP头的外层目的IP地址确定到达该外层目的IP地址的路径,结果发现该路径不止一条,为三条等价路径,依次为:设备31->设备32->设备34->VTEP2;设备31->设备32->设备35->VTEP2,设备31->设备33->设备34->VTEP2,基于此,设备31对报文11的VXLAN封装中外层UDP头的UDP源端口号进行哈希运算,依据哈希结果从三条等价路径中找到与哈希结果对应的一条路径比如设备31->设备33->设备34->VTEP2并通过找到的一条路径转发收到的报文11。
设备31收到报文13、收到报文15的处理类似收到报文11的处理,这里不再赘述。
控制器30接收并保存设备31发送的路径参数。
设备32至设备35收到报文后的处理类似设备31的处理,这里不再赘述。
最终,VTEP2收到报文11至报文15中任一报文时,发现报文的VXLAN封装中VXLAN头内的第一个保留字段内的数值为设定值100,且VXLAN封装中外层UDP头内的目的UDP端口号为VXLAN协议规定的设定端口号200,满足控制器下发的匹配规则,则上送路径参数至控制器,这里的路径参数至少包括:VTEP2的设备标识、VTEP2收到报文的端口的标识。
VTEP2发现VXLAN封装中外层IP头的外层目的IP地址为本VTEP2的IP地址,则丢弃接收的报文。
控制器30收到VTEP2上送的路径参数后,依据收到的所有路径参数对从VTEP1至VTEP2的可达路径进行汇总和统计。比如控制器30收到的路径参数为:
(设备31、端口311)、(设备32、端口321)、(设备35、端口352)、
(设备32、端口322)、(设备34、端口342)、(VTEP2、端口25)、(VTEP2、端口24)。
控制器30基于已收集的网络拓扑发现设备31上端口311对应的端口连接VTEP1,如此,通过(设备31、端口311)确定从VTEP1至设备31的路径可达;控制器30基于已收集的网络拓扑发现设备32上端口321对应的端口连接设备31,如此,通过(设备32、端口321)确定从设备31至设备32的路径可达,结合之前确定的从VTEP1至设备31的路径可达,则此时进一步确定从VTEP1至设备32的路径可达;控制器30基于已收集的网络拓扑发现设备35上端口352对应的端口连接设备32,如此,通过(设备35、端口352)确定从设备32至设备35的路径可达,结合之前确定的从VTEP1至设备32的路径可达,则此时进一步确定从VTEP1至设备35的路径可达;控制器30基于已收集的网络拓扑发现VTEP2上端口25对应的端口连接设备35,如此,通过(VTEP2、端口25)确定从设备35至VTEP2的路径可达,结合之前确定的从VTEP1至设备35的路径可达,则此时进一步确定从VTEP1至VTEP2的路径可达,即上述的转发路径2可达。
控制器30基于已收集的网络拓扑发现设备32上端口322对应的端口连接VTEP1,如此,通过(设备32、端口322)确定从VTEP1至设备32的路径可达;控制器30基于已收集的网络拓扑发现设备34上端口342对应的端口连接设备32,如此,通过(设备34、端口342)确定从设备32至设备34的路径可达,结合之前确定的从VTEP1至设备32的路径可达,则此时进一步确定从VTEP1至设备34的路径可达;控制器30基于已收集的网络拓扑发现VTEP2上端口24对应的端口连接设备34,如此,通过(VTEP2、端口24)确定从设备34至VTEP2的路径可达,结合之前确定的从VTEP1至设备34的路径可达,则此时进一
步确定从VTEP1至VTEP2的路径可达,即上述的转发路径5可达。
也即,控制器30通过对收到的路径参数进行汇总和统计确定出只有上述的转发路径2和转发路径5可达,而上述的转发路径1、3、4不可达。
图4为本申请提供的示例的应用组网示意图。在图4中,Overlay网络仅示出两个VTEP:VTEP3和VTEP4,underlay网络仅示出5个设备,分别为设备61至设备65。在图4中,以检测从VTEP3至VTEP4的转发路径是否可达为例。在图4中,路径检测设备为VTEP3。
VTEP3依据之前已收集的网络拓扑确定从本VTEP3至VTEP4的转发路径数量,假如转发路径数量为5,分别为:转发路径1,VTEP3->设备61->设备62->设备64->VTEP4,转发路径2,VTEP3->设备61->设备62->设备65->VTEP4,转发路径3,VTEP3->设备61->设备63->设备64->VTEP4,转发路径4,VTEP3->设备62->设备65->VTEP4,转发路径5,VTEP3->设备62->设备64->VTEP4。
VTEP3依据确定的从本VTEP3至VTEP4的转发路径数量5生成5份以上检测报文,这里以生成5份检测报文为例。本示例中以5份检测报文具有不同报文关键信息、且报文关键信息为目的MAC地址为例。假如5份检测报文分别记为报文61,报文62,报文63、报文64、报文65,其中,报文61的目的MAC地址为00-00-5E-90-00-06,报文62的目的MAC地址为00-00-5E-90-00-07,报文63的目的MAC地址为00-00-5E-90-00-08,报文64的目的MAC地址为00-00-5E-90-00-09,报文65的目的MAC地址为00-00-5E-90-00-10。
VTEP3发送匹配规则给VTEP4。
VTEP3依据之前已收集的网络拓扑确定从本VTEP3至VTEP4的路径上的中间设备(即图4中的设备61至设备65),VTEP3发送
匹配规则给图4中的设备61至设备65(图4因为线路比较多,没有示出发送匹配规则的线路)。
这里,匹配规则可为:VXLAN封装中VXLAN头内的第一个保留字段内的数值为设定值,且VXLAN封装中外层UDP头内的UDP目的端口号为VXLAN协议规定的设定端口号。
VTEP3按照设定的UDP源端口号计算方法分别确定报文61至报文65的UDP源端口号。
VTEP3对报文61至报文65分别进行VXLAN封装;报文61至报文65的VXLAN封装中外层UDP头的UDP源端口号分别为报文61至报文65被确定的UDP源端口号。为便于描述,这里将进行了VXLAN封装的报文61至报文65依次记为报文71至报文75。
VTEP3确定从本VTEP3至VTEP4的路径对应的出端口。假如VTEP3确定出的出端口的数量L为2,分别为端口31、端口32(图4未示出),则VTEP3通过端口31发送报文71,通过端口32发送报文72,通过端口31发送报文73,通过端口32发送报文74、通过端口31发送报文75。
处于从VTEP3至VTEP4任一路径的任一中间设备(这里仅以设备61为例)收到报文71,发现报文71的VXLAN封装中VXLAN头内的第一个保留字段内的数值为设定值,且VXLAN封装中外层UDP头内的UDP目的端口号为VXLAN协议规定的设定端口号,满足VTEP3发送的匹配规则,则发送路径参数至VTEP3,路径参数包括:设备61的设备标识、设备61收到报文71的端口的端口号。
同时,设备61会依据报文71的VXLAN封装中外层IP头的外层目的IP地址确定到达该外层目的IP地址的路径,结果发现该路径不止一条,为三条等价路径,基于此,设备61对报文71的VXLAN
封装中外层UDP头的UDP源端口号进行哈希运算,依据哈希结果从三条等价路径中找到与哈希结果对应的一条路径比如设备61->设备63->设备64->VTEP4并通过找到的一条路径转发收到的报文71。
设备61收到报文73、收到报文75的处理类似收到报文71的处理,这里不再赘述。
VTEP3接收并保存设备61发送的路径参数。
设备62至设备65收到报文后的处理类似设备61的处理,这里不再赘述。
最终,VTEP4收到报文71至报文75中任一报文时,发现报文的VXLAN封装中VXLAN头内的第一个保留字段内的数值为设定值,且VXLAN封装中外层UDP头内的UDP目的端口号为VXLAN协议规定的设定端口号,满足VTEP3发送的匹配规则,则发送路径参数至VTEP3,并发现VXLAN封装中外层IP头的外层目的IP地址为本VTEP4的IP地址,则丢弃接收的报文。
VTEP3收到VTEP4发送的路径参数后,依据收到的所有路径参数对从VTEP3至VTEP4的可达转发路径进行汇总和统计,这里的汇总和统计的方式类似前述示例的方法,不再赘述,图4不具体再示出各个设备收到VXLAN封装的检测报文的端口。最终VTEP3会全局统计出从VTEP3至VTEP4的所有路径可达情况包括有多少可达路径等,以供上层查询。这里VTEP3最终全局统计出从VTEP3至VTEP4的所有路径可达情况可能没有控制器统计出的所有路径可达情况直观。
以上对本申请示例提供的方法进行了描述。下面对本申请示例提供的装置进行描述:
参见图5,图5为本申请示例提供的装置结构示意图。如图5所示,该装置50包括:
确定单元51,用于按照不同检测报文对应不同UDP源端口号的原则,为第一VTEP待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定UDP源端口号;其中,N大于或等于从第一VTEP至第二VTEP的路径数量M。
VXLAN封装单元52,用于针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装;
检测报文发送单元53,用于通过从第一VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文,以使接收到VXLAN封装的检测报文的中间设备或第二VTEP向路径检测设备发送供所述路径检测设备确定从第一VTEP至第二VTEP的可达转发路径的路径参数。
根据一个示例,如果所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述N个用于检测从第一VTEP至第二VTEP的转发路径是否可达的检测报文是所述控制器向第一VTEP发送的;
如果所述路径检测设备为第一VTEP,所述N个用于检测从第一VTEP至第二VTEP的转发路径是否可达的检测报文是所述第一VTEP生成的。
根据一个示例,所述VXLAN封装单元52针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装包括:
确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;
针对每一个检测报文,利用为该检测报文确定的UDP源端口号和所述VXLAN封装参数对该检测报文进行VXLAN封装。
根据一个示例,如果所述路径检测设备为VXLAN中用于管理
VTEP的控制器,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:接收所述控制器发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;
如果所述路径检测设备为第一VTEP,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:从本地预先配置的所有VXLAN封装参数中确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
根据一个示例,所述检测报文发送单元53通过从第一VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文包括:
确定从本VTEP至第二VTEP的所有路径对应的出端口;
在确定的路径对应的出端口的数量L为1时,通过该确定出的1个路径对应的出端口发送N个VXLAN封装的检测报文;
在确定的路径对应的出端口的数量L大于1时,按照均衡分担原则从L个路径对应的出端口中为每一个VXLAN封装的检测报文分配一个目标出端口,通过为VXLAN封装的检测报文分配的目标出端口发送VXLAN封装的检测报文。
根据一个示例,如图5所示,该装置50进一步包括:
接收单元54,用于接收VXLAN封装的检测报文;
路径参数发送单元55,用于在所述接收单元54接收VXLAN封装的检测报文时,向路径检测设备发送接收到的VXLAN封装的检测报文对应的路径参数,所述接收到的VXLAN封装的检测报文对应的路径参数至少包括:第一VTEP的设备标识、第一VTEP收到VXLAN
封装的检测报文的端口的标识;
处理单元56,用于确定VXLAN封装中外层IP头的目的IP地址为本VTEP的IP地址,丢弃所述接收单元接收的VXLAN封装的检测报文。
参见图6,图6为本申请示例提供的装置的硬件结构示意图。该装置60为第一VTEP,如图6所示,装置60包括:处理器61和存储器62。处理器61例如为中央处理单元(CPU)。存储器62可以为非易失性存储介质,存储有计算机可执行指令,该计算机可执行指令可以具体为路径可达检测指令。
处理器61读取该路径可达检测指令,以执行:
按照不同检测报文对应不同UDP源端口号的原则,为第一VTEP待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定UDP源端口号;
针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装;
通过从第一VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文,以使接收到VXLAN封装的检测报文的中间设备或第二VTEP向路径检测设备发送供所述路径检测设备确定从第一VTEP至第二VTEP的可达转发路径的路径参数;
其中,N大于或等于从第一VTEP至第二VTEP的路径数量M。
如果所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文是所述控制器向第一VTEP发送的;
如果所述路径检测设备为第一VTEP,所述N个用于检测从第一
VTEP至第二VTEP的转发路径是否可达的检测报文是所述第一VTEP生成的。
所述针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装包括:
确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;
针对每一个检测报文,利用为该检测报文确定的UDP源端口号和所述VXLAN封装参数对该检测报文进行VXLAN封装。
如果所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:接收所述控制器发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;
如果所述路径检测设备为第一VTEP,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:从本地预先配置的所有VXLAN封装参数中确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
所述通过从第一VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文包括:
确定从第一VTEP至第二VTEP的所有路径对应的出端口;
在确定的路径对应的出端口的数量L为1时,通过该确定出的1个路径对应的出端口发送N个VXLAN封装的检测报文;
在确定的路径对应的出端口的数量L大于1时,按照均衡分担原则从L个路径对应的出端口中为每一个VXLAN封装的检测报文分配一个目标出端口,通过为VXLAN封装的检测报文分配的目标出端口发送
VXLAN封装的检测报文。
处理器61读取路径可达检测指令,还执行:接收VXLAN封装的检测报文;
在接收VXLAN封装的检测报文时,向路径检测设备发送接收到的VXLAN封装的检测报文对应的路径参数,所述接收到的VXLAN封装的检测报文对应的路径参数至少包括:第一VTEP的设备标识、第一VTEP收到VXLAN封装的检测报文的端口的标识;
确定VXLAN封装中外层IP头的目的IP地址为第一VTEP的IP地址,丢弃所述接收的VXLAN封装的检测报文。
其中,通过以下方式确定UDP源端口号:
针对每一个检测报文,按照设定的UDP源端口号确定算法对该检测报文具有的报文关键信息进行计算,将得到的结果确定为该检测报文的UDP源端口号;或者
将N个检测报文排成一个队列,为队列中的每一个检测报文确定不同的预设端口号。
以上所述仅为本申请的示例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
- 一种虚拟扩展局域网VXLAN隧道端点VTEP之间的路径可达检测方法,其特征在于,该方法包括:第一VTEP按照不同检测报文对应不同UDP源端口号的原则,为待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定UDP源端口号;第一VTEP针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装;第一VTEP通过从本VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文,以使接收到VXLAN封装的检测报文的中间设备或第二VTEP向路径检测设备发送供所述路径检测设备确定从第一VTEP至第二VTEP的可达转发路径的路径参数;其中,N大于或等于从第一VTEP至第二VTEP的路径数量M。
- 根据权利要求1所述的方法,其特征在于,所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文是所述控制器向第一VTEP发送的;或者所述路径检测设备为第一VTEP,所述用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文是所述第一VTEP生成的。
- 根据权利要求1所述的方法,其特征在于,所述第一VTEP针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装包括:确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时 使用的VXLAN封装参数;针对每一个检测报文,利用为该检测报文确定的UDP源端口号和所述VXLAN封装参数对该检测报文进行VXLAN封装。
- 根据权利要求3所述的方法,其特征在于,所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:接收所述控制器发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;或者所述路径检测设备为第一VTEP,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:从本地预先配置的所有VXLAN封装参数中确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
- 根据权利要求1所述的方法,其特征在于,所述第一VTEP通过从本VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文包括:第一VTEP确定从本VTEP至第二VTEP的所有路径对应的出端口;在确定的路径对应的出端口的数量L为1时,通过该确定出的1个路径对应的出端口发送N个VXLAN封装的检测报文;在确定的路径对应的出端口的数量L大于1时,按照均衡分担原则从L个路径对应的出端口中为每一个VXLAN封装的检测报文分配一个目标出端口,通过为VXLAN封装的检测报文分配的目标出端口发送VXLAN封装的检测报文。
- 根据权利要求1所述的方法,其特征在于,该方法进一步包括:第一VTEP接收VXLAN封装的检测报文;第一VTEP向路径检测设备发送接收到的VXLAN封装的检测报文对应的路径参数,所述接收到的VXLAN封装的检测报文对应的路径参数至少包括:第一VTEP的设备标识、第一VTEP收到VXLAN封装的检测报文的端口的标识;第一VTEP确定VXLAN封装中外层IP头的目的IP地址为本VTEP的IP地址,丢弃所述接收到的VXLAN封装的检测报文。
- 根据权利要求1所述的方法,其中,通过以下方式确定UDP源端口号:针对每一个检测报文,按照设定的UDP源端口号确定算法对该检测报文具有的报文关键信息进行计算,将得到的结果确定为该检测报文的UDP源端口号;或者将N个检测报文排成一个队列,为队列中的每一个检测报文确定不同的预设端口号。
- 一种虚拟扩展局域网VXLAN隧道端点VTEP之间的路径可达检测装置,其特征在于,所述装置为第一VTEP,该装置包括:处理器;非易失性存储介质,存储有计算机可执行指令,所述处理器读取所述计算机可执行指令,以执行:按照不同检测报文对应不同UDP源端口号的原则,为第一VTEP待向第二VTEP发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文确定UDP源端口号;针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装;通过从第一VTEP至第二VTEP的所有路径对应的出端口分担发 送N个VXLAN封装的检测报文,以使接收到VXLAN封装的检测报文的中间设备或第二VTEP向路径检测设备发送供所述路径检测设备确定从第一VTEP至第二VTEP的可达转发路径的路径参数;其中,N大于或等于从第一VTEP至第二VTEP的路径数量M。
- 根据权利要求8所述的装置,其特征在于,所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述用于检测从第一VTEP至第二VTEP的转发路径是否可达的N个检测报文是所述控制器向第一VTEP发送的;或者所述路径检测设备为第一VTEP,所述N个用于检测从第一VTEP至第二VTEP的转发路径是否可达的检测报文是所述第一VTEP生成的。
- 根据权利要求8所述的装置,其特征在于,所述针对每一个检测报文,利用为该检测报文确定的UDP源端口号对该检测报文进行VXLAN封装包括:确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;针对每一个检测报文,利用为该检测报文确定的UDP源端口号和所述VXLAN封装参数对该检测报文进行VXLAN封装。
- 根据权利要求10所述的装置,其特征在于,所述路径检测设备为VXLAN中用于管理VTEP的控制器,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括:接收所述控制器发送的用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数;或者所述路径检测设备为第一VTEP,所述确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数包括: 从本地预先配置的所有VXLAN封装参数中确定用于检测从第一VTEP至第二VTEP的转发路径是否可达时使用的VXLAN封装参数。
- 根据权利要求8所述的装置,其特征在于,所述通过从第一VTEP至第二VTEP的所有路径对应的出端口分担发送N个VXLAN封装的检测报文包括:确定从第一VTEP至第二VTEP的所有路径对应的出端口;在确定的路径对应的出端口的数量L为1时,通过该确定出的1个路径对应的出端口发送N个VXLAN封装的检测报文;在确定的路径对应的出端口的数量L大于1时,按照均衡分担原则从L个路径对应的出端口中为每一个VXLAN封装的检测报文分配一个目标出端口,通过为VXLAN封装的检测报文分配的目标出端口发送VXLAN封装的检测报文。
- 根据权利要求8所述的装置,其特征在于,所述处理器读取所述计算机可执行指令,还执行:接收VXLAN封装的检测报文;向路径检测设备发送接收到的VXLAN封装的检测报文对应的路径参数,所述接收到的VXLAN封装的检测报文对应的路径参数至少包括:第一VTEP的设备标识、第一VTEP收到VXLAN封装的检测报文的端口的标识;确定VXLAN封装中外层IP头的目的IP地址为第一VTEP的IP地址,丢弃所述接收的VXLAN封装的检测报文。
- 根据权利要求8所述的装置,其特征在于,通过以下方式确定UDP源端口号:针对每一个检测报文,按照设定的UDP源端口号确定算法对该检测报文具有的报文关键信息进行计算,将得到的结果确定为该检测 报文的UDP源端口号;或者将N个检测报文排成一个队列,为队列中的每一个检测报文确定不同的预设端口号。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510408264.5A CN106330597B (zh) | 2015-07-10 | 2015-07-10 | Vxlan隧道端点vtep之间的路径可达检测方法和装置 |
| CN201510408264.5 | 2015-07-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017008712A1 true WO2017008712A1 (zh) | 2017-01-19 |
Family
ID=57725554
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2016/089597 Ceased WO2017008712A1 (zh) | 2015-07-10 | 2016-07-11 | Vxlan隧道端点vtep之间的路径可达检测 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN106330597B (zh) |
| WO (1) | WO2017008712A1 (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109995654A (zh) * | 2017-12-29 | 2019-07-09 | 中兴通讯股份有限公司 | 一种基于隧道传输数据的方法及装置 |
| CN112636997A (zh) * | 2020-11-17 | 2021-04-09 | 新华三技术有限公司 | 一种路径检测方法及设备 |
| CN112637051A (zh) * | 2020-11-26 | 2021-04-09 | 新华三技术有限公司合肥分公司 | 一种路径检测报文转发方法及设备 |
| CN113141290A (zh) * | 2020-01-19 | 2021-07-20 | 华为技术有限公司 | 一种报文传输方法、装置及设备 |
| CN113794616A (zh) * | 2021-08-31 | 2021-12-14 | 新华三信息安全技术有限公司 | 一种报文转发方法及设备 |
| CN118041859A (zh) * | 2023-12-12 | 2024-05-14 | 天翼云科技有限公司 | 一种vxlan转发表自学习方法 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107547343B (zh) * | 2017-06-28 | 2020-06-05 | 新华三技术有限公司 | 报文操作控制方法及装置 |
| CN108616418A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 检测故障的方法及装置 |
| CN112751727A (zh) * | 2020-12-23 | 2021-05-04 | 新华三技术有限公司 | 一种检测链路的方法和网络设备 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102177681A (zh) * | 2011-04-21 | 2011-09-07 | 华为技术有限公司 | 检测故障的方法和系统 |
| US20140348006A1 (en) * | 2013-05-24 | 2014-11-27 | Alcatel-Lucent Usa Inc. | System and Method for Detecting a Virtual Extensible Local Area Network (VXLAN) Segment Data Path Failure |
| CN104283738A (zh) * | 2014-10-11 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种链路检测方法及设备 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101197731B (zh) * | 2007-12-12 | 2012-02-01 | 华为技术有限公司 | 路径故障检测的方法、系统及装置 |
| CN101626324B (zh) * | 2009-08-19 | 2011-12-07 | 杭州华三通信技术有限公司 | 转发路径检测方法和设备 |
| CN102523221B (zh) * | 2011-12-20 | 2014-11-19 | 国家计算机网络与信息安全管理中心 | 数据报文的检测方法及网络安全检测设备 |
| US9769049B2 (en) * | 2012-07-27 | 2017-09-19 | Gigamon Inc. | Monitoring virtualized network |
| US8837476B2 (en) * | 2012-09-07 | 2014-09-16 | International Business Machines Corporation | Overlay network capable of supporting storage area network (SAN) traffic |
| CN104270298B (zh) * | 2014-09-30 | 2018-10-09 | 新华三技术有限公司 | 一种vxlan网络中的报文转发方法及装置 |
-
2015
- 2015-07-10 CN CN201510408264.5A patent/CN106330597B/zh active Active
-
2016
- 2016-07-11 WO PCT/CN2016/089597 patent/WO2017008712A1/zh not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102177681A (zh) * | 2011-04-21 | 2011-09-07 | 华为技术有限公司 | 检测故障的方法和系统 |
| US20140348006A1 (en) * | 2013-05-24 | 2014-11-27 | Alcatel-Lucent Usa Inc. | System and Method for Detecting a Virtual Extensible Local Area Network (VXLAN) Segment Data Path Failure |
| CN104283738A (zh) * | 2014-10-11 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种链路检测方法及设备 |
Non-Patent Citations (2)
| Title |
|---|
| JAIN P. ET AL.: "Detecting VXLAN Segment Failure, draft-jain-nvo3-vxlan-ping-00", NETWORK WORKING GROUP INTERNET -DRAFT, 6 June 2013 (2013-06-06), XP015090668 * |
| PANG, JUNYING ET AL.: "Path Detection in VXLAN Overlay Network, draft-pang-nvo3-vxlan-path-detection-00", NETWORK WORKING GROUP INTERNET -DRAFT, 22 May 2015 (2015-05-22), XP015106326 * |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109995654A (zh) * | 2017-12-29 | 2019-07-09 | 中兴通讯股份有限公司 | 一种基于隧道传输数据的方法及装置 |
| CN113141290A (zh) * | 2020-01-19 | 2021-07-20 | 华为技术有限公司 | 一种报文传输方法、装置及设备 |
| CN113141290B (zh) * | 2020-01-19 | 2023-12-19 | 华为技术有限公司 | 一种报文传输方法、装置及设备 |
| US12267236B2 (en) | 2020-01-19 | 2025-04-01 | Huawei Technologies Co., Ltd. | Packet transmission method and apparatus, and device |
| CN112636997A (zh) * | 2020-11-17 | 2021-04-09 | 新华三技术有限公司 | 一种路径检测方法及设备 |
| CN112636997B (zh) * | 2020-11-17 | 2022-08-30 | 新华三技术有限公司 | 一种路径检测方法及设备 |
| CN112637051A (zh) * | 2020-11-26 | 2021-04-09 | 新华三技术有限公司合肥分公司 | 一种路径检测报文转发方法及设备 |
| CN112637051B (zh) * | 2020-11-26 | 2022-07-12 | 新华三技术有限公司合肥分公司 | 一种路径检测报文转发方法及设备 |
| CN113794616A (zh) * | 2021-08-31 | 2021-12-14 | 新华三信息安全技术有限公司 | 一种报文转发方法及设备 |
| CN118041859A (zh) * | 2023-12-12 | 2024-05-14 | 天翼云科技有限公司 | 一种vxlan转发表自学习方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106330597B (zh) | 2019-07-26 |
| CN106330597A (zh) | 2017-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11848757B2 (en) | In-situ passive performance measurement in a network environment | |
| WO2017008712A1 (zh) | Vxlan隧道端点vtep之间的路径可达检测 | |
| US10243847B2 (en) | Forwarding packets with encapsulated service chain headers | |
| KR101317969B1 (ko) | 링크 애그리게이션 방법 및 노드 | |
| US9379975B2 (en) | Communication control system, control server, forwarding node, communication control method, and communication control program | |
| US9912614B2 (en) | Interconnection of switches based on hierarchical overlay tunneling | |
| CN103391250B (zh) | 静态trill路由方法和系统 | |
| CN105850082B (zh) | 网络中分段源路由的方法及存储介质 | |
| US20120314605A1 (en) | Communication system, path control apparatus, packet forwarding apparatus, and path control method | |
| US9548930B1 (en) | Method for improving link selection at the borders of SDN and traditional networks | |
| US20120063314A1 (en) | Universal load-balancing tunnel encapsulation | |
| WO2019105462A1 (zh) | 报文的发送、处理方法及装置,pe节点,节点 | |
| US20150334057A1 (en) | Packet forwarding | |
| CN102136989B (zh) | 报文传输的方法、系统和设备 | |
| CN106105130A (zh) | 携带熵头的源路由 | |
| JP2013546245A (ja) | 最短パスブリッジングネットワークにおける負荷バランシング | |
| JP6589060B2 (ja) | ソフトウェア定義ネットワークのエントリ生成およびパケット転送 | |
| CN105144627A (zh) | 操作网络节点以负载均衡的技术 | |
| CN107078963A (zh) | 虚拟可扩展局域网中的路由追踪 | |
| WO2016107379A1 (zh) | 一种发送报文的方法和装置 | |
| US9467367B2 (en) | Universal labels in internetworking | |
| WO2017000802A1 (zh) | 一种业务故障定位方法及装置 | |
| CN105917617B (zh) | 针对校园网中的线路速率性能的单跳叠加架构 | |
| WO2015039617A1 (zh) | 一种报文处理方法、系统及设备 | |
| WO2022042503A1 (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: 16823859 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: 16823859 Country of ref document: EP Kind code of ref document: A1 |