CN114125920A - BBRv2 bandwidth detection method and system based on time delay - Google Patents

BBRv2 bandwidth detection method and system based on time delay Download PDF

Info

Publication number
CN114125920A
CN114125920A CN202111240113.5A CN202111240113A CN114125920A CN 114125920 A CN114125920 A CN 114125920A CN 202111240113 A CN202111240113 A CN 202111240113A CN 114125920 A CN114125920 A CN 114125920A
Authority
CN
China
Prior art keywords
bbrv2
state
minrtt
rtt
curr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111240113.5A
Other languages
Chinese (zh)
Inventor
杨馥榕
武庆华
李振宇
谢高岗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202111240113.5A priority Critical patent/CN114125920A/en
Publication of CN114125920A publication Critical patent/CN114125920A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0453Resources in frequency domain, e.g. a carrier in FDMA

Abstract

A time delay-based BBRv2 bandwidth detection method comprises the following steps: adding a state variable reflecting network delay variation in a BBRv2 path model; modifying the original ProbeBW state of the BBRv2 to form a new ProbeBW state, comprising: the BBRv2 enters a ProbeTry state once every 8 RTTs; BBRv2 sets paging _ gain to X in the first RTT of the ProbeTry state; BBrv2 sets paging _ gain to 1 at the second RTT of the ProbeTry state, and BBrv2 determines MinRTT at the end of the second RTTcurr_rtt≥γ×MinRTTprev_rttIf the result is true, entering a ProbeDown state and setting the paging _ gain as Y, otherwise entering the next step; BBRv2 compares the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeAnd if the result is true, entering a ProbeDown state and setting the paging _ gain to 0.75, otherwise, repeating the step.

Description

BBRv2 bandwidth detection method and system based on time delay
Technical Field
The invention relates to the field of BBRv2 bandwidth detection, in particular to a time delay-based BBRv2 bandwidth detection method and system.
Background
The internet Congestion Control Algorithm (CCA) is the most core component in network transmission Control protocols such as TCP, and its main objectives include: the distributed data sending ends can fairly and maximally utilize the available bandwidth in the network; the total data transmission amount is prevented from exceeding the upper limit of the transmission capability of the network, so that the network breakdown is caused. Over the last several decades, a wide variety of CCAs have been proposed by the network academia and industry.
Currently, the CCA of mainstream can be roughly divided into two categories: first, a conventional CCA performs passive response based on packet loss or time delay; second, the CCA represented by BBR actively controls the amount of data transmission based on a bandwidth measurement model. Compared with the first traditional CCA, the second CCA based on the bandwidth measurement model can actively try to operate at the optimal congestion control point, so that queuing on a bottleneck router link is avoided while the network bandwidth is utilized to the maximum extent, and further the network delay is minimized. In view of the above advantages of BBR, the internet industry, as represented by Google, has made extensive deployment of BBR on the current network.
However, current research work has shown that the BBR also has some drawbacks, including: (1) the problem of fairness exists for CCA based on packet loss; (2) when the network router cache is small, a large number of retransmissions may occur. In response to the above problems, Google proposed BBRv2 in order to alleviate the above problems. Some researchers find through measurement that BBRv2 actually and effectively improves fairness for CCA based on packet loss and reduces retransmission rate when a router caches a small amount, but the new bandwidth detection mechanism of BBRv2 causes that it cannot adapt to the situation of frequent change of network bandwidth, thereby causing low bandwidth utilization rate and high queuing delay.
Disclosure of Invention
Aiming at the defects of the prior art, the invention mainly aims to provide a time delay-based BBRv2 bandwidth detection method and a time delay-based BBRv2 bandwidth detection system, aiming at effectively improving the adaptability of BBRv2 to bandwidth change in a network scene with frequent and dynamic changes of available bandwidth, thereby improving the throughput of network transmission and reducing the network queuing time delay, and simultaneously keeping the original advantages of BBRv2 in the aspects of fairness and retransmission rate.
In order to achieve the above object, the present invention provides a BBRv2 bandwidth detection method based on time delay, including:
step 1, adding a state variable reflecting network delay variation in a BBRv2 path model, wherein the state variable comprises MinRTTprev_rtt、MinRTTcurr_rtt、MinRTTbefore_probeAnd MinRTTcurr_cruise
Step 2, modifying the original ProbeBW state of the BBRv2 to form a new ProbeBW state, wherein the working mode of the new ProbeBW state comprises the following steps:
step 21, BBRv2 enters a ProbeTry state every 8 RTTs;
step 22, BBRv2 sets paging _ gain to X in the first RTT of the ProbeTry state, so as to increase the sending rate to X times of the current estimated bandwidth;
step 23, BBRv2 sets paging _ gain to 1 in the second RTT of the ProbeTry state, and BBRv2 determines MinRTT when the second RTT endscurr_rtt≥γ×MinRTTprev_rttIf yes, entering a ProbeDown state and setting the paging _ gain as Y, otherwise, entering a step 24;
step 24, BBRv2 compares the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeIf yes, entering a ProbeDown state and setting the paging _ gain to 0.75, otherwise, repeating the step 24;
wherein, the value range of X is set to be 1.05 ≦ X ≦ 1.2, and the values of X and Y satisfy X-1 ≦ 1-Y.
In the above method for detecting the bandwidth of the BBRv2 based on the time delay, γ in step 23 or step 24 is a relaxation coefficient greater than 1, so as to tolerate a certain RTT measurement noise.
The above-mentioned delay-based BBRv2 bandwidth detection method, in which γ is set to 1.02 to tolerate 2% RTT measurement noise.
The above BBRv2 bandwidth detection method based on time delay further includes:
step 3, when the BBRv2 is in the Probe cruise or Probe Down state, the MinRTT is judged every time an ACK is receivedcurr_rttIf the estimated bandwidth value is more than theta multiplied by RTprop, if so, the BBRv2 updates the original estimated bandwidth value to the currently measured estimated bandwidth value;
step 4, when the estimated bandwidth value is not updated after a time, the BBRv2 forces the estimated bandwidth value to be updated to the latest measurement value.
In the above method for detecting the BBRv2 bandwidth for time delay, the value range of θ is set to be 1.05 ≦ θ ≦ 1.15, the time is set to ω × RTT, and the value range of ω is set to be 20 ≦ ω ≦ 50.
The above BBRv2 bandwidth detection method based on time delay further includes:
step 5, when each ProbeCruise state is finished, judging whether the BBRv2 operates in a new ProbeBW state, if so, turning to step 6, otherwise, turning to step 7;
step 6, judging MinRTTcurr_cruise>β1Whether the multiplying RTprop is established or not is judged, if yes, the counter buffer _ filing is added with 1, otherwise, the counter buffer _ filing is clear 0, and if the counter buffer _ filing is larger than or equal to tau1BBRv2 restarts from the start state and begins using the original ProbeBW state;
step 7, judging MinRTTcurr_cruise≤β2Whether the x RTprop is established or not is judged, if yes, the counter buffer _ empty is added with 1, otherwise, the counter buffer _ empty is clear with 0, and if the buffer _ empty is larger than or equal to the tau2BBRv2 begins using the new ProbeBW state;
wherein, beta1、β2Are respectively set to be less than or equal to 1.05 ≦β1≦1.2,1﹤β2≦1.05。
The BBRv2 bandwidth detection method based on time delay is characterized in that the beta value1Beta of the reaction system2τ of the1τ of the2Set to 1.1, 1.05, 2, 4, respectively.
In order to achieve the above object, the present invention further provides a delay-based BBRv2 bandwidth detection system, including:
a variable setting module, configured to add a state variable reflecting network delay variation in the BBRv2 path model, where the state variable includes MinRTTprev_rtt、MinRTTcurr_rtt、MinRTTbefore_probeAnd MinRTTcurr_cruise
A ProbeBW status updating module for modifying an original ProbeBW status of the BBRv2 to form a new ProbeBW status, comprising:
the first submodule is used for the BBRv2 to enter a ProbeTry state once every 8 RTTs;
the second submodule is used for setting paging _ gain to X by BBRv2 in the first RTT of the ProbeTry state so as to increase the sending rate to X times of the current estimated bandwidth;
a third sub-module, configured to set paging _ gain to 1 in the second RTT of the ProbeTry state by BBRv2, and determine MinRTT by BBRv2 when the second RTT endscurr_rtt≥γ×MinRTTprev_rttIf the judgment result is positive, entering a ProbeDown state and setting the paging _ gain as Y, otherwise, entering a fourth submodule;
a fourth sub-module for BBRv2 to determine the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeIf the result is true, entering a ProbeDown state and setting the paging _ gain to be 0.75, otherwise, repeatedly entering a fourth submodule;
wherein, the value range of X is set to be 1.05 ≦ X ≦ 1.2, and the values of X and Y satisfy X-1 ≦ 1-Y.
The above-mentioned BBRv2 bandwidth detection system based on time delay further includes:
the estimated bandwidth judgment and update module is used for judging MinRTT (minimum round trip time) when the BBRv2 receives an ACK (acknowledgement) in a Probe cruise or Probe Down statecurr_rttIf the estimated bandwidth value is more than theta multiplied by RTprop, if so, the BBRv2 updates the original estimated bandwidth value to the currently measured estimated bandwidth value;
and the predicted bandwidth forced updating module is used for forcibly updating the predicted bandwidth value to the latest measured value by the BBRv2 when the predicted bandwidth value is not updated after a time.
The above-mentioned BBRv2 bandwidth detection system based on time delay further includes:
the operation state judgment module is used for judging whether the BBRv2 operates in the new ProbeBW state or not when each ProbeCruise state is ended, if so, switching to the original ProbeBW state switching module, and otherwise, switching to the new ProbeBW state switching module;
an original ProbeBW state transferring module for judging MinRTTcurr_cruise>β1Whether the multiplying RTprop is established or not is judged, if yes, the counter buffer _ filing is added with 1, otherwise, the counter buffer _ filing is clear 0, and if the counter buffer _ filing is larger than or equal to tau1BBRv2 restarts from the start state and begins using the original ProbeBW state;
new ProbeBW state transfer module for judging MinRTTcurr_cruise≤β2Whether the x RTprop is established or not is judged, if yes, the counter buffer _ empty is added with 1, otherwise, the counter buffer _ empty is clear with 0, and if the buffer _ empty is larger than or equal to the tau2BBRv2 begins using the new ProbeBW state;
wherein, beta1、β2Are respectively set to be 1.05 ≦ beta1≦1.2,1﹤β2≦1.05。
The invention is described in detail below with reference to the drawings and specific examples, but the invention is not limited thereto.
Drawings
Fig. 1 is a flowchart of a method for detecting a BBRv2 bandwidth based on a time delay according to an embodiment of the present invention.
FIG. 2 is a schematic diagram of a BBRv2 raw state machine.
FIG. 3 is a schematic diagram of the BBRv2 new state machine.
Fig. 4 is a block diagram of a delay-based BBRv2 bandwidth detection system according to an embodiment of the present invention.
Detailed Description
In order to make the aforementioned features and effects of the present invention more comprehensible, embodiments accompanied with figures are described in detail below.
In order to realize the network scene that the available bandwidth changes dynamically and frequently, such as: the invention aims to improve a bandwidth detection mechanism of the BBRv2, so that the estimated bandwidth of the BBRv2 can be quickly adapted to the change of the available bandwidth of the network, and the original advantages of the BBRv2 in the aspects of fairness and retransmission rate are retained.
Referring to fig. 1, an embodiment of the present invention provides a method 100 for detecting a BBRv2 bandwidth based on a time delay, including: steps S110-S120.
Step S110, adding a state variable reflecting network delay variation in a BBRv2 path model.
The original BBRv2 path model only includes predicted bottleneck link bandwidth (BtlBW), path round-trip delay (RTprop), and inflight data size (inflight _ hi, inflight _ lo) upper and lower bounds, which cannot reflect the change of network delay. For this reason, in this embodiment, the present invention adopts a method of adding four new state variables to the path model of BBRv2, including: MinRTTprev_rtt、MinRTTcurr_rtt、MinRTTbefore_probeAnd MinRTTcurr_cruise. The meaning of these state variables and the manner of measurement are explained in detail below:
(1)MinRTTprev_rttrepresenting the minimum Round Trip Time (RTT) value measured by the BBRv2 in the last round of RTT, and reflecting the network delay in the last round of RTT;
(2)MinRTTcurr_rttrepresenting a minimum Round Trip Time (RTT) value measured by the BBRv2 in the current round of RTT, and reflecting the network delay in the current round of RTT;
(3)MinRTTbefore_probeindicating the MinRTT of BBRv2 before entering into bandwidth detection statecurr_rttReflecting the network delay before bandwidth detection;
(4)MinRTTcurr_cruisethe minimum RTT value measured by the BBRv2 in the current wheel cruise phase (Probe cruise state) is represented, and the network delay of the current wheel cruise phase is reflected;
by comparing the state variable with the original path round trip delay (RTprop) variable, the BBRv2 can sense the change of the network delay to some extent. According to the invention, in a path model of the BBRv2, a state variable capable of reflecting network delay change is newly added for sensing the possible change of the available bandwidth of the network, so as to guide the bandwidth detection behavior of the BBRv 2.
In step S120, the original ProbeBW status of BBRv2 is modified to form a new ProbeBW status.
In this embodiment, the present invention proposes a heuristic detection mechanism to enable the BBRv2 to be utilized quickly with an increase in available bandwidth. First, the probing frequency of BBRv2 needs to be increased, which enables BBRv2 to enter the probing state as soon as possible, giving an opportunity to discover new available bandwidth. The original BBRv2 probing frequency is typically the minimum of 2 to 3 seconds and several tens of RTTs, which is too conservative for network scenarios where the bandwidth changes frequently. In the present invention, the probing frequency is increased to be close to that of the BBR, i.e. a bandwidth probing is initiated for about 8 RTTs.
In order to avoid as much as possible that increasing the probing frequency negatively affects the advantages of the BBRv2 in terms of fairness and retransmission rate, the present invention modifies the ProbeBW status of the original BBRv2 (see fig. 2) to form the ProbeBW status of the new BBRv2 (see fig. 3). Firstly, in the invention, in the ProbeBW state of the original BBRv2, a ProbeTry sub-state lasting for two RTT durations is added, and the newly added state is a pre-probing stage of the corresponding bandwidth, which is used for probing whether there is free available bandwidth to determine whether to enter a subsequent bandwidth probing stage. Compared with the state transition logic of the original BBRv2, the new ProbeBW state works as follows:
a: the BBRv2 enters a ProbeTry state once every 8 RTTs;
b: the first RTT of the BBRv2 in the ProbeTry state, paging _ gain, is set to X to increase the sending rate to X times the current estimated bandwidth;
c: BBrv2 sets paging _ gain to 1.0 in the second RTT of the Probe state, and BBrv2 determines MinRTT at the end of the second RTTcurr_rtt≥γ×MinRTTprev_rttIf yes, entering a Probe Down state and setting the paging _ gain as Y, otherwise, entering a step D; wherein γ is a relaxation coefficient greater than 1, which is used to tolerate a certain RTT measurement noise, and the default recommended value is set to 1.02, which is used to tolerate 2% RTT measurement noise, but the γ value is not limited thereto;
d: BBRv2 compares the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeIf yes, entering a ProbeDown state and setting the paging _ gain to be 0.75, otherwise, repeating the step D; wherein the value of gamma is the same as that of gamma in the step C;
in addition, in this embodiment, the value range of X is set to 1.05 ≦ X ≦ 1.2, and values of X and Y satisfy X-1 ≦ 1-Y, the default recommended value of X is set to 1.1, and correspondingly Y is set to 0.9; in addition, the operation mode for the other sub-states of BBRv2 is unchanged.
The heuristic detection mechanism proposed in this embodiment aims to balance the aggressiveness of BBRv2 bandwidth detection and the fairness of CCA based on packet loss. The mechanism comprises increasing the bandwidth probing frequency of the BBRv2, and splitting the original bandwidth probing state (Probe state) of the BBRv2 into two stages, namely a pre-probing stage and a probing stage. In the pre-probing stage, BBRv2 briefly increases the sending rate slightly, and then determines whether to abandon the bandwidth probing or enter the subsequent probing stage (original probe state) according to whether the network delay (reaction queuing delay) is significantly increased. The mechanism also compares the network delay of the BBRv2 when entering the bandwidth probing state with the network delay of exiting the state, and determines whether to enter the bandwidth probing state again to further discover the available free bandwidth.
Optionally, the method 100 for detecting a bandwidth of the BBRv2 based on a delay provided in the foregoing embodiment may further include an estimated bandwidth updating mechanism based on a delay variation provided in this embodiment, so that the BBRv2 can update the estimated bandwidth as soon as possible and reduce the sending rate when the available bandwidth is reduced. Therefore, the invention determines whether the BBRv2 needs to update the current estimated bandwidth immediately by using the time delay change information, and the specific working mode is as follows:
step S130, when the BBRv2 is in the Probeccruise or ProbeDown state, every time an ACK is received, the MinRTT is judgedcurr_rttIf the difference is more than theta multiplied by RTprop, if yes, the BBRv2 immediately updates the original predicted bandwidth value to the currently measured predicted bandwidth value.
In this embodiment, this operation is performed only in the ProbeCruise or ProbeDown state, in order to avoid a situation where an increase in delay due to pre-probing or bandwidth probing is erroneously identified as a decrease in available bandwidth; θ above is a parameter used to adjust the sensitivity of BBRv2 to bandwidth reduction, and the default recommended value is 1.05 to 1.15, i.e., 1.05 ≦ θ ≦ 1.15;
step S140, in order to avoid that the estimated bandwidth is not updated for a long time, the BBRv2 needs to forcibly update the estimated bandwidth to the latest measurement value when the estimated bandwidth is not updated more than a time; wherein, the time is usually set to ω × RTT, and the default recommended value of ω is 20 to 50, i.e. 20 ≦ ω ≦ 50.
The estimated bandwidth updating mechanism based on the delay variation provided by this embodiment aims to enable the BBRv2 to discover the reduction of the available bandwidth of the network as soon as possible through the network delay variation, and update the estimated bandwidth to a new available bandwidth, thereby reducing the sending rate, avoiding a large amount of queues on the bottleneck link, and increasing the network queuing delay.
Optionally, the method 100 for detecting a bandwidth of the BBRv2 based on a time delay proposed by the foregoing embodiment may further include a method for switching a mode of a bandwidth detection mechanism based on a time delay variation proposed by this embodiment; specifically, due to the modified bandwidth detection and the predicted bandwidth update, a time delay is used as an indication signal, and when the BBRv2 shares a bottleneck link with the CCA based on packet loss, the BBRv2 actively slows down continuously due to buffer expansion (bufferloat) caused by the CCA based on packet loss, so that the CCA based on packet loss starves. In order to avoid the above situation, the present invention designs a mode switching mechanism to heuristically detect whether there is CCA coexistence based on packet loss, if so, switch to the original BBRv2 bandwidth detection mechanism (i.e. the original ProbeBW state), otherwise, use the new ProbeBW state, as shown in fig. 3. The mechanism works in the following specific way:
a: when each ProbeCruise state is finished, if the BBRv2 operates in a new ProbeBW state, turning to the step B, and otherwise, turning to the step C;
b: determining MinRTTcurr_cruise>β1Whether the multiplying RTprop is established or not is judged, if yes, the counter buffer _ filing is added with 1, otherwise, the counter buffer _ filing is clear 0, and if the counter buffer _ filing is larger than or equal to tau1BBRv2 restarts from the start state and begins using the original ProbeBW state; wherein, restarting from the start state is to regain bandwidth that may have been actively yielded as soon as possible;
c: determining MinRTTcurr_cruise≤β2Whether the x RTprop is established or not is judged, if yes, the counter buffer _ empty is added with 1, otherwise, the counter buffer _ empty is clear with 0, and if the buffer _ empty is larger than or equal to the tau2BBRv2 begins using the new ProbeBW state;
wherein the above-mentioned beta1、β2、τ1、τ2All belong to adjustable design parameters, which affect the sensitivity of BBRv2 in detecting whether there is CCA coexistence based on packet loss, beta1、β2Are respectively set to be 1.05 ≦ beta1≦1.2,1﹤β2≦ 1.05, preferably, the default recommended values for the four parameters are 1.1, 1.05, 2, 4, respectively.
The method for switching the bandwidth detection mechanism mode based on the time delay change proposed by this embodiment aims to avoid that the BBRv2 adopting a new bandwidth detection mechanism is starved by a bottleneck link bandwidth when competing with a CCA based on packet loss. Specifically, in this case, due to the heuristic detection mechanism and the estimated bandwidth updating mechanism based on the time delay change in the above embodiment, the BBRv2 may actively yield the bandwidth due to the data packet queuing at the bottleneck link caused by the CCA based on the packet loss, so that the "starvation" phenomenon occurs. The mode switching method proposed in this embodiment infers whether the bandwidth is competing with the CCA based on packet loss at this time through the network delay variation, if so, the method will switch the BBRv2 back to the original bandwidth detection mechanism, otherwise, the method will make the BBRv2 use the new mechanism of the above embodiment.
Referring to fig. 4, based on the same inventive concept, an embodiment of the present invention further provides a time delay based BBRv2 bandwidth detection system 200, including:
a variable setting module 210, configured to add a state variable reflecting network delay variation in the BBRv2 path model, where the state variable includes MinRTTprev_rtt、MinRTTcurr_rtt、MinRTTbefore_probeAnd MinRTTcurr_cruise
The ProbeBW status updating module 220 is configured to modify the original ProbeBW status of the BBRv2 to form a new ProbeBW status, and includes:
a first sub-module 221, configured to enter a ProbeTry state every 8 RTTs by the BBRv 2;
a second sub-module 222, configured to set paging _ gain to X in the first RTT of the ProbeTry state by the BBRv2, so as to increase the sending rate to X times of the current estimated bandwidth;
a third sub-module 223, configured to set paging _ gain to 1 in the second RTT of the ProbeTry state by BBRv2, and determine MinRTT by BBRv2 when the second RTT endscurr_rtt≥γ×MinRTTprev_rttIf the judgment result is positive, entering a ProbeDown state and setting the paging _ gain as Y, otherwise, entering a fourth submodule;
a fourth sub-module 224 for BBRv2 to determine the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeIf the result is true, entering a ProbeDown state and setting the paging _ gain to be 0.75, otherwise, repeatedly entering a fourth submodule;
wherein, the value range of X is set to be 1.05 ≦ X ≦ 1.2, and the values of X and Y satisfy X-1 ≦ 1-Y.
In one embodiment, the delay-based BBRv2 bandwidth detection system 200 further includes:
the estimated bandwidth judgment and update module 230 is used for judging MinRTT every time when an ACK is received when the BBRv2 is in a Probe cruise or Probe Down statecurr_rttIf the estimated bandwidth value is more than theta multiplied by RTprop, if so, the BBRv2 updates the original estimated bandwidth value to the currently measured estimated bandwidth value;
the estimated bandwidth forcing update module 240 is configured to force the BBRv2 to update the estimated bandwidth value to the latest measured value when the estimated bandwidth value is not updated for more than a time.
In one embodiment, the delay-based BBRv2 bandwidth detection system 200 further includes:
an operation state judgment module 250, configured to judge whether the BBRv2 operates in the new ProbeBW state when each ProbeCruise state ends, if yes, switch to the original ProbeBW state switching module, and otherwise switch to the new ProbeBW state switching module;
an original ProbeBW status transferring module 260 for determining MinRTTcurr_cruise>β1Whether the multiplying RTprop is established or not is judged, if yes, the counter buffer _ filing is added with 1, otherwise, the counter buffer _ filing is clear 0, and if the counter buffer _ filing is larger than or equal to tau1BBRv2 restarts from the start state and begins using the original ProbeBW state;
a new ProbeBW status transferring module 270 for determining the MinRTTcurr_cruise≤β2Whether the x RTprop is established or not is judged, if yes, the counter buffer _ empty is added with 1, otherwise, the counter buffer _ empty is clear with 0, and if the buffer _ empty is larger than or equal to the tau2BBRv2 begins using the new ProbeBW state;
wherein, beta1、β2Are respectively set to be 1.05 ≦ beta1≦1.2,1﹤β2≦1.05。
It should be noted that, for convenience and brevity of description, it may be clearly understood by those skilled in the art that the specific working processes of the method, the apparatus and the module described above may refer to corresponding processes in the foregoing method embodiments, and are not described herein again.
The present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof, and it should be understood that various changes and modifications can be effected therein by one skilled in the art without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (10)

1. A time delay-based BBRv2 bandwidth detection method is characterized by comprising the following steps:
step 1, adding a state variable reflecting network delay variation in a BBRv2 path model, wherein the state variable comprises MinRTTprev_rtt、MinRTTcurr_rtt、MinRTTbefore_probeAnd MinRTTcurr_cruise
Step 2, modifying the original ProbeBW state of the BBRv2 to form a new ProbeBW state, wherein the working mode of the new ProbeBW state comprises the following steps:
step 21, BBRv2 enters a ProbeTry state every 8 RTTs;
step 22, BBRv2 sets paging _ gain to X in the first RTT of the ProbeTry state, so as to increase the sending rate to X times of the current estimated bandwidth;
step 23, BBRv2 sets paging _ gain to 1 in the second RTT of the ProbeTry state, and BBRv2 determines MinRTT when the second RTT endscurr_rtt≥γ×MinRTTprev_rttIf yes, entering a ProbeDown state and setting the paging _ gain as Y, otherwise, entering a step 24;
step 24, BBRv2 compares the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeIf yes, entering into Probe Down state, andand setting the paging _ gain to 0.75, otherwise repeating step 24;
wherein the value range of X is set to be more than or equal to 1.05 and less than or equal to 1.2, and the values of X and Y meet the requirement that X-1 is equal to 1-Y.
2. The method for BBRv2 bandwidth probing based on time delay of claim 1, wherein γ in step 23 or step 24 is a relaxation coefficient greater than 1 for tolerating certain RTT measurement noise.
3. The delay-based BBRv2 bandwidth detection method of claim 2, wherein γ is set to 1.02 to tolerate 2% RTT measurement noise.
4. The delay-based BBRv2 bandwidth detection method of claim 1, further comprising:
step 3, when the BBRv2 is in the Probe cruise or Probe Down state, the MinRTT is judged every time an ACK is receivedcurr_rttIf the estimated bandwidth value is more than theta multiplied by RTprop, if so, the BBRv2 updates the original estimated bandwidth value to the currently measured estimated bandwidth value;
step 4, when the estimated bandwidth value is not updated after a time, the BBRv2 forces the estimated bandwidth value to be updated to the latest measurement value.
5. The time delay BBRv2 bandwidth detection method according to claim 4, wherein θ is set to 1.05 ≤ θ ≤ 1.15, the time is set to ω × RTT, and ω is set to 20 ≤ ω ≤ 50.
6. The delay-based BBRv2 bandwidth detection method of claim 4, further comprising:
step 5, when each ProbeCruise state is finished, judging whether the BBRv2 operates in a new ProbeBW state, if so, turning to step 6, otherwise, turning to step 7;
step 6, judging MinRTTcurr_cruise>β1Whether x RTprop is established or not, if yes, the counter buAdding 1 to buffer _ filling, otherwise, adding 0 to buffer _ filling, and when the buffer _ filling is greater than or equal to tau1BBRv2 restarts from the start state and begins using the original ProbeBW state;
step 7, judging MinRTTcurr_cruise≤β2Whether the x RTprop is established or not is judged, if yes, the counter buffer _ empty is added with 1, otherwise, the counter buffer _ empty is clear with 0, and if the buffer _ empty is larger than or equal to the tau2BBRv2 begins using the new ProbeBW state;
wherein, beta1、β2Are respectively set to be not less than 1.05 and not more than beta1≤1.2,1<β2≤1.05。
7. The delay-based BBRv2 bandwidth detection method of claim 6, wherein the β is1Beta of the reaction system2τ of the1τ of the2Set to 1.1, 1.05, 2, 4, respectively.
8. A BBRv2 bandwidth detection system based on time delay is characterized by comprising
A variable setting module, configured to add a state variable reflecting network delay variation in the BBRv2 path model, where the state variable includes MinRTTprev_rtt、MinRTTcurr_rtt、MinRTTbefore_probeAnd MinRTTcurr_cruise
A ProbeBW status updating module for modifying an original ProbeBW status of the BBRv2 to form a new ProbeBW status, comprising:
the first submodule is used for the BBRv2 to enter a ProbeTry state once every 8 RTTs;
the second submodule is used for setting paging _ gain to X by BBRv2 in the first RTT of the ProbeTry state so as to increase the sending rate to X times of the current estimated bandwidth;
a third sub-module, configured to set paging _ gain to 1 in the second RTT of the ProbeTry state by BBRv2, and determine MinRTT by BBRv2 when the second RTT endscurr_rtt≥γ×MinRTTprev_rttIf yes, entering into Probe Down state, andsetting the paging _ gain as Y, otherwise, entering a fourth submodule;
a fourth sub-module for BBRv2 to determine the current MinRTTcurr_rttSave to MinRTTbefore_probeThen entering into Probe state, when the Probe state is finished, BBrv2 judges MinRTTcurr_rtt>γ×MinRTTbefore_probeIf the result is true, entering a ProbeDown state and setting the paging _ gain to be 0.75, otherwise, repeatedly entering a fourth submodule;
wherein the value range of X is set to be more than or equal to 1.05 and less than or equal to 1.2, and the values of X and Y meet the requirement that X-1 is equal to 1-Y.
9. The delay based BBRv2 bandwidth detection system of claim 8, further comprising:
the estimated bandwidth judgment and update module is used for judging MinRTT (minimum round trip time) when the BBRv2 receives an ACK (acknowledgement) in a Probe cruise or Probe Down statecurr_rttIf the estimated bandwidth value is more than theta multiplied by RTprop, if so, the BBRv2 updates the original estimated bandwidth value to the currently measured estimated bandwidth value;
and the predicted bandwidth forced updating module is used for forcibly updating the predicted bandwidth value to the latest measured value by the BBRv2 when the predicted bandwidth value is not updated after a time.
10. The delay based BBRv2 bandwidth detection system of claim 9, further comprising:
the operation state judgment module is used for judging whether the BBRv2 operates in the new ProbeBW state or not when each ProbeCruise state is ended, if so, switching to the original ProbeBW state switching module, and otherwise, switching to the new ProbeBW state switching module;
an original ProbeBW state transferring module for judging MinRTTcurr_cruise>β1Whether the multiplying RTprop is established or not is judged, if yes, the counter buffer _ filing is added with 1, otherwise, the counter buffer _ filing is clear 0, and if the counter buffer _ filing is larger than or equal to tau1BBRv2 restarts from the start state and begins using the original ProbeBW state;
new ProbeBW status switch module forDetermining MinRTTcurr_cruise≤β2Whether the x RTprop is established or not is judged, if yes, the counter buffer _ empty is added with 1, otherwise, the counter buffer _ empty is clear with 0, and if the buffer _ empty is larger than or equal to the tau2BBRv2 begins using the new ProbeBW state;
wherein, beta1、β2Are respectively set to be not less than 1.05 and not more than beta1≤1.2,1<β2≤1.05。
CN202111240113.5A 2021-10-25 2021-10-25 BBRv2 bandwidth detection method and system based on time delay Pending CN114125920A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111240113.5A CN114125920A (en) 2021-10-25 2021-10-25 BBRv2 bandwidth detection method and system based on time delay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111240113.5A CN114125920A (en) 2021-10-25 2021-10-25 BBRv2 bandwidth detection method and system based on time delay

Publications (1)

Publication Number Publication Date
CN114125920A true CN114125920A (en) 2022-03-01

Family

ID=80377095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111240113.5A Pending CN114125920A (en) 2021-10-25 2021-10-25 BBRv2 bandwidth detection method and system based on time delay

Country Status (1)

Country Link
CN (1) CN114125920A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114915600A (en) * 2022-06-10 2022-08-16 贵州大学 BBRv2 congestion control algorithm under deep buffer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365600A (en) * 2019-07-30 2019-10-22 广州市百果园信息技术有限公司 A kind of jamming control method based on BBR, device, equipment and storage medium
CN110572333A (en) * 2019-10-25 2019-12-13 中南大学 transmission rate adjusting method and congestion control algorithm in bandwidth detection stage
CN112511451A (en) * 2020-11-24 2021-03-16 南京邮电大学 Method and server for controlling BBR convergence period length
CN113162850A (en) * 2021-01-13 2021-07-23 中国科学院计算技术研究所 Artificial intelligence-based heterogeneous network multi-path scheduling method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365600A (en) * 2019-07-30 2019-10-22 广州市百果园信息技术有限公司 A kind of jamming control method based on BBR, device, equipment and storage medium
CN110572333A (en) * 2019-10-25 2019-12-13 中南大学 transmission rate adjusting method and congestion control algorithm in bandwidth detection stage
CN112511451A (en) * 2020-11-24 2021-03-16 南京邮电大学 Method and server for controlling BBR convergence period length
CN113162850A (en) * 2021-01-13 2021-07-23 中国科学院计算技术研究所 Artificial intelligence-based heterogeneous network multi-path scheduling method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114915600A (en) * 2022-06-10 2022-08-16 贵州大学 BBRv2 congestion control algorithm under deep buffer

Similar Documents

Publication Publication Date Title
WO2021012869A1 (en) Transmission rate determination method and device, apparatus, and storage medium
US10462707B2 (en) Data transmission method and apparatus
CN106301684B (en) Media data transmission method and device
KR20030089708A (en) Method of controlling a queue buffer
CN111835649B (en) Data transmission method, device and related components
CN115412497B (en) Performance optimization method of BBR congestion control algorithm
WO2020253488A1 (en) Method and device for congestion control, communication network, and computer storage medium
CN114422443B (en) Satellite network TCP congestion control method based on bandwidth estimation and congestion prediction
CN114125920A (en) BBRv2 bandwidth detection method and system based on time delay
US20180176136A1 (en) TCP Bufferbloat Resolution
WO2020100581A1 (en) Evaluation device, evaluation method and evaluation program
CN113242183A (en) Data stream sending control method and device, intelligent terminal and storage medium
WO2022042282A1 (en) Lossless traffic congestion adaption method, system and network device
CN116319569A (en) Network parameter updating method, network parameter updating device, medium and electronic equipment
CN117676695A (en) TCP transmission method, device and system
CN110290552B (en) Method and device for measuring cache depth, storage medium and electronic device
CN115514710A (en) Weak connection flow management and control method based on self-adaptive sliding window
CN112511451B (en) Method and server for controlling BBR convergence period length
US7855954B2 (en) Speculative credit data flow control
JP3693968B2 (en) Flow control method and program for file transfer by Zenginkyo TCP / IP procedure
EP1744496B1 (en) Control of background transfers
CN113747253A (en) Method for determining network bandwidth, video RTP receiving end and storage medium
JPH11225166A (en) Flow control method
CN114584517A (en) Congestion processing method, system, equipment and storage medium based on cache state
CN115714746A (en) Congestion control method and system based on delay and packet loss

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination