WO2018177438A1 - 路径探测 - Google Patents

路径探测 Download PDF

Info

Publication number
WO2018177438A1
WO2018177438A1 PCT/CN2018/081573 CN2018081573W WO2018177438A1 WO 2018177438 A1 WO2018177438 A1 WO 2018177438A1 CN 2018081573 W CN2018081573 W CN 2018081573W WO 2018177438 A1 WO2018177438 A1 WO 2018177438A1
Authority
WO
WIPO (PCT)
Prior art keywords
probe packet
packet
address
forwarding device
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2018/081573
Other languages
English (en)
French (fr)
Inventor
李晶林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to US16/499,219 priority Critical patent/US11025535B2/en
Priority to EP18774481.8A priority patent/EP3588873B1/en
Priority to JP2019553826A priority patent/JP6877572B2/ja
Publication of WO2018177438A1 publication Critical patent/WO2018177438A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/26—Route discovery packet
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00—Arrangements for detecting or preventing errors in the information received
    • H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072—Error control for data other than payload data, e.g. control data
    • 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/74—Address processing for routing
    • H04L45/745—Address table lookup; Address filtering

Definitions

  • the Traceroute mechanism Used for path detection is the Traceroute mechanism.
  • the Traceroute mechanism sends a probe packet based on the IP address of the destination host (referred to as the destination IP address) to detect the path of the service flow from the source host to the destination host.
  • the probe packet in the traceroute mechanism is different from the traffic packet.
  • the port number of the probe packet is different from the port number of the service flow packet.
  • Figure 1 is a flow chart of the method provided by the present application.
  • FIG. 3 is a schematic diagram of path detection disclosed in an example of the present application.
  • FIGS. 4a to 4c are structural diagrams of probe packets according to an embodiment of the present application.
  • Figure 5 is a schematic diagram of an embodiment provided by the present application.
  • FIG. 6 is a structural diagram of a probe packet according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a path detection logic provided by the present application.
  • FIG. 8 is a schematic structural diagram of hardware of a forwarding device provided by the present application.
  • the packet header of the probe packet for detecting the traffic flow through the path is different from the forwarding information included in the packet header of the service flow, and the UDP port number is taken as an example.
  • the UDP port number of the packet header of the probe packet is a specific UDP port number (for example, a UDP port number greater than 30000). It does not correspond to any service application, which is different from the UDP port number used by the packet header of the service flow for the corresponding service flow application; whether it is forwarding the probe packet or forwarding the traffic stream, if there is an equal cost path or a policy route ( The PBR is forwarded based on the forwarding information included in the packet header.
  • the forwarding information contained in the packet header of the probe packet is different from the forwarding information contained in the packet header of the service flow.
  • the path that is derived is different from the path through which the traffic flow actually passes.
  • the forwarding device constructs a probe packet for detecting the traffic flow through the path by using the packet header of the actual service flow, so that when the probe packet is forwarded according to the forwarding information included in the packet header of the probe packet, The detection packet is consistent with the forwarding behavior of the actual service flow, and the path through which the actual service flow passes can be accurately determined.
  • FIG. 1 is a flowchart of a method provided by the present application. This process applies to forwarding devices through which traffic flows.
  • the forwarding device is, for example, a router or the like, and is not specifically limited in this application.
  • the process can include the following steps:
  • Step 101 The first forwarding device constructs a detection packet for the service flow, and the forwarding information included in the packet header of the detection packet is the same as the forwarding information included in the packet header of the service flow.
  • the forwarding information included in the packet header of the probe packet is notified by the external control device to the forwarding device.
  • the external control device may be an SDN controller or a network management device.
  • the application is not specifically limited.
  • the external control device may send the above forwarding information to the forwarding device once.
  • the foregoing first forwarding device may be the first forwarding device through which the service flow passes.
  • the external control device can determine the first forwarding device through which the service flow passes: calculating the path from the source IP address to the destination IP address according to the source IP address and the destination IP address of the service flow and the network topology managed by the service flow.
  • the service flow is sampled by the first forwarding device on each path, and the forwarding device through which the service flow passes is determined by the sampling method as the first forwarding device through which the service flow passes.
  • constructing a probe message for the traffic flow in step 101 may depend on whether another probe message has been constructed for the traffic flow.
  • the time-to-live (TTL) of the packet header of the probe packet constructed in this step 101 is an initial value; and when it is determined that the service flow is determined.
  • the TTL of the packet header of the probe packet constructed in the step 101 is the sum of the TTL of the constructed previous probe packet and the preset value.
  • the preset value and the initial value may be equal, for example, both are 1.
  • the header of the probe message constructed in step 101 further includes a checksum.
  • the checksum is configured to indicate a checksum of the checksum error.
  • the checksum is used to discard the probe packet when the destination host of the service flow receives the probe packet.
  • the header of the probe message is subdivided into an IP header and a transport layer protocol header (TCP/UDP header).
  • TTL is a field of an IP header
  • the checksum is a field of a TCP/UDP header.
  • the forwarding information included in the IP header includes: a source IP address, a destination IP address, a protocol type, and a differentiated service code point (DSCP); and the forwarding information included in the TCP/UDP header includes: a source port number and a destination port number.
  • DSCP differentiated service code point
  • another header may be added to the probe packet constructed in step 101 according to actual requirements. For example, if the VXLAN packet path is to be detected, the probe packet constructed in step 101 may be used. Increase the VXLAN header.
  • Step 102 The first forwarding device forwards the probe packet according to the forwarding information included in the packet header of the probe packet.
  • the payload of the probe packet forwarded by the first forwarding device carries the address of the first forwarding device, so that the second forwarding device that receives the probe packet is configured for the probe packet. Returning an error control message to the first forwarding device.
  • FIG. 2 exemplifies the structure of a service flow message and a probe message.
  • the setting operation is performed according to the forwarding information contained in the packet header of the service flow, and the next hop is determined according to the operation result to forward the service to the next hop. flow.
  • the probe packet is forwarded according to the forwarding information included in the packet header of the probe packet, even if the probe packet is forwarded, there is an equivalent path or PBR, because the packet header of the probe packet is used.
  • the forwarding information is the same as the forwarding information in the packet header of the service flow, and the forwarding information is set and the next hop is determined according to the operation result to forward the detection packet to the next hop, which can ensure the detection packet. It is consistent with the forwarding path of service flow packets.
  • the above-described setting operation may be a calculation method for routing such as a hash operation.
  • Step 103 If the first forwarding device receives the error control packet returned by the second forwarding device for the probe packet, the address of the second forwarding device is determined to be returned to perform the service flow.
  • the operation of detecting the message is configured; if the error control message is not received within the set time, the path of the service flow is determined according to the address of the at least one second forwarding device.
  • the set time may be customized according to the actual time of the service flow transmission, which is not specifically limited in the present application.
  • the second forwarding device after receiving the probe packet, the second forwarding device subtracts the TTL in the packet header of the probe packet by a preset value (for example, 1), and obtains a value indicating that the probe packet is forwarded incorrectly. (For example, 0), the error control message is returned to the first forwarding device.
  • a preset value for example, 1
  • the first forwarding device if the first forwarding device does not receive the error control message returned by the second forwarding device for the probe message within the set time, it means that the detection of the service flow through the path ends.
  • the reason why the first forwarding device does not receive the error control packet returned by the second forwarding device for the probe packet within the set time is that the destination host receives the probe packet and the destination host receives the packet.
  • the probe packet is parsed, and the checksum in the packet header is the specified check value (for example, 0x0 or other value) used to indicate the checksum error, and the received probe packet is discarded.
  • a forwarding device cannot receive an error control message returned for a probe message within a set time.
  • the first forwarding device emulates the packet header of the actual service flow to construct a probe packet for detecting the traffic flow through the path, according to the packet header included in the probe packet.
  • the forwarding information is forwarded to the detection packet, which ensures that the detection packet is consistent with the forwarding behavior of the actual service flow. Therefore, the second forwarding determined when the second forwarding device receives the error control packet returned by the detection packet according to the set time is received.
  • the address of the device can finally accurately determine the path through which the actual traffic flows.
  • FIG. 3 is a schematic diagram of path detection disclosed in an example of the present application. This embodiment relies on the source address of the recorded error control message when determining the path of the service flow. The following describes the embodiment by taking the path of the probe traffic 1 as an example.
  • Flow1 is a video message
  • the source IP address is the IP address of PC1 (denoted as IP1)
  • the destination IP address is the IP address of PC3 (denoted as IP3).
  • the structure of Flow1 is shown in Figure 4a.
  • the SDN controller calculates the possible path of the Flow1 based on the source IP address and the destination IP address of the flow1 and the network topology of the network shown in FIG. 3, and performs the service on the calculated first forwarding device on each path.
  • the stream is sampled, and the router (Router) B is determined to be the first forwarding device through which Flow1 passes.
  • the SDN controller sends the forwarding information contained in the packet header of the Flow1 to the first forwarding device Router B.
  • the forwarding information here includes: forwarding information included in the IP header of Flow1 and forwarding information included in the UDP header of Flow1. Examples of forwarding information included in the IP header of Flow1 include: source IP address (IP1), destination IP address (IP3), protocol type, and DSCP.
  • the forwarding information contained in the UDP header of Flow1 includes: source port number and destination. The port number.
  • Router B receives and stores the forwarding information.
  • Router B is configured to detect the first probe packet of Flow1.
  • the probe packet is recorded as the probe packet 3_1.
  • the TTL of the IP header of the probe packet 3_1 is an initial value (in this embodiment, 1 is taken as an example).
  • the IP header of the probe packet 3_1 further includes the forwarding information included in the IP header of the received Flow1, such as the source IP address (IP1), the destination IP address (IP3), the protocol type, and the DSCP; the UDP header of the probe packet 3_1.
  • the checksum is a specified check value (for example, 0x0) for indicating a checksum error
  • the UDP header of the probe message 3_1 further includes forwarding information, such as a source port number, included in the received UDP header of Flow1. Destination port number.
  • Figure 4b shows the format of the probe message 3_1.
  • Router B adds the IP address of Router B to the payload of the probe packet 3_1.
  • Figure 4c shows the structure of the probe packet 3_1 with the IP address of Router B added.
  • Router B forwards the probe packet 3_1 according to the forwarding information in the IP header of the probe packet 3_1 and the forwarding information in the UDP header. If Router B forwards the probe packet 3_1 based on the forwarding information in the IP header of the probe packet 3_1 and the forwarding information in the UDP header, the router forwards the probe packet 3_1 to Router A.
  • Router A receives the probe packet 3_1.
  • Router A obtains 0 by subtracting the TTL of the probe packet 3_1 from the preset value (in the embodiment, taking 1 as an example), and determines that the forwarding of the probe packet 3_1 is incorrect.
  • Router A resolves the IP address of Router B from the payload of the probe packet 3_1, and returns an error control packet corresponding to the probe packet 3_1 to Router B according to the IP address of Router B.
  • the source IP address of the error control packet is the IP address of Router A
  • the destination IP address is the IP address of Router B.
  • the error control packet also carries the forwarding information contained in the packet header of the probe packet 3_1. And the forwarding information contained in the UDP header), which facilitates Router B to identify which service flow the error control message is for.
  • the source IP address of the error control packet is the IP address of Router A.
  • Router B generates a second probe packet for detecting the Flow1 path.
  • the second probe packet is recorded as the probe packet 3_2.
  • the TTL of the probe packet 3_2 is different from the packet header of the probe packet 3_1.
  • the TTL of the probe packet 3_2 is the sum of the TTL of the probe packet 3_1 and the preset value (for example, 1).
  • the TTL of the packet header of the probe packet 3_2 is 2.
  • Router B adds the IP address of Router B to the payload of probe packet 3_2.
  • Router B forwards the probe packet 3_2 according to the forwarding information in the IP header of the probe packet 3_2 and the forwarding information in the UDP header. If Router B forwards the probe packet 3_2 based on the forwarding information in the IP header of the probe packet 3_2 and the forwarding information in the UDP header, Router B forwards the probe packet to Router A.
  • Router A receives the probe packet 3_2.
  • Router A obtains 1 by subtracting the TTL of the probe packet 3_2 from the preset value (in the embodiment, 1 is taken as an example), and determines that the forwarding of the probe packet 3_2 is not erroneous. At this time, the TTL of the probe packet 3_2 is updated to 1.
  • Router A forwards the probe packet 3_2 according to the forwarding information in the IP header of the probe packet 3_2 and the forwarding information in the UDP header. If Router A forwards the probe packet 3_2 based on the forwarding information in the IP header of the probe packet 3_2 and the forwarding information in the UDP header, it will be forwarded to Router C.
  • Router C receives the probe packet 3_2.
  • Router C reduces the TTL of the probe packet 3_2 by a preset value (in the embodiment, 1 is taken as an example) to obtain 0, and determines that the forwarding of the probe packet 3_2 is incorrect.
  • a preset value in the embodiment, 1 is taken as an example
  • Router C resolves the IP address of Router B from the payload of the probe packet 3_2, and returns an error control packet corresponding to the probe packet 3_2 to Router B according to the IP address of Router B.
  • the source IP address of the error control packet is the IP address of Router C
  • the destination IP address is the IP address of Router B.
  • the error control packet also carries the forwarding information contained in the packet header of the probe packet 3_2. And the forwarding information contained in the UDP header), which facilitates Router B to identify which service flow the error control message is for.
  • the source IP address of the error control packet is the IP address of Router C.
  • Router B generates a third probe packet for detecting the Flow1 path.
  • the third probe packet is recorded as the probe packet 3_3.
  • the TTL of the probe packet 3_3 is different from the packet header of the probe packet 3_2.
  • the TTL of the probe packet 3_3 is the sum of the TTL of the probe packet 3_2 and the preset value (for example, 1).
  • the TTL of the packet header of the probe packet 3_3 is 3.
  • Router B adds the IP address of Router B to the payload of the probe packet 3_3, and forwards the probe packet 3_3 according to the forwarding information in the IP header of the probe packet 3_3 and the forwarding information in the UDP header. If Router B forwards the probe packet 3_3 according to the forwarding information in the IP header of the probe packet 3_3 and the forwarding information in the UDP header, Router B forwards the probe packet to Router A.
  • Router A receives the probe packet 3_3.
  • Router A reduces the TTL of the probe packet 3_3 by a preset value (in the embodiment, taking 1 as an example) to obtain 2, and determines that the forwarding of the probe packet 3_3 is not erroneous. At this time, the TTL of the probe message 3_3 is updated to 2.
  • a preset value in the embodiment, taking 1 as an example
  • Router A forwards the probe packet 3_3 according to the forwarding information in the IP header of the probe packet 3_3 and the forwarding information in the UDP header. If Router A forwards the probe packet 3_3 according to the forwarding information in the IP header of the probe packet 3_3 and the forwarding information in the UDP header, it will be forwarded to Router C.
  • Router C receives the probe packet 3_3.
  • Router C decrements the TTL of the probe packet 3_3 by a preset value (in the embodiment, taking 1 as an example) to obtain 1, and determines that the forwarding of the probe packet 3_3 is not erroneous. At this time, the TTL of the probe message 3_3 is updated to 1.
  • a preset value in the embodiment, taking 1 as an example
  • Router C forwards the probe packet 3_3 according to the forwarding information in the IP header of the probe packet 3_3 and the forwarding information in the UDP header. If Router C forwards the probe packet 3_3 according to the forwarding information in the IP header of the probe packet 3_3 and the forwarding information in the UDP header, it will be forwarded to Router F.
  • Router F receives the probe packet 3_3.
  • Router F decrements the TTL of the probe packet 3_3 by a preset value (in the embodiment, taking 1 as an example) to obtain 0, and determines that the forwarding of the probe packet 3_3 is incorrect.
  • Router F resolves the IP address of Router B from the load of the probe packet 3_3, and returns an error control packet corresponding to the probe packet 3_3 to Router B according to the IP address of Router B.
  • the source IP address of the error control packet is the IP address of Router C
  • the destination IP address is the IP address of Router B.
  • the error control packet also carries the forwarding information contained in the packet header of the probe packet 3_3. And the forwarding information contained in the UDP header), which facilitates Router B to identify which service flow the error control message is for.
  • the source IP address of the error control packet is the IP address of Router F.
  • Router B generates a fourth probe packet for detecting the Flow1 path.
  • the fourth probe packet is recorded as the probe packet 3_4.
  • the TTL of the probe packet 3_4 is different from the TTL of the probe packet 3_3.
  • the TTL of the probe packet 3_4 is the sum of the TTL of the probe packet 3_3 and the preset value (for example, 1).
  • the TTL of the packet header of the probe packet 3_4 is 4.
  • Router B adds the IP address of Router B to the payload of the probe packet 3_4, and forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header. If Router B forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header, it will be forwarded to Router A.
  • Router A receives the probe packet 3_4.
  • Router A reduces the TTL of the probe packet 3_4 by a preset value (in the embodiment, 1 is taken as an example) to obtain 3, and determines that the forwarding of the probe packet 3_4 is not erroneous. At this time, the TTL of the probe message 3_4 is updated to 3.
  • a preset value in the embodiment, 1 is taken as an example
  • Router A forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header. If Router A forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header, it will be forwarded to Router C.
  • Router C receives the probe packet 3_4.
  • Router C reduces the TTL of the probe packet 3_4 by a preset value (in the embodiment, 1 is taken as an example) to obtain 2, and determines that the forwarding of the probe packet 3_4 is not erroneous. At this time, the TTL of the probe message 3_4 is updated to 2.
  • a preset value in the embodiment, 1 is taken as an example
  • Router C forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header. If Router C forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header, it will be forwarded to Router F.
  • Router F receives the probe packet 3_4.
  • Router F decrements the TTL of the probe packet 3_4 by a preset value (in the embodiment, taking 1 as an example) to obtain 1, and determines that the forwarding of the probe packet 3_4 is not erroneous. At this time, the TTL of the probe message 3_4 is updated to 1.
  • Router F forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header. If Router F forwards the probe packet 3_4 according to the forwarding information in the IP header of the probe packet 3_4 and the forwarding information in the UDP header, it will eventually forward it to the destination host PC3.
  • PC3 receives the probe packet 3_4 and parses the UDP header of the probe packet 3_4.
  • the checksum in the UDP header of the probe packet 3_4 is the specified checksum used to indicate the checksum error (take 0x0 as an example). , the probe message 3_4 is discarded.
  • Router B fails to receive the error control packet returned for the probe packet 3_4 within the set time, Router B ends the path detection of Flow1.
  • Router B constructs the path of Flow1 based on the IP addresses of Router A, C, and F.
  • the method for constructing a path needs to be combined with the network topology, which is not described in this embodiment.
  • FIG. 5 is a schematic diagram of path detection disclosed in another example of the present application.
  • the payload of the constructed probe packet carries the address of the forwarding device; and if the probe packet has been constructed for the service flow
  • the payload of the constructed probe packet carries the address of the forwarding device carried by the payload of the previous probe packet and the source address of the error control packet for the last probe packet; in the payload of the previous probe packet
  • the address of the forwarding device and the source address of the error control message for the last probe packet are arranged in a preset order, wherein the source address may be carried in an error control report for the last probe packet.
  • the IP header of the error control message for the last probe packet may also be carried, and the address of the forwarding device is located at a specified position in the payload of the constructed probe packet, such as the front end of the payload, so as to be received.
  • the other forwarding device to the probe packet obtains the address from the specified location and returns an error control to the obtained address when returning the error control message for the probe message.
  • the path of the service flow can be determined according to the address of the forwarding device carried in the payload of the last constructed and sent probe message. This does not require the forwarding device to record the source address of the error control message, which is flexible.
  • Flow2 is an Internet browsing message
  • the source IP address is the IP address of PC1 (denoted as IP1)
  • the destination IP address is the IP address of PC3 (denoted as IP3).
  • the structure of Flow2 is shown in Figure 6a.
  • the process of detecting the path of Flow2 according to the process shown in Figure 1 includes:
  • the SDN controller calculates the possible path of the Flow2 based on the source IP address and the destination IP address of the Flow2 and the network topology of the network shown in FIG. 5, and performs the service on the calculated first forwarding device on each path.
  • the flow sampling is performed to determine that Router B is the first forwarding device that Flow2 passes through.
  • the SDN controller sends the forwarding information contained in the packet header of the Flow2 to the first forwarding device Router B.
  • the forwarding information here includes: forwarding information included in the IP header of Flow2 and forwarding information included in the TCP header of Flow2. Examples of forwarding information included in the IP header of Flow2 include: source IP address (IP1), destination IP address (IP3), protocol type, and DSCP.
  • the forwarding information contained in the TCP header of Flow2 includes: source port number and destination. The port number.
  • Router B receives and stores the forwarding information.
  • Router B is configured to detect the first probe packet of Flow2.
  • the probe packet is recorded as the probe packet 5_1.
  • the TTL of the IP header of the probe packet 5_1 is an initial value (in this embodiment, 1 is taken as an example).
  • the IP header of the probe packet 5_1 also includes the forwarding information included in the IP header of the received Flow2, such as the source IP address (IP1), the destination IP address (IP3), the protocol type, and the DSCP; the TCP header of the probe packet 5_1.
  • the checksum is a specified check value (for example, 0x0) for indicating a checksum error
  • the TCP header of the probe message 5_1 further includes forwarding information included in the TCP header of the received Flow2, such as a source port number, Destination port number.
  • Figure 6b shows the format of the probe message 3_1.
  • Router B adds the IP address of Router B to the specified location of the payload of the probe packet 5_1 (for example, the first end of the payload).
  • Figure 6c shows the structure of the probe packet 5_1 with the IP address of Router B added.
  • Router B forwards the probe packet 5_1 according to the forwarding information in the IP header of the probe packet 5_1 and the forwarding information in the TCP header. If Router B forwards the probe packet 5_1 based on the forwarding information in the IP header of the probe packet 5_1 and the forwarding information in the TCP header, it will eventually forward it to Router D.
  • Router D receives the probe packet 5_1.
  • Router D decrements the TTL of the probe packet 5_1 by a preset value (in the embodiment, taking 1 as an example) to obtain 0, and determines that the forwarding of the probe packet 5_1 is incorrect.
  • a preset value in the embodiment, taking 1 as an example
  • Router D resolves the IP address of Router B from the specified location of the payload of the probe packet 5_1, and returns an error control packet corresponding to the probe packet 5_1 to Router B according to the IP address of Router B.
  • the source IP address of the error control packet is the IP address of Router D
  • the destination IP address is the IP address of Router B.
  • the payload of the error control packet carries the forwarding information contained in the packet header of the probe packet 5_1. Information and the forwarding information contained in the UDP header. It is convenient for Router B to identify which service flow the error control message is for.
  • the payload of the error control packet also carries the IP address of Router D.
  • Router B When Router B receives the error control packet returned by Router D within the set time, Router B generates a second probe packet for detecting Flow2. This is used as the second probe packet of the current probe packet. Recorded as a probe message 5_2.
  • the TTL of the probe packet 5_2 and the packet header of the probe packet 5_1 are different.
  • the TTL in the packet header of the probe packet 5_2 is the TTL and the preset value in the probe packet 5_1 (for example, 1).
  • the sum of the TTL of the packet header of the probe packet 5_2 is 2.
  • the payload of the probe packet 5_2 includes the IP address of Router B carried in the payload of the probe packet 5_1 and the IP address of Router D carried in the payload of the error control packet.
  • the IP address of Router B can be in the specified position in the payload (taking the first end of the payload as an example), so that other forwarding devices that receive the probe packet 5_2 are sent from the probe when the error control packet is returned for the probe packet 5_2. Obtain the IP address of Router B and return the error control packet to the obtained IP address of Router B.
  • the IP address of Router B and the IP address of Router D included in the payload of the probe packet 5_2 are arranged in order.
  • the IP address of Router D is placed in the payload after the IP address of Router B.
  • Figure 6d The message structure of the probe message 5_2 is shown. The following describes the case where the payload of each probe packet carries an IP address similar to the probe packet 5_2, and is not explained one by one.
  • Router B forwards the probe packet 5_2 according to the forwarding information in the IP header of the probe packet 5_2 and the forwarding information in the TCP header. If Router B forwards the probe packet 5_2 based on the forwarding information in the IP header of the probe packet 5_2 and the forwarding information in the TCP header, it will forward it to Router D.
  • Router D receives the probe packet 5_2.
  • Router D decrements the TTL of the probe packet 5_2 by a preset value (in the embodiment, taking 1 as an example) to obtain 1, and determines that the forwarding of the probe packet 5_2 is not erroneous. At this time, the TTL of the probe packet 5_2 is updated to 1.
  • Router D forwards the probe packet 5_2 according to the forwarding information in the IP header of the probe packet 5_2 and the forwarding information in the TCP header. If Router D forwards the probe packet 5_2 according to the forwarding information in the IP header of the probe packet 5_2 and the forwarding information in the TCP header, it will be forwarded to Router E.
  • Router E receives the probe packet 5_2.
  • Router E reduces the TTL of the probe packet 5_2 by a preset value (in the embodiment, taking 1 as an example) to obtain 0, and determines that the forwarding of the probe packet 5_2 is incorrect.
  • a preset value in the embodiment, taking 1 as an example
  • Router E resolves the IP address of the first IP address, which is the first IP address of the probe packet, from the specified address of the probe packet 5_2, and returns an error control report corresponding to the probe packet 5_2 to Router B according to the IP address of Router B.
  • the source IP address of the error control packet is the IP address of Router E
  • the destination IP address is the IP address of Router B.
  • the payload of the error control packet contains the forwarding information contained in the packet header of the probe packet 5_2. Forwarding information and forwarding information contained in the UDP header), and the IP address of Router E.
  • Router B When Router B receives the error control packet returned by Router E within the set time, Router B generates a third probe packet for detecting Flow2. For the sake of description, it will be the third probe packet of the current probe packet. Recorded as a probe message 5_3.
  • the TTL of the probe packet 5_3 is different from the TTL of the probe packet 5_2.
  • the TTL in the packet header of the probe packet 5_3 is the TTL and the preset value in the probe packet 5_2 (for example, 1).
  • the sum of the TTL of the packet header of the probe packet 5_3 is 3.
  • the payload of the probe packet 5_3 includes the IP address of Router B carried by the payload of the probe packet 5_2, the IP address of Router D, and the IP address of Router E carried in the payload of the received error control packet.
  • the IP address of Router B can be in the specified position in the payload (for example, the first end of the payload).
  • the IP address of Router E is in the order of the IP address of Router D.
  • Figure 6e shows the report of the probe packet 5_3. Structure of the text.
  • Router B forwards the probe packet 5_3 according to the forwarding information in the IP header of the probe packet 5_3 and the forwarding information in the TCP header. If Router B forwards the probe packet 5_3 according to the forwarding information in the IP header of the probe packet 5_3 and the forwarding information in the TCP header, it will eventually forward it to Router D.
  • Router D receives the probe packet 5_3.
  • Router D reduces the TTL of the probe packet 5_3 by a preset value (in the embodiment, taking 1 as an example) to obtain 2, and determines that the forwarding of the probe packet 5_3 is not erroneous. At this time, the TTL of the probe message 5_3 is updated to 2.
  • a preset value in the embodiment, taking 1 as an example
  • Router D forwards the probe packet 5_3 according to the forwarding information in the IP header of the probe packet 5_3 and the forwarding information in the TCP header. If Router D forwards the probe packet 5_3 according to the forwarding information in the IP header of the probe packet 5_3 and the forwarding information in the TCP header, it will be forwarded to Router E.
  • Router E receives the probe packet 5_3.
  • Router E obtains 1 by subtracting the TTL of the probe packet 5_3 from the preset value (in the embodiment, taking 1 as an example) to determine that the forwarding of the probe packet 5_3 is not faulty. At this time, the TTL of the probe message 5_3 is updated to 1.
  • Router E forwards the probe packet 5_3 according to the forwarding information in the IP header of the probe packet 5_3 and the forwarding information in the TCP header. If Router D forwards the probe packet 5_3 according to the forwarding information in the IP header of the probe packet 5_3 and the forwarding information in the TCP header, it will be forwarded to Router F.
  • Router F receives the probe packet 5_3.
  • Router F decrements the TTL of the probe packet 5_3 by a second value (in the embodiment, taking 1 as an example) to obtain 0, and determines that the forwarding of the probe packet 5_3 is incorrect.
  • Router F resolves the IP address of the first IP address, which is the first IP address of Router B, from the specified address of the probe packet 5_3, and returns an error control corresponding to the probe packet 5_3 to Router B according to the IP address of Router B.
  • the source IP address of the error control packet is the IP address of Router F
  • the destination IP address is the IP address of Router B.
  • the payload of the error control packet contains the forwarding information contained in the packet header of the probe packet 5_3. Forwarding information and forwarding information contained in the UDP header), and the IP address of Router F.
  • Router B After receiving the error control packet returned by Router F, Router B generates the fourth probe packet for detecting Flow2. For the convenience of description, it will be the fourth probe packet of the current probe packet. Recorded as a probe message 5_4.
  • the TTL of the probe packet 5_4 is different from the TTL of the probe packet 5_3.
  • the TTL of the probe packet 5_4 is the sum of the TTL of the probe packet 5_3 and the preset value (for example, 1).
  • the TTL in the packet header of the probe packet 5_4 is 4.
  • the payload of the probe packet 5_4 contains the IP address of the sequenced Router B contained in the payload of the probe packet 5_3, the IP address of Router D, the IP address of Router E, and the payload of the received error control packet. IP address of Router F.
  • the IP address of Router F is in the order of the IP address of Router E.
  • Figure 6f shows the structure of the packet of the probe packet 5_4.
  • Router B forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header. If Router B forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header, it will eventually forward it to Router D.
  • Router D receives the probe packet 5_4.
  • Router D reduces the TTL of the probe packet 5_4 by a preset value (in the embodiment, taking 1 as an example), and obtains 3, and determines that the forwarding of the probe packet 5_4 is not erroneous. At this time, the TTL of the probe message 5_4 is updated to 3.
  • a preset value in the embodiment, taking 1 as an example
  • Router D forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header. If Router D forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header, it will be forwarded to Router E.
  • Router E receives the probe packet 5_4.
  • Router E reduces the TTL of the probe packet 5_4 by a preset value (in the embodiment, taking 1 as an example) to obtain 2, and determines that the forwarding of the probe packet 5_4 is not erroneous. At this time, the TTL of the probe message 5_4 is updated to 2.
  • a preset value in the embodiment, taking 1 as an example
  • Router E forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header. If Router E forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header, it will be forwarded to Router F.
  • Router F receives the probe packet 5_4.
  • Router F decrements the TTL of the probe packet 5_4 by a preset value (in the embodiment, taking 1 as an example) to obtain 1, and determines that the forwarding of the probe packet 5_4 is not erroneous. At this time, the TTL of the probe message 5_4 is updated to 1.
  • a preset value in the embodiment, taking 1 as an example
  • Router F forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header. If Router F forwards the probe packet 5_4 according to the forwarding information in the IP header of the probe packet 5_4 and the forwarding information in the TCP header, it will eventually forward it to the destination host PC3.
  • the PC3 receives the probe packet 5_4 and parses the TCP header of the probe packet 5_4.
  • the checksum in the TCP header of the probe packet 5_4 is the specified checksum for indicating the checksum error (take 0x0 as an example). , the probe message 5_4 is discarded.
  • Router B After receiving the error control packet returned by the probe packet 5_4 within the set time, Router B ends the path detection of Flow2.
  • Router B constructs Flow2 based on the IP address of each forwarding device included in the payload of the probe packet 5_4. path of.
  • the method for constructing a path needs to be combined with the network topology, which is not described in this embodiment.
  • FIG. 8 is a hardware structural diagram of a forwarding device according to some embodiments of the present disclosure.
  • the forwarding device 80 can include a processor 81 and a machine readable storage medium 82.
  • processor 81 and machine readable storage medium 82 can communicate via system bus 83. And, by reading and executing the machine executable instructions corresponding to the path probing logic 70 stored in the machine readable storage medium 82, the processor 81 can perform the method of path probing described above.
  • the machine-readable storage medium 82 referred to herein can be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like.
  • the machine readable storage medium 82 may be a RAM (Random Access Memory), a volatile memory, a nonvolatile memory, a flash memory, a storage drive (such as a hard disk drive), a solid state drive, or any type of A storage disk (such as a compact disc, a DVD, etc.), or a similar storage medium, or a combination thereof.
  • FIG. 7 is a structural diagram of a path detection logic provided by the present application.
  • the device is applied to a forwarding device through which a service flow passes, including:
  • the constructing module 701 is configured to construct a probe packet for the service flow, where the packet header included in the packet header is the same as the forwarding information included in the packet header of the service flow;
  • the forwarding module 702 is configured to forward the probe packet according to the forwarding information.
  • the checking module 703 is configured to check whether an error control message returned by the other forwarding device for the probe message is received within a set time
  • the address determining module 704 is configured to determine an address of the other forwarding device when the check result of the checking module 703 is YES, and trigger the constructing module 701 to perform the operation of constructing a probe message for the service flow;
  • the path determining module 705 is configured to determine a path of the service flow according to an address of the at least one other forwarding device when the check result of the checking module 703 is NO.
  • the header of the probe message includes a checksum configured to indicate a checksum of the checksum error, so that the destination host of the service flow receives the probe.
  • the probe packet is discarded when the packet is received.
  • the header of the probe message includes an IP header and a transport layer protocol header; the checksum is a field of a transport layer protocol header; wherein the IP header includes forwarding
  • the information includes: a source IP address, a destination IP address, a protocol type, and a differential service code point DSCP; and the forwarding information included in the transport layer protocol header includes: a source port number and a destination port number.
  • the payload of the probe packet constructed by the constructing module 701 carries the address of the forwarding device. In this way, another forwarding device that receives the probe message returns an error control message to the forwarding device for the probe message.
  • the address determining module 704 is configured to determine a source address of the received error control message as an address of the other forwarding device; the address determining module 704 further records the received at least a source address of the error control message, wherein the recorded at least one source address is arranged in the order in which the corresponding error control message is received; the determined path of the service flow is: the location recorded by the forwarding device A path formed by another forwarding device corresponding to at least one source address.
  • the payload of the probe packet constructed by the constructing module 701 when it is determined that the probe packet is not configured for the service flow, the payload of the probe packet constructed by the constructing module 701 carries an address of the local device; when it is determined that the traffic flow has been constructed When the packet is detected, the payload of the probe packet constructed by the constructing module 701 carries the address of the forwarding device carried by the payload of the previous probe packet and the payload of the error control packet for the last probe packet.
  • the source address; the address of the forwarding device and the source address are arranged in a preset order; wherein the address of the forwarding device is located at a specified position in the payload of the constructed probe message. In this way, another forwarding device that receives the probe packet obtains the address of the forwarding device from the specified location, and returns an error control packet to the forwarding device for the probe packet.
  • the address determining module 704 determines the source address carried by the received payload of the error control message as the address of the another forwarding device; the path for determining the service flow is: The path formed by the forwarding device corresponding to the address carried by the payload of the probe packet that is configured and sent by the forwarding device.
  • the device embodiment since it basically corresponds to the method embodiment, reference may be made to the partial description of the method embodiment.
  • the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without any creative effort.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了路径探测方法和转发设备。本申请示例中,第一转发设备针对业务流构造探测报文,所述探测报文的报文头包含的转发信息和所述业务流的报文头包含的转发信息相同;所述第一转发设备依据所述转发信息转发所述探测报文;若在设定时间内接收到第二转发设备针对所述探测报文返回的出错控制报文,则所述第一转发设备确定所述第二转发设备的地址,并返回执行针对所述业务流构造探测报文的操作;否则,则所述第一转发设备根据所述至少一个所述第二转发设备的地址确定所述业务流的路径。

Description

路径探测
相关申请的交叉引用
本专利申请要求于2017年3月31日提交的、申请号为201710209173.8、发明名称为“路径探测方法和装置”的中国专利申请的优先权,该申请的全文以引用的方式并入本文中。
背景技术
为了实现IP网络运维的需要,经常需要探测业务流在网络中经过的路径。
用于路径探测的是路由追踪(Traceroute)机制。Traceroute机制是基于目的主机的IP地址(简称目的IP地址)发送探测报文以探测业务流从源主机至目的主机的路径。
Traceroute机制中的探测报文不同于业务流报文,比如,为了规避探测报文对业务流的影响,探测报文的端口号不同于业务流报文的端口号。
附图说明
图1为本申请提供的方法流程图;
图2为本申请提供的报文结构图;
图3为本申请一示例公开的路径探测示意图;
图4a至图4c为本申请实施例提供的探测报文结构图;
图5为本申请提供的实施例示意图;
图6a至图6f为本申请实施例提供的探测报文结构图
图7为本申请提供的路径探测逻辑结构示意图;
图8为本申请提供的转发设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Traceroute机制中,用于探测业务流经由路径的探测报文的报文头所包含的转发信息不同于业务流的报文头包含的转发信息,以转发信息为UDP端口号为例,UDP端口号对应一些预先定义的应用,为了规避探测报文对实际业务应用的潜在影响,Traceroute机制中,探测报文的报文头包含的UDP端口号为特定UDP端口号(比如大于30000的UDP端口号),不对应任何业务应用,其不同于业务流的报文头包含的用于对应业务流应用的UDP端口号;而不管是转发探测报文还是转发业务流,若存在等价路径或者策略路由(PBR)则是依赖于报文头包含的转发信息选择路径转发的,因为探测报文的报文头包含的转发信息不同于业务流的报文头包含的转发信息,这导致探测报文最终探测出的路径与业务流实际经由的路径不同。
而本申请示例中,转发设备通过模仿实际业务流的报文头构造用于探测业务流经由路径的探测报文,如此,在依据探测报文的报文头包含的转发信息转发探测报文时,能够确保探测报文与实际业务流的转发行为一致,能够精准确定出实际业务流经由的路径。
参见图1,图1为本申请提供的方法流程图。该流程应用于业务流经由的转发设备。作为一个实施例,这里的转发设备比如为路由器等,本申请并不具体限定。
如图1所示,该流程可包括以下步骤:
步骤101,第一转发设备针对业务流构造探测报文,探测报文的报文头包含的转发信息和业务流的报文头包含的转发信息相同。
作为一个实施例,本申请中,探测报文的报文头所包含的转发信息由外部控制设备告知转发设备的。这里的外部控制设备可为SDN控制器,也可为网管设备等,本申请并不具体限定。
本申请示例中,不管步骤101中针对业务流构造过多少探测报文,构造的各探测报文的报文头所包含的转发信息都一致,为业务流的报文头包含的转发信息。因此,本申请示例中,外部控制设备向该转发设备发送一次上述转发信息即可。
作为一个实施例,上述的第一转发设备可为业务流经由的首个转发设备。其中,外部控制设备可通过以下方式确定业务流经由的首个转发设备:依据业务流的源IP地址、目的IP地址并结合其管理的网络拓扑计算出从源IP地址至目的IP地址的各路径,对各路径上的首个转发设备进行业务流采样,通过采样的方式确定有业务流经过的转发设备为上述业务流经由的首个转发设备。
作为一个实施例,步骤101中针对业务流构造探测报文可依赖于是否已针对业务流构造过另一个探测报文。其中,当确定未针对业务流构造过探测报文时,此时本步骤101中构造的探测报文的报文头包含的生存时间(TTL)为初始值;而当确定已针对所述业务流构造过另一个探测报文时,此时本步骤101中构造的所述探测报文的报文头包含的TTL为已构造的上一个探测报文的TTL与预设值之和;其中,所述预设值和所述初始值可相等,比如都为1。
在本申请示例中,步骤101构造的探测报文的报文头还包含校验和。其中,校验和配置为指示校验和错误的指定校验值;所述校验和用于使业务流的目的主机接收到所述探测报文时丢弃所述探测报文。
作为一个实施例,探测报文的报文头细分为IP头部和传输层协议头部(TCP/UDP头部)。其中,上述的TTL为IP头部的字段,校验和为TCP/UDP头部的字段。IP头部包含的转发信息包括:源IP地址、目的IP地址、协议类型、差分服务代码点(DSCP);TCP/UDP头部包含的转发信息包括:源端口号、目的端口号。
需要说明的是,在本申请示例中,也可以根据实际需求在步骤101构造的探测报文中增加另一头部,比如如果要探测VXLAN报文路径,可以在步骤101构造的探测报文中增加VXLAN头部。
步骤102,第一转发设备依据探测报文的报文头包含的转发信息转发探测报文。
在本申请中,作为一个实施例,第一转发设备转发的探测报文的载荷携带本第一转发设备的地址,以使接收到所述探测报文的第二转发设备针对所述探测报文向本第一转发设备返回出错控制报文。图2举例示出了业务流报文与探测报文的结构。
在业务流转发应用中,当有等价路径或者PBR时,会依据业务流的报文头所包含的转发信息进行设定运算,并依据运算结果确定下一跳以向下一跳转发业务流。应用于本申请示例中,步骤102在依据探测报文的报文头包含的转发信息转发探测报文时,即使转发探测报文时有等价路径或者PBR,因为探测报文的报文头中的转发信息与业务流的 报文头中的转发信息相同,则通过对转发信息进行设定运算并依据运算结果确定下一跳以向下一跳转发探测报文,这能够保证探测报文与业务流报文的转发路径一致。作为一个实施例,上述的设定运算可为哈希运算等用于路由的运算方式。
步骤103,第一转发设备若在设定时间内接收到第二转发设备针对所述探测报文返回的出错控制报文,则确定所述第二转发设备的地址,返回执行所述针对业务流构造探测报文的操作;若在设定时间内未接收到所述出错控制报文,则根据所述至少一个第二转发设备的地址确定所述业务流的路径。
在本申请示例中,设定时间可根据业务流实际路径传输所需时间自定义设定,本申请并不具体限定。
在本申请示例中,第二转发设备接收到探测报文后,将探测报文的报文头中的TTL减去预设值(比如1),如果得到用于表示探测报文转发出错的值(比如0),则向第一转发设备返回出错控制报文。
本申请示例中,第一转发设备若在设定时间内未接收到第二转发设备针对探测报文返回的出错控制报文,则意味着业务流经由路径的探测结束。其中,之所以会出现第一转发设备在设定时间内未接收到第二转发设备针对探测报文返回的出错控制报文,其中一个原因是:目的主机收到探测报文,目的主机对收到的探测报文解析,发现报文头中校验和为上述用于指示校验和错误的指定校验值(比如为0x0或其他值),则丢弃收到的探测报文,最终导致第一转发设备不能在设定时间内接收到针对探测报文返回的出错控制报文。
至于步骤103中如何依据已接收的出错控制报文确定所述业务流路径,将通过下文实施例详细描述,这里不再赘述。
至此,完成图1所示流程。
通过上面描述的流程可以看出,在本申请示例中,第一转发设备模仿实际业务流的报文头构造用于探测业务流经由路径的探测报文,依据探测报文的报文头包含的转发信息转发探测报文,这确保探测报文与实际业务流的转发行为一致,如此,根据设定时间内接收到第二转发设备针对探测报文返回的出错控制报文时确定的第二转发设备的地址,便能够最终精准确定出实际业务流经由的路径。
下面通过对图1所示流程进行详细描述:
参见图3,图3为本申请一示例公开的路径探测示意图。本实施例在确定业务流的 路径时依赖记录的出错控制报文的源地址。下面以探测业务流(Flow)1的路径为例描述本实施例。
在本实施例中,假如Flow1为视频报文,源IP地址为PC1的IP地址(记为IP1),目的IP地址为PC3的IP地址(记为IP3)。Flow1的结构如图4a所示。
SDN控制器基于Flow1的源IP地址、目的IP地址并结合已收集的图3所示网络的网络拓扑计算出Flow1可能经由的路径,并通过对计算出的各路径上的首个转发设备进行业务流采样,通过采样的方式确定路由器(Router)B为Flow1经由的首个转发设备。
SDN控制器向Flow1经由的首个转发设备Router B下发Flow1的报文头包含的转发信息。这里的转发信息包括:Flow1的IP头部所包含的转发信息和Flow1的UDP头部所包含的转发信息。Flow1的IP头部所包含的转发信息举例包括:源IP地址(IP1)、目的IP地址(IP3)、协议类型、DSCP;Flow1的UDP头部所包含的转发信息举例包括:源端口号、目的端口号。
Router B接收并存储转发信息。
Router B构造用于探测Flow1的首个探测报文,为便于描述,将该探测报文记为探测报文3_1。探测报文3_1的IP头中TTL为初始值(本实施例以1为例)。探测报文3_1的IP头还包含已接收的Flow1的IP头部所包含的转发信息比如源IP地址(IP1)、目的IP地址(IP3)、协议类型、DSCP;探测报文3_1的UDP头中校验和为用于指示校验和错误的指定校验值(以0x0为例),探测报文3_1的UDP头还包含已接收的Flow1的UDP头部所包含的转发信息比如源端口号、目的端口号。图4b示出了探测报文3_1的格式。
Router B将本Router B的IP地址添加至探测报文3_1的载荷,图4c示出添加了Router B的IP地址的探测报文3_1的结构。
Router B依据探测报文3_1的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_1。假如Router B依据探测报文3_1的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_1,最终会转发至Router A。
Router A收到探测报文3_1。
Router A将探测报文3_1的TTL减去预设值(本实施例以1为例)得到0,确定此时探测报文3_1的转发出错。
Router A从探测报文3_1的载荷解析出Router B的IP地址,依据Router B的IP地址向Router B返回一个对应探测报文3_1的出错控制报文。出错控制报文的源IP地址为Router A的IP地址,目的IP地址为Router B的IP地址,出错控制报文还携带探测报文3_1的报文头包含的转发信息(IP头包含的转发信息和UDP头包含的转发信息),便于Router B识别出出错控制报文是针对哪一业务流。
Router B在设定时间内接收到Router A返回的出错控制报文,则记录该出错控制报文的源IP地址即Router A的IP地址。
Router B生成用于探测Flow1路径的第二个探测报文,为便于描述,这里将第二个探测报文记为探测报文3_2。探测报文3_2的报文头与探测报文3_1的报文头仅TTL不同,探测报文3_2的TTL为探测报文3_1中的TTL与预设值(以1为例)之和,此时探测报文3_2的报文头中TTL为2。
Router B将本Router B的IP地址添加至探测报文3_2的载荷。
Router B依据探测报文3_2的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_2。假如Router B依据探测报文3_2的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_2,最终会转发至Router A。
Router A收到探测报文3_2。
Router A将探测报文3_2的TTL减去预设值(本实施例以1为例)得到1,确定此时探测报文3_2的转发未出错。此时探测报文3_2的TTL更新为1。
Router A依据探测报文3_2的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_2。假如Router A依据探测报文3_2的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_2,最终会转发至Router C。
Router C收到探测报文3_2。
Router C将探测报文3_2的TTL减去预设值(本实施例以1为例)得到0,确定此时探测报文3_2的转发出错。
Router C从探测报文3_2的载荷解析出Router B的IP地址,依据Router B的IP地址向Router B返回一个对应探测报文3_2的出错控制报文。出错控制报文的源IP地址为Router C的IP地址,目的IP地址为Router B的IP地址,出错控制报文还携带探测报文3_2的报文头包含的转发信息(IP头包含的转发信息和UDP头包含的转发信息), 便于Router B识别出出错控制报文是针对哪一业务流。
Router B在设定时间内接收到Router C返回的出错控制报文,则记录该出错控制报文的源IP地址即Router C的IP地址。
Router B生成用于探测Flow1路径的第三个探测报文,为便于描述,这里将第三个探测报文记为探测报文3_3。探测报文3_3的报文头与探测报文3_2的报文头仅TTL不同,探测报文3_3的TTL为探测报文3_2中的TTL与预设值(以1为例)之和,此时探测报文3_3的报文头中TTL为3。
Router B将本Router B的IP地址添加至探测报文3_3的载荷,依据探测报文3_3的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_3。假如Router B依据探测报文3_3的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_3,最终会转发至Router A。
Router A收到探测报文3_3。
Router A将探测报文3_3的TTL减去预设值(本实施例以1为例)得到2,确定此时探测报文3_3的转发未出错。此时探测报文3_3的TTL更新为2。
Router A依据探测报文3_3的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_3。假如Router A依据探测报文3_3的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_3,最终会转发至Router C。
Router C收到探测报文3_3。
Router C将探测报文3_3的TTL减去预设值(本实施例以1为例)得到1,确定此时探测报文3_3的转发未出错。此时探测报文3_3的TTL更新为1。
Router C依据探测报文3_3的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_3。假如Router C依据探测报文3_3的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_3,最终会转发至Router F。
Router F收到探测报文3_3。
Router F将探测报文3_3的TTL减去预设值(本实施例以1为例)得到0,确定此时探测报文3_3的转发出错。
Router F从探测报文3_3的载荷解析出Router B的IP地址,依据Router B的IP地址向Router B返回一个对应探测报文3_3的出错控制报文。出错控制报文的源IP地址 为Router C的IP地址,目的IP地址为Router B的IP地址,出错控制报文还携带探测报文3_3的报文头包含的转发信息(IP头包含的转发信息和UDP头包含的转发信息),便于Router B识别出出错控制报文是针对哪一业务流。
Router B在设定时间内接收到Router F返回的出错控制报文,则记录该出错控制报文的源IP地址即Router F的IP地址。
Router B生成用于探测Flow1路径的第四个探测报文,为便于描述,这里将第四个探测报文记为探测报文3_4。探测报文3_4的报文头与探测报文3_3的报文头仅TTL不同,探测报文3_4的TTL为探测报文3_3中的TTL与预设值(以1为例)之和,此时探测报文3_4的报文头中TTL为4。
Router B将本Router B的IP地址添加至探测报文3_4的载荷,依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4。假如Router B依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4,最终会转发至Router A。
Router A收到探测报文3_4。
Router A将探测报文3_4的TTL减去预设值(本实施例以1为例)得到3,确定此时探测报文3_4的转发未出错。此时探测报文3_4的TTL更新为3。
Router A依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4。假如Router A依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4,最终会转发至Router C。
Router C收到探测报文3_4。
Router C将探测报文3_4的TTL减去预设值(本实施例以1为例)得到2,确定此时探测报文3_4的转发未出错。此时探测报文3_4的TTL更新为2。
Router C依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4。假如Router C依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4,最终会转发至Router F。
Router F收到探测报文3_4。
Router F将探测报文3_4的TTL减去预设值(本实施例以1为例)得到1,确定此时探测报文3_4的转发未出错。此时探测报文3_4的TTL更新为1。
Router F依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4。假如Router F依据探测报文3_4的IP头中的转发信息以及UDP头中的转发信息转发探测报文3_4,最终会转发至目的主机PC3。
PC3收到探测报文3_4,对探测报文3_4的UDP头进行解析发现探测报文3_4的UDP头中的校验和为用于指示校验和错误的指定校验值(以0x0为例),则丢弃探测报文3_4。
Router B在设定时间内接收不到针对探测报文3_4返回的出错控制报文,则结束Flow1的路径探测。
Router B根据记录的Router A、C、F的IP地址构造出Flow1的路径。具体构造路径的方法需结合网络拓扑,本实施例并不赘述。
至此,完成本实施例的描述。
参见图5,图5为本申请另一示例公开的路径探测示意图。本实施例中,转发设备在构造探测报文时,若未针对业务流构造过探测报文时,构造的探测报文的载荷携带本转发设备的地址;而若已针对业务流构造过探测报文时,则构造的探测报文的载荷携带上一个探测报文的载荷携带的转发设备的地址以及针对上一个探测报文的出错控制报文的源地址;在上一个探测报文的载荷中的所述转发设备的地址和针对上一个探测报文的所述出错控制报文的源地址按照预设的顺序排列,其中,所述源地址可携带在针对上一个探测报文的出错控制报文的载荷中,也可以携带针对上一个探测报文的出错控制报文的IP头中,本转发设备的地址位于构造的探测报文的载荷中的指定位置比如载荷的最前端,以使接收到探测报文的另一转发设备在针对探测报文返回出错控制报文时从指定位置获取该地址并向获取的地址返回出错控制报文。基于此,本实施例中,就可以依据最后一次构造并发送的探测报文的载荷携带的转发设备的地址确定业务流的路径。这不需要该转发设备记录出错控制报文的源地址,灵活性好。
下面以探测Flow2的路径为例描述本实施例。
在本实施例中,假如Flow2为互联网浏览报文,源IP地址为PC1的IP地址(记为IP1),目的IP地址为PC3的IP地址(记为IP3)。Flow2的结构如图6a所示。按照图1所示流程探测Flow2的路径的过程包括:
SDN控制器基于Flow2的源IP地址、目的IP地址并结合已收集的图5所示网络的网络拓扑计算出Flow2可能经由的路径,并通过对计算出的各路径上的首个转发设备进 行业务流采样,通过采样的方式确定Router B为Flow2经由的首个转发设备。
SDN控制器向Flow2经由的首个转发设备Router B下发Flow2的报文头包含的转发信息。这里的转发信息包括:Flow2的IP头部所包含的转发信息和Flow2的TCP头部所包含的转发信息。Flow2的IP头部所包含的转发信息举例包括:源IP地址(IP1)、目的IP地址(IP3)、协议类型、DSCP;Flow2的TCP头部所包含的转发信息举例包括:源端口号、目的端口号。
Router B接收并存储转发信息。
Router B构造用于探测Flow2的首个探测报文,为便于描述,将该探测报文记为探测报文5_1。探测报文5_1的IP头中TTL为初始值(本实施例以1为例)。探测报文5_1的IP头还包含已接收的Flow2的IP头部所包含的转发信息比如源IP地址(IP1)、目的IP地址(IP3)、协议类型、DSCP;探测报文5_1的TCP头中校验和为用于指示校验和错误的指定校验值(以0x0为例),探测报文5_1的TCP头还包含已接收的Flow2的TCP头部所包含的转发信息比如源端口号、目的端口号。图6b示出了探测报文3_1的格式。
Router B将本Router B的IP地址添加至探测报文5_1的载荷的指定位置(以载荷的首端为例),图6c示出添加了Router B的IP地址的探测报文5_1的结构。
Router B依据探测报文5_1的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_1。假如Router B依据探测报文5_1的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_1,最终会转发至Router D。
Router D收到探测报文5_1。
Router D将探测报文5_1的TTL减去预设值(本实施例以1为例)得到0,确定此时探测报文5_1的转发出错。
Router D从探测报文5_1的载荷的指定位置解析出Router B的IP地址,依据Router B的IP地址向Router B返回一个对应探测报文5_1的出错控制报文。出错控制报文的源IP地址为Router D的IP地址,目的IP地址为Router B的IP地址,出错控制报文的载荷携带探测报文5_1的报文头包含的转发信息(IP头包含的转发信息和UDP头包含的转发信息),便于Router B识别出出错控制报文是针对哪一业务流;出错控制报文的载荷还携带Router D的IP地址。
Router B在设定时间内接收到Router D返回的出错控制报文,则生成用于探测Flow2 的第二个探测报文,为便于描述,这里将作为当前探测报文的第二个探测报文记为探测报文5_2。探测报文5_2的报文头与探测报文5_1的报文头仅TTL不同,探测报文5_2的报文头中的TTL为探测报文5_1中的TTL与预设值(以1为例)之和,此时探测报文5_2的报文头中TTL为2。探测报文5_2的载荷中包含探测报文5_1中载荷携带的Router B的IP地址、以及出错控制报文的载荷携带的Router D的IP地址。其中,Router B的IP地址可处于载荷中的指定位置(以载荷首端为例),以使接收到探测报文5_2的其他转发设备在针对探测报文5_2返回出错控制报文时从探测报文5_2的上述指定位置获取Router B的IP地址并向获取的Router B的IP地址返回出错控制报文。本实施例以探测报文5_2的载荷包含的Router B的IP地址、Router D的IP地址是按顺序排列的,其中,Router D的IP地址在载荷中排在Router B的IP地址之后,图6d示出了探测报文5_2的报文结构。下文各探测报文的载荷携带IP地址的情况均类似探测报文5_2,不再一一解释。
Router B依据探测报文5_2的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_2。假如Router B依据探测报文5_2的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_2,最终会转发至Router D。
Router D收到探测报文5_2。
Router D将探测报文5_2的TTL减去预设值(本实施例以1为例)得到1,确定此时探测报文5_2的转发未出错。此时探测报文5_2的TTL更新为1。
Router D依据探测报文5_2的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_2。假如Router D依据探测报文5_2的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_2,最终会转发至Router E。
Router E收到探测报文5_2。
Router E将探测报文5_2的TTL减去预设值(本实施例以1为例)得到0,确定此时探测报文5_2的转发出错。
Router E从探测报文5_2的载荷的指定位置解析出排在最前面的首个IP地址即Router B的IP地址,依据Router B的IP地址向Router B返回一个对应探测报文5_2的出错控制报文。出错控制报文的源IP地址为Router E的IP地址,目的IP地址为Router B的IP地址,出错控制报文的载荷包含:探测报文5_2的报文头包含的转发信息(IP头包含的转发信息和UDP头包含的转发信息)、以及Router E的IP地址。
Router B在设定时间内接收到Router E返回的出错控制报文,则生成用于探测Flow2的第三个探测报文,为便于描述,这里将作为当前探测报文的第三个探测报文记为探测报文5_3。探测报文5_3的报文头与探测报文5_2的报文头仅TTL不同,探测报文5_3的报文头中的TTL为探测报文5_2中的TTL与预设值(以1为例)之和,此时探测报文5_3的报文头中TTL为3。
探测报文5_3的载荷中包含探测报文5_2的载荷携带的Router B的IP地址、Router D的IP地址、以及接收的出错控制报文的载荷携带的Router E的IP地址。其中,Router B的IP地址可处于载荷中的指定位置(以载荷首端为例),Router E的IP地址按顺序排在Router D的IP地址之后,图6e示出了探测报文5_3的报文结构。
Router B依据探测报文5_3的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_3。假如Router B依据探测报文5_3的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_3,最终会转发至Router D。
Router D收到探测报文5_3。
Router D将探测报文5_3的TTL减去预设值(本实施例以1为例),得到2,确定此时探测报文5_3的转发未出错。此时探测报文5_3的TTL更新为2。
Router D依据探测报文5_3的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_3。假如Router D依据探测报文5_3的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_3,最终会转发至Router E。
Router E收到探测报文5_3。
Router E将探测报文5_3的TTL减去预设值(本实施例以1为例)得到1,确定此时探测报文5_3的转发未出错。此时探测报文5_3的TTL更新为1。
Router E依据探测报文5_3的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_3。假如Router D依据探测报文5_3的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_3,最终会转发至Router F。
Router F收到探测报文5_3。
Router F将探测报文5_3的TTL减去第二值(本实施例以1为例)得到0,确定此时探测报文5_3的转发出错。
Router F从探测报文5_3的载荷的指定位置中解析出排在最前面的首个IP地址 即Router B的IP地址,依据Router B的IP地址向Router B返回一个对应探测报文5_3的出错控制报文。出错控制报文的源IP地址为Router F的IP地址,目的IP地址为Router B的IP地址,出错控制报文的载荷包含:探测报文5_3的报文头包含的转发信息(IP头包含的转发信息和UDP头包含的转发信息)、以及Router F的IP地址。
Router B在设定时间内接收到Router F返回的出错控制报文,则生成用于探测Flow2的第四个探测报文,为便于描述,这里将作为当前探测报文的第四个探测报文记为探测报文5_4。探测报文5_4的报文头与探测报文5_3的报文头仅TTL不同,探测报文5_4的TTL为探测报文5_3中的TTL与预设值(以1为例)之和,此时探测报文5_4的报文头中的TTL为4。探测报文5_4的载荷中包含探测报文5_3的载荷所包含的按顺序排列的Router B的IP地址、Router D的IP地址、Router E的IP地址、以及接收的出错控制报文的载荷携带的Router F的IP地址。其中,Router F的IP地址按顺序排在Router E的IP地址之后,图6f示出了探测报文5_4的报文结构。
Router B依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4。假如Router B依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4,最终会转发至Router D。
Router D收到探测报文5_4。
Router D将探测报文5_4的TTL减去预设值(本实施例以1为例),得到3,确定此时探测报文5_4的转发未出错。此时探测报文5_4的TTL更新为3。
Router D依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4。假如Router D依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4,最终会转发至Router E。
Router E收到探测报文5_4。
Router E将探测报文5_4的TTL减去预设值(本实施例以1为例),得到2,确定此时探测报文5_4的转发未出错。此时探测报文5_4的TTL更新为2。
Router E依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4。假如Router E依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4,最终会转发至Router F。
Router F收到探测报文5_4。
Router F将探测报文5_4的TTL减去预设值(本实施例以1为例)得到1,确定此时探测报文5_4的转发未出错。此时探测报文5_4的TTL更新为1。
Router F依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4。假如Router F依据探测报文5_4的IP头中的转发信息以及TCP头中的转发信息转发探测报文5_4,最终会转发至目的主机PC3。
PC3收到探测报文5_4,对探测报文5_4的TCP头进行解析发现探测报文5_4的TCP头中的校验和为用于指示校验和错误的指定校验值(以0x0为例),则丢弃探测报文5_4。
Router B在设定时间内接收不到针对探测报文5_4返回的出错控制报文,则结束Flow2的路径探测。
Router B根据最后生成的探测报文5_4的载荷包含的各转发设备的IP地址(Router B的IP地址、Router D的IP地址、Router E的IP地址、以及Router F的IP地址)构造出Flow2经由的路径。具体构造路径的方法需结合网络拓扑,本实施例并不赘述。
至此,完成本实施例的描述。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
参见图8,图8为本申请一些实施例提供的转发设备的硬件结构图。该转发设备80可包括处理器81以及机器可读存储介质82。其中,处理器81和机器可读存储介质82可经由系统总线83通信。并且,通过读取并执行机器可读存储介质82中存储的与路径探测逻辑70对应的机器可执行指令,处理器81可执行上文所述的路径探测的方法。
本文提到的机器可读存储介质82可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质82可以是RAM(Random Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
参见图7,图7为本申请提供的路径探测逻辑结构图。该装置应用于业务流经由的转发设备,包括:
构造模块701,用于针对业务流构造探测报文,所述探测报文的报文头包含的转 发信息和所述业务流的报文头包含的转发信息相同;
转发模块702,用于依据所述转发信息转发所述探测报文;
检查模块703,用于检查是否在设定时间内接收到其他转发设备针对所述探测报文返回的出错控制报文;
地址确定模块704,用于在所述检查模块703的检查结果为是时,确定所述其他转发设备的地址,并触发所述构造模块701执行所述针对业务流构造探测报文的操作;
路径确定模块705,用于在所述检查模块703的检查结果为否时,根据至少一个所述其他转发设备的地址确定所述业务流的路径。
在一个实施例中,所述探测报文的报文头包括校验和,所述校验和配置为指示校验和错误的指定校验值,以使业务流的目的主机接收到所述探测报文时丢弃所述探测报文。
在一个实施例中,所述探测报文的报文头包括IP头部和传输层协议头部;所述校验和为传输层协议头部的字段;其中,所述IP头部包含的转发信息包括:源IP地址、目的IP地址、协议类型、差分服务代码点DSCP;所述传输层协议头部包含的转发信息包括:源端口号、目的端口号。
在一个实施例中,所述构造模块701构造的所述探测报文的载荷携带本转发设备的地址。这样,接收到所述探测报文的另一转发设备针对所述探测报文向本转发设备返回出错控制报文。
在一个实施例中,所述地址确定模块704用于将接收到的所述出错控制报文的源地址确定为所述其它转发设备的地址;所述地址确定模块704进一步记录所接收到的至少一个所述出错控制报文的源地址,其中,记录的至少一个所述源地址按照对应的出错控制报文的接收顺序排列;确定的所述业务流的路径为:所述转发设备记录的所述至少一个源地址对应的另一转发设备组成的路径。
在一个实施例中,当确定未针对所述业务流构造过探测报文时,所述构造模块701构造的所述探测报文的载荷携带本设备的地址;当确定已针对所述业务流构造过探测报文时,所述构造模块701构造的所述探测报文的载荷携带上一个探测报文的载荷携带的转发设备的地址以及针对上一个探测报文的出错控制报文的载荷携带的来源地址;所述转发设备的地址和所述来源地址按照预设的顺序排列;其中,本转发设备的地址位于构造的所述探测报文的载荷中的指定位置。这样,接收到所述探测报文的另一转发设 备从所述指定位置获取本转发设备的地址,并针对所述探测报文向本转发设备返回出错控制报文。
在一个实施例中,所述地址确定模块704将接收到的所述出错控制报文的载荷携带的源地址确定为所述另一转发设备的地址;所述确定所述业务流的路径为:所述转发设备最后一次构造并发送的探测报文的载荷携带的地址对应的转发设备组成的路径。
至此,完成图7所示的路径探测逻辑的结构描述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

  1. 一种路径探测方法,包括:
    第一转发设备针对业务流构造探测报文,所述探测报文的报文头包含的转发信息和所述业务流的报文头包含的转发信息相同;
    所述第一转发设备依据所述探测报文的报文头包含的转发信息转发所述探测报文;
    若在设定时间内接收到第二转发设备针对所述探测报文返回的出错控制报文,则所述第一转发设备
    确定所述第二转发设备的地址,并
    返回执行针对所述业务流构造探测报文的操作;
    若在所述设定时间内未接收到所述出错控制报文,则所述第一转发设备根据所述至少一个所述第二转发设备的地址确定所述业务流的路径。
  2. 根据权利要求1所述的方法,其特征在于,
    所述探测报文的报文头包括校验和,
    所述校验和配置为指示校验和错误的指定校验值,以使所述业务流的目的主机接收到所述探测报文时丢弃所述探测报文。
  3. 根据权利要求2所述的方法,其特征在于,
    所述探测报文的报文头包括互联网协议(IP)头部和传输层协议头部;
    所述校验和为所述传输层协议头部的字段;
    其中,所述IP头部包含的转发信息包括:源IP地址、目的IP地址、协议类型、差分服务代码点DSCP;
    所述传输层协议头部包含的转发信息包括:源端口号、目的端口号。
  4. 根据权利要求3所述的方法,其特征在于,所述探测报文的载荷携带本第一转发设备的地址,以使接收到所述探测报文的第二转发设备针对所述探测报文向本第一转发设备返回出错控制报文。
  5. 根据权利要求4所述的方法,其特征在于,所述确定的第二转发设备的地址为所述出错控制报文的源地址;
    该方法还包括:记录所述源地址,其中,记录的至少一个所述源地址按照对应的所述出错控制报文的接收顺序排列;
    确定的所述业务流的路径为:所述第一转发设备记录的所述至少一个源地址对应的第二转发设备组成的路径。
  6. 根据权利要求3所述的方法,其特征在于,
    当确定未针对所述业务流构造过探测报文时,构造的所述探测报文的载荷携带本设备的地址;
    当确定已针对所述业务流构造过另一探测报文时,构造的所述探测报文的载荷携带上一个探测报文的载荷携带的转发设备的地址以及针对上一个探测报文的出错控制报文的源地址,其中,所述源地址携带在所述上一个探测报文的出错控制报文的载荷中;所述上一个探测报文的载荷携带的转发设备的地址和所述源地址按照预设的顺序排列;
    其中,本第一转发设备的地址位于构造的所述探测报文的载荷中的指定位置,以使接收到所述探测报文的第二转发设备从所述指定位置获取本第一转发设备的地址,并针对所述探测报文向本第一转发设备返回出错控制报文。
  7. 根据权利要求6所述的方法,其特征在于,所述确定的所述第二转发设备的地址为针对所述探测报文的所述出错控制报文的源地址,所述源地址携带在针对所述探测报文的所述出错控制报文的载荷中;
    所述确定所述业务流的路径为:所述第一转发设备最后一次构造并发送的探测报文的载荷携带的地址对应的转发设备组成的路径。
  8. 一种转发设备,包括:
    处理器和机器可读存储介质,
    所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:
    针对业务流构造探测报文,所述探测报文的报文头包含的转发信息和所述业务流的报文头包含的转发信息相同;
    依据所述探测报文的报文头包含的转发信息转发所述探测报文;
    若在设定时间内接收到其他转发设备针对所述探测报文返回的出错控制报文,则确定所述其他转发设备的地址,并返回执行针对所述业务流构造探测报文的操作;
    若在所述设定时间内未接收到所述出错控制报文,则根据所述至少一个所述其他转发设备的地址确定所述业务流的路径。
  9. 根据权利要求8所述的转发设备,其特征在于,所述探测报文的报文头包括校验和,所述校验和配置为指示校验和错误的指定校验值,以使所述业务流的目的主机接收到所述探测报文时丢弃所述探测报文。
  10. 根据权利要求9所述的转发设备,其特征在于,所述探测报文的报文头包括互联网协议(IP)头部和传输层协议头部;
    所述校验和为所述传输层协议头部的字段;
    其中,所述IP头部包含的转发信息包括:源IP地址、目的IP地址、协议类型、差分服务代码点DSCP;
    所述传输层协议头部包含的转发信息包括:源端口号、目的端口号。
  11. 根据权利要求10所述的转发设备,其特征在于,所述探测报文的载荷携带本转发设备的地址,以使接收到所述探测报文的另一转发设备针对所述探测报文向本转发设备返回出错控制报文。
  12. 根据权利要求11所述的转发设备,其特征在于,
    确定的其他转发设备的地址为所述出错控制报文的源地址;
    所述处理器进一步被所述机器可执行指令促使:
    记录所述源地址,其中,记录的至少一个所述源地址按照对应的出错控制报文的接收顺序排列;
    确定的所述业务流的路径为:所述转发设备记录的所述至少一个源地址对应的另一转发设备组成的路径。
  13. 根据权利要求11所述的转发设备,其特征在于,
    当确定未针对所述业务流构造过探测报文时,构造的所述探测报文的载荷携带本设备的地址;
    当确定已针对所述业务流构造过另一探测报文时,构造的所述探测报文的载荷携带上一个探测报文的载荷携带的转发设备的地址以及针对上一个探测报文的出错控制报文的来源地址,其中,所述源地址携带在所述上一个探测报文的出错控制报文的载荷中;所述上一个探测报文的载荷携带的转发设备的地址和所述来源地址按照预设的顺序排列;
    其中,本第一转发设备的地址位于构造的所述探测报文的载荷中的指定位置,以使接收到所述探测报文的另一转发设备从所述指定位置获取本转发设备的地址,并针对所述探测报文向本转发设备返回出错控制报文。
  14. 根据权利要求13所述的转发设备,其特征在于,确定的其他转发设备的地址为针对所述探测报文的所述出错控制报文的源地址,所述源地址携带在针对所述探测报文的所述出错控制报文的载荷中;
    所述确定所述业务流的路径为:所述转发设备最后一次构造并发送的探测报文的载荷携带的地址对应的转发设备组成的路径。
  15. 一种机器可读存储介质,存储有机器可执行指令,在被网络设备的处理器调用和执行时,所述机器可执行指令促使所述处理器执行:
    针对业务流构造探测报文,所述探测报文的报文头包含的转发信息和所述业务流的报文头包含的转发信息相同;
    依据所述转发信息转发所述探测报文;
    若在设定时间内接收到其他转发设备针对所述探测报文返回的出错控制报文,则确定所述其他转发设备的地址,并返回执行针对所述业务流构造探测报文的操作;
    若在所述设定时间内未接收到所述出错控制报文,则根据所述至少一个所述其他转发设备的地址确定所述业务流的路径。
PCT/CN2018/081573 2017-03-31 2018-04-02 路径探测 Ceased WO2018177438A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/499,219 US11025535B2 (en) 2017-03-31 2018-04-02 Detecting path
EP18774481.8A EP3588873B1 (en) 2017-03-31 2018-04-02 Path detection
JP2019553826A JP6877572B2 (ja) 2017-03-31 2018-04-02 パス検出

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710209173.8 2017-03-31
CN201710209173.8A CN108259335B (zh) 2017-03-31 2017-03-31 路径探测方法和装置

Publications (1)

Publication Number Publication Date
WO2018177438A1 true WO2018177438A1 (zh) 2018-10-04

Family

ID=62721777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/081573 Ceased WO2018177438A1 (zh) 2017-03-31 2018-04-02 路径探测

Country Status (5)

Country Link
US (1) US11025535B2 (zh)
EP (1) EP3588873B1 (zh)
JP (1) JP6877572B2 (zh)
CN (1) CN108259335B (zh)
WO (1) WO2018177438A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495352B (zh) * 2018-12-27 2021-06-08 新华三技术有限公司 一种传输路径的确定方法和装置
CN113055238B (zh) * 2019-12-26 2023-02-03 深信服科技股份有限公司 一种网络探测方法、平台和计算机可读存储介质
US11496382B2 (en) * 2020-09-30 2022-11-08 Charter Communications Operating, Llc System and method for recording a routing path within a network packet
US12368630B2 (en) * 2020-11-23 2025-07-22 Capital One Services, Llc Identifying network issues in a cloud computing environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404597A (zh) * 2008-11-19 2009-04-08 华为技术有限公司 一种网络质量指标的获取方法、系统及装置
CN102340451A (zh) * 2011-09-28 2012-02-01 中兴通讯股份有限公司 一种跟踪路由测试方法、系统、装置及设备
CN102984232A (zh) * 2012-10-30 2013-03-20 西安电子科技大学 多跳网络中的实时流媒体传输协议栈
JP2016046697A (ja) * 2014-08-25 2016-04-04 日本電信電話株式会社 経路制御システムおよびその方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765931B1 (en) * 1999-04-13 2004-07-20 Broadcom Corporation Gateway with voice
US20060098586A1 (en) 2001-03-09 2006-05-11 Farrell Craig A Method and apparatus for application route discovery
US7454494B1 (en) * 2003-01-07 2008-11-18 Exfo Service Assurance Inc. Apparatus and method for actively analyzing a data packet delivery path
KR100639960B1 (ko) * 2003-12-03 2006-10-31 한국전자통신연구원 계층적 프리픽스 위임 방법 및 계층적 프리픽스 위임을위한 메시지 구조
US7596096B2 (en) 2004-04-29 2009-09-29 Avaya Inc Method and apparatus for providing trace route and timing information for media streams
US7738383B2 (en) 2006-12-21 2010-06-15 Cisco Technology, Inc. Traceroute using address request messages
US8116213B2 (en) * 2009-04-24 2012-02-14 Verizon Patent And Licensing Inc. Tracing routes and protocols
US9787570B2 (en) * 2012-10-17 2017-10-10 Verizon Patent And Licensing Inc. Dynamic feature peer network for application flows
WO2014186963A1 (zh) * 2013-05-23 2014-11-27 华为技术有限公司 业务路由系统、设备和方法
JP6063826B2 (ja) 2013-06-21 2017-01-18 エヌ・ティ・ティ・コムウェア株式会社 経路確認装置、経路確認システム、経路確認方法、及びプログラム
JPWO2014208538A1 (ja) * 2013-06-25 2017-02-23 日本電気株式会社 通信システムと装置と方法とプログラム
CN104468343B (zh) * 2013-09-25 2019-07-26 中兴通讯股份有限公司 报文处理方法、sdn转发设备以及sdn控制器
US9461877B1 (en) * 2013-09-26 2016-10-04 Juniper Networks, Inc. Aggregating network resource allocation information and network resource configuration information
CN104518967B (zh) * 2013-09-30 2017-12-12 华为技术有限公司 路由方法、设备和系统
CN105491670A (zh) * 2014-09-15 2016-04-13 华为技术有限公司 数据传输的方法和设备
CN106411820B (zh) * 2015-07-29 2019-05-21 中国科学院沈阳自动化研究所 一种基于sdn架构的工业通信流传输安全控制方法
US10205706B2 (en) * 2016-05-11 2019-02-12 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method for programmable network based encryption in software defined networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404597A (zh) * 2008-11-19 2009-04-08 华为技术有限公司 一种网络质量指标的获取方法、系统及装置
CN102340451A (zh) * 2011-09-28 2012-02-01 中兴通讯股份有限公司 一种跟踪路由测试方法、系统、装置及设备
CN102984232A (zh) * 2012-10-30 2013-03-20 西安电子科技大学 多跳网络中的实时流媒体传输协议栈
JP2016046697A (ja) * 2014-08-25 2016-04-04 日本電信電話株式会社 経路制御システムおよびその方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3588873A4 *

Also Published As

Publication number Publication date
EP3588873B1 (en) 2021-08-04
JP6877572B2 (ja) 2021-05-26
EP3588873A4 (en) 2020-02-26
CN108259335B (zh) 2020-09-08
EP3588873A1 (en) 2020-01-01
US11025535B2 (en) 2021-06-01
JP2020512785A (ja) 2020-04-23
CN108259335A (zh) 2018-07-06
US20200036627A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
JP7245288B2 (ja) ビットフォワーディングイングレスルータ、ビットフォワーディングルータ及び運用管理保守テスト方法
US9401858B2 (en) Loop avoidance during network convergence in switched networks
US11374863B2 (en) Segment routing extension headers
CN107171883B (zh) 检测转发表的方法、装置和设备
US10063464B2 (en) Protection switched source routing
WO2006096560A3 (en) System and methods for network reachability detection
EP3591899B1 (en) Path detection
US8427970B2 (en) Apparatus and method for determining a service interruption time measurement
CN106664244B (zh) 用于源路由网络的反向路径验证
US9985892B1 (en) System and method for providing congestion notification in layer 3 networks
CN104852826B (zh) 一种环路检测方法及装置
CN109379241A (zh) 一种路径信息确定方法及装置
WO2011144114A2 (zh) 探测路径信息的方法、设备及系统
US11025535B2 (en) Detecting path
US10003524B2 (en) Routing loop determining method and device
CN102752169B (zh) 传输监控方法及装置
US20210203593A1 (en) Multicast Fast Switching Method, Device and Equipment, and Storage Medium
CN115706707B (zh) 测量网络单向延迟的方法、装置、存储介质和电子设备
WO2019114779A1 (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: 18774481

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019553826

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018774481

Country of ref document: EP

Effective date: 20190927