Data transmission path bottleneck information determination method and application thereof
By embedding CSIG-Tag headers in Ping messages, hop-by-hop bottleneck detection and feedback in the network path is realized, and the problems of inaccurate bottleneck positioning and feedback delay in the existing technology are solved, which improves the accuracy of network bottleneck detection and Real-time.
Patent Information
- Application Number
- CN202411335212.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2024-12-31
AI Technical Summary
The existing technology is not accurate enough in network bottleneck positioning, especially in complex network environments, and it is difficult to accurately judge specific bottleneck equipment and ports, and detection tools are difficult to hop-by-hop positioning problems in multi-hop transmission scenarios, resulting in the impact of network performance and user experience. .
By embedding CSIG-Tag headers in the Ping message, including bottleneck type fields, signal value fields and positioning metadata fields, the forwarding device detects and updates the signal values and positioning metadata in real time based on these fields, detects network performance bottlenecks by hop, and The bottleneck information is transmitted back to the source through the feedback mechanism.
It realizes accurate and real-time positioning of bottlenecks in data transmission paths, reduces the processing burden of network equipment, improves the efficiency and accuracy of bottleneck detection, and enhances the control capabilities of network operation and maintenance personnel.
Smart Images

Figure CN119232637A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of network communications, and in particular relates to a method for determining bottleneck information of a data transmission path and an application thereof. Background Art
[0002] In existing data transmission networks, as the scale of networks expands and data traffic increases, network bottlenecks become increasingly prominent. Network bottlenecks not only increase data transmission delays, but also reduce bandwidth utilization, which seriously affects network performance and user experience. In order to detect bottleneck locations in the network, traditional technologies usually rely on simple network testing tools and bandwidth monitoring methods, such as Ping and Traceroute. These tools can roughly determine the delay on certain paths by sending probe packets to the target device and measuring the return time. However, these methods have certain limitations and cannot deeply analyze the bottleneck characteristics of specific devices in the network.
[0003] Existing technologies are not accurate enough in locating network bottlenecks, especially in complex network environments, where it is difficult to accurately determine the specific bottleneck devices and ports. Many detection tools can only provide total latency or bandwidth information on a path, but cannot deeply analyze which specific device caused the bottleneck. Especially in multi-hop transmission scenarios, multiple devices on the path may have performance problems at the same time, and existing technologies make it difficult to locate the problem hop by hop.
[0004] Therefore, it is necessary to provide a new solution to the above technical problems. Summary of the invention
[0005] The object of the present invention is to provide a method for determining bottleneck information of a data transmission path and its application, which can improve the accuracy and real-time performance of locating the bottleneck of the data transmission path.
[0006] To achieve the above purpose, the technical solution provided by the present invention is as follows:
[0007] In a first aspect, the present invention provides a method for determining bottleneck information of a data transmission path, comprising:
[0008] The first terminal sends a Ping Request message including a CSIG-Tag header to the second terminal along a transmission path, wherein the CSIG-Tag header includes a bottleneck type field, a signal value field, and a positioning metadata field; the forwarding device on the transmission path updates the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header; the second terminal receives the Ping Request message after the CSIG-Tag header is updated, and generates a Ping Reply message to transmit back to the first terminal, wherein the Ping Reply message carries the updated CSIG-Tag header information; the first terminal determines and displays the bottleneck information in the transmission path according to the Ping Reply message.
[0009] In one or more embodiments, the forwarding device on the transmission path updates the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header, including: the forwarding device compares the network performance parameters at the export of the forwarding device with the value in the signal value field according to the bottleneck type field of the CSIG-Tag header, and the bottleneck type includes the minimum available bandwidth, the minimum bandwidth utilization and the maximum hop-by-hop delay; when the network performance parameters at the export of the forwarding device meet the preset conditions, the signal value field and the positioning metadata field are updated.
[0010] In one or more embodiments, the method includes: when the bottleneck type is the minimum available bandwidth, comparing the export available bandwidth value of the forwarding device with the value in the signal value field; when the available bandwidth at the export of the forwarding device is less than the value in the signal value field, updating the signal value field to the export available bandwidth value of the forwarding device, and updating the positioning metadata field to the global ID of the export of the forwarding device.
[0011] In one or more embodiments, the method includes: when the bottleneck type is the minimum available bandwidth utilization, comparing the available bandwidth utilization of the forwarding device's export with the value in the signal value field; when the available bandwidth utilization of the forwarding device's export is less than the value in the signal value field, updating the signal value field to the available bandwidth utilization of the forwarding device's export, and updating the positioning metadata field to the global ID of the forwarding device's export.
[0012] In one or more embodiments, the method includes: when the bottleneck type is the maximum hop-by-hop delay, comparing the egress hop-by-hop delay of the forwarding device with the value in the signal value field; when the egress hop-by-hop delay of the forwarding device is greater than the value in the signal value field, updating the signal value field to the egress hop-by-hop delay of the forwarding device, and updating the positioning metadata field to the global ID of the egress of the forwarding device.
[0013] In one or more implementations, the first terminal sends multiple Ping Request messages including CSIG-Tag headers at one time in one detection process, and the bottleneck type fields of the CSIG-Tag headers of the multiple Ping Request messages are the same.
[0014] In one or more implementations, the first terminal periodically sends multiple Ping Request messages including CSIG-Tag headers in a detection process, and the bottleneck type fields of the CSIG-Tag headers of the multiple Ping Request messages are the same.
[0015] In one or more embodiments, the first terminal sends multiple Ping Request messages including CSIG-Tag headers once or periodically in a detection process, and the bottleneck type field of the CSIG-Tag headers of the multiple Ping Request messages includes the minimum available bandwidth, the minimum bandwidth utilization and the maximum hop-by-hop delay.
[0016] In one or more embodiments, the method includes: the second terminal encapsulates a CSIG-Tag header in the Ping Reply message, and sends the Ping Reply message to the first terminal along the reverse path of the transmission path; the forwarding device on the reverse path updates the signal value field and the positioning metadata field according to the bottleneck type field of the CSIG-Tag header in the Ping Reply message; after the first terminal receives the Ping Reply message, it determines the bottleneck information in the reverse path according to the updated CSIG-Tag header in the Ping Reply message.
[0017] In one or more implementations, the first terminal sends multiple Ping Request messages at one time or periodically sends multiple Ping Request messages.
[0018] In a second aspect, the present invention provides a data transmission path bottleneck information determination system, comprising:
[0019] A sending module, configured to enable the first terminal to send a PingRequest message including a CSIG-Tag header to the second terminal along a transmission path, wherein the CSIG-Tag header includes a bottleneck type field, a signal value field, and a positioning metadata field;
[0020] An updating module, configured to enable a forwarding device on the transmission path to update a signal value field and a positioning metadata field in the CSIG-Tag header according to a bottleneck type field in the CSIG-Tag header;
[0021] A feedback module, configured to enable the second terminal to generate a Ping Reply message after receiving the Ping Request message with the updated CSIG-Tag header, and transmit the message back to the first terminal, wherein the Ping Reply message carries the updated CSIG-Tag header information;
[0022] The determination module is used to enable the first terminal to determine and display the bottleneck information in the transmission path according to the Ping Reply message.
[0023] In a third aspect, the present invention provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for determining bottleneck information of a data transmission path as described above is implemented.
[0024] In a fourth aspect, the present invention provides a computer-readable medium, wherein the computer-readable medium carries computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method for determining bottleneck information of a data transmission path as described above.
[0025] Compared with the prior art, the data transmission path bottleneck information determination method and its application provided by the present invention realize hop-by-hop bottleneck information update and feedback by lightweight marking and processing of data packets in the network path; by embedding specific identification information in the transmission message, each forwarding device in the path can detect and record its own performance status in real time, and gradually transmit the key information of the bottleneck location back to the source end along with the message, thereby helping network administrators to accurately and real-time identify the bottleneck points in the path. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0027] Figure 1 It is a flow chart of a method for determining bottleneck information of a data transmission path according to an embodiment of the present invention;
[0028] Figure 2 This is the intention of the one-way detection process in one embodiment of the present invention;
[0029] Figure 3 A schematic diagram of a bidirectional detection process in an embodiment of the present invention;
[0030] Figure 4A schematic diagram of a system for determining bottleneck information of a data transmission path according to an embodiment of the present invention;
[0031] Figure 5 FIG. 4 is a schematic diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0032] In order to enable those skilled in the art to better understand the technical solutions in the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0033] The background of the invention stems from the rapid development and complexity of modern data transmission networks, especially in high-real-time and high-reliability application scenarios such as data centers, wide area networks and industrial Internet, where network bottlenecks have become a key factor affecting transmission efficiency and quality. With the expansion of network scale and the sharp increase in data traffic, how to effectively, in real time and accurately determine the bottleneck position in the data transmission path has become an urgent problem that network operation and maintenance personnel need to solve.
[0034] In the existing technology, although there are some network detection and telemetry technologies used for bottleneck location, these technologies have exposed a series of shortcomings in practical applications. First, many existing network performance detection methods are too complicated, resulting in large equipment processing overhead, especially in high-load network environments, which increases additional operation and maintenance costs. Secondly, these technologies are difficult to provide accurate hop-by-hop detection when locating bottlenecks. They can usually only provide overall path performance and cannot accurately identify specific bottleneck devices and ports. In addition, the existing technology has a lag in data feedback and response, making it difficult to reflect changes in network status in a timely manner, resulting in managers being unable to take effective measures as soon as bottlenecks appear.
[0035] In response to these problems, the present invention proposes a simplified and efficient technical idea, which realizes hop-by-hop bottleneck information update and feedback by lightweight marking and processing of data packets in the network path. This technical idea embeds specific identification information in the transmission message, so that each forwarding device in the path can detect and record its own performance status in real time, and gradually transmits the key information of the bottleneck location back to the source end with the message, thereby helping network administrators to accurately and in real time identify the bottleneck points in the path. This idea emphasizes the design concept of low overhead, high precision and real-time feedback, aiming to improve the efficiency and accuracy of bottleneck detection through lightweight operations, while enhancing the adaptability of the system, and is suitable for a variety of network scenarios.
[0036] Through this technical implementation idea, the present invention can effectively solve the problems of complexity, inaccurate bottleneck positioning and feedback delay in the prior art, and provide an efficient and flexible network bottleneck detection solution. This technical framework can not only simplify the processing burden of network equipment, but also greatly improve the accuracy and real-time performance of bottleneck positioning, giving network operation and maintenance personnel stronger control and management capabilities.
[0037] Please refer to Figure 1 FIG. 1 is a flow chart of a method for determining bottleneck information of a data transmission path in an embodiment of the present invention. The method for determining bottleneck information of a data transmission path specifically comprises the following steps:
[0038] S101: A first terminal sends a Ping Request message including a CSIG-Tag header to a second terminal along a transmission path. The CSIG-Tag header includes a bottleneck type field, a signal value field, and a positioning metadata field.
[0039] In step S101, the first terminal sends a Ping Request message, which carries a CSIG-Tag header, in order to detect the bottleneck position in the data transmission path through the message and provide basic data for subsequent bottleneck analysis. By embedding the CSIG-Tag header into the Ping message, a simple and efficient detection of bottleneck devices in the network path is achieved without the need for complex congestion management algorithms.
[0040] Ping is based on the ICMP protocol, which detects network connectivity and latency by sending ICMP Echo request messages to the target host. However, Ping itself can only provide overall path latency information, but cannot identify specific path bottleneck devices. Therefore, the present invention combines the CSIG-Tag header with the Ping message to give Ping the ability to detect path performance bottlenecks hop by hop.
[0041] The CSIG-Tag header consists of a small number of fields, including the bottleneck type field (Type), the signal value field (Signal), and the location metadata field (LM), which occupy very few message resources. The header design does not require complex modifications to the message structure. It can only be inserted between the Ethernet header and the IP header of the Ping message to achieve the transmission and update of bottleneck information.
[0042] Traditional bottleneck detection or network performance optimization usually requires the use of congestion management algorithms or complex flow control mechanisms, such as TCP's congestion control algorithm. However, the present invention embeds the CSIG-Tag header in the Ping message to achieve hop-by-hop performance detection and bottleneck device identification without the need for complex congestion management algorithms. This design greatly simplifies the detection process while maintaining the simplicity and efficiency of the Ping message, reducing the processing burden of network devices.
[0043] Since it does not rely on congestion management algorithms, bottleneck detection using Ping combined with the CSIG-Tag header will not interfere with existing flow control mechanisms, nor will it affect the transmission performance of other data streams. This enables the solution to provide accurate performance bottleneck detection without changing the existing behavior of network devices.
[0044] In the specific implementation process, the first terminal can construct a standard network message. In the design of the message, the key part is the CSIG-Tag header, which contains three important fields: bottleneck type field, signal value field and positioning metadata field. The bottleneck type field indicates the network performance indicators that this detection is concerned about, such as minimum available bandwidth, minimum bandwidth utilization or maximum hop-by-hop delay. For example, if the minimum available bandwidth is selected as the bottleneck type field, the message will focus on detecting the bandwidth performance of each path node to determine the bottleneck node.
[0045] The main function of the CSIG-Tag header is to help detect performance bottlenecks in the path hop by hop. Each device can detect its own performance in real time and update relevant information based on the bottleneck type field, signal value field, and positioning metadata field in the CSIG-Tag header.
[0046] The signal value field is usually initialized to a certain extreme value when the message is constructed (for example, for the minimum available bandwidth, the signal value field can be set to a maximum value of 0xFFFFF). The signal value field will be updated during the hop-by-hop transmission process of each device to ensure that the signal value returned at the end is the lowest bandwidth value in the path. Although this field does not carry actual bottleneck information at the beginning of message construction, it provides a basis for hop-by-hop detection of the entire path and ensures the dynamic update of bottleneck information.
[0047] The location metadata field is a key part of recording device information. When the Ping Request message is sent, this field will record the device ID of the first terminal. The main function of the location metadata field is to help network administrators trace the specific bottleneck device in the network path. When the message passes through the forwarding device (intermediate device) in the network, if the performance parameters of a certain device become a bottleneck, its ID will be recorded in the location metadata field for subsequent feedback to the first terminal.
[0048] In an exemplary embodiment, the first terminal sends multiple Ping Request messages containing CSIG-Tag headers at one time in a detection process, and the bottleneck type field of the CSIG-Tag headers of the multiple Ping Request messages is the same. For example, all Ping Request messages are used to detect the minimum available bandwidth (Min(ABW)) or the maximum hop-by-hop delay (Max(PD)). Each Ping Request message is transmitted along the same path, and the signal value field and the positioning metadata field in the CSIG-Tag header are updated hop by hop to record the worst network performance parameters and the corresponding bottleneck device in the path.
[0049] The method of sending multiple Ping Request messages continuously at one time is suitable for scenarios where network bottleneck information needs to be obtained quickly. The first terminal sends multiple Ping Request messages carrying CSIG-Tag headers in a short period of time. Each message is transmitted along the same path and detects network performance hop by hop. The advantage of this method is that it can obtain multiple test results in a short period of time. By comprehensively analyzing these results, the impact of accidental network fluctuations or errors in a single test on the final result is reduced. For example, if a device exhibits abnormal latency or bandwidth bottlenecks due to short-term network jitter in a test, by sending messages multiple times, the performance status in the path can be more comprehensively evaluated, thereby obtaining more accurate bottleneck location results.
[0050] In an exemplary embodiment, the first terminal periodically sends multiple Ping Request messages including CSIG-Tag headers in a detection process, and the bottleneck type fields of the CSIG-Tag headers of the multiple Ping Request messages are the same.
[0051] The periodic sending of multiple Ping Request messages is suitable for scenarios where long-term monitoring of network performance changes is required. The first terminal sends Ping Request messages carrying the CSIG-Tag header at fixed time intervals. This method can help network administrators continuously observe the changing trend of network performance over a period of time. For environments where the network status fluctuates greatly over time, periodic sending of messages can help capture bottlenecks caused by changes in network load. For example, during the peak period of a data center, the network load may increase rapidly, causing bandwidth bottlenecks or latency bottlenecks on certain paths to become significant. By periodically sending Ping Request messages, the first terminal can monitor the bottlenecks that occur during the peak period of network load, and compare and analyze them with the detection results during the off-peak period, so as to formulate a more effective network optimization strategy.
[0052] In an exemplary embodiment, the first terminal sends multiple Ping Request messages including CSIG-Tag headers once or periodically in a detection process, and the bottleneck type field of the CSIG-Tag headers of the multiple Ping Request messages includes the minimum available bandwidth, the minimum bandwidth utilization and the maximum hop-by-hop delay.
[0053] By sending Ping Request messages containing different bottleneck type fields once or periodically, the system can capture bottleneck information in the network from multiple angles, including bandwidth, bandwidth utilization, and latency. This multi-dimensional analysis helps administrators fully understand network performance bottlenecks and avoid one-sided reliance on a single performance indicator.
[0054] The specific implementation method can be completed based on the customization of network management tools or protocols. For example, the first terminal can send detection requests multiple times through ICMP Echo request messages (Ping), and each message carries a CSIG-Tag header to detect bottleneck information in the path hop by hop. If you choose to send multiple Ping Request messages at one time, the first terminal can send continuous Ping requests in a short period of time. Each request will go through the same path, and through multiple detections, the performance data of each network device can be obtained. If periodic sending is selected, the first terminal can send PingRequest messages regularly according to a preset time interval, for example, every 5 minutes, and continuously detect for one hour, so as to observe the changes of bottlenecks in the network path over time.
[0055] S102: The forwarding device on the transmission path updates the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header.
[0056] In the specific implementation, the forwarding device will first receive a message with a CSIG-Tag header. The CSIG-Tag header contains a bottleneck type field, which indicates the detection target of the current message. For example, if the bottleneck type field is set to "minimum available bandwidth", the device needs to detect the available bandwidth value of its export. Next, the forwarding device compares the performance parameter with the signal value field in the CSIG-Tag header. If the bandwidth of the device is less than the current value in the signal value field, it means that the forwarding device has become a potential bottleneck. At this time, the forwarding device will update the signal value field, write its available bandwidth value into the field, and write the identification information of the forwarding device (such as device ID or port ID) into the positioning metadata field.
[0057] The main purpose of this process is to ensure that the performance of each node is reflected in real time when the message is transmitted on the path through dynamic, hop-by-hop updates. The signal value field always records the worst performance node, so that the message can carry the real bottleneck device information in the path when it returns to the first terminal. This mechanism can not only accurately locate the bottleneck, but also ensure the real-time and accuracy of the detection process.
[0058] The above method can realize hop-by-hop detection, which can accurately identify the performance bottleneck in the network. In addition, through dynamic update, each device only needs to simply compare and replace the signal value field, which is lightweight and hardly increases the processing burden of the device. Such lightweight processing makes the solution suitable for large-scale network environments, especially in complex networks such as data centers and wide area networks, and can detect and feedback bottleneck information in real time. In addition, the positioning metadata field ensures that administrators can quickly identify the specific devices and ports that cause bottlenecks, greatly improving the efficiency of network maintenance and troubleshooting.
[0059] In an exemplary embodiment, the forwarding device on the transmission path updates the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header, specifically including: the forwarding device compares the network performance parameters at the export of the forwarding device with the value in the signal value field according to the bottleneck type field of the CSIG-Tag header, and the bottleneck type includes the minimum available bandwidth, the minimum bandwidth utilization and the maximum hop-by-hop delay; when the network performance parameters at the export of the forwarding device meet the preset conditions, the signal value field and the positioning metadata field are updated.
[0060] In the specific implementation, each forwarding device will first parse the bottleneck type field in the CSIG-Tag header, which indicates the type of network performance parameters that need to be detected, usually including minimum available bandwidth, minimum bandwidth utilization, and maximum hop-by-hop delay. For different bottleneck types, the forwarding device will read its own egress network performance parameters and compare them with the current value in the signal value field. For example, when the bottleneck type is "minimum available bandwidth", the device will read the available bandwidth of its egress interface and compare it with the value in the signal value field; if the device's available bandwidth is lower than the current value in the signal value field, the device will update the signal value field, record its own available bandwidth value, and write the device ID or port ID into the positioning metadata field, indicating that the device has become a bottleneck node.
[0061] The "preset conditions" mentioned above specifically refer to the comparison criteria under different bottleneck types. For example, for the minimum available bandwidth, when the available bandwidth of the forwarding device is less than the current value in the signal value field, the device will update; for the minimum bandwidth utilization, the device will compare whether its bandwidth utilization is lower than the value in the signal value field; and for the maximum hop-by-hop delay, the device will update the signal value field to the maximum value of its egress delay. This design ensures that each forwarding device can accurately detect different types of bottlenecks, ensuring the flexibility and adaptability of the detection process.
[0062] Specifically, when the bottleneck type is the minimum available bandwidth, the available bandwidth value at the export of the forwarding device is compared with the value in the signal value field. When the available bandwidth at the export of the forwarding device is less than the value in the signal value field, the signal value field is updated to the available bandwidth value at the export of the forwarding device, and the positioning metadata field is updated to the global ID of the export of the forwarding device.
[0063] For example, suppose that in a multi-hop transmission path, the first terminal sends a Ping request message with a CSIG-Tag header to the second terminal, with the goal of detecting the minimum available bandwidth in the path. The signal value field is initialized to 0xFFFFF, which is a maximum value, indicating that no bottleneck has been detected. When the message passes through the first forwarding device in the path, the device checks its own egress bandwidth and finds that its available bandwidth is 200Mbps, which is smaller than the maximum value in the signal value field. Therefore, the device writes 200Mbps into the signal value field and writes its own device ID into the positioning metadata field to indicate that it is currently a bottleneck device.
[0064] The message then continues to the next forwarding device. If the bandwidth of the next device is 150Mbps, which is smaller than the 200Mbps in the current signal value field, it will also update the signal value field to 150Mbps and write its device ID into the positioning metadata field. Finally, when the message reaches the second terminal, the signal value field will record the minimum bandwidth in the entire path, and the positioning metadata field will identify the device that causes the bottleneck.
[0065] Specifically, when the bottleneck type is the minimum available bandwidth utilization, the available bandwidth utilization at the export of the forwarding device is compared with the value in the signal value field; when the available bandwidth utilization at the export of the forwarding device is less than the value in the signal value field, the signal value field is updated to the available bandwidth utilization at the export of the forwarding device, and the positioning metadata field is updated to the global ID of the export of the forwarding device.
[0066] Bandwidth utilization is an important indicator of how busy a device is. Lower available bandwidth utilization means that the device has less available bandwidth than its total bandwidth, and may become a bottleneck in the path. Similarly, if the bandwidth utilization of a device is lower than the current value in the signal value field, it will update the signal value field to its egress bandwidth utilization and update the positioning metadata field. For example, suppose a device has a total bandwidth of 1Gbps, but its available bandwidth is only 100Mbps, then its bandwidth utilization is 10%. If the bandwidth utilization recorded in the signal value field is higher than 10%, the device will update the field to 10% and identify itself as a bottleneck node.
[0067] Specifically, when the bottleneck type is the maximum hop-by-hop delay, compare the exit hop-by-hop delay of the forwarding device with the value in the signal value field; when the exit hop-by-hop delay of the forwarding device is greater than the value in the signal value field, update the signal value field to the exit hop-by-hop delay of the forwarding device, and update the positioning metadata field to the global ID of the exit of the forwarding device.
[0068] If the hop-by-hop delay of the device is greater than the current value in the signal value field, it indicates that its delay performance is poor and may cause a delay bottleneck in the path. At this time, the device will update the signal value field to the hop-by-hop delay value of its egress and update the positioning metadata field. For example, in the scenario of detecting the maximum hop-by-hop delay in the path, assuming that the egress delay of a device is 30ms and the initial value in the signal value field is 10ms, the device will update the signal value field to 30ms to identify itself as a potential delay bottleneck.
[0069] S103: The second terminal receives the Ping Request message after the CSIG-Tag header is updated, generates a Ping Reply message and transmits it back to the first terminal. The Ping Reply message carries the updated CSIG-Tag header information.
[0070] In the specific implementation process, the second terminal parses the CSIG-Tag header transmitted from the path, which contains the signal value field and the positioning metadata field after being updated hop by hop by each device in the path. The signal value field represents the performance parameters of the device with the worst performance in the entire path, while the positioning metadata field records the specific device ID or port ID that causes the bottleneck. After receiving these update information, the second terminal does not directly process these fields further, but generates a Ping Reply message and encapsulates the information in the CSIG-Tag header into the Ping Reply message as is, to ensure that the bottleneck information can be accurately transmitted back to the first terminal.
[0071] There are many ways to generate a Ping Reply message, such as constructing a response message corresponding to the initial Ping request based on a commonly used network protocol (such as ICMP EchoReply). The message will carry the updated CSIG-Tag header information (CSIG-Reflection header) and return to the first terminal through the reverse network path. During the feedback process, the forwarding device in the reverse path will not perform any further processing on the CSIG-Tag header to ensure that the returned data is exactly the same as the data received by the second terminal.
[0072] In an exemplary embodiment, in a bidirectional detection mode, the second terminal encapsulates a CSIG-Tag header in the Ping Reply message, and sends the Ping Reply message to the first terminal along the reverse path of the transmission path; the forwarding device on the reverse path updates the signal value field and the positioning metadata field according to the bottleneck type field of the CSIG-Tag header in the Ping Reply message; after receiving the Ping Reply message, the first terminal determines the bottleneck information in the reverse path according to the updated CSIG-Tag header in the Ping Reply message.
[0073] In the specific implementation process, the operation steps in the bidirectional detection mode are divided into two parts: the first part is the detection of the forward path, that is, the first terminal sends a Ping Request message with a CSIG-Tag header, and the message updates the signal value field and the positioning metadata field hop by hop through each forwarding device, and finally reaches the second terminal. The second part is the reverse path detection based on the Ping Reply message. When the second terminal receives the Ping Request message on the forward path, it generates a Ping Reply message and encapsulates a new CSIG-Tag header in the message. This new CSIG-Tag header will be used for reverse path detection. When the Ping Reply message is transmitted along the reverse path, each forwarding device on the reverse path will also gradually update the signal value field and the positioning metadata field according to the bottleneck type field in the CSIG-Tag header, similar to the processing method of the forward path. Finally, when the Ping Reply message returns to the first terminal, the bottleneck information carried in the CSIG-Tag header will reflect the bottleneck situation in the reverse path.
[0074] To better understand this process, we can use a specific example to illustrate. Assume that in an enterprise network, data is transmitted between a first terminal and a second terminal, and the administrator wants to detect bottlenecks not only in the forward path, but also in the reverse path. In this scenario, the first terminal first sends a PingRequest message with a CSIG-Tag header, and each forwarding device on the forward path updates the signal value field and the positioning metadata field hop by hop until the message reaches the second terminal.
[0075] The second terminal then generates a Ping Reply message and adds a new CSIG-Tag header to the message for reverse path detection. When the Ping Reply message is transmitted along the reverse path, each device detects the network performance parameters (such as available bandwidth or hop-by-hop delay) of its exit based on the bottleneck type field, and updates the corresponding information to the CSIG-Tag header. Finally, when the Ping Reply message returns to the first terminal, the CSIG-Tag header records the worst performance node information in the reverse path, such as the minimum available bandwidth or the maximum hop-by-hop delay, to help administrators identify bottleneck devices in the reverse path.
[0076] S104: The first terminal determines and displays bottleneck information in the transmission path according to the Ping Reply message.
[0077] The first terminal receives a Ping Reply message returned from the second terminal. The message carries the signal value field and the positioning metadata field that have been updated by each forwarding device in the network path. The signal value field reflects the worst network performance parameter in the transmission path (such as the minimum available bandwidth, the minimum bandwidth utilization, or the maximum hop-by-hop delay), while the positioning metadata field contains the identification information of the bottleneck device, such as the device ID or port ID.
[0078] After parsing these fields, the first terminal can determine which specific device in the path has become a bottleneck. For example, if the value in the signal value field is a bandwidth parameter, and this value is the minimum available bandwidth in the entire path, the first terminal can immediately know which devices in the path have available bandwidth that has become a limiting factor for transmission. The location metadata field provides detailed information about the device, helping administrators to accurately locate the location and identity of the device.
[0079] After the path detection is completed, the Ping Reply message will carry the updated CSIG-Tag header, which includes the global ID of the bottleneck location (LM field), bottleneck performance data (Signal field) and bottleneck type (Type field). Users do not need to do any complicated operations, just parse the CSIG-Tag header information in the Ping Reply message to obtain the bottleneck device and bottleneck information in the network path.
[0080] After Ping is combined with the CSIG-Tag header, the Ping Reply message can directly return the detected bottleneck information to the user end through the feedback mechanism. The bottleneck information can be directly displayed on the user end, and the user can view the bottleneck device and its performance parameters in the path in real time. Figure 2 The figure shows a scene diagram of one-way detection in an embodiment of the present invention. The one-way detection process is initiated by Host A, and the CSIG-Tag header is used to perform hop-by-hop bottleneck detection, and the detection result is returned by Host B through the PingReply message. The one-way detection process is as follows:
[0081] 1. Preparation
[0082] The CSIG function needs to be enabled on all devices in the entire network. A globally unique ID is assigned to each device's outbound interface to accurately identify the bottleneck device during the detection process. If some devices do not support CSIG or deliberately do not participate in the detection, they do not process CSIG messages in this process.
[0083] 2. Host A forward processing
[0084] Host A is the detection initiator. The user specifies the detection peer (Host B) and selects the bottleneck detection type (such as minimum available bandwidth Min (ABW), minimum bandwidth utilization Min (ABW / C) or maximum hop-by-hop delay Max (PD)). Host A first constructs a standard Ping Request message and performs CSIG transformation. The transformation includes:
[0085] A CSIG-Tag header is inserted between the Ethernet header and the IP header. The CSIG-Tag header contains Type, Signal, LM, and Flag fields.
[0086] The Type field is set according to the bottleneck type detected: 0 for Min (ABW), 1 for Min (ABW / C), and 2 for Max (PD).
[0087] The Signal field is initialized to an extreme value (0xFFFFF for minimum detection and 0 for maximum detection).
[0088] The LM field is filled with Host A's global ID to identify the source device.
[0089] The Dir_Flag in the Flag field is set to 0, indicating that the detection is a one-way detection. After the construction is completed, Host A sends the Ping Request message.
[0090] 3. Forward processing by intermediate devices
[0091] When a Ping Request message passes through an intermediate device, the device processes it differently depending on whether it supports the CSIG function:
[0092] ① Devices without CSIG capability: directly forward the message normally without any processing.
[0093] ② Devices with CSIG capabilities: First, parse the CSIG-Tag header and determine the network performance parameters to be compared based on the value of the Type field:
[0094] If Type is 0, the device compares the value in the Signal field with the available bandwidth value of the device export. If the available bandwidth of the device is smaller, the Signal field is replaced.
[0095] If Type is 1, the device compares the value in the Signal field with the bandwidth utilization value of the device's egress. If the bandwidth utilization of the device is smaller, the Signal field is replaced.
[0096] If Type is 2, the device compares the value in the Signal field with the hop-by-hop delay value of the device's egress. If the device's delay is greater, the Signal field is replaced. When performing the replacement operation, the device updates the Signal field to the detected performance value and updates the LM field to the global ID of the device's egress, identifying the device as a potential bottleneck node. The updated message continues to be transmitted along the path until it reaches Host B.
[0097] 4. Host B reflection processing
[0098] After Host B receives the Ping Request message, it generates a corresponding Ping Reply message. It parses the CSIG-Tag header in the Ping Request and finds that the message is a one-way detection (Dir_Flag is 0), and inserts the CSIG-Reflection header into the Ping Reply message. The Type, Signal, and LM fields of the header are directly copied from the CSIG-Tag header. After that, Host B sends the Ping Reply message back to Host A.
[0099] 5. Reverse processing of intermediate devices:
[0100] During the Ping Reply message return process, all intermediate devices (regardless of whether they support the CSIG function) no longer process the CSIG-Reflection header and directly forward the message in the normal way. This ensures that the CSIG-Reflection header in the Ping Reply message remains intact and is eventually returned to Host A.
[0101] 6. Host A reverse processing
[0102] After Host A receives the Ping Reply message, it parses the CSIG-Reflection header and extracts the bottleneck information:
[0103] The Type field indicates the type of bottleneck being detected (bandwidth, bandwidth utilization, or latency).
[0104] The LM field contains the global ID of the bottleneck device in the path. Host A maps the ID to the specific device and its outbound interface.
[0105] The Signal field records the detected bottleneck value (minimum bandwidth, minimum bandwidth utilization, or maximum latency). After Host A parses this information, it presents the bottleneck location and related data to the administrator, helping them understand the bottleneck device in the network path and make optimization decisions.
[0106] Please refer to Figure 3 The figure shows a scene diagram of bidirectional detection in one embodiment of the present invention. The bidirectional detection process is as follows:
[0107] 1. Host A forward processing
[0108] The bidirectional detection process is first initiated by Host A. The user selects the direction of bottleneck detection as bidirectional on Host A and specifies the bottleneck type to be detected (such as minimum available bandwidth Min (ABW), minimum bandwidth utilization Min (ABW / C) or maximum hop-by-hop delay Max (PD)). Host A constructs a standard Ping Request message and performs CSIG transformation on the message. CSIG transformation includes:
[0109] Insert the CSIG-Tag header between the Ethernet header and the IP header.
[0110] The Type field indicates the type of bottleneck detection. 0 indicates Min (ABW), 1 indicates Min (ABW / C), and 2 indicates Max (PD).
[0111] The Signal field is initialized to the maximum or minimum value according to the detection type (Min detection is initialized to 0xFFFFF, Max detection is initialized to 0).
[0112] The LM field contains Host A's global ID, which identifies the source of the message.
[0113] The Dir_Flag in the Flag field is set to 1, indicating that this is a bidirectional detection. Then, Host A sends the Ping Request message.
[0114] 2. Forward processing by intermediate devices
[0115] When a Ping Request message passes through various intermediate devices, different devices process it in different ways:
[0116] ① Devices without CSIG capability: The Ping Request message is forwarded normally without processing the CSIG-Tag header.
[0117] Devices with CSIG capabilities: Parse the Type and Signal fields in the CSIG-Tag header and determine the performance comparison based on the value of the Type field:
[0118] ② If the Type field is 0, the device compares the value in the Signal field with the available bandwidth value at the device export. If the bandwidth at the device export is smaller, the Signal field is updated.
[0119] If the Type field is 1, the device compares the value in the Signal field with the bandwidth utilization of the device outlet. If the utilization is smaller, the Signal field is updated.
[0120] If the Type field is 2, the device compares the value in the Signal field with the hop-by-hop delay of the egress. If the delay is larger, the Signal field is updated. If the device is updated, the updated performance value is written to the Signal field, and the device's global ID is written to the LM field, identifying the device as a potential bottleneck node. The updated message continues to be transmitted to the next device until it reaches Host B.
[0121] 3. Host B reflection processing
[0122] When Host B receives the Ping Request message, it generates a corresponding Ping Reply message and performs CSIG transformation. The transformation process at this time includes:
[0123] CSIG-Reflection header: Host B inserts a CSIG-Reflection header between the ICMP header and the payload. The Type, Signal, and LM fields in the CSIG-Reflection header are copied from the original CSIG-Tag header.
[0124] New CSIG-Tag header: Host B inserts a new CSIG-Tag header between the Ethernet header and the IP header. The Type field of the Tag header is also copied from the original CSIG-Tag header, but the Signal field is reinitialized to the maximum or minimum value (depending on the detection type), and the LM field is filled with Host B's global ID.
[0125] Flag field: Dir_Flag is still set to 1, indicating that this is still a bidirectional detection. After completing the CSIG transformation, Host B sends a Ping Reply message back to Host A.
[0126] 4. Reverse processing of intermediate devices
[0127] When the Ping Reply message is returned, the intermediate device on the reverse path processes the new CSIG-Tag header:
[0128] ① Devices without CSIG capability: Ping Reply messages are forwarded normally without processing the CSIG-Tag header.
[0129] ② Devices with CSIG capabilities: As in the forward path, the intermediate device parses the CSIG-Tag header and compares the corresponding performance parameters based on the Type field:
[0130] If the Type field is 0, the device compares the value in the Signal field with the available bandwidth value of the egress. If the egress bandwidth is smaller, the Signal field is updated.
[0131] If the Type field is 1, the device compares the egress bandwidth utilization and updates the Signal field if the utilization is smaller.
[0132] If the Type field is 2, the device compares the egress hop-by-hop delay. If the delay is large, the Signal field is updated. The updated performance data is written to the Signal field, and the device ID is written to the LM field. The processed message continues to be transmitted to Host A.
[0133] 5. Host A reverse processing
[0134] When Host A receives the Ping Reply message, it parses the CSIG-Reflection header and CSIG-Tag header in the message:
[0135] Forward bottleneck information: Host A extracts the bottleneck information of the forward path from the CSIG-Reflection header (including the Type, Signal, and LM fields). The LM field can be used to map the specific bottleneck device and its egress port, while the Signal field provides the corresponding bottleneck performance value.
[0136] Reverse bottleneck information: Host A extracts the bottleneck information of the reverse path from the new CSIG-Tag header in the same way as the forward path. Finally, Host A displays the bottleneck information in both the forward and reverse paths to the network administrator.
[0137] Please refer to Figure 4 As shown, based on the same inventive concept as the aforementioned method for determining bottleneck information of a data transmission path, the present invention provides a method 400 for determining bottleneck information of a data transmission path, which includes: a sending module 401, an updating module 402, a feedback module 403 and a determining module 404.
[0138] The sending module 401 is used to enable the first terminal to send a PingRequest message containing a CSIG-Tag header to the second terminal along the transmission path, wherein the CSIG-Tag header includes a bottleneck type field, a signal value field, and a positioning metadata field. The updating module 402 is used to enable the forwarding device on the transmission path to update the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header. The feedback module 403 is used to enable the second terminal to generate a Ping Reply message after receiving the Ping Request message after the CSIG-Tag header is updated, and transmit it back to the first terminal, wherein the PingReply message carries the updated CSIG-Tag header information. The determining module 404 is used to enable the first terminal to determine and display the bottleneck information in the transmission path according to the Ping Reply message.
[0139] Please refer to Figure 5 As shown, an embodiment of the present invention further provides an electronic device 500, which includes at least one processor 501, a memory 502 (for example, a non-volatile memory), a memory 503, and a communication interface 504, and the at least one processor 501, the memory 502, the memory 503, and the communication interface 504 are connected together via a bus 505. The at least one processor 501 is used to call at least one program instruction stored or encoded in the memory 502, so that the at least one processor 501 performs various operations and functions of the data transmission path bottleneck information determination method described in various embodiments of this specification.
[0140] In the embodiments of the present specification, the electronic device 500 may include, but is not limited to, personal computers, server computers, workstations, desktop computers, laptop computers, notebook computers, mobile electronic devices, smart phones, tablet computers, cellular phones, personal digital assistants (PDAs), handheld devices, messaging devices, wearable electronic devices, consumer electronic devices, and the like.
[0141] An embodiment of the present invention also provides a computer-readable medium, which carries computer execution instructions. When the computer execution instructions are executed by a processor, they can be used to implement various operations and functions of the data transmission path bottleneck information determination method described in various embodiments of this specification.
[0142] The computer-readable medium in the present invention can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, but not limited to, a system, device or component of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0143] In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0144] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0145] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatuses, systems, and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as a combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the process in the flowchart. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0146] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
[0147] In addition, it should be understood that although the present specification is described according to implementation modes, not every implementation mode contains only one independent technical solution. This description of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment may also be appropriately combined to form other implementation modes that can be understood by those skilled in the art.
Claims
1. A method for determining bottleneck information of a data transmission path, characterized in that: include: The first terminal sends a Ping Request message including a CSIG-Tag header to the second terminal along the transmission path, where the CSIG-Tag header includes a bottleneck type field, a signal value field, and a positioning metadata field; The forwarding device on the transmission path updates the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header; The second terminal receives the Ping Request message after the CSIG-Tag header is updated, and generates a Ping Reply message and transmits it back to the first terminal, wherein the Ping Reply message carries the updated CSIG-Tag header information; The first terminal determines and displays the bottleneck information in the transmission path according to the Ping Reply message.
2. The method for determining bottleneck information of a data transmission path according to claim 1, characterized in that: The forwarding device on the transmission path updates the signal value field and the positioning metadata field in the CSIG-Tag header according to the bottleneck type field of the CSIG-Tag header, including: The forwarding device compares the network performance parameter of the forwarding device egress with the value in the signal value field according to the bottleneck type field of the CSIG-Tag header, where the bottleneck type includes minimum available bandwidth, minimum bandwidth utilization, and maximum hop-by-hop delay; When the network performance parameters at the export of the forwarding device meet the preset conditions, the signal value field and the positioning metadata field are updated.
3. The method for determining bottleneck information of a data transmission path according to claim 2, characterized in that: The method comprises: When the bottleneck type is minimum available bandwidth, compare the available bandwidth value of the forwarding device's outlet with the value in the signal value field; when the available bandwidth of the forwarding device's outlet is less than the value in the signal value field, update the signal value field to the available bandwidth value of the forwarding device's outlet, and update the positioning metadata field to the global ID of the forwarding device's outlet; and / or When the bottleneck type is minimum available bandwidth utilization, compare the available bandwidth utilization of the forwarding device's outlet with the value in the signal value field; when the available bandwidth utilization of the forwarding device's outlet is less than the value in the signal value field, update the signal value field to the available bandwidth utilization of the forwarding device's outlet, and update the positioning metadata field to the global ID of the forwarding device's outlet; and / or When the bottleneck type is the maximum hop-by-hop delay, compare the exit hop-by-hop delay of the forwarding device with the value in the signal value field. When the exit hop-by-hop delay of the forwarding device is greater than the value in the signal value field, update the signal value field to the exit hop-by-hop delay of the forwarding device, and update the positioning metadata field to the global ID of the exit of the forwarding device.
4. The method for determining bottleneck information of a data transmission path according to claim 1, characterized in that: The first terminal sends multiple Ping Request messages including CSIG-Tag headers at one time in one detection process, and the bottleneck type fields of the CSIG-Tag headers of the multiple Ping Request messages are the same.
5. The method for determining bottleneck information of a data transmission path according to claim 1, characterized in that: The first terminal periodically sends a plurality of Ping Request messages including a CSIG-Tag header in a detection process, and the bottleneck type field of the CSIG-Tag header of the plurality of Ping Request messages is the same.
6. The method for determining bottleneck information of a data transmission path according to claim 1, characterized in that: The first terminal sends multiple Ping Request messages including CSIG-Tag headers once or periodically in a detection process, and the bottleneck type field of the CSIG-Tag headers of the multiple Ping Request messages includes the minimum available bandwidth, the minimum bandwidth utilization and the maximum hop-by-hop delay.
7. The method for determining bottleneck information of a data transmission path according to claim 1, characterized in that: The method comprises: The second terminal encapsulates the CSIG-Tag header in the Ping Reply message, and sends the Ping Reply message to the first terminal along the reverse path of the transmission path; The forwarding device on the reverse path updates the signal value field and the positioning metadata field according to the bottleneck type field of the CSIG-Tag header in the Ping Reply message; After receiving the Ping Reply message, the first terminal determines the bottleneck information in the reverse path according to the updated CSIG-Tag header in the Ping Reply message.
8. A data transmission path bottleneck information determination system, characterized in that: include: A sending module, configured to enable the first terminal to send a PingRequest message including a CSIG-Tag header to the second terminal along a transmission path, wherein the CSIG-Tag header includes a bottleneck type field, a signal value field, and a positioning metadata field; An updating module, configured to enable a forwarding device on the transmission path to update a signal value field and a positioning metadata field in the CSIG-Tag header according to a bottleneck type field in the CSIG-Tag header; A feedback module, configured to enable the second terminal to generate a PingReply message after receiving the Ping Request message with the updated CSIG-Tag header, and transmit the message back to the first terminal, wherein the Ping Reply message carries the updated CSIG-Tag header information; The determination module is used to enable the first terminal to determine and display the bottleneck information in the transmission path according to the Ping Reply message.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method for determining bottleneck information of a data transmission path according to any one of claims 1 to 7 is implemented.
10. A computer-readable medium, characterized in that The computer-readable medium carries computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method for determining bottleneck information of a data transmission path according to any one of claims 1 to 7.
