CN114125920A - BBRv2 bandwidth detection method and system based on time delay - Google Patents
BBRv2 bandwidth detection method and system based on time delay Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 43
- 239000000523 sample Substances 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims description 17
- 238000005259 measurement Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 208000006990 cholangiocarcinoma Diseases 0.000 description 1
- 208000009854 congenital contractural arachnodactyly Diseases 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0453—Resources 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
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 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。
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)
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)
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 |
-
2021
- 2021-10-25 CN CN202111240113.5A patent/CN114125920A/en active Pending
Patent Citations (4)
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)
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 |