WO2018113425A1 - 一种检测时延的方法、装置及系统 - Google Patents

一种检测时延的方法、装置及系统 Download PDF

Info

Publication number
WO2018113425A1
WO2018113425A1 PCT/CN2017/109375 CN2017109375W WO2018113425A1 WO 2018113425 A1 WO2018113425 A1 WO 2018113425A1 CN 2017109375 W CN2017109375 W CN 2017109375W WO 2018113425 A1 WO2018113425 A1 WO 2018113425A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
data packet
time
data
analysis server
Prior art date
Application number
PCT/CN2017/109375
Other languages
English (en)
French (fr)
Inventor
李先明
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018113425A1 publication Critical patent/WO2018113425A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a method, device, and system for detecting a time delay.
  • delay In a communication system, there may be a certain transmission delay (hereinafter referred to as delay) when two hosts exchange data packets through the switch. Since the delay can reflect the abnormal situation of the communication system, it can determine whether there is an abnormality in the communication system by detecting the delay between the data packets in the communication.
  • two hosts in the communication system pass through a plurality of switches (for example, switch S1, switch S2, switch S3, and switch in the communication system shown in FIG. 1).
  • S4 Forward the data packet in turn.
  • the data packet and the switch S4 sent by the host 1 received by the switch S1 ie, the switch directly connected to the host 1 can be respectively respectively.
  • the switch directly connected to the host 2 needs to mirror (ie, copy) the data packet forwarded to the host 2 to the analysis server 3, and the analysis server 3 determines the delay between the data switches in the four switches.
  • the switch S1 when receiving the data packet sent by the host 1, the switch S1 may mirror the data packet to the analysis server 3, and the analysis server 3 records the time T1 of receiving the data packet sent by the switch S1;
  • the switch S4 When the message arrives at the switch S4 through other switches in the communication system (ie, the switch S2 and the switch S3 shown in FIG. 1), the switch S4 can mirror the data packet to the analysis server 3, and the analysis server 3 records the reception.
  • the time T2 of the data message sent by the switch S4; the analysis server 3 uses the difference between T2 and T1 as the delay between the four switches of the data message.
  • the analysis server can only detect the delay of the data packet between the multiple switches, and the delay between the multiple switches can only reflect whether there is an abnormality in the communication system, it cannot It reflects the specific location of an abnormality in the communication system, so the method cannot accurately find the specific location of the abnormality in the communication system.
  • the present application provides a method, device and system for detecting a time delay, which can accurately find a specific location where an abnormality occurs in a communication system.
  • the present application provides a method of detecting a time delay.
  • the previous hop device, the next hop device, and the analysis server are three different devices.
  • the first time in the second data packet sent by the switch to the analysis server can accurately indicate the real time of the first data packet sent by the switch receiving the switch of the switch, and the switch sends the packet to the analysis server.
  • the second time in the second data packet can accurately represent the real time that the switch forwards the first data packet to the next hop device of the switch, thereby analyzing the first time in the second data packet sent by the server according to the switch.
  • the second time can accurately determine the delay of the first data packet in the switch, so that the specific location of the abnormality in the communication system can be accurately found according to the delay of the first data packet in the switch.
  • the second data packet generated by the switch further includes: indicating that the second data packet includes the first data packet, or the second data packet includes the first The first indication of a portion of the data message.
  • the switch in the process of generating the second data packet, may keep all the contents of the first data packet in the second data packet.
  • the switch may also reserve a part of the content of the first data packet in the second data packet.
  • the method for detecting the delay provided by the application may further include: the switch receiving the sending by the analysis server And a configuration command including the data flow information, where the configuration command is used to instruct the switch to provide information for detecting a delay of the data flow identified by the data flow information within the switch, wherein the first data packet belongs to the data flow.
  • the switch may start to obtain information for detecting the delay of the data flow identified by the data flow information in the configuration command in the switch according to the configuration command.
  • the data stream information includes quintuple information of the data stream.
  • the switch since the quintuple information of the data stream can uniquely identify a data stream, after the switch receives the configuration command sent by the analysis server, the switch can determine the data flow information identifier according to the data flow information in the configuration command. The data stream is obtained to obtain information for detecting the delay of the data stream inside the switch.
  • the method for detecting the delay provided by the application may further include: the switch adopts a network time protocol or a precision time protocol, The clock inside the switch is adjusted to the network clock.
  • each switch when the first data packet is forwarded by multiple switches in the communication system, each switch can adjust the internal clock to the network clock by using the above method, so that the internal clocks of multiple switches can be synchronized. . Therefore, the problem that the information provided by the multiple switches for detecting the delay of the first data packet between the multiple switches is inaccurate due to the out-of-synchronization of the internal clocks of the multiple switches may be avoided, that is, the clock-adjusted multiple
  • the information provided by the switch for detecting the delay of the first data packet between the multiple switches is more accurate, so that the analysis server can more accurately detect the first data packet in multiple switches according to the information provided by multiple switches. The delay between.
  • the present application provides a method of detecting a time delay.
  • the analyzing server receives the first time (that is, the time when the switch receives the first data packet sent by the last hop device) and the second time (that is, the switch forwards the first data packet to the next hop device) Second data message of time); and the analysis server root
  • the time delay of the first data packet inside the switch is determined according to the first time and the second time in the second data packet.
  • the first time in the second data packet sent by the switch received by the analysis server can accurately represent the real time of the first data packet sent by the switch receiving the switch of the switch, and the analysis server receives The second time in the second data packet sent by the switch can accurately indicate the real time that the switch forwards the first data packet to the next hop device of the switch, so that the analysis server sends the second data packet according to the switch.
  • the first time and the second time can accurately determine the delay of the first data packet in the switch, so that the specific location of the abnormality in the communication system can be accurately found according to the delay of the first data packet in the switch. .
  • the second data packet sent by the switch that is received by the analysis server is further configured to indicate that the second data packet includes the first data packet, or the second data.
  • the message includes first indication information of a portion of the first data message.
  • the method for detecting the delay provided by the application may further The configuration server sends a configuration command including data flow information to the switch, where the configuration command is used to instruct the switch to provide information for detecting a delay of the data flow identified by the data flow information within the switch.
  • the method for detecting the delay provided by the application may further include: determining, by the analysis server, that the delay in the switch needs to be detected.
  • the data stream (hereinafter referred to as the first data stream).
  • the analysis server may carry the data flow information indicating the data flow in the configuration command and send the information to the switch, and the switch may start acquiring the data according to the configuration command.
  • the method for detecting the delay may include: the analysis server determines, according to the sequence number of the data packet, the plurality of data packets received by the analysis server. Mirrored data packets of the same data packet sent by different switches.
  • the switch when the switch mirrors a specified data stream (for example, the foregoing first data stream) in the data stream passing through the switch to the analysis server, and the other transport layer between the hosts
  • the method for detecting the delay provided by the present application may include: analyzing the payload of the data packet according to the data packet (that is, in the data packet), when the data packet is forwarded by the user datagram protocol (UDP).
  • UDP user datagram protocol
  • the mirrored data packet of the same data packet sent by different switches is determined from the plurality of data packets received by the analysis server.
  • the analysis server can determine, from the plurality of data packets received by the foregoing method, which data packets are mirror data packets of the same data packet sent by different switches, and then according to the same datagram.
  • the mirrored data packet of the text determines the delay of the data packet in different switches, so as to determine the delay of the data stream in which the data packet is located, that is, the first data stream, is internal to different switches.
  • the analysis server may determine the delay of the data packet between different switches according to the mirrored data packet of the same data packet, thereby determining the data stream where the data packet is located (ie, the first data stream) ) between switch switches Delay.
  • the present application may include: the analyzing server determining the first data stream from the plurality of data streams according to the quintuple information of the first data stream.
  • the analysis server can determine the first data stream from the plurality of data streams by using the quintuple information of the first data stream (ie, by different switches)
  • the switch mirrors a specified data stream in the data stream of the switch to the analysis server, and analyzes the server.
  • the method for determining the mirrored data packet of the same data packet sent by the different switches determines the mirrored data packet of the same data packet sent by the different switches, and determines the image data according to the mirrored data packet of the same data packet.
  • the delay of the data packets in different switches to determine the delay of the data packets in which the data packets are located in different switches. Further, the analysis server may determine the delay of the data packet between different switches according to the mirrored data packet of the same data packet, thereby determining the delay between the data flows of the data packet between the switches. .
  • the application provides a switch, where the switch includes: a receiving module, a generating module, and a sending module.
  • the switch is capable of performing the methods of the first aspect described above and its various implementations.
  • the application provides an analysis server, where the analysis server includes: a receiving module and a determining module.
  • the analysis server is capable of performing the methods of the second aspect described above and its various implementations.
  • the application provides a switch, the switch comprising: a processor and a memory.
  • the memory is for storing computer program instructions, and when the switch is running, the processor executes the computer program instructions stored by the memory to cause the switch to perform any one of the first aspect and various alternative implementations thereof The method of detecting delay.
  • the present application provides a computer readable storage medium having one or more programs stored therein, the one or more programs including computer program instructions, when a processor of the switch executes the computer program instructions
  • the switch performs the method of detecting a delay as described in any one of the above first aspects and various alternatives thereof.
  • the present application provides a computer program comprising computer program instructions that, when executed by a switch, cause a switch to perform any of the first aspect described above and various alternatives thereof The method of detecting delays.
  • the application provides an analysis server, the analysis server comprising: a processor and a memory.
  • the memory is for storing computer program instructions, and when the analysis server is running, the processor executes the computer program instructions stored by the memory to cause the analysis server to perform the second aspect and various optional A method of detecting a delay as described in any one of the implementation modes.
  • the present application provides a computer readable storage medium having one or more programs stored therein, the one or more programs including computer program instructions, when the processor of the analysis server executes the computer program When instructed, the analysis server can implement the function of detecting delay as described in any of the second aspect and various alternatives thereof.
  • the application provides a computer program, the computer program comprising computer program instructions, when the computer program is executed by an analysis server, the analysis server can implement any one of the foregoing second aspects and various alternatives thereof The function of detecting the delay.
  • the present application provides a communication system, comprising: a host, an analysis server according to the above fourth aspect, and at least one switch according to the third aspect; or the communication system includes a host, such as The analysis server of the above eighth aspect and at least one switch as described in the fifth aspect above.
  • FIG. 1 is a schematic structural diagram of a communication system provided by the prior art
  • FIG. 2 is a schematic structural diagram of a communication system according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of hardware of an analysis server according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of hardware of a switch according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a method for detecting a delay according to an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram of another method for detecting a delay according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic diagram of still another method for detecting a delay according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a switch according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of another switch according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of an analysis server according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of another analysis server according to an embodiment of the present invention.
  • first and second and the like in the specification and claims of the present invention are used to distinguish different objects, and are not intended to describe a particular order of the objects.
  • first data message and the second data message are used to distinguish different data messages, instead of describing a specific order of data messages.
  • the words “exemplary” or “such as” are used to mean an example, illustration, or illustration. Any embodiment or design described as “exemplary” or “for example” in the embodiments of the invention should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the words “exemplary” or “such as” is intended to present the concepts in a particular manner.
  • a plurality means two or more unless otherwise indicated.
  • multiple switches refer to two or more switches.
  • Mirroring technology copying data packets received on an ingress port or data packets that meet the specified rules. To the target port, mirroring technology can be used for network supervision and fault detection.
  • Remote port mirroring refers to copying data packets received by one or more ports (incoming ports) of one device and forwarding them to one or more ports (target ports) of another specified device through the intermediate device, so that they can enter Data packets are copied and forwarded when the port and the destination port are not on the same device.
  • Switch It is an information relay station in the network.
  • the switch can send data packets received from one device to another device to complete the forwarding of data packets.
  • the switch may also be replaced by another network device having a data packet forwarding function, such as a router.
  • a router In order to describe the technical solutions of the embodiments of the present invention, the switch is taken as an example for exemplary description in the embodiments of the present invention.
  • an embodiment of the present invention provides a method, an apparatus, and a system for detecting a delay, which can detect a data flow inside a switch by using a mirroring technology (for example, remote port mirroring). Delay. Specifically, after the switch receives the first data packet (a data packet in the data stream), the switch adds the first time in the first data packet, that is, the switch receives the last hop device and sends the packet.
  • a mirroring technology for example, remote port mirroring
  • the switch Generating the second data packet by the time and the second time of the first data packet, that is, the time when the switch forwards the first data packet to the next hop device, and then the switch sends the second data to the analysis server
  • the packet determines, by the analysis server, the delay of the first data packet inside the switch according to the first time and the second time in the second data packet.
  • the previous hop device, the next hop device, and the analysis server are three different devices.
  • the first time in the second data packet sent by the switch to the analysis server can accurately represent that the switch receives the last hop device of the switch.
  • the real time of the first data packet, and the second time in the second data packet sent by the switch to the analysis server can accurately represent the real time when the switch forwards the first data packet to the next hop device of the switch. Therefore, the analysis server can determine the delay of the first data packet in the switch according to the first time and the second time in the second data packet sent by the switch, and can be accurately determined according to the delay inside each switch in the communication system. Find out the specific location of the abnormality in the communication system (for example, the specific location where the abnormality occurs in the communication system is one or several switches in the switch through which the first data packet passes).
  • the method and apparatus for detecting delay provided by the embodiments of the present invention can be applied to a communication system.
  • the communication system can include a host, an analysis server, and at least one switch in communication with the analysis server.
  • 2 is a schematic structural diagram of a communication system according to an embodiment of the present invention.
  • the communication system includes a host 10, a host 11, four switches (switches 12a, 12b, 12c, and 12d, respectively) and an analysis server 13.
  • the host 10 sends a data packet (for example, the first data packet) to the host 11, the host 10 can send the first data packet to the host 11 through different paths, that is, the host 10 can pass through at least one of the four switches.
  • the first data message is sent to the host 11.
  • the host 10 can send the first data message to the host 11 through path 1, path 2, path 3 or path 4.
  • the four paths can be:
  • Path 1 host 10 - switch 12a - switch 12b - switch 12c - switch 12d - host 11 (ie physical link A1 + physical link A + 2 physical link A3 + physical link A4 + physical link A5 as shown in Figure 2);
  • Path 2 host 10 - switch 12a - switch 12b - switch 12d - host 11 (ie physical link A1 + physical link A + 2 physical link A6 + physical link A5 as shown in Figure 2);
  • Path 3 host 10 - switch 12a - switch 12d - host 11 (ie physical link A1 + physical link A7 + physical link A5 as shown in Figure 2);
  • Path 4 Host 10 - Switch 12a - Host 11 (ie, Physical Link A1 + Physical Link A8 as shown in Figure 2).
  • each switch on the path 1 that is, the switch 12a, the switch 12b, the switch 12c or the switch 12d receives
  • the time for example, the first time
  • the time at which the first data packet sent by the last hop device is received is added to the first data packet.
  • the second data packet is generated by the next hop device forwarding the first data packet (for example, the second time), and then the second data packet is sent to the analysis server 13, and the analysis server 13 can
  • the first time and the second time in the received second data packet determine a delay of the first data packet inside the switch that sends the second data packet.
  • the analysis server 13 may further determine the delay between the two data switches according to the first time and the second time in the second data packet sent by any two switches on the path 1 .
  • the host provided by the embodiment of the present invention may be a server, a personal computer, or a mobile terminal.
  • the foregoing hop device may be a host or a switch, and the next hop device may also be a host or a switch.
  • the path 1 ie, the physical link A1 + the physical link A 2 + the physical link A 3 + the physical link A 4 + the physical link A 5
  • the switch 12 a the last hop device is the host 10
  • the next hop device is the switch 12b; for the switch 12b, the last hop device is the switch 12a, and the next hop device is the switch 12c; for the switch 12c, the last hop device is the switch 12b,
  • the next hop device is the switch 12d; for the switch 12d, the last hop device is the switch 12c, and the next hop device is the host 11.
  • path 1, path 2, path 3 and path 4 are merely illustrative.
  • the host 10 and the host 11 may also pass other paths (for example, the host 10 - the switch 12a - the switch 12c - the switch 12d - the host 11)
  • the formed path transmits the first data packet, which is not enumerated in the embodiment of the present invention.
  • the analysis server 13, the host 10, and the host 11 may be devices of the same structure or devices of different structures. It is assumed that the analysis server 13, the host 10, and the host 11 are devices of the same structure.
  • the hardware structure of each device involved in the embodiment of the present invention is described below by taking an analysis server as an example.
  • FIG. 3 is a schematic diagram of hardware of an analysis server according to an embodiment of the present invention.
  • the analysis server shown in FIG. 3 may include: a processor 20, a memory 21, and a communication interface 22.
  • the processor 20 is a core component of the analysis server and is used to run an application on the analysis server and an application on the analysis server (including system applications and third-party applications).
  • the processor 20 may be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application specific integrated circuit (English: application). -specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof, which may implement or perform embodiments of the present invention
  • CPU central processing unit
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • Memory 21 Program code and data for storing the analysis server.
  • the memory 21 may specifically include a volatile memory (English: volatile memory), such as a random access memory (RAM); the memory may also include a non-volatile memory. :non-volatile memory), such as read-only memory (ROM), flash memory (English: flash memory), hard disk (English: hard disk, HDD) or solid state drive (English: solid-state Disk, SSD); the memory may also include a combination of the above types of memory.
  • volatile memory such as a random access memory (RAM)
  • non-volatile memory such as read-only memory (ROM), flash memory (English: flash memory), hard disk (English: hard disk, HDD) or solid state drive (English: solid-state Disk, SSD); the memory may also include a combination of the above types of memory.
  • the communication interface 22 is used for analyzing an interface circuit for the server to communicate with other devices.
  • the communication interface may be a transceiver, a transceiver circuit, or the like having a transceiving function, and the communication interface includes a serial communication interface and a parallel communication interface.
  • FIG. 4 is a schematic diagram of hardware of a switch according to an embodiment of the present invention.
  • the switch shown in FIG. 4 may include components such as a processor 30, a memory 31, and an interface 32.
  • the various components of the switch are exemplarily described below.
  • the processor 30 is configured to forward data packets through the interface 32.
  • the processor 30 of the switch usually uses an ASIC chip to implement high-speed forwarding of data packets.
  • Memory 31 a configuration for storing a switch, an operating system, forwarding protocol software, and the like. There can be multiple memories in the switch, such as RAM, ROM, flash memory, and so on.
  • the ports in the switch may include a forwarding port and a control port.
  • the forwarding port is used by the switch to send and receive data packets.
  • the control port is used by the user or administrator to communicate with the switch through the terminal to complete the configuration of the switch.
  • the host 10 is connected to the host 11 through the path 1 (ie, physical link A1 + physical link A 2 + physical link A 3 + physical link A 4 + physical link A 5 as shown in FIG. 2 ).
  • the first data packet is sent as an example.
  • the delay of each switch in the first data packet on the path 1 can be detected. Therefore, the specific location of the abnormality in the communication system is found according to the delay of the first data packet in each switch on the path 1.
  • the specific location where the abnormality occurs in the communication system is the switch through which the first data packet passes. One or several switches in the system).
  • the delay of the first data packet in each switch on the path 1 is substantially the same.
  • the delay of the first data packet in a switch is large (for example, the delay of the first data packet in a switch is much longer than the delay of the first data packet in another switch).
  • the switch may be abnormal, that is, the specific location where the abnormality occurs in the communication system is the switch.
  • the number of switches used to forward data packets between two hosts depends on the path between the two hosts to forward the data packets. For example, in the communication system shown in FIG. 2, if the first data packet is forwarded between the host 10 and the host 11 through the path 1, the number of switches used by the host 10 and the host 11 to forward the first data packet is 4; if host 10 and host 11 forward first through path 2 Data packet, the number of switches used by the host 10 and the host 11 to forward the first data packet is three; if the host 10 and the host 11 forward the first data packet through the path 3, the host 10 and The number of switches for forwarding the first data packet between the hosts 11 is two. If the first data packet is forwarded between the host 10 and the host 11 through the path 4, the host 10 and the host 11 are used to forward the first data packet. The number of switches for a data packet is one.
  • the embodiment of the present invention may forward the first between the host 10 and the host 11 through a switch.
  • the data packet for example, the host 10 sends the first data packet to the host 11 through the path 4 (ie, the physical link A1 + the physical link A8 as shown in FIG. 2)) is used as an example to detect the delay provided by the embodiment of the present invention. The method is explained.
  • a certain data stream (for example, a data stream that needs to detect a delay inside the switch, which is hereinafter referred to as a first data stream) may be detected in a certain path in the communication system.
  • the delay inside each switch on the switch to find out the specific location of the abnormality in the communication system.
  • the switch can mirror the first data stream passing through the switch to the analysis server.
  • the switch may also mirror all data flows on a port of the switch (for example, a port that transmits the first data stream on the switch) to the analysis server, which is not limited in the embodiment of the present invention.
  • the method for detecting the delay provided by the embodiment of the present invention is described by using a switch to mirror the first data flow of the switch to the analysis server.
  • an embodiment of the present invention provides a method for detecting a time delay, and the method may include S101-S107.
  • the analysis server sends a configuration command to the switch.
  • the switch receives a configuration command sent by the analysis server.
  • the configuration command may include data flow information, where the configuration command may be used to instruct the switch to provide information for detecting a delay of the data flow (ie, the first data flow) identified by the data flow information within the switch.
  • the switch may start to obtain information for detecting the delay of the first data flow identified by the data flow information in the configuration command in the switch according to the configuration command.
  • the method for detecting a time delay provided by the embodiment of the present invention may also be applied to a process in which two hosts (for example, the first host and the second host) forward data packets through multiple switches.
  • the first host may sequentially send the first data stream to the second host by using multiple switches.
  • the analysis server first sends a configuration command to each of the plurality of switches, and then each switch respectively after the configuration command received by the switch Information indicating the delay of the first data stream inside the switch is provided under the indication of the configuration command.
  • the data stream information may include quintuple information of the first data stream, and the quintuple information of the first data stream may uniquely identify the first data stream.
  • the quintuple information is a source Internet Protocol (IP) address, a source port, a destination IP address, a destination port, and a transport layer protocol.
  • IP Internet Protocol
  • the first host sends a first data stream to the second host, where the first data stream is in the quintuple information.
  • the source IP address is A
  • the source port is B
  • the destination IP address is C
  • the destination port is D
  • the transport layer protocol is TCP.
  • the quintuple information can indicate that the first host with the IP address A is through port B.
  • the first data stream is sent to port D of the second host with the IP address C.
  • the quintuple information can uniquely identify a data stream.
  • the switch After the switch receives the configuration command sent by the analysis server, the switch can determine the data flow information identifier according to the data flow information in the configuration command.
  • the first data stream provides information to the analysis server for detecting the delay of the first data stream within the switch.
  • the delay of the first data stream in the switch may be determined by detecting the delay of the data packet in the first data stream.
  • the method for detecting the delay of the first data stream in the switch may be: determining that the first data stream is inside the switch by detecting a delay of the at least one data packet in the first data stream in the switch Delay.
  • the first host sends the first data stream to the second host through the switch.
  • the first host can send multiple data packets in the first data stream to the second host through the switch, so that the first host can pass the detection.
  • the delay of the at least one of the plurality of data packets in the switch determines the delay of the first data stream inside the switch.
  • the method for detecting the delay of each data packet in the switch is the same. Therefore, the embodiment of the present invention detects one of the plurality of data packets (for example, the first data packet).
  • the technical solution provided by the embodiment of the present invention is described by taking the delay in the switch as an example.
  • the switch receives the first data packet sent by the first host.
  • the switch receives the first data packet sent by the first host as one data packet in the first data stream sent by the first host to the switch, that is, the first data packet belongs to the first data stream.
  • the switch generates a second data packet by adding a first time and a second time in the first data packet.
  • the first time is the time when the switch receives the first data packet sent by the last hop device (ie, the first host) of the switch.
  • the second time is the time when the switch forwards the first data packet to the next hop device (ie, the second host) of the switch.
  • the switch can receive the first data packet sent by the first host by using the first port of the switch, and the switch can forward the first data packet to the second host by using the second port of the switch, the first port and the second port.
  • the port can be two different ports on the switch.
  • the switch after receiving the first data packet, forwards the first data packet to the second host to complete the first data packet. A transfer between a host and a second host.
  • the switch may also perform the method for detecting the delay provided by the embodiment of the present invention, for example, the switch receives the first After the first data packet is sent by the host, the second data packet can be generated by adding the first time and the second time in the first data packet, and the switch can send the third data packet to the analysis server through the third port of the switch. And the second data packet, so that the analysis server determines the delay of the first data packet inside the switch according to the first time and the second time in the second data packet.
  • the third port is a port on the switch that is different from the first port and the second port.
  • the switch on the path 1 includes the switch 12a, the switch 12b, the switch 12c, and the switch 12d
  • the switch 12a connected to the host 10 receives the first data packet sent by the host 10.
  • the switch 12b receives the first data packet forwarded by the switch 12a, and then forwards the first data packet.
  • the next hop device to the switch 12b that is, the switch 12c; and so on, until the switch 12d connected to the host 11 receives the first data message, and then the switch 12d forwards the first data message to the host. 11.
  • the forwarding of the first data packet is completed, that is, the first data packet is sent by the host 10 to the host 11.
  • the switch 12a, the switch 12b, the switch 12c, and the switch 12d on the path 1 perform the method for detecting the delay provided by the embodiment of the present invention. Specifically, the method for detecting the delay provided by the embodiment of the present invention performed by the switch 12a, the switch 12b, the switch 12c, and the switch 12d and the host 10 and the host 11 shown in FIG. 2 forward the first data through the path 4 The method for detecting the delay provided by the embodiment of the present invention performed by the switch 12a is the same.
  • the method for the switch to generate the second data packet by adding the first time and the second time in the first data packet may be: the switch passes the first datagram. The first time and the second time are added to the reserved field of the text to generate a second data message.
  • the switch may use the field of the specified length in the reserved field of the first data packet as the first time field, and then the switch receives the first data packet sent by the first host.
  • the time that is, the first time is written in the first time field; and the switch may use the field of the specified length in the reserved field of the first data message as the second time field, and then the switch forwards the first data to the second host.
  • the time of the message that is, the second time is written in the second time field. In this way, the switch can generate the second data packet by adding the first time and the second time in the first data packet.
  • the format of the second data packet generated by the switch in the embodiment of the present invention is exemplarily described below.
  • the MAC field includes a source access control (MAC) address and a destination MAC address of the second data packet, and the MAC address may also be referred to as a physical address of the device (for example, a host, etc.), which may be unique. Identify a device.
  • the IP field includes a source IP address and a destination IP address of the second data packet.
  • the GRE field includes the Generic Routing Encapsulation (GRE) protocol.
  • the GRE protocol encapsulates data packets of certain network layer protocols, such as the Internetwork Packet Exchange Protocol (IPx). To enable these encapsulated data messages to be transmitted over a network using another network layer protocol such as IP.
  • IPx Internetwork Packet Exchange Protocol
  • the ERSPAN Header field includes a packaged remote port mirroring header, and the ERSPAN Header is a field added by the switch to indicate related information of the second data packet when the first data packet is mirrored (ie, copied to the analysis server).
  • the Original Message field includes a first data message or a part of the first data message.
  • the length of the ERSPAN Header field may be divided according to usage requirements, and the present invention The examples are not specifically limited.
  • the V field indicates an encapsulation protocol of the second data packet.
  • the VLAN field indicates the network segment of the virtual local area network (VLAN) where the first data packet is located.
  • the COS field indicates the priority of the first data message.
  • the T field indicates whether the first data packet is truncated; wherein T indicates that the first data packet is not truncated, indicating that the first message packet includes the first data packet, and T indicates that the first data packet is truncated.
  • the above-mentioned Original Message field includes a part of the first data message.
  • the session ID field indicates the identifier of the data stream in which the second data packet is located, and is used to distinguish the data packets of the multiple data streams when the analysis server receives the data packets of the multiple data streams (for example, When there are five data flows in the delay of the switch, when the analysis server receives the data packets of the five data streams, the data packets of the five data streams can be divided into different ports of the analysis server for processing. .
  • the Ing Timestamp field includes the time when the switch receives the first data packet.
  • the Egr Timestamp field includes the time when the switch sends the first data packet.
  • the switch may add the first time in the first data packet (that is, the time when the switch receives the first data packet sent by the first host) and the second time.
  • the time at which the switch forwards the first data packet to the second host generates a second data packet.
  • the first data packet carries the first time and the second time.
  • the analysis server may use the first time in the second data packet. And determining, by the second time, a delay of the first data packet in the switch (specifically, a difference between the second time and the first time).
  • the switch sends a second data packet to the analysis server.
  • the second data packet is used to notify the analysis server of the first time and the second time.
  • the first time and the second time are used to determine the delay of the first data message inside the switch.
  • the time delay of the first data packet in the switch may be determined according to the first time and the second time in the second data packet.
  • the analysis server receives the second data packet.
  • the analysis server determines, according to the first time and the second time in the second data packet, a delay of the first data packet in the switch.
  • the analysis server may calculate a difference between the second time and the first time in the second data packet, and the second time and First time The difference is used as the delay of the first data packet inside the switch.
  • the second data packet carries an accurate first time (the time when the switch receives the first data packet sent by the first host) and the second time (the switch forwards the first data to the second host) The time of the packet, so the difference between the second time and the first time is the exact delay of the first data packet inside the switch.
  • the analysis server can determine the delay of the first data packet in the switch.
  • the first data packet belongs to the first data stream, that is, the first data packet is a data packet in the first data stream, so the analysis is performed.
  • the server can use the delay of the first data packet inside the switch as the delay of the first data stream inside the switch.
  • the host 10 shown in FIG. 2 can also send the first data packet to the host 11 through other paths (for example, the path 1, the path 2, or the path 3, etc.).
  • each switch on the path can determine the delay of the first data packet in the internal process by performing S101-S107, thereby determining the first The delay of the first data stream to which the data packet belongs.
  • the analysis server may further determine a delay of the at least two data packets of the plurality of data packets in the first data stream, and then perform the at least two datagrams.
  • the average value of the delay of each data packet in the switch is used as the delay of the first data stream inside the switch.
  • the switch may add the first time in the first data packet (that is, the switch receives the first data sent by the last hop device)
  • the second data packet is generated by the time of the packet and the second time (that is, the time when the switch forwards the first data packet to the next hop device), and then the switch sends the second data packet to the analysis server by the analysis server. Determining a delay of the first data packet inside the switch according to the first time and the second time in the second data packet.
  • the first time in the second data packet sent by the switch to the analysis server can accurately represent that the switch receives the first data packet sent by the last hop device of the switch.
  • the real time, and the second time in the second data packet sent by the switch to the analysis server can accurately represent the real time that the switch forwards the first data packet to the next hop device of the switch, so that the analysis server sends the packet according to the switch.
  • the first time and the second time in the second data packet can accurately determine the delay of the first data packet in the switch, so that the communication system can be accurately found according to the delay of the first data packet in the switch. The specific location where the exception occurred.
  • the switch 10 shown in FIG. 2 can send the first data packet to the host 11 through the path 1, the path 2, the path 3, or the path 4. If the switch 10 sends the first data packet to the host 11 through the path 1, the analysis server can determine the four switches of the first data packet on the path 1 (ie, the switch 12a, the switch 12b, and the switch 12c as shown in FIG. 2). And a delay internal to each of the switches 12d); and the analysis server can also determine a delay between the first data message between at least two of the four switches.
  • the analysis server can determine the three switches of the first data packet on the path 2 (ie, the switch 12a, the switch 12b, and the switch 12d shown in FIG. 2). The delay within each of the switches; and the analysis server can also determine the delay between the first data message between at least two of the three switches. If the switch 10 sends the first data packet to the host 11 through the path 3, the analysis server can determine that the first data packet is in the two switches on the path 3 (ie, the switch 12a and the switch 12d shown in FIG. 2). The delay inside each switch; and the analysis server can also determine the delay between the two data packets between the two switches. If switch 10 goes to path through path 4 The machine 11 sends a first data message, and the analysis server can determine the delay of the first data message inside a switch on the path 4 (ie, the switch 12a shown in FIG. 2).
  • the host 10 sends the first data packet to the host 11 through the path 1 as shown in FIG. 2.
  • the switch 12a receives the first data packet sent by the host 10, on the one hand, the switch 12a
  • the first data packet can be forwarded to the switch 12b.
  • the switch 12a can add the first time in the first data packet (the time when the switch 12a receives the first data packet sent by the host 10). And generating a second data packet with the second time (the time when the switch 12a forwards the first data packet to the switch 12b), and mirroring the second data packet to the analysis server.
  • the switch 12b can forward the first data packet to the switch 12c.
  • the switch 12b can pass the first data packet. Adding a first time (the time at which the switch 12b receives the first data message forwarded by the switch 12a) and a second time (the time at which the switch 12b forwards the first data message to the switch 12c) generates a second data message, and The second data packet is mirrored to the analysis server.
  • the analysis server can receive the second data message sent by the switch 12a, the switch 12b, the switch 12c, and the switch 12d, respectively. It is assumed that the first time and the second time in the second data packet sent by the analysis server to the switch 12a are respectively recorded as T 1-1 and T 1-2 , and the second data packet sent by the switch 12b is received.
  • the first time and the second time are respectively recorded as T 2-1 and T 2-2
  • the first time and the second time in the second data message sent by the receiving switch 12c are respectively recorded as T 3-1 and T 3 - 2
  • the first time and the second time in the second data packet sent by the switch 12d are respectively recorded as T 4-1 and T 4-2
  • the analysis server may determine that the first data message is inside the switch 12a.
  • the delay is T 1-2 -T 1-1
  • the delay of the first data packet in the switch 12b is T 2-2 -T 2-1
  • the delay of the first data packet in the switch 12c is T 3-2 -T 3-1
  • the delay of the first data packet in the switch 12a is T 4-2 -T 4-1
  • the delay of the first data packet between the switch 12a and the switch 12b is T 2-2 - T 1-1
  • the delay between the first data message between the switch 12a and the switch 12c ie, the switch 12a, the switch 12b, and the switch 12c
  • the delay between 12a to switch 12d i.e., switch 12a, switch 12b, switch 12c, and switch 12d
  • the switch if the switch mirrors the first data stream in the data stream of the switch to the analysis server, the switch receives each data packet in the first data stream.
  • a new time is generated by adding a first time (the time when the switch receives the data message sent by the first host) and the second time (the time when the switch forwards the data message to the second host) in each data packet.
  • the data packet is mirrored and the new data packet is mirrored to the analysis server.
  • the analysis server can receive multiple new data packets sent by the switch, so that the switch can mirror the data flow to the analysis server.
  • the switch 12a can add the first time in the data packet (the time when the switch 12a receives the data packet sent by the host 10) And a second time (the time at which the switch 12a forwards the data message to the switch 12d) generates a new data message and mirrors the new data message to the analysis server, so that the switch 12a can generate 50 new ones in sequence. Data message, and mirror the 50 new data messages to the analysis server.
  • the switch 12d may also add the first time in the data packet (the switch 12d receives the data packet sent by the switch 12a). Time) and the second time
  • the switch 12d forwards the data packet to the host 11 to generate a new data packet, and mirrors the new data packet to the analysis server, so that the switch 12d can generate 50 new data packets in sequence.
  • the 50 new data packets are mirrored to the analysis server. Therefore, the analysis server can receive 50 new data messages sent by the switch 12a and 50 new data messages sent by the switch 12d (specifically, the analysis server can receive the switch 12a separately by analyzing different ports on the server. 50 new data messages and 50 new data messages sent by switch 12d).
  • the analysis server can first determine 50 new data messages sent by the switch 12a and the switch 12d. Which of the 50 new data messages are mirrored data messages of the same data message (for example, the first data message in the first data stream) sent by different switches, and then according to the same The mirrored data packet of the data packet determines the delay of the data packet within the different switches, thereby determining the delay of the data stream (for example, the first data stream) in the data packet.
  • the analysis server may further determine the delay between the data switches according to the mirrored data packet of the same data packet (for example, when the data packet is determined between the switch 12a and the switch 12d) Delay) to determine the delay of the data stream in which the data packet is located between different switches.
  • the analysis server may determine the same sent by different switches through different methods.
  • a mirrored data packet of a data packet may be determined.
  • the method for the analysis server to determine the mirrored data packet of the same data packet sent by the different switch may be performed in step P1.
  • the analysis server determines the mirrored data packet of the same data packet sent by different switches according to the sequence number of the data packet.
  • the forwarded data packet carries a serial number indicating the data packet transmission sequence.
  • the serial number can uniquely identify a data message.
  • the switch after the switch receives the data packet, the switch does not change the data packet by adding the first time and the second time to generate a new data packet in the data packet.
  • the serial number that is, the serial number in the new data message is the same as the serial number in the data message, so the analysis server receives 50 new data messages and switches 12d sent by the switch 12a as shown in FIG. 2.
  • the sequence numbers in the 50 new data packets sent by the switch 12a and the 50 new data packets sent by the switch 12d can be compared, and the two serial numbers are the same.
  • the new data packet is determined as the mirrored data packet of the same data packet sent by the switch 12a and the switch 12d, for example, the mirrored data packet of the first data packet, that is, the second data packet.
  • the analysis server determines the mirror data packets of the same data packet sent by different switches.
  • the method can be implemented by step Q1:
  • the analysis server determines the mirrored data packet of the same data packet sent by different switches according to the payload of the data packet (that is, the portion of the data packet except the header).
  • the analysis server can compare the 50 sent by the switch 12a.
  • the payload of the new data message and the payload of the 50 new data messages sent by the switch 12d, and the two new data messages with the same payload are determined to be sent by the switch 12a and the switch 12d.
  • the mirrored data packet of the data packet is, for example, the mirrored data packet of the first data packet, that is, the second data packet.
  • the analysis server compares the payload of the 50 new data packets sent by the switch 12a with the payload of the 50 new data packets sent by the switch 12d.
  • the method may include: first, the analysis server extracts a summary of the payload of the 50 new data messages sent by the switch 12a and a summary of the payload of the 50 new data messages sent by the switch 12d, and then the analysis server can compare A summary of the payload of the 50 new data messages sent by the switch 12a and a summary of the payload of the 50 new data messages sent by the switch 12d, and the sum of the payloads of the data messages are identical to the two new ones.
  • the data packet is determined to be a mirrored data message of the same data packet sent by the switch 12a and the switch 12d.
  • the analysis server may specifically extract a summary of the payload of the data packet by using a message digest algorithm.
  • the analysis server may extract, by the message digest algorithm, a digest of the payload of the 50 new data messages sent by the switch 12a and a summary of the payload of the 50 new data messages sent by the switch 12d.
  • the method for determining the mirrored data packet of the same data packet sent by the different switch may be P1 or Q1, and may be determined according to a transport layer protocol used in the data packet transmission process.
  • the embodiment of the invention is not limited.
  • the switch when the switch mirrors all data flows on a port of the switch (for example, a port that transmits the first data stream on the switch) to the analysis server, the switch receives After each data packet in each of the data streams, the first time is added to the data packet (that is, the time when the switch receives the data packet sent by the last hop device) and The second time (that is, the time when the switch forwards the data packet to the next hop device) generates a new data packet, and mirrors the new data packet to the analysis server.
  • the analysis server can receive the switch. Multiple new data packets enable the switch to mirror these data streams to the analysis server.
  • switch 12a on path 3 can have a port of switch 12a (for example, switch 12a) All data streams on the port transmitting the first data stream are mirrored to the analysis server, and the switch 12d can mirror all the data streams on one port of the switch 12d (for example, the port on the switch 12d transmitting the first data stream) to the analysis server.
  • the analysis server can receive the plurality of data streams sent by the switch 12a and the plurality of data streams sent by the switch 12d.
  • the analysis server may first determine the first data stream (ie, the same data stream sent by different switches) from the plurality of data streams sent by the switch 12a and the plurality of data streams sent by the switch 12d, and the switch according to the above description will
  • the analysis server determines a method for mirroring data messages of the same data packet sent by different switches (for example, P1 or Q1 above) to determine that the data is sent by different switches.
  • the mirrored data packet of the same data packet, and the mirrored data packet of the same data packet is used to determine the delay of the data packet in different switches, thereby determining that the data stream in which the data packet is located is on a different switch. Internal delay.
  • the analysis server may determine the delay of the data packet between different switches according to the mirrored data packet of the same data packet (for example, the delay between the data packet and the switches 12a and 12d may be determined. ) to determine the number of the data message According to the delay between streams flowing between different switches.
  • the method for determining the first data stream from the plurality of data streams sent by the analysis server from the switch 12a and the plurality of data streams sent by the switch 12d may be implemented by using the step R1:
  • the analysis server determines the first data stream from the plurality of data streams according to the quintuple information of the first data stream.
  • the first data stream can be determined from the plurality of data streams by the quintuple information of the first data stream.
  • the analysis server may determine the first data stream from the plurality of data streams sent by the switch 12a by comparing the quintuple information of the first data stream with the quintuple information of the plurality of data streams sent by the switch 12a.
  • the analysis server can determine the first data stream from the plurality of data streams sent by the switch 12d by comparing the quintuple information of the first data stream with the quintuple information of the plurality of data streams sent by the switch 12d.
  • the switch can add the first time in the first data packet (that is, the time when the switch receives the first data packet sent by the last hop device) and the second time (ie, the switch is down.
  • the switch in the process of generating the second data packet, may keep all the contents of the first data packet in the second data packet.
  • the switch may also reserve part of the content of the first data message in the second data message.
  • the second data packet provided by the embodiment of the present invention further The first indication information may be included.
  • the first indication information may be used to indicate that the second data message includes the first data message, or the second data message includes a part of the first data message.
  • S104a may be specifically implemented by using S104a:
  • the switch generates a second data packet by adding a first time, a second time, and first indication information to the first data packet.
  • the switch may generate the second data packet by adding the first time and the first indication information to the first data packet that is received by the switch.
  • the second data packet generated by the switch may include the first time, the second time, the first indication information, and the first datagram.
  • the switch sends a second data packet including the first data packet to the analysis server; and when the first indication information indicates that the second data packet includes a part of the first data packet, the switch generates the first
  • the second data packet may include the first time, the second time, the first indication information, and a part of the content of the first data packet, and thus, the exchange
  • the machine sends a second data message including a portion of the first data message to the analysis server.
  • the analysis server may instruct the switch to send the content of the specified length in the first data packet (for example, a part of the first data packet) to the analysis server.
  • the analysis server may carry the specified length in the configuration command sent by the analysis server to the switch, so that after the switch receives the configuration command, the switch may generate the second data packet according to the configuration command.
  • the specified length, the content of the specified length in the first data packet is retained in the second data packet, and the generated second data packet is sent to the analysis server.
  • the second data packet when the second data packet includes a part of the first data packet, the second data packet may include all headers and partial payloads of the first data packet (the data packet is composed of a header and a payload) Or the second data message may include a partial header and a partial payload of the first data message, or the second data message may include a header of the first data message.
  • the method for detecting a delay provided by the embodiment of the present invention may further include:
  • the switch uses a network time protocol or a precision time protocol to adjust the clock inside the switch to a network clock.
  • each switch of the multiple switches when one host of the communication system forwards data packets to another host through multiple switches, each switch of the multiple switches receives each configuration command sent by the analysis server, and each switch first
  • the internal clock of the switch can be adjusted to the network clock by using a network time protocol or a precision time protocol, so that the internal clock of each switch is kept synchronized with the network clock, and then each switch starts to acquire the first data for detecting. Information about the delay between packets in multiple switches.
  • the clocks of the multiple switches are all adjusted to the network clock, that is, the internal clocks of the multiple switches can be synchronized, it is possible to prevent multiple switches from being provided for detection due to the internal clocks of multiple switches being out of synchronization.
  • the information is more accurate, enabling the analysis server to more accurately detect the latency of the first data message between multiple switches based on information provided by multiple switches.
  • the embodiment of the present invention may not limit the execution order of S103 and S108. That is, in the embodiment of the present invention, S103 may be performed first, and then S108 may be performed; S108 may be performed first, then S103 may be performed; and S103 and S108 may be simultaneously executed.
  • the method for detecting the delay provided by the embodiment of the present invention may further include:
  • the analysis server determines the first data stream.
  • the analysis server may determine any one of the plurality of data streams transmitted between the host 10 (ie, the first host) and the host 11 (ie, the second host) as shown in FIG. 2 as the first a data stream, and then carrying the data stream information of the first data stream in a configuration command and sent to the switch, where the switch provides the first data stream for detecting the number of the stream information identifier on the switch under the instruction of the configuration command Internal delay information.
  • the method for the analysis server to determine the first data stream may be W1, W2, or W3:
  • the analysis server determines any one of the plurality of data streams transmitted between the first host and the second host as the first data stream.
  • the analysis server may determine the data flow on the abnormal port in the switch as the first data flow according to the network status.
  • the analysis server can learn the threshold alarm or packet loss alarm, and then analyze The server can determine each data stream on the port of the switch as the first data stream, so that the analysis server can determine which of the data streams by detecting the delay of each data stream on the port inside the switch.
  • the data flow is affected by the threshold alarm or the packet loss alarm. For example, if the analysis server determines that the delay of one of the data flows in the switch is much longer than the delay of other data flows in the switch, The analysis server can determine that the data flow is affected by the threshold alarm or the packet loss alarm.
  • the analysis server determines the faulty data stream as the first data stream.
  • the analysis server may occur.
  • the data stream of the fault is determined to be the first data stream.
  • the analysis server may determine the first data stream by using any one of the foregoing methods W1 and W3. Specifically, the method for determining the first data stream may be selected according to actual usage requirements. The embodiment is not limited.
  • the first time in the second data packet sent by each switch to the analysis server in the path of transmitting the first data packet in the communication system can accurately indicate that the switch receives the switch.
  • the real time of the first data packet sent by the one-hop device, and the second time in the second data packet sent by the switch to the analysis server can accurately indicate that the switch forwards the first to the next hop device of the switch.
  • the real time of the data packet so that the analysis server can accurately determine the delay of the first data packet in each switch according to the first time and the second time in the second data packet sent by each switch, so that Determining the specific location of the abnormality in the communication system according to the delay of the first data packet in each switch (for example, the specific location where the abnormality occurs in the communication system is in the switch on the path for transmitting the first data packet) One or several switches).
  • the analyzing server determines the time between the at least two switches on the path according to the first time and the second time in the second data packet respectively sent by each switch on the path of transmitting the first data packet The extension is also more accurate.
  • the embodiment of the present invention may divide the function module or the function unit into the switch and the analysis server according to the foregoing method example.
  • each function module or function unit may be divided according to each function, or two or more functions may be integrated in the function.
  • a module The above integrated modules can be implemented in the form of hardware or in the form of software functional modules or functional units.
  • the division of a module or a unit in the embodiment of the present invention is schematic, and is only a logical function division. In actual implementation, there may be another division manner.
  • FIG. 8 is a schematic structural diagram of a switch involved in the foregoing embodiment.
  • the switch includes a receiving module 40, a generating module 41, a sending module 42, and an adjusting module 43.
  • the receiving module 40 is configured to support the switch to perform S102 and S103 in the foregoing method embodiments.
  • the generating module 41 is configured to support the switch to execute S104 (including S104a) in the foregoing method embodiment.
  • the sending module 42 is configured to support the switch to perform the foregoing method embodiment. S105.
  • the adjustment module 43 is configured to support the switch to perform S108 in the foregoing method embodiment. All related content of each step involved in the foregoing method embodiment may be referred to a functional description of the corresponding function module.
  • FIG. 9 shows a possible structural diagram of the switch involved in the above embodiment.
  • the switch includes a processing module 51 and a communication module 52.
  • the processing module 51 is configured to control and manage the actions of the switch.
  • the processing module 51 is configured to support the switch to perform S104 (including S104a) and S108 in the foregoing method embodiments, and/or other processes for the techniques described herein.
  • the communication module 52 is configured to support the switch to execute S102, S103, and S105 in the foregoing method embodiments.
  • the switch may further include a storage module 50 for storing program codes and data of the switch.
  • the processing module 51 may be a processor or a controller in the switch, and the processor or controller may be the processor 30 in the switch shown in FIG. 4, and the processor or controller may implement or perform the combination.
  • the various exemplary logical blocks, modules and circuits described in the present disclosure may be a processor or a controller in the switch, and the processor or controller may be the processor 30 in the switch shown in FIG. 4, and the processor or controller may implement or perform the combination.
  • the communication module 52 can be a transceiver, a transceiver circuit or a communication interface in the switch, and the transceiver, the transceiver circuit or the communication interface, etc. can be the interface 32 in the switch shown in FIG. 4 above.
  • the storage module 50 may be a memory or the like in the switch, which may be the memory 31 in the switch as shown in FIG. 4 described above.
  • the embodiment of the present invention further provides a computer readable storage medium, where the computer readable storage medium stores one or more programs, and the one or more programs include computer program instructions when the processor of the switch executes the computer program instructions.
  • the switch performs the steps performed by the switch in the method flow shown in the foregoing method embodiment.
  • the embodiment of the present invention provides a computer program, which includes computer program instructions, when the computer program is executed by a switch, so that the switch can execute the steps performed by the switch in the method flow shown in the foregoing method embodiment.
  • FIG. 10 is a schematic structural diagram of an analysis server involved in the foregoing embodiment.
  • the analysis server includes a sending module 60, a receiving module 61, and a determining module 62.
  • the sending module 60 is configured to support the analyzing server to execute S101 in the foregoing method embodiment.
  • the receiving module 61 is configured to support the analysis server to execute S106 in the foregoing method embodiment.
  • the determining module 62 is configured to support the analysis server to execute S107 and S100 in the above method embodiment. All relevant content of each step involved in the foregoing method embodiments may be referred to a functional description of the corresponding functional module.
  • FIG. 11 shows a possible structural diagram of the analysis server involved in the above embodiment.
  • the analysis server includes a processing module 71 and a communication module 72.
  • the processing module 71 is configured to control and manage the actions of the analysis server.
  • the processing module 71 is configured to support the analysis server to execute S107 and S100 in the above method embodiments, and/or other processes for the techniques described herein.
  • the communication module 72 is configured to support the analysis server to execute S101 and S106 in the above method embodiment.
  • the analysis server may further include a storage module 70 for storing program codes and data of the analysis server.
  • the processing module 71 may be a processor or a controller in the analysis server, and the processor or controller may be the processor 20 in the analysis server shown in FIG. 3, and the processor or controller may implement or Various exemplary logical blocks, modules and circuits are described in connection with the present disclosure.
  • the communication module 72 may be a transceiver, a transceiver circuit or a communication interface in the analysis server, and the transceiver, the transceiver circuit or the communication interface, etc. may be the communication interface 22 in the analysis server shown in FIG. 3 above.
  • the storage module 70 may be a memory or the like in the analysis server, which may be the memory 21 in the analysis server shown in FIG. 3 described above.
  • the embodiment of the invention further provides a computer readable storage medium, wherein the computer readable storage medium stores one or more programs, and the one or more programs include computer program instructions, when the processor of the analysis server executes the computer program instructions
  • the analysis server is capable of implementing the functions of the analysis server in performing the various steps in the method flow shown in the foregoing method embodiment.
  • the embodiment of the present invention provides a computer program, where the computer program includes computer program instructions, when the computer program is executed by the analysis server, the analysis server can implement the steps of the method execution in the method flow shown in the foregoing method embodiment. Has the function.

Landscapes

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

Abstract

本发明实施例提供一种检测时延的方法、装置及系统,涉及通信技术领域,能够准确地找出通信系统中发生异常的具体位置。交换机接收上一跳设备发送的第一数据报文。该交换机通过在该第一数据报文中添加第一时间和第二时间生成第二数据报文。该第一时间为该交换机接收该上一跳设备发送的该第一数据报文的时间,该第二时间为该交换机向下一跳设备转发该第一数据报文的时间。该交换机向分析服务器发送该第二数据报文,该分析服务器和该下一跳设备为不同的设备。该分析服务器收到该第二数据报文后,该分析服务器根据该第一时间和该第二时间确定该第一数据报文在该交换机内部的时延。

Description

一种检测时延的方法、装置及系统
本申请要求于2016年12月19日提交中国专利局、申请号为201611180806.9、发明名称为“一种检测时延的方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种检测时延的方法、装置及系统。
背景技术
在通信系统中,两个主机之间通过交换机转发数据报文时可能会存在一定的传输时延(以下均简称为时延)。由于时延能够反映通信系统的异常情况,因此可以通过检测数据报文在交换机之间的时延来确定通信系统中是否存在异常。
假设通信系统中的两个主机(例如图1所示的通信系统中的主机1和主机2)通过多个交换机(例如图1所示的通信系统中的交换机S1、交换机S2、交换机S3和交换机S4)依次转发数据报文。当检测数据报文在如图1所示的四个交换机之间的时延时,可以分别将交换机S1(即与主机1直接连接的交换机)接收的主机1发送的该数据报文和交换机S4(即与主机2直接连接的交换机)需转发给主机2的该数据报文镜像(即复制)到分析服务器3,由分析服务器3确定该数据报文在这四个交换机之间的时延。具体的,交换机S1接收到主机1发送的数据报文时,可以将该数据报文镜像到分析服务器3,由分析服务器3记录其接收交换机S1发送的该数据报文的时间T1;当该数据报文依次经过通信系统中的其他交换机(即如图1所示的交换机S2和交换机S3)到达交换机S4时,交换机S4可以将该数据报文镜像到分析服务器3,由分析服务器3记录其接收交换机S4发送的该数据报文的时间T2;然后分析服务器3将T2与T1的差值作为该数据报文在这四个交换机之间的时延。
然而,上述方法中,由于分析服务器只能检测到数据报文在多个交换机之间的时延,而该多个交换机之间的时延只能反映出通信系统中是否存在异常,其并不能反映通信系统中发生异常的具体位置,因此该方法无法准确地找出通信系统中发生异常的具体位置。
发明内容
本申请提供一种检测时延的方法、装置及系统,能够准确地找出通信系统中发生异常的具体位置。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种检测时延的方法。交换机接收上一跳设备发送的第一数据报文;并且该交换机通过在该第一数据报文中添加第一时间(即该交换机接收该上一跳设备发送的该第一数据报文的时间)和第二时间(即该交换机向下一跳设备转发该第一数据报文的时间)生成第二数据报文;以及该交换机向分析服务器发送用于通知该分析服务器该第一时间和该第二时间的第二数据报文,从而由该分析服务器根据该第一时 间和第二时间确定该第一数据报文在该交换机内部的时延。其中,该上一跳设备、该下一跳设备和该分析服务器为三个不同的设备。
本申请中,由于交换机发送给分析服务器的第二数据报文中的第一时间能够准确地表示交换机接收交换机的上一跳设备发送的第一数据报文的真实时间,且交换机发送给分析服务器的第二数据报文中的第二时间能够准确地表示交换机向交换机的下一跳设备转发第一数据报文的真实时间,从而分析服务器根据交换机发送的第二数据报文中的第一时间和第二时间可以准确地确定第一数据报文在交换机内部的时延,如此可以根据第一数据报文在交换机内部的时延准确地找出通信系统中发生异常的具体位置。
在第一方面的第一种可选的实现方式中,上述交换机生成的第二数据报文还包括用于指示第二数据报文包括第一数据报文,或者第二数据报文包括第一数据报文的一部分的第一指示信息。
本申请中,交换机在生成第二数据报文的过程中,交换机可以将第一数据报文的全部内容均保留在第二数据报文中。当然,为了节省交换机与分析服务器之间的传输资源,交换机也可以将该第一数据报文的一部分内容保留在第二数据报文中。
在第一方面的第二种可选的实现方式中,上述交换机接收上一跳设备发送的第一数据报文之前,本申请提供的检测时延的方法还可以包括:交换机接收分析服务器发送的包括数据流信息的配置命令,该配置命令用于指示交换机提供用于检测数据流信息标识的数据流在交换机内部的时延的信息,其中,上述第一数据报文属于该数据流。
本申请中,交换机接收到分析服务器发送的配置命令后,交换机可以根据该配置命令开始获取用于检测该配置命令中的数据流信息标识的数据流在交换机内部的时延的信息。
在第一方面的第三种可选的实现方式中,上述数据流信息包括数据流的五元组信息。
本申请中,由于数据流的五元组信息可以唯一标识一个数据流,如此,当交换机接收到分析服务器发送的配置命令后,交换机可以根据该配置命令中的数据流信息确定该数据流信息标识的数据流,从而获取用于检测该数据流在交换机内部的时延的信息。
在第一方面的第四种可选的实现方式中,上述交换机接收分析服务器发送的配置命令之后,本申请提供的检测时延的方法还可以包括:交换机采用网络时间协议或精密时间协议,将交换机内部的时钟调整为网络时钟。
本申请中,当通信系统中通过多个交换机转发第一数据报文时,由于每个交换机都可以采用上述方法将其内部的时钟调整为网络时钟,因此可以保证多个交换机的内部时钟保持同步。如此可以避免由于多个交换机内部时钟不同步而造成多个交换机提供的用于检测第一数据报文在多个交换机之间的时延的信息不准确的问题,即经过时钟调整后的多个交换机提供的用于检测第一数据报文在多个交换机之间的时延的信息更加准确,从而使得分析服务器能够根据多个交换机提供的信息更加准确地检测第一数据报文在多个交换机之间的时延。
第二方面,本申请提供一种检测时延的方法。分析服务器接收交换机发送的包括第一时间(即该交换机接收上一跳设备发送的第一数据报文的时间)和第二时间(即该交换机向下一跳设备转发该第一数据报文的时间)的第二数据报文;并且该分析服务器根 据该第二数据报文中的该第一时间和该第二时间确定该第一数据报文在该交换机内部的时延。
本申请中,由于分析服务器接收到的交换机发送的第二数据报文中的第一时间能够准确地表示交换机接收交换机的上一跳设备发送的第一数据报文的真实时间,且分析服务器接收到的交换机发送的第二数据报文中的第二时间能够准确地表示交换机向交换机的下一跳设备转发第一数据报文的真实时间,从而分析服务器根据交换机发送的第二数据报文中的第一时间和第二时间可以准确地确定第一数据报文在交换机内部的时延,如此可以根据第一数据报文在交换机内部的时延准确地找出通信系统中发生异常的具体位置。
在第二方面的第一种可选的实现方式中,上述分析服务器接收的交换机发送的第二数据报文中还包括用于指示第二数据报文包括第一数据报文,或者第二数据报文包括第一数据报文的一部分的第一指示信息。
在第二方面的第二种可选的实现方式中,在上述分析服务器接收交换机发送的包括第一时间和第二时间的第二数据报文之前,本申请提供的检测时延的方法还可以包括:分析服务器向交换机发送包括数据流信息的配置命令,该配置命令用于指示交换机提供用于检测该数据流信息标识的数据流在交换机内部的时延的信息。
在第二方面的第三种可选的实现方式中,在上述分析服务器向交换机发送配置命令之前,本申请提供的检测时延的方法还可以包括:分析服务器确定需要检测在交换机内部的时延的数据流(以下均称为第一数据流)。
本申请中,分析服务器确定出第一数据流之后,分析服务器可以将能够指示该数据流的数据流信息携带在配置命令中发送给交换机,进而交换机可以根据该配置命令开始获取用于检测该数据流信息指示的数据流在交换机内部的时延的信息。
在第二方面的第四种可选的实现方式中,当交换机将经过交换机的数据流中一个指定的数据流(例如上述第一数据流)镜像到分析服务器,且主机之间通过传输控制协议(英文:Transmission Control Protocol,TCP)转发数据报文时,本申请提供的检测时延的方法可以包括:分析服务器根据数据报文的序列号,从分析服务器接收的多个数据报文中确定由不同交换机发送的同一个数据报文的镜像数据报文。
在第二方面的第五种可选的实现方式中,当交换机将经过交换机的数据流中一个指定的数据流(例如上述第一数据流)镜像到分析服务器,且主机之间通过其他传输层协议,例如用户数据报协议(英文:User Datagram Protocol,UDP),转发数据报文时,本申请提供的检测时延的方法可以包括:分析服务器根据数据报文的净荷(即数据报文中除报头之外的部分),从分析服务器接收的多个数据报文中确定由不同交换机发送的同一个数据报文的镜像数据报文。
本申请中,分析服务器通过上述方法可以从其接收到的多个数据报文中确定哪些数据报文是由不同交换机发送的同一个数据报文的镜像数据报文,然后再根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机内部的时延,从而确定该数据报文所在的数据流(即上述第一数据流)在不同交换机内部的时延。进一步的,分析服务器还可以根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机之间的时延,从而确定该数据报文所在的数据流(即上述第一数据流)在交换机交换机之间的时 延。
在第二方面的第六种可选的实现方式中,当交换机将该交换机的某一个端口(例如交换机上传输上述第一数据流的端口)上的所有数据流镜像到分析服务器时,本申请提供的检测时延的方法可以包括:分析服务器根据该第一数据流的五元组信息,从多个数据流中确定该第一数据流。
本申请中,由于数据流的五元组信息可以唯一标识一个数据流,因此分析服务器可以通过第一数据流的五元组信息从多个数据流中确定该第一数据流(即由不同交换机发送的同一个数据流),并按照上述第二方面的第四种或者第五种可选的实现方式中的交换机将经过交换机的数据流中一个指定的数据流镜像到分析服务器时,分析服务器确定由不同交换机发送的同一个数据报文的镜像数据报文的方法确定由不同交换机发送的同一个数据报文的镜像数据报文,且根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机内部的时延,从而确定该数据报文所在的数据流在不同交换机内部的时延。进一步的,分析服务器还可以根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机之间的时延,从而确定该数据报文所在的数据流在交换机之间的时延。
第三方面,本申请提供一种交换机,该交换机包括:接收模块、生成模块和发送模块。该交换机能够执行上述第一方面及其各实现方式中的方法。
第三方面的技术效果可以参见上述对第一方面及其各种可选实现方式的技术效果的相关描述。
第四方面,本申请提供一种分析服务器,该分析服务器包括:接收模块和确定模块。该分析服务器能够执行上述第二方面及其各实现方式中的方法。
第四方面的技术效果可以参见上述对第二方面及其各种可选实现方式的技术效果的相关描述。
第五方面,本申请提供一种交换机,该交换机包括:处理器和存储器。其中,存储器用于存储计算机程序指令,当该交换机运行时,处理器执行该存储器存储的该计算机程序指令,以使该交换机执行第一方面及其各种可选的实现方式中任意之一所述的检测时延的方法。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机程序指令,当该交换机的处理器执行该计算机程序指令时,该交换机执行上述第一方面及其各种可选方式中任意之一所述的检测时延的方法。
第七方面,本申请提供一种计算机程序,该计算机程序包括计算机程序指令,当该计算机程序被交换机执行时,使得交换机可以执行上述第一方面及其各种可选方式中任意之一所述的检测时延的方法。
第五方面、第六方面和第七方面的技术效果可以参见上述对第一方面及其各种可选的实现方式的技术效果的相关描述。
第八方面,本申请提供一种分析服务器器,该分析服务器包括:处理器和存储器。其中,存储器用于存储计算机程序指令,当该分析服务器运行时,处理器执行该存储器存储的该计算机程序指令,以使该分析服务器执行第二方面及其各种可选的 实现方式中任意之一所述的检测时延的方法。
第九方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机程序指令,当该分析服务器的处理器执行该计算机程序指令时,该分析服务器可以实现第二方面及其各种可选方式中任意之一所述的检测时延的功能。
第十方面,本申请提供一种计算机程序,该计算机程序包括计算机程序指令,当该计算机程序被分析服务器执行时,该分析服务器可以实现上述第二方面及其各种可选方式中任意之一所述的检测时延的功能。
第八方面、第九方面和第十方面的技术效果可以参见上述对第二方面及其各种可选的实现方式的技术效果的相关描述。
第十一方面,本申请提供一种通信系统,该通信系统包括主机、如上述第四方面所述的分析服务器和至少一个如上述第三方面所述的交换机;或者该通信系统包括主机、如上述第八方面中所述的分析服务器和至少一个如上述第五方面中所述的交换机。
附图说明
图1为现有技术提供的一种通信系统的架构示意图;
图2为本发明实施例提供的一种通信系统的架构示意图;
图3为本发明实施例提供的一种分析服务器的硬件示意图;
图4为本发明实施例提供的一种交换机的硬件示意图;
图5为本发明实施例提供的一种检测时延的方法示意图;
图6为本发明实施例提供的另一种检测时延的方法示意图;
图7为本发明实施例提供的再一种检测时延的方法示意图;
图8为本发明实施例提供的一种交换机的结构示意图;
图9为本发明实施例提供的另一种交换机的结构示意图;
图10为本发明实施例提供的一种分析服务器的结构示意图;
图11为本发明实施例提供的另一种分析服务器的结构示意图。
具体实施方式
本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一数据报文和第二数据报文等是用于区别不同的数据报文,而不是用于描述数据报文的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个交换机是指两个或两个以上的交换机。
下面首先对本发明实施例涉及的一些概念进行解释说明。
镜像技术:是指将一个入端口上接收的数据报文或者符合指定规则的数据报文复制 到目标端口,采用镜像技术,可以进行网络监管和故障检测。
远程端口镜像:是指将一个设备的一个或多个端口(入端口)接收的数据报文复制并通过中间设备转发到另一个指定设备的一个或多个端口(目标端口),从而可以在入端口和目标端口不在同一个设备上的情况下,实现数据报文的复制和转发。
交换机:是网络中的信息中转站,交换机可以将其从一个设备上接收到的数据报文发送个另一个设备,从而完成数据报文的转发。
需要说明的是,本发明实施例中,交换机还可以被替换为路由器等其他具有数据报文转发功能的网络设备。为了描述清楚本发明实施例的技术方案,本发明实施例中均以交换机为例进行示例性的说明。
为了准确地找出通信系统中发生异常的具体位置,本发明实施例提供一种检测时延的方法、装置及系统,可以通过镜像技术(例如远程端口镜像)检测一个数据流在交换机内部的时延。具体的,交换机接收到第一数据报文(该数据流中的一个数据报文)后,该交换机通过在该第一数据报文中添加第一时间(即该交换机接收上一跳设备发送的该第一数据报文的时间)和第二时间(即该交换机向下一跳设备转发该第一数据报文的时间)生成第二数据报文,然后该交换机向分析服务器发送该第二数据报文,由该分析服务器根据该第二数据报文中的该第一时间和该第二时间确定该第一数据报文在该交换机内部的时延。其中,该上一跳设备、该下一跳设备和分析服务器为三个不同的设备。
与现有技术相比,本发明实施例提供的检测时延的方法中,交换机发送给分析服务器的第二数据报文中的第一时间能够准确地表示交换机接收交换机的上一跳设备发送的第一数据报文的真实时间,且交换机发送给分析服务器的第二数据报文中的第二时间能够准确地表示交换机向交换机的下一跳设备转发第一数据报文的真实时间。因此,分析服务器能够根据交换机发送的第二数据报文中的第一时间和第二时间确定第一数据报文在交换机内部的时延,进而可以根据通信系统中每个交换机内部的时延准确地找出通信系统中发生异常的具体位置(例如通信系统中发生异常的具体位置为第一数据报文经过的交换机中的某一个或某几个交换机)。
本发明实施例提供的检测时延的方法及装置可以应用于通信系统中。该通信系统可以包括主机、分析服务器和与分析服务器通信的至少一个交换机。图2为本发明实施例提供的一种通信系统的架构示意图。如图2所示,该通信系统包括:主机10、主机11、四个交换机(分别为交换机12a、12b、12c和12d)和分析服务器13。如果主机10向主机11发送数据报文(例如第一数据报文),那么主机10可以通过不同的路径向主机11发送第一数据报文,即主机10可以通过四个交换机中的至少一个交换机向主机11发送该第一数据报文。示例性的,主机10可以通过路径1、路径2、路径3或者路径4向主机11发送第一数据报文。如图2所示,这4条路径分别可以为:
路径1:主机10—交换机12a—交换机12b—交换机12c—交换机12d—主机11(即如图2所示的物理链路A1+物理链路A2+物理链路A3+物理链路A4+物理链路A5);
路径2:主机10—交换机12a—交换机12b—交换机12d—主机11(即如图2所示的物理链路A1+物理链路A2+物理链路A6+物理链路A5);
路径3:主机10—交换机12a—交换机12d—主机11(即如图2所示的物理链路A1+物理链路A7+物理链路A5);
路径4:主机10—交换机12a—主机11(即如图2所示的物理链路A1+物理链路A8)。
以主机10通过路径1向主机11发送第一数据报文为例,在发送第一数据报文的过程中,路径1上的每个交换机,即交换机12a、交换机12b、交换机12c或者交换机12d接收到上一跳设备发送的第一数据报文后,均可以通过在该第一数据报文中添加其接收上一跳设备发送的该第一数据报文的时间(例如第一时间)和其向下一跳设备转发该第一数据报文的时间(例如第二时间)生成第二数据报文,然后再将该第二数据报文发送给分析服务器13,进而分析服务器13可以根据每个接收的第二数据报文中的第一时间和第二时间确定该第一数据报文在发送该第二数据报文的交换机内部的时延。并且,分析服务器13还可以根据路径1上的任意两个交换机发送的第二数据报文中的第一时间和第二时间确定该第一数据报文在该任意两个交换机之间的时延。
具体的,分析服务器确定第一数据报文在每个交换机内部的时延的方法和分析服务器确定第一数据报文在多个交换机之间的时延的方法将在下述实施例的描述。
可选的,本发明实施例提供的主机可以为服务器、个人电脑或移动终端等设备。
可选的,上述上一跳设备可以为主机或交换机,上述下一跳设备也可以为主机或交换机。以上述路径1(即如图2所示的物理链路A1+物理链路A2+物理链路A3+物理链路A4+物理链路A5)为例,对于交换机12a来说,其上一跳设备为主机10,其下一跳设备为交换机12b;对于交换机12b来说,其上一跳设备为交换机12a,其下一跳设备为交换机12c;对于交换机12c来说,其上一跳设备为交换机12b,其下一跳设备为交换机12d;对于交换机12d来说,其上一跳设备为交换机12c,其下一跳设备为主机11。
上述路径1、路径2、路径3和路径4仅是示例性的说明,具体的,主机10和主机11之间还可以通过其他路径(例如主机10—交换机12a—交换机12c—交换机12d—主机11形成的路径)传输第一数据报文,本发明实施例不再一一列举。
需要说明的是,本发明实施例中,上述分析服务器13、主机10和主机11可以为同一种结构的设备,也可以为不同结构的设备。假设分析服务器13、主机10和主机11为同一种结构的设备,下面以分析服务器为例介绍本发明实施例中所涉及到的各个设备的硬件结构。
图3为本发明实施例提供的分析服务器的硬件示意图,如图3所示的分析服务器可以包括:处理器20、存储器21和通信接口22。
处理器20:是分析服务器的核心部件,用于运行分析服务器的操作系统与分析服务器上的应用程序(包括系统应用程序和第三方应用程序)。
本发明实施例中,处理器20具体可以为中央处理器(英文:central processing unit,CPU),通用处理器,数字信号处理器(英文:digital signal processor,DSP),专用集成电路(英文:application-specific integrated circuit,ASIC),现场可编程门阵列(英文:field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器21:用于存储分析服务器的程序代码和数据。
本发明实施例中,存储器21具体可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,RAM);该存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk,HDD)或固态硬盘(英文:solid-state disk,SSD);该存储器还可以包括上述种类的存储器的组合。
通信接口22:用于分析服务器与其他设备进行通信的接口电路,通信接口可以为收发器、收发电路等具有收发功能的结构,通信接口包括串行通信接口和并行通信接口。
需要说明的是,由于上述图2所示的主机10和主机11可以与上述图3所示的分析服务器的结构相同,对于主机10和主机11的各个组件的具体描述可以参见上述实施例对图3所示的分析服务器的各个组件的相关描述。
图4为本发明实施例提供的交换机的硬件示意图,如图4所示的交换机可以包括:处理器30、存储器31和接口32等部件。下面对交换机的各个构成部件进行示例性的说明。
处理器30:用于通过接口32转发数据报文,交换机的处理器30中通常使用ASIC芯片,以实现数据报文的高速转发。
存储器31:用于存储交换机的配置、操作系统、转发协议软件等。交换机中可以有多种存储器,如RAM、ROM、快闪存储器等。
接口32:也称为端口,交换机中的端口可以包括转发端口和控制端口。转发端口用于交换机发送和接收数据报文;控制端口用于用户或管理员利用终端与交换机进行通信,完成对交换机的配置。
为了更加清楚地理解本发明实施例的技术方案,下面对本发明实施例提供的检测时延的方法进行示例性的描述。
本发明实施例中,以如图2所示的主机10通过路径1(即如图2所示的物理链路A1+物理链路A2+物理链路A3+物理链路A4+物理链路A5)向主机11发送第一数据报文为例,为了找出如图2所示的通信系统中路径1上发生异常的具体位置,可以检测该第一数据报文在路径1上的每个交换机内部的时延,从而根据该第一数据报文在路径1上的每个交换机内部的时延找出通信系统中发生异常的具体位置(例如通信系统中发生异常的具体位置为第一数据报文经过的交换机中的某一个或某几个交换机)。通常情况下,在如图2所示的主机10通过路径1向主机11发送第一数据报文的过程中,第一数据报文在路径1上的每个交换机内部的时延基本相同,如果检测到第一数据报文在某个交换机内部的时延较大(例如第一数据报文在某个交换机内部的时延远大于该第一数据报文在其他交换机内部的时延),则可以说明该交换机可能出现异常,即说明该通信系统中发生异常的具体位置为该交换机。
需要说明的是,本发明实施例中,两个主机之间用于转发数据报文的交换机的数量取决于两个主机之间转发该数据报文的路径。例如如图2所示的通信系统中,如果主机10和主机11之间通过路径1转发第一数据报文,那么主机10和主机11之间用于转发第一数据报文的交换机的数量为4个;如果主机10和主机11之间通过路径2转发第一 数据报文,那么主机10和主机11之间用于转发第一数据报文的交换机的数量为3个;如果主机10和主机11之间通过路径3转发第一数据报文,那么主机10和主机11之间用于转发第一数据报文的交换机的数量为2个;如果主机10和主机11之间通过路径4转发第一数据报文,那么主机10和主机11之间用于转发第一数据报文的交换机的数量为1个。
本发明实施例中,由于检测第一数据报文在每个交换机内部的时延的方法均相同,因此示例性的,本发明实施例可以以主机10和主机11之间通过一个交换机转发第一数据报文(例如主机10通过上述路径4(即如图2所示的物理链路A1+物理链路A8)向主机11发送第一数据报文)为例对本发明实施例提供的检测时延的方法进行说明。
需要说明的是,本发明实施例中,可以通过检测一个指定的数据流(例如需要检测在交换机内部的时延的数据流,以下均称为第一数据流)在通信系统中的某个路径上的每个交换机内部的时延,找出通信系统中发生异常的具体位置。为了检测第一数据流在通信系统中的某个路径上的每个交换机内部的时延,交换机可以将经过交换机的第一数据流镜像到分析服务器。具体实现中,交换机还可以将经过交换机的某一个端口(例如为交换机上传输第一数据流的端口)上的所有数据流镜像到分析服务器,本发明实施例不作限定。为了清楚地描述本发明实施例的实现方式,本发明实施例以交换机将经过交换机的第一数据流镜像到分析服务器为例对本发明实施例提供的检测时延的方法进行说明。
结合图2,假设主机10通过路径4向主机11发送第一数据流,即主机10(以下均称为第一主机)与主机11(以下均称为第二主机)通过一个交换机(即图2所示的交换机12a)转发第一数据流,那么该交换机的上一跳设备为第一主机,该交换机的下一跳设备为第二主机。如图5所示,本发明实施例提供一种检测时延的方法,该方法可以包括S101-S107。
S101、分析服务器向交换机发送配置命令。
S102、交换机接收分析服务器发送的配置命令。
其中,上述配置命令可以包括数据流信息,该配置命令可以用于指示交换机提供用于检测该数据流信息标识的数据流(即上述第一数据流)在交换机内部的时延的信息。当交换机接收到分析服务器发送的配置命令后,交换机可以根据该配置命令开始获取用于检测该配置命令中的数据流信息标识的第一数据流在交换机内部的时延的信息。
本发明实施例提供的检测时延的方法,也可以应用于两个主机(例如上述第一主机和第二主机)之间通过多个交换机转发数据报文的过程中。具体的,第一主机可以依次通过多个交换机向第二主机发送第一数据流。当检测第一数据流在该多个交换机内部的时延时,分析服务器首先向多个交换机中的每个交换机分别发送配置命令,进而每个交换机分别在其接收到的配置命令后,在该配置命令的指示下提供用于检测该第一数据流在该交换机内部的时延的信息。
可选的,本发明实施例中,上述数据流信息可以包括第一数据流的五元组信息,第一数据流的五元组信息可以唯一标识该第一数据流。具体的,五元组信息为源网际互联协议(英文:Internet Protocol,IP)地址、源端口、目的IP地址、目的端口和传输层协议。例如,假设第一主机向第二主机发送第一数据流,该第一数据流的五元组信息中的 源IP地址为A,源端口为B,目的IP地址为C,目的端口为D,传输层协议为TCP,则该五元组信息可以表示IP地址为A的第一主机通过端口B,采用TCP向IP地址为C的第二主机的端口D发送该第一数据流。
本发明实施例中,由于五元组信息可以唯一标识一个数据流,如此,当交换机接收到分析服务器发送的配置命令后,交换机可以根据该配置命令中的数据流信息确定该数据流信息标识的第一数据流,从而向分析服务器提供用于检测该第一数据流在交换机内部的时延的信息。
需要说明的是,本发明实施例中,可以通过检测第一数据流中的数据报文在交换机内部的时延,确定该第一数据流在交换机内部的时延。具体的,检测第一数据流在交换机内部的时延的方法可以为:可以通过检测该第一数据流中的至少一个数据报文在交换机内部的时延,确定该第一数据流在交换机内部的时延。
示例性的,以第一主机经过交换机向第二主机发送第一数据流为例,第一主机可以经过交换机向第二主机发送该第一数据流中的多个数据报文,从而可以通过检测该多个数据报文中的至少一个数据报文在交换机内部的时延确定该第一数据流在交换机内部的时延。
由于本发明实施例中,检测每个数据报文在交换机内部的时延的方法均相同,因此本发明实施例以检测多个数据报文中的一个数据报文(例如第一数据报文)在交换机内部的时延为例对本发明实施例提供的技术方案进行说明。
S103、交换机接收第一主机发送的第一数据报文。
本发明实施例中,交换机接收到第一主机发送的第一数据报文为第一主机向交换机发送的第一数据流中的一个数据报文,即第一数据报文属于第一数据流。
S104、交换机通过在第一数据报文中添加第一时间和第二时间生成第二数据报文。
其中,第一时间为交换机接收该交换机的上一跳设备(即第一主机)发送的第一数据报文的时间。第二时间为交换机向该交换机的下一跳设备(即第二主机)转发该第一数据报文的时间。具体的,交换机可以通过交换机的第一端口接收第一主机发送的第一数据报文,且交换机可以通过交换机的第二端口向第二主机转发该第一数据报文,第一端口和第二端口可以为交换机上两个不同的端口。
需要说明的是,本发明实施例中,交换机接收第一主机发送到第一数据报文后,会将该第一数据报文继续转发给第二主机,以完成该第一数据报文在第一主机与第二主机之间的传输。相应的,在第一数据报文的转发过程中,为了检测该第一数据报文在交换机内部的时延,交换机还可以执行本发明实施例提供的检测时延的方法,例如交换机接收到第一主机发送的第一数据报文后,可以通过在第一数据报文中添加第一时间和第二时间生成第二数据报文,并且该交换机可以通过该交换机的第三端口向分析服务器发送该第二数据报文,从而由分析服务器根据该第二数据报文中的第一时间和第二时间确定该第一数据报文在交换机内部的时延。其中,第三端口为交换机上与上述第一端口和第二端口均不同的一个端口。
当然,可以理解的是,示例性的,如果图2所示的主机10和主机11之间通过上述路径1(路径1上的交换机包括交换机12a、交换机12b、交换机12c和交换机12d)转发第一数据报文,那么与主机10连接的交换机12a接收到主机10发送的第一数据报文 后,会将该第一数据报文继续转发给交换机12a的下一跳设备,即交换机12b;交换机12b接收到交换机12a转发的第一数据报文后,再将该第一数据报文继续转发给该交换机12b的下一跳设备,即交换机12c;以此类推,直到与主机11连接的交换机12d接收到该第一数据报文,然后交换机12d再将该第一数据报文继续转发给主机11,从而完成该第一数据报文的转发,即实现由主机10向主机11发送该第一数据报文。
还可以理解的是,上述路径1上的交换机12a、交换机12b、交换机12c和交换机12d均会执行本发明实施例提供的检测时延的方法。具体的,交换机12a、交换机12b、交换机12c和交换机12d执行的本发明实施例提供的检测时延的方法与上述如图2所示的主机10和主机11之间通过上述路径4转发第一数据报文时,交换机12a执行的本发明实施例提供的检测时延的方法相同。
可选的,本发明实施例中,上述S104中,交换机通过在第一数据报文中添加第一时间和第二时间生成第二数据报文的方法具体可以为:交换机通过在第一数据报文的预留字段中添加第一时间和第二时间生成第二数据报文。
示例性的,本发明实施例中,交换机可以将第一数据报文的预留字段中指定长度的字段作为第一时间字段,然后交换机将其接收到第一主机发送的第一数据报文的时间,即第一时间写入第一时间字段中;并且交换机可以将第一数据报文的预留字段中指定长度的字段作为第二时间字段,然后交换机将其向第二主机转发第一数据报文的时间,即第二时间写入第二时间字段中。如此,交换机可以通过在第一数据报文中添加第一时间和第二时间生成第二数据报文。
下面对本发明实施例中,交换机生成的第二数据报文的格式进行示例性的说明。
如表1所示,为本发明实施例提供的一种第二数据报文的格式的示例。
表1
字段 含义
MAC 源MAC地址和目的MAC地址
IP 源IP地址和目的IP地址
GRE 通用路由封装
ERSPAN Header 封装远程端口镜像头
Original Message 原始数据报文
其中,MAC字段中包括第二数据报文的源媒体访问控制(英文:Medium Access Control,MAC)地址和目的MAC地址,MAC地址也可以称为设备(例如主机等)的物理地址,其可以唯一标识一个设备。IP字段中包括第二数据报文的源IP地址和目的IP地址。GRE字段中包括通用路由封装(英文:Generic Routing Encapsulation,GRE)协议,GRE协议指对某些网络层协议,例如互联网分组交换协议(英文:Internetwork Packet Exchange Protocol,IPx),的数据报文进行封装,使这些被封装的数据报文能够在采用另一个网络层协议(如IP)的网络中传输。ERSPAN Header字段中包括封装远程端口镜像头,ERSPAN Header为交换机对第一数据报文镜像(即复制到分析服务器)时添加的用于表示第二数据报文的相关信息的字段。Original Message字段中包括第一数据报文或第一数据报文的一部分。
本发明实施例中,可以根据使用需求划分ERSPAN Header字段的长度,本发明实 施例不作具体限定。
示例性的,如表2所示,为本发明实施例提供的ERSPAN Header字段中各个字段的示例。
表2
字段 长度(位) 含义
V 4 ERSPAN的封装版本
VLAN 12 原始数据报文的VLAN
COS 3 原始数据报文的优先级
T 1 原始数据报文是否被截断
Session ID 10 ERSPAN的数据流标识
Ing Timestamp 32 入方向的时间
Egr Timestamp 32 出方向的时间
其中,V字段表示第二数据报文的封装协议。VLAN字段表示第一数据报文所在的虚拟局域网(英文:virtual local area network,VLAN)的网段。COS字段表示表示第一数据报文的优先级。T字段表示第一数据报文是否被截断;其中,T表示第一数据报文未被截断时,说明上述Original Message字段中包括第一数据报文,T表示第一数据报文被截断时,说明上述Original Message字段中包括第一数据报文的一部分。Session ID字段表示第二数据报文所在的数据流的标识,用于当分析服务器接收到多个数据流的数据报文时,对多个数据流的数据报文进行区分处理(例如需要检测在交换机内部的时延的数据流有5个时,分析服务器接收到这5个数据流的数据报文时,可以将这5个数据流的数据报文划分到分析服务器的不同端口上进行处理)。Ing Timestamp字段中包括交换机接收到第一数据报文的时间。Egr Timestamp字段中包括交换机发出第一数据报文的时间。
本发明实施例中,交换机接收第一数据报文之后,可以通过在第一数据报文中添加第一时间(即交换机接收到第一主机发送的第一数据报文的时间)和第二时间(即交换机向第二主机转发第一数据报文的时间)生成第二数据报文。由于该第二数据报文中携带有第一时间和第二时间,如此,当交换机将该第二数据报文发送给分析服务器后,分析服务器可以根据该第二数据报文中的第一时间和第二时间确定该第一数据报文在交换机内部的时延(具体可以为第二时间与第一时间的差值)。
S105、交换机向分析服务器发送第二数据报文。
其中,第二数据报文用于通知分析服务器第一时间和第二时间。第一时间和第二时间用于确定第一数据报文在交换机内部的时延。即分析服务器接收到交换机发送的第二数据报文之后,可以根据第二数据报文中的第一时间和第二时间确定第一数据报文在交换机内部的时延。
S106、分析服务器接收第二数据报文。
S107、分析服务器根据第二数据报文中的第一时间和第二时间确定第一数据报文在交换机内部的时延。
本发明实施例中,分析服务器接收到交换机发送的第二数据报文后,分析服务器可以计算该第二数据报文中的第二时间和第一时间的差值,并将该第二时间和第一时间的 差值作为第一数据报文在交换机内部的时延。
本发明实施例中,由于第二数据报文中携带有准确的第一时间(交换机接收第一主机发送的第一数据报文的时间)和第二时间(交换机向第二主机转发第一数据报文的时间),因此第二时间与第一时间的差值即为该第一数据报文在该交换机内部的准确的时延。
至此,分析服务器可以确定第一数据报文在交换机内部的时延,由于第一数据报文属于第一数据流,即第一数据报文为第一数据流中的一个数据报文,因此分析服务器可以将第一数据报文在交换机内部的时延作为第一数据流在交换机内部的时延。
当然,可以理解的是,如图2所示的主机10也可以通过其他路径(例如上述路径1、路径2或路径3等)向主机11发送第一数据报文。主机10通过一个路径向主机11发送第一数据报文的过程中,该路径上的每个交换机均可以通过执行S101-S107确定第一数据报文在其内部的时延,从而确定该第一数据报文所属的第一数据流在其内部的时延。
可选的,本发明实施例中,分析服务器还可以确定第一数据流中的多个数据报文中的至少两个数据报文在交换机内部的时延,然后再将该至少两个数据报文中的每个数据报文在交换机内部的时延的平均值作为第一数据流在交换机内部的时延。
本发明实施例提供的检测时延的方法,交换机接收到第一数据报文后,交换机可以通过在第一数据报文中添加第一时间(即该交换机接收上一跳设备发送的第一数据报文的时间)和第二时间(即该交换机向下一跳设备转发第一数据报文的时间)生成第二数据报文,然后交换机向分析服务器发送该第二数据报文,由分析服务器根据第二数据报文中的第一时间和第二时间确定第一数据报文在交换机内部的时延。与现有技术相比,本发明实施例中,由于交换机发送给分析服务器的第二数据报文中的第一时间能够准确地表示交换机接收交换机的上一跳设备发送的第一数据报文的真实时间,且交换机发送给分析服务器的第二数据报文中的第二时间能够准确地表示交换机向交换机的下一跳设备转发该第一数据报文的真实时间,从而分析服务器根据交换机发送的第二数据报文中的第一时间和第二时间可以准确地确定第一数据报文在交换机内部的时延,如此可以根据第一数据报文在交换机内部的时延准确地找出通信系统中发生异常的具体位置。
本发明实施例中,如图2所示的交换机10可以通过上述路径1、路径2、路径3或路径4向主机11发送第一数据报文。如果交换机10通过路径1向主机11发送第一数据报文,分析服务器可以确定该第一数据报文在路径1上的四个交换机(即如图2所示的交换机12a、交换机12b、交换机12c和交换机12d)中的每个交换机内部的时延;并且分析服务器还可以确定该第一数据报文在这四个交换机中的至少两个交换机之间的时延。如果交换机10通过路径2向主机11发送第一数据报文,分析服务器可以确定该第一数据报文在路径2上的三个交换机(即如图2所示的交换机12a、交换机12b和交换机12d)中的每个交换机内部的时延;并且分析服务器还可以确定该第一数据报文在这三个交换机中的至少两个交换机之间的时延。如果交换机10通过路径3向主机11发送第一数据报文,分析服务器可以确定该第一数据报文在路径3上的两个交换机(即如图2所示的交换机12a和交换机12d)中的每个交换机内部的时延;并且分析服务器还可以确定该第一数据报文在这两个交换机之间的时延。如果交换机10通过路径4向主 机11发送第一数据报文,分析服务器可以确定该第一数据报文在路径4上的一个交换机(即如图2所示的交换机12a)内部的时延。
示例性的,以如图2所示的主机10通过路径1向主机11发送第一数据报文为例,首先,交换机12a接收到主机10发送的第一数据报文后,一方面,交换机12a可以将该第一数据报文继续转发给交换机12b;另一方面,交换机12a可以通过在该第一数据报文中添加第一时间(交换机12a接收主机10发送的第一数据报文的时间)和第二时间(交换机12a向交换机12b转发该第一数据报文的时间)生成第二数据报文,并将该第二数据报文镜像到分析服务器。其次,交换机12b接收到交换机12a转发的第一数据报文后,一方面,交换机12b可以将第一数据报文继续转发给交换机12c;另一方面,交换机12b可以通过在第一数据报文中添加第一时间(交换机12b接收交换机12a转发的第一数据报文的时间)和第二时间(交换机12b向交换机12c转发该第一数据报文的时间)生成第二数据报文,并将第二数据报文镜像到分析服务器。以此类推,最终,分析服务器可以接收到交换机12a、交换机12b、交换机12c和交换机12d分别发送的第二数据报文。假设分析服务器接收到交换机12a发送的第二数据报文中的第一时间和第二时间分别记为T1-1和T1-2,接收到交换机12b发送的第二数据报文中的第一时间和第二时间分别记为T2-1和T2-2,接收到交换机12c发送的第二数据报文中的第一时间和第二时间分别记为T3-1和T3-2,接收到交换机12d发送的第二数据报文中的第一时间和第二时间分别记为T4-1和T4-2,则分析服务器可以确定第一数据报文在交换机12a内部的时延为T1-2-T1-1,第一数据报文在交换机12b内部的时延为T2-2-T2-1,第一数据报文在交换机12c内部的时延为T3-2-T3-1,第一数据报文在交换机12a内部的时延为T4-2-T4-1,第一数据报文在交换机12a和交换机12b之间的时延为T2-2-T1-1,第一数据报文在交换机12a至交换机12c(即交换机12a、交换机12b和交换机12c)之间的时延为T3-2-T1-1,第一数据报文在交换机12a至交换机12d(即交换机12a、交换机12b、交换机12c和交换机12d)之间的时延为T4-2-T1-1
本发明实施例中,一种可能的实现方式中,如果交换机将经过交换机的数据流中的第一数据流镜像到分析服务器,交换机在接收到该第一数据流中的每个数据报文后,会通过在每个数据报文中分别添加第一时间(交换机接收第一主机发送的该数据报文的时间)和第二时间(交换机向第二主机转发该数据报文的时间)生成新的数据报文,并将该新的数据报文镜像到分析服务器,如此,分析服务器可以接收到交换机发送的多个新的数据报文,即可以实现交换机将该数据流镜像到分析服务器。
示例性的,假设上述第一数据流包括50个数据报文,结合图2,如果主机10通过上述路径3(路径3上的交换机包括交换机12a和交换机12d)向主机11发送该第一数据流,那么当交换机12a接收到该50个数据报文中的每个数据报文时,交换机12a可以通过在该数据报文中添加第一时间(交换机12a接收主机10发送的该数据报文的时间)和第二时间(交换机12a向交换机12d转发该数据报文的时间)生成一个新的数据报文,并将该新的数据报文镜像到分析服务器,如此交换机12a可以依次生成50个新的数据报文,并将该50个新的数据报文分别镜像到分析服务器。相应的,当交换机12d接收到该50个数据报文中的每个数据报文时,交换机12d也可以通过在该数据报文中添加第一时间(交换机12d接收交换机12a发送的该数据报文的时间)和第二时间(交 换机12d向主机11转发该数据报文的时间)生成一个新的数据报文,并将该新的数据报文镜像到分析服务器,如此交换机12d可以依次生成生成50个新的数据报文,并将该50个新的数据报文分别镜像到分析服务器。从而,分析服务器可以接收到交换机12a发送的50个新的数据报文和交换机12d发送的50个新的数据报文(具体的,分析服务器可以通过分析服务器上不同的端口分别接收交换机12a发送的50个新的数据报文和交换机12d发送的50个新的数据报文)。分析服务器接收到交换机12a发送的50个新的数据报文和交换机12d发送的50个新的数据报文后,分析服务器首先可以确定交换机12a发送的50个新的数据报文和交换机12d发送的50个新的数据报文中哪些数据报文是由不同交换机发送的同一个数据报文(例如上述的第一数据流中的第一数据报文)的镜像数据报文,然后再根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机内部的时延,从而确定该数据报文所在的数据流(例如上述的第一数据流)在不同交换机内部的时延。进一步的,分析服务器还可以根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机之间的时延(例如可以确定该数据报文在交换机12a和交换机12d之间的时延),从而确定该数据报文所在的数据流在不同交换机之间的时延。
需要说明的是,本发明实施例中,如图2所示的主机10与主机11之间通过不同的传输层协议转发数据报文时,分析服务器可以通过不同的方法确定由不同交换机发送的同一个数据报文的镜像数据报文。
可选的,当如图2所示的主机10与主机11之间通过TCP转发数据报文时,分析服务器确定由不同交换机发送的同一个数据报文的镜像数据报文的方法可以通过步骤P1实现:
P1、分析服务器根据数据报文的序列号确定由不同交换机发送的同一个数据报文的镜像数据报文。
需要说明的是,本发明实施例中,当如图2所示的主机10与主机11通过TCP转发数据报文时,所转发的数据报文中携带有用于表示数据报文传输顺序的序列号,该序列号可以唯一标识一个数据报文。
本发明实施例中,由于交换机接收到数据报文后,交换机通过在该数据报文中添加第一时间和第二时间生成新的数据报文的过程中,并不会改变该数据报文中的序列号,即新的数据报文中的序列号与该数据报文中的序列号相同,因此分析服务器接收到如图2所示的交换机12a发送的50个新的数据报文和交换机12d发送的50个新的数据报文后,可以通过比较上述交换机12a发送的50个新的数据报文与交换机12d发送的50个新的数据报文中的序列号,并将序列号相同的两个新的数据报文确定为由交换机12a和交换机12d发送的同一个数据报文的镜像数据报文,例如可以为上述第一数据报文的镜像数据报文,即第二数据报文。
可选的,当如图2所示的主机10与主机11通过其他传输层协议(例如UDP)转发数据报文时,分析服务器确定由不同交换机发送的同一个数据报文的镜像数据报文的方法可以通过步骤Q1实现:
Q1、分析服务器根据数据报文的净荷(即数据报文中除报头之外的部分)确定由不同交换机发送的同一个数据报文的镜像数据报文。
本发明实施例中,分析服务器接收到如图2所示的交换机12a发送的50个新的数据报文和交换机12d发送的50个新的数据报文后,可以通过比较上述交换机12a发送的50个新的数据报文的净荷与交换机12d发送的50个新的数据报文的净荷,并将净荷完全相同的两个新的数据报文确定为由交换机12a和交换机12d发送的同一个数据报文的镜像数据报文,例如可以为上述第一数据报文的镜像数据报文,即第二数据报文。
可选的,本发明实施例,为了节省分析服务器的资源,上述分析服务器比较交换机12a发送的50个新的数据报文的净荷与交换机12d发送的50个新的数据报文的净荷的方法可以包括:首先,分析服务器提取出交换机12a发送的50个新的数据报文的净荷的摘要与交换机12d发送的50个新的数据报文的净荷的摘要,然后分析服务器可以通过比较交换机12a发送的50个新的数据报文的净荷的摘要与交换机12d发送的50个新的数据报文的净荷的摘要,并将数据报文的净荷的摘要完全相同的两个新的数据报文确定为由交换机12a和交换机12d发送的同一个数据报文的镜像数据报文。
可选的,本发明实施例中,分析服务器具体可以通过消息摘要算法提取出数据报文的净荷的摘要。例如,分析服务器可以通过消息摘要算法提取上述交换机12a发送的50个新的数据报文的净荷的摘要与交换机12d发送的50个新的数据报文的净荷的摘要。
本发明实施例中,上述分析服务器确定由不同交换机发送的同一个数据报文的镜像数据报文的方法可以为P1或Q1,具体可以根据数据报文传输过程中采用的传输层协议确定,本发明实施例不作限定。
本发明实施例中,另一种可能的实现方式中,当交换机将经过交换机的某一个端口(例如交换机上传输第一数据流的端口)上的所有数据流镜像到分析服务器时,交换机在接收到这些数据流中的每个数据流中的每个数据报文后,可以通过在该数据报文中添加第一时间(即该交换机接收上一跳设备发送的该数据报文的时间)和第二时间(即该交换机向下一跳设备转发该数据报文的时间)生成新的数据报文,并将该新的数据报文镜像到分析服务器,如此,分析服务器可以接收到交换机发送的多个新的数据报文,即可以实现交换机将这些数据流镜像到分析服务器。
示例性的,以上述路径3(上述路径3上的交换机包括如图2所示的交换机12a和交换机12d)为例,路径3上的交换机12a可以将交换机12a的某一个端口(例如交换机12a上传输第一数据流的端口)上的所有数据流镜像到分析服务器,交换机12d可以将交换机12d的某一个端口(例如交换机12d上传输第一数据流的端口)上的所有数据流镜像到分析服务器,如此,分析服务器可以接收到交换机12a发送的多个数据流和交换机12d发送的多个数据流。然后,分析服务器可以从交换机12a发送的多个数据流和交换机12d发送的多个数据流中首先确定第一数据流(即由不同交换机发送的同一个数据流),并按照上述描述的交换机将经过交换机的数据流中的第一数据流镜像到分析服务器时,分析服务器确定由不同交换机发送的同一个数据报文的镜像数据报文的方法(例如上述P1或者Q1)确定由不同交换机发送的同一个数据报文的镜像数据报文,且根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机内部的时延,从而确定该数据报文所在的数据流在不同交换机内部的时延。进一步的,分析服务器还可以根据同一个数据报文的镜像数据报文,确定该数据报文在不同交换机之间的时延(例如可以确定该数据报文在交换机12a和12d之间的时延),从而确定该数据报文所在的数 据流在不同交换机之间的时延。
可选的,分析服务器从交换机12a发送的多个数据流和交换机12d发送的多个数据流中确定第一数据流的方法可以通过步骤R1实现:
R1、分析服务器根据第一数据流的五元组信息,从多个数据流中确定第一数据流。
本发明实施中,由于数据流的五元组信息可以唯一标识一个数据流,因此可以通过第一数据流的五元组信息从多个数据流中确定第一数据流。具体的,分析服务器可以通过比较第一数据流的五元组信息和交换机12a发送的多个数据流的五元组信息,从交换机12a发送的多个数据流中确定第一数据流。并且分析服务器可以通过比较第一数据流的五元组信息和交换机12d发送的多个数据流的五元组信息,从交换机12d发送的多个数据流中确定第一数据流。
需要说明的是,本发明实施例中,对于数据流的五元组信息的描述具体可以参见上述S102中对于五元组信息的详细描述。
本发明实施例中,由于交换机可以通过在第一数据报文中添加第一时间(即该交换机接收上一跳设备发送的第一数据报文的时间)和第二时间(即该交换机向下一跳设备转发第一数据报文的时间)生成第二数据报文,并且该第一时间能够准确地表示交换机接收交换机的上一跳设备发送的第一数据报文的真实时间,该第二时间能够准确地表示交换机向交换机的下一跳设备转发该第一数据报文的真实时间,因此交换机将该第二数据报文发送给分析服务器后,分析服务器根据该第一时间和该第二时间确定的第一数据报文在交换机内部的时延也更加准确。进一步的,对于数据传输的两个主机之间的一条传输路径上的多个交换机来说,分析服务器根据多个交换机分别发送的第二数据报文中的第一时间和第二时间确定的多个交换机中至少两个交换机之间的时延也更加准确。
可选的,本发明实施例中,交换机在生成第二数据报文的过程中,交换机可以将第一数据报文的全部内容均保留在第二数据报文中。当然,为了节省交换机与分析服务器之间的传输资源,交换机也可以将第一数据报文的一部分内容保留在第二数据报文中。
可选的,为了向分析服务器指示交换机发送的第二数据报文包括第一数据报文的一部分内容还是包括第一数据报文的全部内容,本发明实施例提供的第二数据报文中还可以包括第一指示信息。该第一指示信息可以用于指示第二数据报文包括第一数据报文,或者第二数据报文包括第一数据报文的一部分。
具体的,结合图5,如图6所示,本发明实施例中,上述S104具体可以通过S104a实现:
S104a、交换机通过在第一数据报文中添加第一时间、第二时间和第一指示信息生成第二数据报文。
本发明实施例中,交换机可以通过在其接收到的第一数据报文中添加第一时间第二时间和第一指示信息生成第二数据报文。
具体的,当第一指示信息指示第二数据报文包括第一数据报文时,交换机生成的第二数据报文可以包括上述第一时间、第二时间、第一指示信息和第一数据报文的全部内容,如此,交换机向分析服务器发送包括第一数据报文的第二数据报文;当第一指示信息指示第二数据报文包括第一数据报文的一部分时,交换机生成的第二数据报文可以包括上述第一时间、第二时间、第一指示信息和第一数据报文的一部分内容,如此,交换 机向分析服务器发送包括第一数据报文的一部分的第二数据报文。
可选的,本发明实施例中,可以由分析服务器指示交换机将第一数据报文中的指定长度的内容(例如上述第一数据报文的一部分)发送给分析服务器。具体的,分析服务器可以将该指定长度携带在分析服务器向交换机发送的配置命令中,如此,当交换机接收该配置命令后,交换机在生成第二数据报文的过程中,可以根据该配置命令中的指定长度,在第二数据报文中保留第一数据报文中该指定长度的内容,并将生成的第二数据报文发送给分析服务器。
示例性的,上述第二数据报文包括第一数据报文的一部分时,第二数据报文可以包括第一数据报文的全部报头和部分净荷(数据报文由报头和净荷构成),或者第二数据报文可以包括第一数据报文的部分报头和部分净荷,或者第二数据报文可以包括第一数据报文的报头。
可选的,结合图5,如图7所示,本发明实施例中,在上述S102之后,本发明实施例提供的检测时延的方法还可以包括:
S108、交换机采用网络时间协议或精密时间协议,将交换机内部的时钟调整为网络时钟。
本发明实施例中,当通信系统的一个主机通过多个交换机向另一个主机转发数据报文时,该多个交换机中的每个交换机在接收到分析服务器发送的配置命令后,每个交换机首先可以采用网络时间协议或精密时间协议将该交换机内部的时钟调整为网络时钟,从而可以保证每个交换机的内部的时钟均与网络时钟保持同步,然后每个交换机再开始获取用于检测第一数据报文在多个交换机之间的时延的信息。此时,由于该多个交换机内部的时钟均已调整为网络时钟,即多个交换机的内部时钟可以保持同步,因此可以避免由于多个交换机内部时钟不同步而造成多个交换机提供的用于检测第一数据报文在多个交换机之间的时延的信息不准确的问题,即经过时钟调整后的多个交换机提供的用于检测第一数据报文在多个交换机之间的时延的信息更加准确,从而使得分析服务器能够根据多个交换机提供的信息更加准确地检测第一数据报文在多个交换机之间的时延。
需要说明的是,本发明实施例可以不限定S103与S108的执行顺序。即本发明实施例可以先执行S103,后执行S108;也可以先执行S108,后执行S103;还可以同时执行S103和S108。
结合图5,本发明实施例中,在上述S101之前,本发明实施例提供的检测时延的方法还可以包括:
S100、分析服务器确定第一数据流。
本发明实施例中,分析服务器可以将如图2所示的主机10(即第一主机)与主机11(即第二主机)之间传输的多个数据流中的任意一个数据流确定为第一数据流,然后将该第一数据流的数据流信息携带在配置命令中发送给交换机,进而交换机在该配置命令的指示下提供用于检测数该据流信息标识的第一数据流在交换机内部的时延的信息。
可选的,本发明实施例中,分析服务器确定第一数据流的方法可以为W1、W2或W3:
W1、分析服务器将第一主机与第二主机之间传输的多个数据流中的任意一个数据流确定为第一数据流。
W2、分析服务器可以根据网络状态,将交换机中发生异常的端口上的数据流确定为第一数据流。
示例性的,当网络管理系统收到某一个交换机的某个端口上的流量超过流量阈值的阈值告警或者发生丢包的丢包告警时,分析服务器可以获知该阈值告警或者丢包告警,然后分析服务器可以分别将该交换机的该端口上的每个数据流确定为第一数据流,如此分析服务器可以通过检测该端口上的每个数据流在交换机内部的时延,确定这些数据流中哪一个数据流受到该阈值告警或者丢包告警的影响,例如如果分析服务器确定这些数据流中某个数据流在交换机内部的时延远大于这些数据流中的其他数据流在交换机内部的时延,那么分析服务器可以确定该数据流受到该阈值告警或者丢包告警的影响。
W3、分析服务器将出现故障的数据流确定为第一数据流。
本发明实施例中,当网络管理员获知某一个数据流发生故障(例如,上述第二主机向第一主机请求该数据流时,出现第一主机无响应的问题)时,分析服务器可以将发生故障的该数据流确定为第一数据流。
需要说明的是,本发明实施例中,分析服务器可以通过上述W1-W3中的任意一种方法确定第一数据流,具体的,可以根据实际使用需求选择确定第一数据流的方法,本发明实施例不作限定。
本发明实施例中,由于通信系统中,传输第一数据报文的路径上的每个交换机发送给分析服务器的第二数据报文中的第一时间能够准确地表示该交换机接收该交换机的上一跳设备发送的第一数据报文的真实时间,且该交换机发送给分析服务器的第二数据报文中的第二时间能够准确地表示该交换机向该交换机的下一跳设备转发该第一数据报文的真实时间,从而分析服务器根据每个交换机发送的第二数据报文中的第一时间和第二时间可以准确地确定第一数据报文在每个交换机内部的时延,如此可以根据第一数据报文在每个交换机内部的时延准确地找出通信系统中发生异常的具体位置(例如通信系统中发生异常的具体位置为传输第一数据报文的路径上的交换机中的某一个或某几个交换机)。
进一步的,分析服务器根据传输第一数据报文的路径上的每个交换机分别发送的第二数据报文中的第一时间和第二时间确定的该路径上的至少两个交换机之间的时延也更加准确。
本发明实施例可以根据上述方法示例对交换机和分析服务器进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本发明实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本发明实施例提供一种交换机,在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的交换机的一种可能的结构示意图。该交换机包括:接收模块40、生成模块41、发送模块42和调整模块43。其中,接收模块40用于支持交换机执行上述方法实施例中的S102和S103。生成模块41用于支持交换机执行上述方法实施例中的S104(包括S104a)。发送模块42用于支持交换机执行上述方法实施例中 的S105。调整模块43用于支持交换机执行上述方法实施例中的S108其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的交换机的一种可能的结构示意图。该交换机包括:处理模块51和通信模块52。处理模块51用于对交换机的动作进行控制管理,例如,处理模块51用于支持交换机执行上述方法实施例中的S104(包括S104a)和S108,和/或用于本文所描述的技术的其它过程。通信模块52用于支持交换机执行上述方法实施例中的S102、S103和S105。如图9所示,该交换机还可以包括存储模块50,存储模块50用于存储交换机的程序代码和数据。
其中,上述处理模块51可以是交换机中的处理器或控制器,该处理器或控制器可以为上述如图4所示的交换机中的处理器30,该处理器或控制器可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。
通信模块52可以是交换机中的收发器、收发电路或通信接口等,该收发器、收发电路或通信接口等可以为上述如图4所示的交换机中的接口32。
存储模块50可以是交换机中的存储器等,该存储器可以为上述如图4所示的交换机中的存储器31。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机程序指令,当上述交换机的处理器执行该计算机程序指令时,该交换机执行上述方法实施例所示的方法流程中交换机执行的各个步骤。
本发明实施例提供一种计算机程序,该计算机程序包括计算机程序指令,当该计算机程序被交换机执行时,使得交换机可以执行上述方法实施例所示的方法流程中交换机执行的各个步骤。
本发明实施例提供一种分析服务器,在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的分析服务器的一种可能的结构示意图。该分析服务器包括:发送模块60、接收模块61和确定模块62。其中,发送模块60用于支持分析服务器执行上述方法实施例中的S101。接收模块61用于支持分析服务器执行上述方法实施例中的S106。确定模块62用于支持分析服务器执行上述方法实施例中的S107和S100。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述。
在采用集成的单元的情况下,图11示出了上述实施例中所涉及的分析服务器的一种可能的结构示意图。该分析服务器包括:处理模块71和通信模块72。处理模块71用于对分析服务器的动作进行控制管理,例如,处理模块71用于支持分析服务器执行上述方法实施例中的S107和S100,和/或用于本文所描述的技术的其它过程。通信模块72用于支持分析服务器执行上述方法实施例中的S101和S106。如图11所示,该分析服务器还可以包括存储模块70,存储模块70用于存储分析服务器的程序代码和数据。
其中,上述处理模块71可以是分析服务器中的处理器或控制器,该处理器或控制器可以为上述如图3所示的分析服务器中的处理器20,该处理器或控制器可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。
通信模块72可以是分析服务器中的收发器、收发电路或通信接口等,该收发器、收发电路或通信接口等可以为上述如图3所示的分析服务器中的通信接口22。
存储模块70可以是分析服务器中的存储器等,该存储器可以为上述如图3所示的分析服务器中的存储器21。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机程序指令,当上述分析服务器的处理器执行该计算机程序指令时,该分析服务器能够实现上述方法实施例所示的方法流程中分析服务器执行各个步骤时所具有的功能。
本发明实施例提供一种计算机程序,该计算机程序包括计算机程序指令,当该计算机程序被分析服务器执行时,该分析服务器能够实现上述方法实施例所示的方法流程中分析服务器执行的各个步骤时所具有的功能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

  1. 一种检测时延的方法,其特征在于,包括:
    交换机接收上一跳设备发送的第一数据报文;
    所述交换机通过在所述第一数据报文中添加第一时间和第二时间生成第二数据报文,所述第一时间为所述交换机接收所述上一跳设备发送的所述第一数据报文的时间,所述第二时间为所述交换机向下一跳设备转发所述第一数据报文的时间;
    所述交换机向分析服务器发送所述第二数据报文,所述第二数据报文用于通知所述分析服务器所述第一时间和所述第二时间,所述第一时间和所述第二时间用于确定所述第一数据报文在所述交换机内部的时延,所述下一跳设备和所述分析服务器为不同的设备。
  2. 根据权利要求1所述的方法,其特征在于,所述第二数据报文还包括第一指示信息,所述第一指示信息用于指示所述第二数据报文包括所述第一数据报文,或者所述第二数据报文包括所述第一数据报文的一部分。
  3. 根据权利要求1或2所述的方法,其特征在于,所述交换机接收上一跳设备发送的第一数据报文之前,所述方法还包括:
    所述交换机接收所述分析服务器发送的配置命令,所述配置命令包括数据流信息,所述配置命令用于指示所述交换机提供用于检测所述数据流信息标识的数据流在所述交换机内部的时延的信息,所述第一数据报文属于所述数据流。
  4. 根据权利要求3所述的方法,其特征在于,所述交换机接收所述分析服务器发送的配置命令之后,所述方法还包括:
    所述交换机采用网络时间协议或精密时间协议,将所述交换机内部的时钟调整为网络时钟。
  5. 一种交换机,其特征在于,包括:接收模块、生成模块和发送模块;
    所述接收模块,用于接收上一跳设备发送的第一数据报文;
    所述生成模块,用于通过在所述接收模块接收到的所述第一数据报文中添加第一时间和第二时间生成第二数据报文,所述第一时间为所述接收模块接收所述上一跳设备发送的所述第一数据报文的时间,所述第二时间为所述发送模块向下一跳设备转发转发所述第一数据报文的时间;
    所述发送模块,用于向分析服务器发送所述生成模块生成的所述第二数据报文,所述第二数据报文用于通知所述分析服务器所述第一时间和所述第二时间,所述第一时间和所述第二时间用于确定所述第一数据报文在所述交换机内部的时延,所述下一跳设备和所述分析服务器为不同的设备。
  6. 根据权利要求5所述的交换机,其特征在于,
    所述第二数据报文还包括第一指示信息,所述第一指示信息用于指示所述第二数据报文包括所述第一数据报文,或者所述第二数据报文包括所述第一数据报文的一部分。
  7. 根据权利要求5或6所述的交换机,其特征在于,
    所述接收模块,还用于在接收上一跳设备发送的第一数据报文之前,接收所述分析服务器发送的配置命令,所述配置命令包括数据流信息,所述配置命令用于指示所述交 换机提供用于检测所述数据流信息标识的数据流在所述交换机内部的时延的信息,所述第一数据报文属于所述数据流。
  8. 根据权利要求7所述的交换机,其特征在于,所述交换机还包括调整模块;
    所述调整模块,用于在所述接收模块接收所述分析服务器发送的配置命令之后,采用网络时间协议或精密时间协议,将所述交换机内部的时钟调整为网络时钟。
  9. 一种交换机,其特征在于,包括处理器和存储器;
    所述存储器用于存储计算机程序指令,当所述交换机运行时,所述处理器执行所述存储器存储的所述计算机程序指令,以使所述交换机执行如权利要求1至4任意一项所述的检测时延的方法。
  10. 一种通信系统,其特征在于,包括主机、分析服务器以及与所述分析服务器通信的至少一个如权利要求5至8任意一项或9所述的交换机;其中,
    所述主机,用于发送第一数据报文;
    至少一个交换机中的每个交换机,用于接收所述第一数据报文,并通过在所述第一数据报文中添加第一时间和第二时间生成第二数据报文,以及向所述分析服务器发送所述第二数据报文;所述第一时间为所述每个交换机接收上一跳设备发送的所述第一数据报文的时间,所述第二时间为所述每个交换机向下一跳设备转发所述第一数据报文的时间,所述上一跳设备为所述主机或交换机,所述下一跳设备为所述主机或交换机;
    所述分析服务器,用于接收所述每个交换机发送的所述第二数据报文,并根据所述第二数据报文中的所述第一时间和所述第二时间确定所述第一数据报文在所述每个交换机内部的时延。
PCT/CN2017/109375 2016-12-19 2017-11-03 一种检测时延的方法、装置及系统 WO2018113425A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611180806.9A CN108206753B (zh) 2016-12-19 2016-12-19 一种检测时延的方法、装置及系统
CN201611180806.9 2016-12-19

Publications (1)

Publication Number Publication Date
WO2018113425A1 true WO2018113425A1 (zh) 2018-06-28

Family

ID=62603046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/109375 WO2018113425A1 (zh) 2016-12-19 2017-11-03 一种检测时延的方法、装置及系统

Country Status (2)

Country Link
CN (1) CN108206753B (zh)
WO (1) WO2018113425A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110492987A (zh) * 2019-09-11 2019-11-22 吉林省广播电视研究所(吉林省广播电视局科技信息中心) 精密时间预测同步电子系统
CN113300798A (zh) * 2021-05-27 2021-08-24 北京交通大学 一种异步终端的传输确定性接入方法
CN113507396A (zh) * 2021-06-30 2021-10-15 新华三信息安全技术有限公司 一种网络状态分析方法、装置、设备及机器可读存储介质
CN114553757A (zh) * 2022-01-29 2022-05-27 阿里巴巴(中国)有限公司 基于可编程交换机的协议报文处理方法、装置和设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347701B (zh) * 2018-11-09 2024-05-17 公安部第三研究所 实现对网络隔离产品性能进行测试控制的系统及方法
CN111262752B (zh) * 2020-01-13 2022-05-27 新华三信息安全技术有限公司 一种带内遥测的方法以及设备
CN111371646A (zh) * 2020-02-28 2020-07-03 苏州浪潮智能科技有限公司 一种存储系统性能的检测方法、检测装置及检测设备
CN114095459A (zh) * 2020-08-03 2022-02-25 中国移动通信有限公司研究院 一种传输方法、网元及存储介质
CN112152946B (zh) * 2020-09-25 2022-09-23 苏州盛科通信股份有限公司 基于报文转发路径的延时处理方法及系统
CN116806035A (zh) * 2022-03-17 2023-09-26 华为技术有限公司 一种时延分析方法及装置
CN115865759A (zh) * 2023-02-27 2023-03-28 科来网络技术股份有限公司 基于流量镜像协议的网络设备时延获取方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296048A (zh) * 2008-06-17 2008-10-29 杭州华三通信技术有限公司 一种时间同步方法及设备
CN101997774A (zh) * 2010-11-03 2011-03-30 华为数字技术有限公司 一种转发时延的记录方法及路由器
US20130170507A1 (en) * 2011-12-13 2013-07-04 Canning Hsueh Time synchronization for network testing equipment
CN103997427A (zh) * 2014-03-03 2014-08-20 浙江大学 通信网络检测与防攻击保护方法、装置、通信设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296048A (zh) * 2008-06-17 2008-10-29 杭州华三通信技术有限公司 一种时间同步方法及设备
CN101997774A (zh) * 2010-11-03 2011-03-30 华为数字技术有限公司 一种转发时延的记录方法及路由器
US20130170507A1 (en) * 2011-12-13 2013-07-04 Canning Hsueh Time synchronization for network testing equipment
CN103997427A (zh) * 2014-03-03 2014-08-20 浙江大学 通信网络检测与防攻击保护方法、装置、通信设备及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110492987A (zh) * 2019-09-11 2019-11-22 吉林省广播电视研究所(吉林省广播电视局科技信息中心) 精密时间预测同步电子系统
CN110492987B (zh) * 2019-09-11 2023-06-16 吉林省广播电视研究所(吉林省广播电视局科技信息中心) 精密时间预测同步电子系统
CN113300798A (zh) * 2021-05-27 2021-08-24 北京交通大学 一种异步终端的传输确定性接入方法
CN113507396A (zh) * 2021-06-30 2021-10-15 新华三信息安全技术有限公司 一种网络状态分析方法、装置、设备及机器可读存储介质
CN113507396B (zh) * 2021-06-30 2023-07-14 新华三信息安全技术有限公司 一种网络状态分析方法、装置、设备及机器可读存储介质
CN114553757A (zh) * 2022-01-29 2022-05-27 阿里巴巴(中国)有限公司 基于可编程交换机的协议报文处理方法、装置和设备

Also Published As

Publication number Publication date
CN108206753B (zh) 2020-04-14
CN108206753A (zh) 2018-06-26

Similar Documents

Publication Publication Date Title
WO2018113425A1 (zh) 一种检测时延的方法、装置及系统
US11374870B2 (en) Network congestion notification method, agent node, and computer device
US11902139B2 (en) Diagnosing and resolving issues in a network using probe packets
CN113411834B (zh) 报文处理方法、装置、设备及存储介质
US20160173267A1 (en) Method and Apparatus for Processing Time Synchronization
US20140056122A1 (en) Procedures, apparatuses, systems, and computer-readable media for operating primary and backup network elements
US8547845B2 (en) Soft error recovery for converged networks
WO2021128927A1 (zh) 报文的处理方法及装置、存储介质和电子装置
WO2022062931A1 (zh) 网络异常确定方法及装置
JP7124206B2 (ja) パケット処理方法およびゲートウェイ・デバイス
US20200044964A1 (en) Defect detection in ip/mpls network tunnels
US11456943B2 (en) Packet transmission method and apparatus
WO2023226633A1 (zh) 故障处理方法、相关设备和系统
CN117354253A (zh) 一种网络拥塞通知方法、装置及存储介质
WO2022063126A1 (zh) 报文传输控制、生成、传输方法及配置方法、设备、介质
JP2023554325A (ja) パケット処理方法及び装置
CN114915564A (zh) 网络状态测量方法、装置和系统
CN114124753B (zh) 一种报文发送方法及设备
US20240007405A1 (en) Transport protocol selection based on connection state
WO2023078144A1 (zh) 报文处理方法、装置及系统
US11799749B1 (en) Systems and methods for facilitating traceroute operations across segment routing paths within networks
WO2024021878A1 (zh) 一种发送负载信息的方法、发送报文的方法及装置
WO2023030202A1 (zh) 路径故障检测方法、装置、系统、网络设备及存储介质
WO2019223435A1 (zh) 组播快速切换的方法、装置、设备及存储介质
CN114598636A (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: 17885092

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

Country of ref document: EP

Kind code of ref document: A1