Network traffic sharing bottleneck link detection method, system, device, medium and product

By periodically adjusting the congestion window and performing spectrum analysis on the sending TCP stream, bottleneck links in network traffic sharing are identified, solving the problems of low detection accuracy and reliance on intermediate devices in existing technologies, and achieving high-precision and reliable detection.

CN121887685APending Publication Date: 2026-04-17ZHONGSHAN POWER SUPPLY BUREAU OF GUANGDONG POWER GRID +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZHONGSHAN POWER SUPPLY BUREAU OF GUANGDONG POWER GRID
Filing Date
2026-02-11
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing network traffic sharing bottleneck detection technologies rely on packet latency and packet loss pattern analysis, which are greatly affected by network environment jitter. They are difficult to achieve high-precision, end-to-end reliable detection in complex network environments and require the support of intermediate network devices.

Method used

By periodically adjusting the congestion window of the TCP stream at the sending end, its throughput is transformed into a periodic throughput square wave signal. The main period frequency is extracted using spectrum analysis and compared with pre-acquired frequency domain features to identify bottleneck links sharing the same network traffic.

Benefits of technology

Detection is performed at the data sending end, eliminating the dependence on intermediate network devices, which improves the accuracy and practicality of detection and is suitable for complex network environments, especially wireless networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121887685A_ABST
    Figure CN121887685A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of network flow detection, and discloses a network flow sharing bottleneck link detection method, system, device, medium and product, and the method comprises the steps: carrying out the periodic adjustment of a congestion window of a new data flow transmitted by a transmitting end, enabling the throughput of a to-be-detected data flow to be converted into a periodic throughput square wave signal, and enabling the throughput of the to-be-detected data flow to be converted into a periodic throughput square wave signal; the method comprises the following steps: extracting a main period frequency of a to-be-detected data stream through spectral analysis, taking the main period frequency as a frequency domain feature of the to-be-detected data stream, performing clustering comparison on the frequency domain feature and a pre-acquired frequency domain feature of total throughput of each cluster, and classifying the to-be-detected data stream into clusters with the same frequency domain feature as the to-be-detected data stream according to a clustering comparison result, or the clusters are created again, so that each cluster contains the data flow of the bottleneck link sharing the same network flow, the detection accuracy is improved, and high-precision reliable detection can be realized in a complex actual network environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network traffic detection technology, and in particular to a method, system, device, medium, and product for detecting network traffic sharing bottleneck links. Background Technology

[0002] With the explosive growth of network applications, it has become commonplace for user devices to simultaneously run multiple data streams with different quality of service requirements. Applications such as online video conferencing, virtual reality games, and large file transfers often need to share limited network bandwidth. Traditional congestion control algorithms aim for fair allocation of network resources, rather than on-demand allocation. This means that a background file upload may compete for bandwidth equally with a real-time video upload, resulting in insufficient bandwidth for video streams that users expect to have higher priority. To address this issue, researchers have proposed various traffic scheduling strategies, such as hierarchical token buckets. These methods manage the rates of different streams by creating queues at the network layer and implementing scheduling algorithms. However, a fatal flaw of these strategies is that they typically need to be deployed on network bottleneck nodes (such as routers of internet service providers). This is because these competing streams only contend for bandwidth when they pass through the same bottleneck link, thus requiring traffic scheduling. However, the location of bottleneck nodes is dynamically changing within the network, and ordinary users cannot control or configure them, significantly reducing the practicality and flexibility of existing traffic scheduling strategies.

[0003] To address this issue, some studies have proposed network bottleneck detection schemes, which determine which service flows share the same bottleneck link in order to allocate and schedule bandwidth among them. Existing shared bottleneck detection technologies mostly rely on the analysis of packet delay and packet loss patterns or the use of explicit congestion notification signals. However, these methods are greatly affected by network jitter, which can severely pollute the delay signal, leading to a decrease in detection accuracy. Furthermore, they depend on the support of intermediate network devices, making it difficult to achieve high-precision, end-to-end reliable detection in complex real-world network environments (especially wireless networks). Summary of the Invention

[0004] In view of this, in order to solve the above-mentioned technical problems, the present invention provides a method, system, device, medium and product for detecting bottleneck links in network traffic sharing.

[0005] The first aspect of this invention provides a method for detecting bottleneck links in network traffic sharing, comprising:

[0006] The latest TCP stream added by the sending end is obtained as the data stream to be detected. The congestion window of the data stream to be detected is periodically adjusted so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0007] Spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main period frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0008] The frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

[0009] Preferably, the step of obtaining the latest TCP stream added by the sending end as the data stream to be detected, and periodically adjusting the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, includes:

[0010] The latest TCP stream added by the sending end is obtained as the data stream to be detected;

[0011] The square wave construction stage of the BBR congestion control algorithm is constructed. In the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, thereby obtaining a throughput square wave signal with a period of two RTT rounds.

[0012] Preferably, the square wave construction stage of the BBR congestion control algorithm, and in the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, to obtain a throughput square wave signal with a period of two RTT rounds, including:

[0013] The initial congestion window of the data stream to be detected is obtained when it exits the Startup phase of the BBR congestion control algorithm, and the square wave construction phase is inserted before entering the ProbeBW phase of the BBR congestion control algorithm.

[0014] In each RTT round of the square wave construction phase, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window according to the parity of the RTT round; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple;

[0015] Based on the congestion window settings for each RTT round in the square wave construction phase, the congestion window of each data stream to be detected alternates between high and low over two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction phase is reached, and a square wave signal with a throughput of two RTT rounds is output.

[0016] Preferably, the preset maximum number of RTT rounds is 32 rounds.

[0017] Preferably, the step of performing spectral analysis on the throughput square wave signal of the data stream to be detected, and extracting the main period frequency of the data stream to be detected from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected, includes:

[0018] The frequency domain spectrum is obtained by performing a fast Fourier transform on the square wave signal of the data stream to be detected;

[0019] The frequency corresponding to the highest spectral amplitude is determined by the frequency domain spectrum and used as the main period frequency of the data stream to be detected, and the main period frequency is used as the frequency domain feature of the data stream to be detected.

[0020] Preferably, the step of clustering and comparing the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster, and assigning the data stream to be detected to a cluster with the same frequency domain features as the data stream to be detected based on the clustering comparison results, or recreating clusters so that each cluster contains data streams of bottleneck links sharing the same network traffic, includes:

[0021] For each cluster, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of the cluster obtained in advance;

[0022] If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster obtained in advance, then the data stream to be detected is assigned to the cluster.

[0023] If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all the clusters in advance, then a new cluster is created based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0024] Secondly, the present invention also provides a network traffic sharing bottleneck link detection system, comprising:

[0025] The square wave construction module is used to obtain the latest TCP stream added by the sending end as the data stream to be detected, and to periodically adjust the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0026] The spectrum analysis module is used to perform spectrum analysis on the throughput square wave signal of the data stream to be detected, and extract the main period frequency of the data stream to be detected from the spectrum analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0027] The bottleneck link detection module is used to cluster and compare the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the cluster comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

[0028] Thirdly, the present invention also provides an electronic device, the electronic device including a memory and a processor, the memory storing a computer program, the computer program being executed by the processor causing the processor to perform the steps of the network traffic sharing bottleneck link detection method as described in the first aspect.

[0029] Fourthly, the present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed, implements the steps of the network traffic sharing bottleneck link detection method as described in the first aspect.

[0030] Fifthly, the present invention also provides a computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions, wherein, when the program instructions are executed by a computer, the computer performs the steps of the network traffic sharing bottleneck link detection method as described in the first aspect.

[0031] As can be seen from the above technical solution, this invention periodically adjusts the congestion window of the new data stream sent by the transmitting end in real time, transforming the throughput of the data stream to be detected into a periodic throughput square wave signal. Based on the frequency domain detection method of active square wave injection, the congestion window of the data stream to be detected is periodically adjusted to construct a throughput square wave with a specific frequency. The main periodic frequency is extracted through spectrum analysis as the frequency domain feature of the data stream to be detected. Based on this frequency domain feature, clustering comparisons are performed with the frequency domain features of the total throughput of each pre-acquired cluster. The data stream to be detected is then classified according to the clustering comparison results. The detection scheme is implemented entirely at the data sending end, without any support or configuration modification of intermediate network devices (such as routers). It eliminates the reliance on the support of intermediate network nodes or the analysis of passive delay signals that are susceptible to interference, greatly improving the practicality and deployability of the scheme. At the same time, it uses the frequency domain detection results to dynamically update the flow cluster affiliation, which improves the detection accuracy and enables high-precision and reliable detection in complex real-world network environments (especially wireless networks). Attached Figure Description

[0032] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 This is an application environment diagram of a network traffic sharing bottleneck link detection method provided in an embodiment of the present invention;

[0034] Figure 2 A flowchart of a network traffic sharing bottleneck link detection method provided in an embodiment of the present invention;

[0035] Figure 3 A comparison chart of detection accuracy for different FFT point counts provided in this embodiment of the invention;

[0036] Figure 4a A graph showing the throughput variation of data streams in a shared bottleneck scenario provided by an embodiment of the present invention;

[0037] Figure 4b An amplitude variation diagram of the data flow in a shared bottleneck scenario provided by an embodiment of the present invention;

[0038] Figure 4c A graph showing the throughput variation of data flow in a non-shared bottleneck scenario provided by an embodiment of the present invention;

[0039] Figure 4d An amplitude variation diagram of the data flow in a non-shared bottleneck scenario provided by an embodiment of the present invention;

[0040] Figure 5 A schematic diagram of a network traffic sharing bottleneck link detection system provided in an embodiment of the present invention;

[0041] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0042] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0043] Network bottleneck detection schemes aim to determine which service flows share the same bottleneck link in order to allocate and schedule bandwidth among them. Existing shared bottleneck detection technologies mostly rely on the analysis of packet delay and packet loss patterns or the use of explicit congestion notification signals. However, these methods are greatly affected by network jitter, which can severely pollute the delay signal, leading to a decrease in detection accuracy. Furthermore, they depend on the support of intermediate network devices, making it difficult to achieve high-precision, end-to-end reliable detection in complex real-world network environments (especially wireless networks).

[0044] Therefore, the network traffic sharing bottleneck link detection method provided in this application embodiment can be applied to, for example, Figure 1In the application environment shown, terminal 101 communicates with server 102 via a network. A data storage system can store the data that server 102 needs to process. The data storage system can be integrated onto server 102 or placed on a cloud or other network server. Terminal 101 or server 102 obtains the latest TCP stream added by the sending end as the data stream to be detected. The congestion window of the data stream to be detected is periodically adjusted to convert the throughput of the data stream to a periodic throughput square wave signal. Spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main periodic frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected. The frequency domain characteristics of the data stream to be detected are compared with the frequency domain characteristics of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain characteristics as the data stream to be detected, or a new cluster is created so that each cluster contains data streams from bottleneck links sharing the same network traffic.

[0045] Terminal 101 can be, but is not limited to, various personal computers, laptops, smartphones, and tablets.

[0046] Server 102 can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides cloud computing services.

[0047] like Figure 2 As shown, this application embodiment provides a method for detecting network traffic sharing bottleneck links, which is applied to... Figure 1 Taking terminal 101 or server 102 as an example, the explanation includes the following steps S1 to S3. Wherein:

[0048] Step S1: Obtain the latest TCP stream added by the sending end as the data stream to be detected, and periodically adjust the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0049] The sending end can be the source host or sending device of the data stream. When a new Transmission Control Protocol (TCP) stream is established, the latest TCP stream added by the sending end is obtained as the data stream to be detected. The congestion window of the data stream to be detected is actively adjusted, and the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, so that it exhibits obvious periodic changes in the frequency domain, accurately detects frequency domain spikes, and thus improves the detection accuracy and response speed of frequency domain analysis.

[0050] Among them, throughput is the amount of data successfully transmitted per unit time of the data stream. Its square wave processing greatly reduces the random noise of the original TCP stream, highlighting the inherent periodicity dominated by the bottleneck link.

[0051] Step S2: Perform spectrum analysis on the square wave signal of the throughput of the data stream to be detected, and extract the main period frequency of the data stream to be detected from the spectrum analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0052] Among them, the spectrum analysis uses the n-point Fast Fourier Transform (FFT) to convert the throughput sequence in the time domain into a frequency domain signal and calculate the amplitude of each frequency component; the frequency corresponding to the maximum amplitude is extracted as the main period frequency of the data stream to form frequency domain features.

[0053] Among these, the dominant period frequency, as the core feature of the data stream in frequency domain analysis, represents the specific frequency point where its energy distribution is most concentrated. This frequency can directly reflect the inherent oscillation rhythm exhibited by the data stream when constrained by network bottleneck links. By extracting and utilizing the dominant period frequency as a key frequency domain discrimination indicator, it is possible to effectively identify and distinguish differentiated traffic behavior patterns caused by different types of bottleneck links, thereby providing a measurable and comparable unified benchmark for subsequent traffic data clustering analysis.

[0054] Step S3: Compare the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, assign the data stream to be detected to a cluster with the same frequency domain features as the data stream to be detected, or recreate the cluster so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0055] The frequency domain characteristics of the total throughput of each cluster, acquired in advance, are key information extracted and stored through in-depth analysis and processing of historical monitoring data. Specifically, in complex network environments, these frequency domain characteristics effectively reflect the overall throughput performance and distribution characteristics in the frequency domain when multiple TCP streams converge and transmit simultaneously under different bottleneck link conditions. By deeply mining and analyzing the throughput variation patterns and regularities contained in historical data, we can more systematically acquire and accurately store these valuable spectral characteristic information, thereby providing reliable data support for subsequent network performance optimization and resource scheduling. The total throughput of each cluster is denoted as R_cluster, where:

[0056]

[0057] In the formula, This represents the throughput of the corresponding cluster during the i-th round of RTT. It is the throughput of the j-th data stream in this cluster.

[0058] By performing spectral analysis on the total throughput of each cluster in the manner described in step S2 above, its main period frequency is extracted as the frequency domain feature of the cluster, and used as the benchmark template for subsequent clustering comparison.

[0059] For data flows sharing the same bottleneck link, their throughput fluctuations exhibit the same periodicity, resulting in identical frequency spikes in the frequency domain. When two flows do not share the same bottleneck, their throughput changes do not affect each other's bandwidth. Therefore, even if one data flow's throughput maintains a periodicity, the other's throughput will not follow the same pattern, and after FFT, they will naturally not exhibit the same frequency peaks. Therefore, this application clusters data flows with the same frequency domain characteristics by comparing their frequency domain characteristics with the pre-acquired frequency domain characteristics of the total throughput of each cluster. This achieves network traffic clustering based on frequency domain characteristics, determining that data flows within the same cluster share the same bottleneck link. If the frequency domain characteristics of the data flow to be detected are different from the pre-acquired frequency domain characteristics of the total throughput of each cluster, the data flow to be detected cannot be assigned to the original cluster. In this case, a new cluster needs to be created to accommodate the data flow with the new frequency domain characteristics, serving as a new benchmark template for subsequent comparisons.

[0060] It should be noted that, in this embodiment, the congestion window of the new data stream sent by the transmitting end is periodically adjusted in real time, so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal. Based on the frequency domain detection method of active square wave injection, the congestion window of the data stream to be detected is periodically adjusted to construct a throughput square wave with a specific frequency. The main periodic frequency is extracted through spectrum analysis as the frequency domain feature of the data stream to be detected. Based on this frequency domain feature, clustering comparison is performed with the frequency domain features of the total throughput of each pre-acquired cluster. According to the clustering comparison results, the data stream to be detected is classified into clusters. Clusters with the same frequency domain characteristics as the data stream to be detected, or recreated clusters, so that each cluster contains data streams from bottleneck links sharing the same network traffic, are all implemented at the data sending end. No support or configuration modifications are required from intermediate network devices (such as routers). This eliminates the reliance on support from intermediate network nodes or passive delay signal analysis that is susceptible to interference, greatly improving the practicality and deployability of the solution. At the same time, the frequency domain detection results are used to dynamically update the flow cluster affiliation, improving the detection accuracy. This enables high-precision and reliable detection in complex real-world network environments (especially wireless networks).

[0061] In some embodiments, the most recently joined TCP stream from the sending end is acquired as the data stream to be detected, and the congestion window of the data stream to be detected is periodically adjusted so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, including:

[0062] Step S101: Obtain the latest TCP stream added by the sending end as the data stream to be detected.

[0063] Step S102: Construct the square wave construction stage of the BBR congestion control algorithm. In the square wave construction stage, the congestion window of the data stream to be detected is adjusted alternately according to the RTT rounds, so that the congestion window of the data stream to be detected shows high-low alternating changes in two consecutive RTT rounds, and the throughput square wave signal with a period of two RTT rounds is obtained.

[0064] Among them, the BBR (Bottleneck Bandwidth and Round-trip Propagation Time) congestion control algorithm is a congestion control mechanism based on bandwidth and delay estimation. It optimizes transmission by dynamically detecting the bandwidth and delay of the network path and dynamically adjusts the sending rate by detecting the available bandwidth and round-trip propagation delay of the network path in real time. In fact, the congestion control logic of the BBR congestion control algorithm is divided into four stages: (1) Startup: The sending rate is rapidly increased exponentially, similar to the traditional slow start, until packet loss or bandwidth saturation is detected, thereby initially estimating the bottleneck bandwidth. (2) Drain: The emptying stage actively reduces the sending rate to eliminate the buffer accumulation that may be caused by Startup and minimize the queue delay. (3) ProbeBW: The stable operation stage periodically increases and decreases the sending rate (referred to as the gain stage and the loss stage, respectively) to continuously detect the available bandwidth with small fluctuations, while avoiding queue expansion. (4) ProbeRTT: When the minimum RTT has not been updated for a period of time, the sending window is temporarily reduced and the minimum round-trip delay is directly measured to ensure the accuracy of the delay estimate.

[0065] When probing available bandwidth by increasing the transmission rate during the ProbeBW phase, BBR uses a transmission rate of 1.25 times and maintains one round-trip time (RTT) to detect if there is more available bandwidth.

[0066] Then, a 0.75x transmission rate is used to maintain one round of RTT to clear the stacking queue that may have occurred when probing with a 1.25x transmission rate in the previous step; finally, the BBR maintains a 1x transmission rate for six rounds of RTT to keep the congestion window as close as possible to the link capacity.

[0067] In short, during the 8-round RTT, BBR increases and decreases the transmission rate sequentially in the first and second rounds of RTT. However, this periodicity presents two problems: (1) BBR uses a 0.75x rate primarily to clear the queue backlog caused by the previous round's 1.25x transmission rate. Therefore, even with a 0.75x rate, the link may still be fully occupied, only the backlog gradually decreases. This results in the throughput of the flow not decreasing, and no extra available bandwidth being freed up for other flows. In this case, BBR's transmission rate cannot build a periodically changing throughput to perform shared bottleneck detection during its increase and decrease. (2) During BBR's 8-round RTT cycle, the transmission rate remains unchanged in the last 6 rounds of RTT, meaning that the increase and decrease in transmission rate only account for the first two rounds of RTT. This indicates that the changing transmission rate only accounts for a small part of the entire cycle, which not only results in no obvious periodic change in throughput, making it difficult to detect frequency domain spikes, but also, due to the long cycle (8 rounds of RTT), requires a long time to obtain sufficient throughput sample points before performing frequency domain analysis.

[0068] To this end, this application introduces a square wave construction stage based on the core mechanism of the BBR congestion control algorithm. The main function of this new stage is to construct a network throughput pattern exhibiting periodic high-low alternations through carefully designed control logic. Specifically, this mechanism enables each data stream to be detected to exhibit a clear alternation of high and low values ​​within two consecutive RTT (Round-Trip Time) rounds during the dynamic adjustment of its congestion window. This periodic high-low window variation not only helps to more accurately detect network bandwidth and bottleneck buffer status but also improves the algorithm's responsiveness and fairness in complex network environments.

[0069] Specifically, the square wave construction stage of the BBR congestion control algorithm is constructed. During this stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, causing the congestion window of the data stream to exhibit alternating high and low values ​​within two consecutive RTT rounds. This yields a throughput square wave signal with a period of two RTT rounds, including:

[0070] Step S1021: Obtain the initial congestion window of the data stream to be detected when it exits the Startup phase of the BBR congestion control algorithm, and insert a square wave construction phase before entering the ProbeBW phase of the BBR congestion control algorithm.

[0071] The Startup phase involves BBR rapidly increasing the transmission rate to detect bottleneck bandwidth. It exits this phase when it detects a slowdown in bandwidth growth or packet loss. At this point, the initial congestion window of the data stream to be detected at the time of exiting the Startup phase is recorded and denoted as CWND. exitFurthermore, a square wave construction phase is inserted before the ProbeBW phase of the BBR congestion control algorithm, thereby actively constructing periodic fluctuations in throughput by proactively introducing square wave signals.

[0072] Step S1022: In each RTT round of the square wave construction phase, according to the parity of the RTT round, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple.

[0073] In the specific implementation of square wave construction, the congestion window size within each round of RTT (Round-Trip Time) is adjusted alternately based on the parity of the current round. Specifically, in odd-numbered rounds, the congestion window is set to 1 times the initial congestion window value, while in even-numbered rounds, it is adjusted to 0.75 times the initial value. Through this periodic window adjustment mechanism, the system can generate a throughput square wave signal with a period of two RTTs. This signal design with obvious periodic characteristics allows for faster and more accurate identification of the corresponding characteristic frequency peaks during frequency domain analysis, thereby significantly improving detection efficiency.

[0074] The core advantage of this method lies in its ability to effectively identify shared bottleneck links in a network by actively constructing deterministic throughput fluctuations. Unlike traditional methods that rely on intermediate network devices or passive measurement signals susceptible to noise, this strategy requires no additional network nodes and reduces sensitivity to environmental noise. This not only improves the robustness of bottleneck detection but also significantly enhances the system's real-time response capability, making it more suitable for dynamically changing, highly uncertain network environments. This is especially relevant in typical scenarios such as the surge in network traffic following the 2026 Spring Festival.

[0075] For example, the congestion window for each round of RTT is adjusted periodically as follows:

[0076]

[0077] in, is the congestion window size for the i-th round of RTT, and n is the preset maximum number of RTT rounds, where the preset maximum number of RTT rounds is 32 rounds.

[0078] Step S1023: Based on the congestion window settings of each RTT round in the square wave construction stage, the congestion window of each data stream to be detected alternates between high and low in two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction stage is reached, and the output square wave signal with a period of two RTT rounds is generated.

[0079] During the square wave construction phase, the transmitter sets the transmission rate of each round of RTT to 1 times and 0.75 times that at the start of the Startup phase, respectively, causing the throughput of this stream to fluctuate periodically. Since every two consecutive RTTs (one high and one low) constitute a complete cycle, the entire square wave construction phase consists of RTT rounds / 2 cycles. Compared to the original BBR transmission rate variation mode, this strategy no longer uses a transmission rate of 1.25 times to probe available bandwidth, but instead uses a transmission rate of 1 times to keep the transmission rate within a suitable range, thus avoiding queue congestion caused by using excessively high transmission rates. Therefore, when the transmission rate is reduced to 0.75 times, since there are no additional queues to empty, the transmitter can effectively reduce throughput. Furthermore, compared to the original BBR probing phase, the square wave construction phase designed in this invention has a variation cycle of only 2 RTT rounds, thus requiring less sampling time and ensuring more obvious peaks in the frequency domain during subsequent periodic detection.

[0080] It's important to note that when a new Transmission Control Protocol (TCP) stream begins establishing a connection, if there are no other running TCP streams at the sending end, the new stream will enter a phase called Square Wave. During this phase, the stream periodically adjusts its congestion window based on twice the Round-Trip Time (RTT), gradually increasing throughput and adapting to network conditions. However, if another stream is already in the Square Wave phase when this new TCP stream joins, it will not immediately enter its own Square Wave phase to avoid conflicts and confusion in network congestion control caused by multiple streams simultaneously and actively changing their throughput periodically. Instead, it will postpone entering this phase and directly adjust its congestion window according to the original logic rules of the BBR (Bottleneck Bandwidth and Round-trip propagation time) algorithm. Only after the other stream completes its Square Wave phase and exits it will the new stream begin its own Square Wave phase. This mechanism is designed to coordinate the behavior of multiple flows, ensuring that network resources are used efficiently and fairly, while reducing throughput fluctuations and performance instability that may be caused by multiple flows adjusting their windows simultaneously.

[0081] In some embodiments, spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main period frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected, including:

[0082] Step S201: Perform a fast Fourier transform on the square wave signal of the data stream to be detected to obtain the frequency domain spectrum.

[0083] The square wave construction phase lasts for n rounds of RTT (through experimental analysis, this invention determines that 32 rounds of RTT are sufficient for accurate frequency domain detection, i.e., n = 32). During this period, this invention records the average throughput of each stream once per RTT round. After the n rounds of the square wave construction phase, each stream will have 32 throughput sample points. Then, the transmitting end performs an n-point Fast Fourier Transform (FFT) on these throughput sequence sets to analyze their frequency domain characteristics.

[0084] Specifically, this invention is based on the Linux 5.15.1 kernel environment and integrates a high-performance butterfly algorithm at the system kernel layer. This algorithm efficiently implements the core calculation function of the Fast Fourier Transform (FFT). In actual processing, the system extracts a time-series sequence consisting of 32 consecutive throughput samples from each data stream and sequentially calls the FFT function to perform frequency domain transformation. After each transformation, the corresponding data stream generates a complete sequence of spectral analysis results. This spectral sequence not only accurately contains the specific frequency values ​​corresponding to each frequency component but also provides spectral amplitude information at each frequency point, thus comprehensively characterizing the energy distribution characteristics of the original signal in the frequency domain.

[0085] Step S202: Determine the frequency corresponding to the highest spectral amplitude through the frequency domain spectrum, and use it as the main period frequency of the data stream to be detected, and use the main period frequency as the frequency domain feature of the data stream to be detected.

[0086] Specifically, the frequency corresponding to the highest spectral amplitude is identified through the frequency domain spectrum, thus obtaining the periodic variation frequency of each data stream to be detected. If different streams are detected to have the same variation frequency, it can be determined that these streams share the same bottleneck link, achieving the purpose of network traffic sharing bottleneck detection in this invention. According to the Nyquist-Shannon sampling theorem, the sampling frequency should be greater than or equal to twice the signal frequency. Since the period of congestion window change is 2 rounds of RTT, we can use the throughput statistics once per round of RTT as sample points to extract the frequency domain features of throughput change.

[0087] Furthermore, to verify that the maximum RTT (Round-Trip Time) set in this application is 32 rounds, this application also analyzed the impact of the number of FFT points on the frequency domain detection accuracy based on experimental results. The number of FFT points represents the amount of throughput data used in the FFT algorithm. Since this application collects throughput samples once per RTT round, an n-point FFT means that n RTT rounds are needed to obtain a sufficient number of samples before performing frequency domain analysis. Therefore, a smaller number of FFT points means less time is spent collecting throughput samples for bottleneck detection. However, as the number of samples decreases, the detection accuracy decreases. To determine how to balance time and accuracy, the number of FFT points was set to 8, 16, 32, and 64, and 30 detection experiments were conducted for both shared and non-shared bottleneck scenarios. Figure 3 As shown, when the number of FFT points increases from 8 to 32, the detection accuracy improves significantly in both scenarios (from 76.7% to 96.7% in the shared bottleneck scenario and from 70% to 96.7% in the non-shared bottleneck scenario). However, when the number of FFT points continues to increase to 64, the detection accuracy improves by only 0% and 3.4% in both cases, respectively, while the detection time doubles. Therefore, this application sets the number of FFT points to 32 because it minimizes the time spent maintaining detection accuracy above 90%.

[0088] In some embodiments, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or clusters are recreated so that each cluster contains data streams of bottleneck links sharing the same network traffic, including:

[0089] Step S301: For each cluster, compare the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of the cluster obtained in advance.

[0090] Step S302: If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster in advance, then the data stream to be detected will be assigned to the cluster.

[0091] Step S303: If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all clusters in advance, then create new clusters based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0092] For example, after sampling throughput over 32 rounds of RTT, the sender performs a 32-point Fast Fourier Transform on the throughput of new flows and each cluster for periodic detection. If a new flow has the same frequency domain spike as a cluster, it is assigned to that cluster; otherwise, the new flow forms a new cluster independently. Therefore, after the periodic detection is completed, the sender can know from the results of each cluster that flows in the same cluster share the same bottleneck link. The bottleneck link of network traffic is the congestion point that all data flows in the same cluster experience, and its location can be back-located to the physical link layer by the consistency of the frequency domain characteristics of each flow in the cluster. For example, when multiple flows show a significant amplitude surge at the same frequency, it indicates that the RTT period corresponding to that frequency is highly coupled with the queuing delay of the bottleneck link, which can then be mapped to a specific router or switch port.

[0093] like Figures 4a-4d As shown, the throughput and frequency domain characteristics of concurrent flows are displayed when the congestion window (CWND) of a data flow is actively changed in shared and non-shared bottleneck scenarios. The horizontal axis represents Time, the vertical axis represents Throughput, and Amplitude represents amplitude. Figures 4a-4b As shown, when the congestion window of data flow A is manually changed, its throughput changes periodically. For data flow B, which shares the bottleneck with data flow A, its throughput typically changes in the opposite direction to that of data flow A. Therefore, even if the throughput does not strictly follow a periodic change at certain moments due to network jitter, both flows will have obvious spikes at the same frequency point after the FFT.

[0094] And in Figures 4c-4d In this scenario, when two data flows do not share the same bottleneck, changes in the congestion window (CWND) of data flow A will not affect the bandwidth of data flow B. Therefore, even if the throughput of data flow A remains periodic, the throughput of data flow B will not follow the same pattern, and after the FFT, they will naturally not exhibit the same frequency peaks. This indicates that by analyzing the consistency of frequency peaks of each data flow in the frequency domain, it is possible to effectively determine whether they share a bottleneck link. If a newly flowing flow and an existing cluster exhibit significantly the same frequency spikes after the FFT, it is determined that they have experienced the same network path; otherwise, they belong to different bottleneck domains, thus completing the accurate clustering and identification of bottleneck links in multi-flow scenarios.

[0095] Based on the same inventive concept, this application also provides a network traffic sharing bottleneck link detection system for implementing the network traffic sharing bottleneck link detection method described above.

[0096] The solution provided by this system is similar to the solution described in the above method. Therefore, the specific limitations of one or more network traffic sharing bottleneck link detection system embodiments provided below can be found in the limitations of the network traffic sharing bottleneck link detection method described above, and will not be repeated here.

[0097] like Figure 5 As shown in the figure, this application provides a network traffic sharing bottleneck link detection system, including:

[0098] The square wave construction module 100 is used to obtain the latest TCP stream added by the sending end as the data stream to be detected, and to periodically adjust the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0099] The spectrum analysis module 200 is used to perform spectrum analysis on the throughput square wave signal of the data stream to be detected, and extract the main period frequency of the data stream to be detected from the spectrum analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0100] The bottleneck link detection module 300 is used to cluster and compare the frequency domain characteristics of the data stream to be detected with the frequency domain characteristics of the total throughput of each pre-acquired cluster. Based on the cluster comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain characteristics as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

[0101] In some embodiments, the square wave construction module 100 includes:

[0102] The data stream acquisition module is used to acquire the latest TCP stream added by the sending end as the data stream to be detected;

[0103] The square wave module is used to construct the square wave construction stage of the BBR congestion control algorithm. During the square wave construction stage, the congestion window of the data stream to be detected is adjusted alternately according to the RTT rounds, so that the congestion window of the data stream to be detected shows high-low alternation within two consecutive RTT rounds, resulting in a throughput square wave signal with a period of two RTT rounds.

[0104] In some embodiments, the square wave module is used for:

[0105] Obtain the initial congestion window of the data stream to be detected when it exits the Startup phase of the BBR congestion control algorithm, and insert a square wave construction phase before entering the ProbeBW phase of the BBR congestion control algorithm.

[0106] In each RTT round during the square wave construction phase, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window according to the parity of the RTT round; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple.

[0107] Based on the congestion window settings for each RTT round in the square wave construction phase, the congestion window of each data stream to be detected alternates between high and low over two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction phase is reached, and a square wave signal with a period of two RTT rounds is output.

[0108] In some embodiments, the maximum number of RTT rounds is preset to 32 rounds.

[0109] In some embodiments, the spectrum analysis module 200 is used for:

[0110] The frequency domain spectrum is obtained by fast Fourier transform of the square wave signal of the data stream to be detected.

[0111] The frequency corresponding to the highest spectral amplitude is determined by the frequency domain spectrum and used as the main period frequency of the data stream to be detected. The main period frequency is then used as the frequency domain feature of the data stream to be detected.

[0112] In some embodiments, the bottleneck link detection module 300 is used for:

[0113] For each cluster, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of the cluster obtained in advance.

[0114] If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster in advance, then the data stream to be detected will be assigned to the cluster.

[0115] If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all clusters in advance, then a new cluster is created based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0116] like Figure 6 As shown, this application embodiment provides an electronic device. The electronic device 10 includes a memory 20 and a processor 30. The memory 20 stores a computer program. When the computer program is executed by the processor 30, the processor 30 performs the following steps:

[0117] The latest TCP stream added by the sending end is obtained as the data stream to be detected. The congestion window of the data stream to be detected is periodically adjusted so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0118] Spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main period frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0119] The frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

[0120] In some embodiments, obtaining the latest TCP stream added by the sending end as the data stream to be detected, and periodically adjusting the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, includes:

[0121] The latest TCP stream added by the sending end is obtained as the data stream to be detected;

[0122] The square wave construction stage of the BBR congestion control algorithm is constructed. In the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, thereby obtaining a throughput square wave signal with a period of two RTT rounds.

[0123] In some embodiments, the square wave construction stage of the BBR congestion control algorithm, and in the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, to obtain a throughput square wave signal with a period of two RTT rounds, including:

[0124] The initial congestion window of the data stream to be detected is obtained when it exits the Startup phase of the BBR congestion control algorithm, and the square wave construction phase is inserted before entering the ProbeBW phase of the BBR congestion control algorithm.

[0125] In each RTT round of the square wave construction phase, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window according to the parity of the RTT round; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple;

[0126] Based on the congestion window settings for each RTT round in the square wave construction phase, the congestion window of each data stream to be detected alternates between high and low over two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction phase is reached, and a square wave signal with a throughput of two RTT rounds is output.

[0127] In some embodiments, the preset maximum number of RTT rounds is 32 rounds.

[0128] In some embodiments, performing spectral analysis on the throughput square wave signal of the data stream to be detected and extracting the main period frequency of the data stream to be detected from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected includes:

[0129] The frequency domain spectrum is obtained by performing a fast Fourier transform on the square wave signal of the data stream to be detected;

[0130] The frequency corresponding to the highest spectral amplitude is determined by the frequency domain spectrum and used as the main period frequency of the data stream to be detected, and the main period frequency is used as the frequency domain feature of the data stream to be detected.

[0131] In some embodiments, the step of clustering and comparing the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster, and assigning the data stream to be detected to a cluster with the same frequency domain features as the data stream to be detected based on the clustering comparison results, or recreating clusters so that each cluster contains data streams of bottleneck links sharing the same network traffic, includes:

[0132] For each cluster, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of the cluster obtained in advance;

[0133] If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster obtained in advance, then the data stream to be detected is assigned to the cluster.

[0134] If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all the clusters in advance, then a new cluster is created based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0135] This application provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed, it performs the following steps:

[0136] The latest TCP stream added by the sending end is obtained as the data stream to be detected. The congestion window of the data stream to be detected is periodically adjusted so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0137] Spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main period frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0138] The frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

[0139] In some embodiments, obtaining the latest TCP stream added by the sending end as the data stream to be detected, and periodically adjusting the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, includes:

[0140] The latest TCP stream added by the sending end is obtained as the data stream to be detected;

[0141] The square wave construction stage of the BBR congestion control algorithm is constructed. In the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, thereby obtaining a throughput square wave signal with a period of two RTT rounds.

[0142] In some embodiments, the square wave construction stage of the BBR congestion control algorithm, and in the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, to obtain a throughput square wave signal with a period of two RTT rounds, including:

[0143] The initial congestion window of the data stream to be detected is obtained when it exits the Startup phase of the BBR congestion control algorithm, and the square wave construction phase is inserted before entering the ProbeBW phase of the BBR congestion control algorithm.

[0144] In each RTT round of the square wave construction phase, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window according to the parity of the RTT round; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple;

[0145] Based on the congestion window settings for each RTT round in the square wave construction phase, the congestion window of each data stream to be detected alternates between high and low over two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction phase is reached, and a square wave signal with a throughput of two RTT rounds is output.

[0146] In some embodiments, the preset maximum number of RTT rounds is 32 rounds.

[0147] In some embodiments, performing spectral analysis on the throughput square wave signal of the data stream to be detected and extracting the main period frequency of the data stream to be detected from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected includes:

[0148] The frequency domain spectrum is obtained by performing a fast Fourier transform on the square wave signal of the data stream to be detected;

[0149] The frequency corresponding to the highest spectral amplitude is determined by the frequency domain spectrum and used as the main period frequency of the data stream to be detected, and the main period frequency is used as the frequency domain feature of the data stream to be detected.

[0150] In some embodiments, the step of clustering and comparing the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster, and assigning the data stream to be detected to a cluster with the same frequency domain features as the data stream to be detected based on the clustering comparison results, or recreating clusters so that each cluster contains data streams of bottleneck links sharing the same network traffic, includes:

[0151] For each cluster, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of the cluster obtained in advance;

[0152] If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster obtained in advance, then the data stream to be detected is assigned to the cluster.

[0153] If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all the clusters in advance, then a new cluster is created based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0154] This application provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions, wherein when the program instructions are executed by a computer, the computer performs the following steps:

[0155] The latest TCP stream added by the sending end is obtained as the data stream to be detected. The congestion window of the data stream to be detected is periodically adjusted so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal.

[0156] Spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main period frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected.

[0157] The frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

[0158] In some embodiments, obtaining the latest TCP stream added by the sending end as the data stream to be detected, and periodically adjusting the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, includes:

[0159] The latest TCP stream added by the sending end is obtained as the data stream to be detected;

[0160] The square wave construction stage of the BBR congestion control algorithm is constructed. In the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, thereby obtaining a throughput square wave signal with a period of two RTT rounds.

[0161] In some embodiments, the square wave construction stage of the BBR congestion control algorithm, and in the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, to obtain a throughput square wave signal with a period of two RTT rounds, including:

[0162] The initial congestion window of the data stream to be detected is obtained when it exits the Startup phase of the BBR congestion control algorithm, and the square wave construction phase is inserted before entering the ProbeBW phase of the BBR congestion control algorithm.

[0163] In each RTT round of the square wave construction phase, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window according to the parity of the RTT round; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple;

[0164] Based on the congestion window settings for each RTT round in the square wave construction phase, the congestion window of each data stream to be detected alternates between high and low over two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction phase is reached, and a square wave signal with a throughput of two RTT rounds is output.

[0165] In some embodiments, the preset maximum number of RTT rounds is 32 rounds.

[0166] In some embodiments, performing spectral analysis on the throughput square wave signal of the data stream to be detected and extracting the main period frequency of the data stream to be detected from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected includes:

[0167] The frequency domain spectrum is obtained by performing a fast Fourier transform on the square wave signal of the data stream to be detected;

[0168] The frequency corresponding to the highest spectral amplitude is determined by the frequency domain spectrum and used as the main period frequency of the data stream to be detected, and the main period frequency is used as the frequency domain feature of the data stream to be detected.

[0169] In some embodiments, the step of clustering and comparing the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster, and assigning the data stream to be detected to a cluster with the same frequency domain features as the data stream to be detected based on the clustering comparison results, or recreating clusters so that each cluster contains data streams of bottleneck links sharing the same network traffic, includes:

[0170] For each cluster, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of the cluster obtained in advance;

[0171] If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster obtained in advance, then the data stream to be detected is assigned to the cluster.

[0172] If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all the clusters in advance, then a new cluster is created based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

[0173] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, electronic devices, computer storage media, and computer program products described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0174] It should be noted that the terms "comprising" and "having" and any variations thereof in the specification, claims and accompanying drawings of this invention are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such processes, methods, products or devices.

[0175] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0176] In the several embodiments provided by this invention, it should be understood that the disclosed systems, electronic devices, computer storage media, computer program products, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units, and may be electrical, mechanical, or other forms.

[0177] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0178] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0179] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for executing all or part of the steps of the methods described in the various embodiments of the present invention through a computer device (which may be a personal computer, a server, or a network device, etc.). The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.

[0180] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for detecting bottleneck links in network traffic sharing, characterized in that, include: The latest TCP stream added by the sending end is obtained as the data stream to be detected. The congestion window of the data stream to be detected is periodically adjusted so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal. Spectral analysis is performed on the throughput square wave signal of the data stream to be detected, and the main period frequency of the data stream to be detected is extracted from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected. The frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the clustering comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

2. The network traffic sharing bottleneck link detection method according to claim 1, characterized in that, The step of obtaining the latest TCP stream added by the sending end as the data stream to be detected, and periodically adjusting the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal, includes: The latest TCP stream added by the sending end is obtained as the data stream to be detected; The square wave construction stage of the BBR congestion control algorithm is constructed. In the square wave construction stage, the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, thereby obtaining a throughput square wave signal with a period of two RTT rounds.

3. The network traffic sharing bottleneck link detection method according to claim 2, characterized in that, The square wave construction stage of the BBR congestion control algorithm is described, in which the congestion window of the data stream to be detected is alternately adjusted according to the RTT rounds, so that the congestion window of the data stream to be detected exhibits high-low alternating changes within two consecutive RTT rounds, resulting in a throughput square wave signal with a period of two RTT rounds, including: The initial congestion window of the data stream to be detected is obtained when it exits the Startup phase of the BBR congestion control algorithm, and the square wave construction phase is inserted before entering the ProbeBW phase of the BBR congestion control algorithm. In each RTT round of the square wave construction phase, the congestion window size of each RTT round is set to a preset first multiple and a preset second multiple of the initial congestion window according to the parity of the RTT round; wherein, the preset first multiple is used for odd RTT rounds and the preset second multiple is used for even RTT rounds, and the preset first multiple is greater than the preset second multiple; Based on the congestion window settings for each RTT round in the square wave construction phase, the congestion window of each data stream to be detected alternates between high and low over two consecutive RTT rounds until the preset maximum number of RTT rounds in the square wave construction phase is reached, and a square wave signal with a throughput of two RTT rounds is output.

4. The network traffic sharing bottleneck link detection method according to claim 3, characterized in that, The preset maximum number of RTT rounds is 32 rounds.

5. The network traffic sharing bottleneck link detection method according to claim 1, characterized in that, The step of performing spectral analysis on the throughput square wave signal of the data stream to be detected, and extracting the main period frequency of the data stream to be detected from the spectral analysis results to obtain the frequency domain characteristics of the data stream to be detected, includes: The frequency domain spectrum is obtained by performing a fast Fourier transform on the square wave signal of the data stream to be detected; The frequency corresponding to the highest spectral amplitude is determined by the frequency domain spectrum and used as the main period frequency of the data stream to be detected, and the main period frequency is used as the frequency domain feature of the data stream to be detected.

6. The network traffic sharing bottleneck link detection method according to claim 1, characterized in that, The step of clustering and comparing the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster, and assigning the data stream to be detected to a cluster with the same frequency domain features as the data stream to be detected based on the clustering comparison results, or recreating clusters so that each cluster contains data streams of bottleneck links sharing the same network traffic, includes: For each cluster, the frequency domain features of the data stream to be detected are compared with the frequency domain features of the total throughput of the cluster obtained in advance; If the frequency domain characteristics of the data stream to be detected are the same as the frequency domain characteristics of the total throughput of the cluster obtained in advance, then the data stream to be detected is assigned to the cluster. If the frequency domain characteristics of the data stream to be detected are different from the frequency domain characteristics of the total throughput of all the clusters in advance, then a new cluster is created based on the data stream to be detected, so that each cluster contains the data stream of the bottleneck link that shares the same network traffic.

7. A network traffic sharing bottleneck link detection system, characterized in that, include: The square wave construction module is used to obtain the latest TCP stream added by the sending end as the data stream to be detected, and to periodically adjust the congestion window of the data stream to be detected so that the throughput of the data stream to be detected is converted into a periodic throughput square wave signal. The spectrum analysis module is used to perform spectrum analysis on the throughput square wave signal of the data stream to be detected, and extract the main period frequency of the data stream to be detected from the spectrum analysis results to obtain the frequency domain characteristics of the data stream to be detected. The bottleneck link detection module is used to cluster and compare the frequency domain features of the data stream to be detected with the frequency domain features of the total throughput of each pre-acquired cluster. Based on the cluster comparison results, the data stream to be detected is assigned to a cluster with the same frequency domain features as the data stream to be detected, or a new cluster is created so that each cluster contains data streams of bottleneck links that share the same network traffic.

8. An electronic device, characterized in that, The electronic device includes a memory and a processor. The memory stores a computer program, and when the computer program is executed by the processor, the processor performs the steps of the network traffic sharing bottleneck link detection method as described in any one of claims 1-6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed, it implements the steps of the network traffic sharing bottleneck link detection method as described in any one of claims 1-6.

10. A computer program product, characterized in that, The computer program product includes a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions, wherein when the program instructions are executed by a computer, the computer performs the steps of the network traffic sharing bottleneck link detection method as described in any one of claims 1-6.