11
An Evaluation of BBR and its variants * Songyang Zhang School of Computer Science and Engineering, Northeastern University, China [email protected] ABSTRACT e congestion control algorithm bring such importance that it avoids the network link into severe congestion and guarantees net- work normal operation. Since e loss based algorithms introduce high transmission delay, to design new algorithm simultaneously achieving high throughout and low buer occupation is a new working direction. e boleneck bandwidth and round trip time (BBR) belongs such kind, and it has drawn much aention since its release. ere are other algorithms modied from BBR to gain beer performance. And the implementation of BBR v2.0 is released recently. We implement a framework to compare the performance of these algorithms in simulated environment. KEYWORDS congestion control, ns3 simulation, BBR, bandwidth fairness ACM Reference format: Songyang Zhang. 2016. An Evaluation of BBR and its variants. In Proceed- ings of ACM Conference, Washington, DC, USA, July 2017 (Conference’17), 11 pages. DOI: 10.1145/nnnnnnn.nnnnnnn 1 INTROCTION Ever since the congestion collapse in internet was observed in 1986, Jocobson [1] proposed to implement the additive increase and multiplicative decrease to regulate the congestion window of TCP ow and the research works on congestion control seem endless. e congestion control for TCP bears such importance that it guarantees the internet can work in normal status and avoids congestion collapse happening again. Several algorithms have been proposed by making minor changes to the basic AIMD control law and to adapt it in some specic network environments [2][3]. As the development of the internet infrastructure, it is realized that these rate control algorithms based on AIMD do not perform well. ese AIMD-like algorithms taking packet loss as link conges- tion indication tend to ll the pipe. Especially in todays internet, large buers are congured in intermediate routers and the noto- rious buerbloat problem [4] is introduced. It is reported in [5], users experience delays of seconds to minutes in cellular network. In recently, developing congestion control algorithms to achieve high throughout while minimizing transmission delay at the same * Produces the permission block, and copyright information Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for prot or commercial advantage and that copies bear this notice and the full citation on the rst page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permied. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specic permission and/or a fee. Request permissions from [email protected]. Conference’17, Washington, DC, USA © 2016 ACM. 978-x-xxxx-xxxx-x/YY/MM. . . $15.00 DOI: 10.1145/nnnnnnn.nnnnnnn time becomes a new trend. BBR [5] is one typical example of such kinds. Since its release by google in 2016, BBR has gain much aention. Google rst deployed BBR in its B4 wide area network and YouTube. Several works [68] were published to analyze its behavior either in simulated links or in real network testbed. It was concluded that BBR can signicantly improve throughput for TCP connection from these experiments with dierent sources. For such merit, BBR is widely applied to build VPN (virtual private network) service for rate acceleration purpose. BBR suers from RTT unfairness issue (reported in [6][9]) and tends to overload the boleneck link when ows coexisting, which causes considerable packets loss in links with shallow buer. ere are some works Tsunami 1 , BBRPlus 2 , BBR+[10] to make some modication to these control parameters in BBR in order to gain beer performance or apply it to a dierent network domain. Both Tsunami and BBRPlus have gain some aention. BBRPlus has won 623 stars and 280 forks on github. Whether the two are applied in real program are not clear. ere are no public available report to analyze their performance too. In May 2019, google has released BBR v2 in QUIC 3 codebase with a goal to beer coexistence with Reno and Cubic [11] ows. And its implementation in Linux net stack can be got at 4 . In this article, a framework is implemented and the performance of BBR algorithm and its variants (Tsunami, BBRPlus, BBR+ and BBR v2) are evaluated on simulated network environment. Since the release of BBR v2 is recent event, it seems no other works doing a full evaluation on its performance. e transmission protocol implemented in simulation is a sim- plied version of QUIC protocol and only three frames (STREAM, STOP WAITTING and ACK) are applied to build a reliable transmis- sion protocol on top UDP. e framework is about 10000 lines c++ codes and it can be available at 5 . e collected data trace during simulation is about 1Gbps aer compression and is public available at 6 e rest of this paper is organized as follows. e background and related works on congestion control are briefed in Section 2. e detail on these algorithms are presented on Section 3. Section 4 is the simulation results and evaluation. e conclusion and discussion is made on Section 5. 2 RELATED WORK In October of 1986, the data rate from LBL to UC Berkeley dropped from 32kbps to 40bps, which was recorded as the rst congestion collapse event in internet [1]. A series mechanisms e.g. slow start, round trip time variance estimation and the AIMD control rule 1 hps://github.com/dlxg/Linux-NetSpeed 2 hps://github.com/cx9208/bbrplus 3 hps://www.chromium.org/quic 4 hps://github.com/google/bbr/blob/v2alpha/net/ipv4/tcp bbr2.c 5 hps://github.com/SoonyangZhang/DraineueCongestion 6 hps://pan.baidu.com/s/170pReidrkW7TzTBar6wKBA: q9m2 arXiv:1909.03673v1 [cs.NI] 9 Sep 2019

An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

An Evaluation of BBR and its variants∗

Songyang ZhangSchool of Computer Science and Engineering, Northeastern University, China

[email protected]

ABSTRACT�e congestion control algorithm bring such importance that itavoids the network link into severe congestion and guarantees net-work normal operation. Since �e loss based algorithms introducehigh transmission delay, to design new algorithm simultaneouslyachieving high throughout and low bu�er occupation is a newworking direction. �e bo�leneck bandwidth and round trip time(BBR) belongs such kind, and it has drawn much a�ention sinceits release. �ere are other algorithms modi�ed from BBR to gainbe�er performance. And the implementation of BBR v2.0 is releasedrecently. We implement a framework to compare the performanceof these algorithms in simulated environment.

KEYWORDScongestion control, ns3 simulation, BBR, bandwidth fairnessACM Reference format:Songyang Zhang. 2016. An Evaluation of BBR and its variants. In Proceed-ings of ACM Conference, Washington, DC, USA, July 2017 (Conference’17),11 pages.DOI: 10.1145/nnnnnnn.nnnnnnn

1 INTROCTIONEver since the congestion collapse in internet was observed in1986, Jocobson [1] proposed to implement the additive increaseand multiplicative decrease to regulate the congestion windowof TCP �ow and the research works on congestion control seemendless. �e congestion control for TCP bears such importance thatit guarantees the internet can work in normal status and avoidscongestion collapse happening again. Several algorithms have beenproposed by making minor changes to the basic AIMD control lawand to adapt it in some speci�c network environments [2][3].

As the development of the internet infrastructure, it is realizedthat these rate control algorithms based on AIMD do not performwell. �ese AIMD-like algorithms taking packet loss as link conges-tion indication tend to �ll the pipe. Especially in today�s internet,large bu�ers are con�gured in intermediate routers and the noto-rious bu�erbloat problem [4] is introduced. It is reported in [5],users experience delays of seconds to minutes in cellular network.

In recently, developing congestion control algorithms to achievehigh throughout while minimizing transmission delay at the same∗Produces the permission block, and copyright information

Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor pro�t or commercial advantage and that copies bear this notice and the full citationon the �rst page. Copyrights for components of this work owned by others than ACMmust be honored. Abstracting with credit is permi�ed. To copy otherwise, or republish,to post on servers or to redistribute to lists, requires prior speci�c permission and/or afee. Request permissions from [email protected]’17, Washington, DC, USA© 2016 ACM. 978-x-xxxx-xxxx-x/YY/MM. . .$15.00DOI: 10.1145/nnnnnnn.nnnnnnn

time becomes a new trend. BBR [5] is one typical example of suchkinds. Since its release by google in 2016, BBR has gain mucha�ention. Google �rst deployed BBR in its B4 wide area networkand YouTube. Several works [6–8] were published to analyze itsbehavior either in simulated links or in real network testbed.

It was concluded that BBR can signi�cantly improve throughputfor TCP connection from these experiments with di�erent sources.For such merit, BBR is widely applied to build VPN (virtual privatenetwork) service for rate acceleration purpose. BBR su�ers fromRTT unfairness issue (reported in [6][9]) and tends to overload thebo�leneck link when �ows coexisting, which causes considerablepackets loss in links with shallow bu�er.

�ere are some works Tsunami1, BBRPlus2, BBR+[10] to makesome modi�cation to these control parameters in BBR in order togain be�er performance or apply it to a di�erent network domain.Both Tsunami and BBRPlus have gain some a�ention. BBRPlus haswon 623 stars and 280 forks on github. Whether the two are appliedin real program are not clear. �ere are no public available reportto analyze their performance too. In May 2019, google has releasedBBR v2 in QUIC 3 codebase with a goal to be�er coexistence withReno and Cubic [11] �ows. And its implementation in Linux netstack can be got at 4.

In this article, a framework is implemented and the performanceof BBR algorithm and its variants (Tsunami, BBRPlus, BBR+ andBBR v2) are evaluated on simulated network environment. Sincethe release of BBR v2 is recent event, it seems no other works doinga full evaluation on its performance.

�e transmission protocol implemented in simulation is a sim-pli�ed version of QUIC protocol and only three frames (STREAM,STOPWAITTING and ACK) are applied to build a reliable transmis-sion protocol on top UDP. �e framework is about 10000 lines c++codes and it can be available at 5. �e collected data trace duringsimulation is about 1Gbps a�er compression and is public availableat 6

�e rest of this paper is organized as follows. �e backgroundand related works on congestion control are briefed in Section 2.�e detail on these algorithms are presented on Section 3. Section4 is the simulation results and evaluation. �e conclusion anddiscussion is made on Section 5.

2 RELATEDWORKIn October of 1986, the data rate from LBL to UC Berkeley droppedfrom 32kbps to 40bps, which was recorded as the �rst congestioncollapse event in internet [1]. A series mechanisms e.g. slow start,round trip time variance estimation and the AIMD control rule

1h�ps://github.com/dlxg/Linux-NetSpeed2h�ps://github.com/cx9208/bbrplus3h�ps://www.chromium.org/quic4h�ps://github.com/google/bbr/blob/v2alpha/net/ipv4/tcp bbr2.c5h�ps://github.com/SoonyangZhang/Drain�eueCongestion6h�ps://pan.baidu.com/s/170pReidrkW7TzTBar6wKBA: q9m2

arX

iv:1

909.

0367

3v1

[cs

.NI]

9 S

ep 2

019

Page 2: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

were introduced to achieve network stability. �ese ideas are im-plemented in TCP Reno and it remained as the default congestioncontrol algorithms in FreeBSD and Linux . �e transport connec-tion should obey the packet conservation principle when networksystem in stability: a new packet can be injected into the networkonly when an old packet leaves.

In Reno, the packet loss event is interpreted as network con-gestion signal. On every RTT, Reno sender could inject one morepacket into network to probe more available bandwidth and multi-plicatively reduces congestion window size by half when packetloss happens to recover the network back to normal status. Its ad-justment on congestion window (w) can be summarized as Equation(1). For Reno, α = 1 and β = 0.5.

w(t + 1) ={w(t) + α

w (t ) , when ack is receivedβw(t), when packet loss is detected

(1)

Based on the �uid model [12], a di�erential equation on the rateadjustment process of a AIMD �ow can be deduced as Equation2. p is packet loss rate. Let Ûx = 0, the throughout at equilibriumis x = 1

RTT

√1−pp , which is usually used as rate control on these

�ows to be friendly to AIMD �ow.

Ûx = 1 − pRTT 2 −

x2p2 (2)

�e reason to choose AIMD as congestion window control is itcan guarantee bandwidth allocation fairness [13] with a decentral-ized solution. Kelly [14] modeled the congestion control algorithmas optimization problem by introducing utilization function. �egoal is to maximum the service satisfactory to each user under theconstraint of the capacity (cl ) of bo�leneck link. xs denotes thesending rate of user s ,U (xs ) measures the satisfaction or welfareof user s .

max∑sU (xs )

s.t.∑

s ∈S (l )xs ≤ cl

(3)

To �nd the optimal solution in a global view is impractical inconsideration of larger scale and heterogeneity of real networks. Ashowdown price in introduced to decompose the primal probleminto its dual form as shown. A decentralized solution is shown inEquation (4). pl can be interpreted as price per unit bandwidth atlink l . Such rate iteration is a mathematical expression to AIMDcontrol law. �e rate adjustment in Equation (4) is to convergeto the optimal value by iteration. For the �rst time, the �ow ratecontrol problem is backup by mathematical theory. �e utility max-imization theory is applied for stability analysis in new designedrate control algorithms and is further developed in [15].

Ûxs (t) = λ(ws − xs (t)∑

l ∈L(s)pl ) (4)

In high speed network, once a packet loss happens, the classicAIMD algorithm will take quite long time to recover back to thecongestion window before the multiplicative reduction action andhas a low utilization of bandwidth resource. Several algorithmse.g. STCP[16], HSTCP[17], BIC[18], Cubic[11] have been proposedto remedy such problem. �e congestion window increase and

decrease behavior is modi�ed to adapt for high speed network inthese solutions. STCP andHSTCP introduce several RTT unfairness,with which the �ow with short RTT obtain more bandwidth. InBIC, the congestion control is viewed as a binary search problem toenable aggressive bandwidth probe. �e congestion window growsto the middle point of wmin and wmax . wmax is the congestionwindow before the last fast recovery and wmax is the windowvalue a�er the fast recovery. When the packet loss is detected, themiddle point is assigned towmax , and it is taken as the new valueof wmin otherwise. Cubic is an update version of BIC. A cubicfunction is introduced for window adjustment. It can be solve theRTT unfairness issue since its congestion window increase is onlydepended on the time between two consecutive congestion events.�e Cubic algorithm achieves be�er performance than AIMD, andit has been the default con�guration in Linux net stack until now.

�ere are algorithms taking delay as congestion signal. �edelay based algorithms can prevent queue from building up, makehighly use of channel resource and maintain throughput stability.Once the delay has exceeded of some threshold, the congestionwindow will be reduced to alleviate congestion. Vegas [19] andFast [20] are belonging to such kind. Even Vegas can achieve quitelow queue occupation, it get starvation when sharing links withloss based algorithms. For such reason, it is not widely applied inreal network. �ere are other protocols TCP-LP [21] and LEDBAT[22] following the working mechanism of AIMD and taking delayas congestion signal. �ese two take themselves junior to TCP�ows and actively yield bandwidth to when sharing links with highpriority TCP �ows.

Some other algorithms take both delay and packet loss to indicatelink congestion. Veno [23] takes backlog queue delay to di�erentialrandom loss and congestion loss to improve TCP throughput perfor-mance in wireless network. In Illinois [24], the window adjustmentparameters α and β are dynamically changed with delay. Whendelay signal is small, a large value of α is applied for fast conver-gence. Compound [25] is the rate control algorithm in Windowsoperating systems. �e congestion widow is increased fast whenbandwidth resource is available.

A�empts are made to the coexistence of delay based congestioncontrol with delay base congestion control. When facing packetloss, CHD [26] will back o� the congestion windowwith probability.When the backlog queue delay is aboveqth , the possibility to reducecongestion window decreases in CHD to gain be�er competivenesswith bu�ering �lling �ows. CDG [27] used delay gradient to inferlink bu�er in full, empty, rising, and falling status. CDG has theability to tolerate non-congestion related loss and only backs o�for congestion related packet loss.

Given the delay problem introduced by loss based algorithms,to design congestion control with high throughput and low delaybecomes trend. Serval works e.g. Sprout [28], PCC [29], BBR [5]and Copa [30] were designed with such porpose.

Sprout, Verus [31], ExLL [32] and C2TCP [33] are mainly de-signed for cellular network. Legacy algorithms have degenerate per-formance in links with highly variable capacities and non-congestedpacket loss. DCTCP [34] and Timely [35] are proposed to achievelow message delivery delay and high throughout for datacenternetworks. Some works e.g. Remy [36], QTCP [37] and TCP-Drinc[38] apply reinforce learning in rate control. �ey are evaluated

2

Page 3: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

Optimal point

RTT_min

RT

TR

AT

E

BtlBW

Loss based

operating point

A

B

bandwidth

limitedapp limited

buffer

limited

Figure 1: Congestion control operating point, based on [5]

in simulated paltform, whether such methods can be applied innetwork stack need further investigation.

As the popular of real time communication applications, deploy-ing rate control algorithms on multimedia tra�c is a necessary toavoid congestion and to promote fair bandwidth allocation. GCC[39], NADA [40], and SCReAM [41] are optimized for interactivemultimedia transmission. GCC is the default rate control algorithmin WebRTC 7 project, which enables video communication amongbrowsers.

3 ALGORITHM DETAILLoss based algorithms were designed to avoid congestion, but itinevitably leads the network into overuse. �e capacity of a bo�le-neck link is denoted as BtlBW . When only one �ow is presence inthis link and it packet sending rate is less than BtlBW , the packetround trip delay is the minimum RTTmin as shown in Figure 1.But the �ow with loss based rate control will keep increase its ratewhen no packet loss happens. �e rate �nally exceeds BtlBW andthese extra sent packets will be bu�ered at routers. �e packets canbe received with the full rate BtlBW at the cost of increased delay.�e points on le� edge of the bandwidth limited region achievethe same throughout but lower delay compared with loss basedoperating point. �e optimal point in congestion control is nameda�er Kleinrock [42], maximizing throughput while minimizing de-lay and loss. However, the Kleinrock�s point can not be reachedwith distributed algorithm, proved in [43]. BBR is proposed to getclose to the optimal point.

3.1 BBRIn BBR, the bandwidth can be estimated on each received acknowl-edge packet. When a new packet is sent out, the packet state infor-mation (total byte acked, last acked packet ack time) is recorded.total byte acked counts for the bytes that successfully received byits peer. last acked packet ack time is the received time of lastacknowledgement packet. When a sent packet is acknowledged7h�ps://webrtc.org/

at now , a new bandwidth estimation sample can be calculated asEquation (6). �e BW of the channel is the maximum bw es within10 RTTs. And the minimal r� RTTmin is monitored during thewhole phase.

last acked packet ack time = now

total byte acked+ = sent packet .bytes

∆t = now − sent packet .last acked packet ack time

∆delivered = total byte acked

− sent packet .total byte acked

(5)

bw es =∆delivered

∆t(6)

�ere are four control states StartUp, Drain, ProbeBW, andProbeRTT in BBR as shown in Figure 2. In each control state,the packet sending rate (pacinд rate) is the product of pacinд дainand BW .

�e states StartUp and Drain are applied at session initial phasein BBR. �e startup state is quite similar to slow start in TCP. InStartUp, pacinд дain is 2

ln2 to double the in�ight packets at eachRTT to let sender probes the maximum available bandwidth. Whennewly estimated bandwidth is 1.25 times less than the previousvalue and such circumstance lasts for 3 times, the pipe seems tobe get fully �led and the state is changed into Drain state. �epacinд дain in Drain is ln2

2 to decrease the sending rate belowbw . Until the in�ight packets match BDP (BW ∗ RTT min), state ischanged from Drain to ProbeBW.

During ProbeBW state, �e pacinд дain cycles in 8 RTTs withdi�erent values (kPacinдGain[] = [1.25, 0.75, 1, 1, 1, 1, 1, 1]). �eprobe up phase with 1.25 gain is to increase the sending rate toprobe more available bandwidth, and probe down phase with 0.75gain is to get rid of the excess queue which may be accumulated inthe probe up phase.

�e cwnd is set as 2 ∗ BDP in ProbeBW to guarantee enoughpackets can be sent during probe up phase. If cwnd is set exactlyequal with BDP , the acknowledgement clocking is a�ected by dis-turbance in real network, new packets can not be sent out duringprobe up once the cwnd is exhausted and a small estimated band-width is got. If RTTmin is not sampled again within 10 seconds,the link is deemed falling into congestion, and ProbeRTT state idapplied. �e cwnd is set as 4*MSS. Until the in�ight packets sizeis less than 4*MSS, new packets are injected into the network andProbeRTT will last at most 200 milliseconds. In ProbeRTT, thein�ight packets are nearly totally drained from links and a newRTTmin value is sampled.

�ere are two di�erent versions to update the pacinд дain fromprobe down phase to probe cruise phase in ProbeBW. �e �rst isto increase the cycle o�set when the prove down phase holds foressentially 1 RTTmin . �e second is to increase cycle o�set onlywhen the in�ight packets Less than or equal to the target BDPto achieve lower queue delay than the �rst form. Most publishedworks only analyse the performance of BBR in the �rst form. Inlater part, both versions will be evaluated. For convenience, thesecond form is named as BBR’.

3

Page 4: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

1.25

0.75 1

1

1

11

1

ProbeBW

StartUp

ProbeBW

ProbeRTTDrain

2/ln2 ln2/2

Figure 2: Control states in BBR

3.2 BBRPlusBBRPlus was �rst introduced in a blog 8. In the origin versionof BBR, the duration of probe down lasting 1 RTTmin introducesconsiderable latency. When the network system changes a lot, the�xed probe cycle length may not adapt well. �e probe cycle lengthis randomized from 2 to 8 (line 4 in Algorithm 1) in BBRPlus. �eprobe down phase exists only when the in�ight packets matchthe estimated BDP (line 11-12 in Algorithm 1). Such change isto improve fairness and reduce packet loss when multiple �owssharing a bo�leneck.

�e procedure to update pacinд дain in BBRPlus is shown in Al-gorithm 1. kGainCycleLen is 8 and CYCLE RAND equals 7. Whenthere is packet loss event, the probe up phase exists earlier (line 14in Algorithm 1).

Algorithm 1 UpdateGainCyclePhaseInput:

the timestamp (now), in f liдht , has loss1: elapsed ← now − cycle mstamp2: if elapsed > cycle len ∗ RTTmin then3: cycle mstamp ← now4: cycle len ← kGainCycleLen − rand()%CYCLE RAND5: pacinд дain ← 1.256: return7: end if8: if pacinд дain == 1.0 then9: return10: end if11: if pacinд дain < 1.0andin f liдht ≤ BDP then12: pacinд дain ← 1.013: end if14: if elapsed > RTTminand(in f liдht > 1.25 ∗ BDPorhas loss)

then15: pacinд дain ← 0.7516: end if

3.3 BBR+ and Tsunami�e performance of Cubic and BBR is tested over LTE on highspeed rail (HSR) in [10]. �e authors concluded that BBR achievessuboptimal performance in networking environment where bothbandwidth and RTT change rapidly. �e bandwidth probe strategyand RTT estimation do not adapt well to the network dynamicsin HSR situation. �e sequence to update pacinд дain is set to be8h�ps://blog.csdn.net/dog250/article/details/80629551

Infl

ight

Time

Inflight_hi

Inflight_lo

probe_cruise

probe_down

probe_refill

probe_up

Figure 3: BBR v2 �ow life cycle, from [44]

more radically as [1.5, 0.5, 1.5, 0.5, 1.5, 0.5, 1.5, 0.5] in BBR+. �econstant RTTmin is too conservative over the last 10 seconds inBBR, and a compensation is added according to Equation (7) inHSR environment. λ2 is the shape parameter of gamma distribu-tion. �ey observed the traced RTT values approximately follow ashi�ed gamma distribution with a fat tail. In our simulation, thecompensation part on the RTTmin is not implemented.

RTprop = RTTmin + λ√Var (RTT ) (7)

From the perspective of egoism, Tsunami applies the sequence[1.5, 0.75, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25] for gain value updateduring ProbeBW state in order to gain higher throughput. It gains264 stars and 136 forks on github. As its name claims, when thereis extra bandwidth resource available, Tsunami may quick occupyit. If when the capacity of the bo�leneck is fully occupied, Tsunamiwill cause quite high packet loss rate. Such rate adjustment behavioris harmful to other �ows without bene�ting itself.

3.4 BBR v2BBR �ow will send packets at the full estimated bandwidth andpacket loss is not exploited to indicate link congestion. If the queuelength at the bo�leneck is smaller than 1.5 ∗ BDP [44], multipleBBR �ows will cause high packet loss. Reno/CUBIC �ows gain lowthroughput when share bo�leneck with BBR �ows. BBR v2 [44] isproposed to solve these issues in BBR v1. BBR v2 is claimed that itcan make be�er coexistence with Reno/CUBIC �ows and achieveslow queue delay.

BBR v2 takes packet loss into its control logic. �e life cycleof BBR v2 �ow is shown in Figure 3. When the estimated band-width dost not exceed the target for 3 times, the sender assumesreaching the full bandwidth in BBR v1. Besides that, condition onpacket loss is added to exist from StartUp to Drain: the numberof loss packet in a round exceeds 8 and packet loss rate exceedsloss threshold (0.02). Such condition is applied to avoid excessivepacket loss. If the condition on packet loss holds true, the calculatedBDP is assigned to in f liдht hi . When a new acknowledge packetarrives, in f liдht lo is updated as Equation (8). Here, ∆delivered is

4

Page 5: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

calculated in the same way in Equation (5) and kBeta is 0.3.

in f liдht = ∆delivered

inf liдht lo = max(in f liдht , in f liдht lo ∗ (1 − kBeta)) (8)

In ProbeBW state, the working mechanism of BBR v2 is quite dif-ferent fromBBR v1. �e phases (probe up, probe down, probe cruise)switching is no longer depended on the time interval RTTmin .cwnd is also not set as 2 ∗ BDP and is related with in f liдht loand in f liдht hi . in f liдht hi is updated if the in�ight packets aretoo high (in�ight too high), in which the loss packet rate exceedsloss threshold in last round. In the probe down phase, thepacinд дainis 0.75, the phasewill be switched to probe cruise if the in�ight pack-ets are drained toBDP or the condition in f liдht too hiдh holds true.�e cwnd in probe cruise is calculated by Equation (9). kHeadRoomis 0.15. in f liдht hi indicates the channel is in dangerous area. Toleave headroom to cwnd is to alleviate link congestion to someextent. �e interval for probe cruise is randomized from 2 sec-onds to 3 seconds. If duration in probe cruise phase exceeds theinterval , a probe re�ll phase is applied as shown in Figure 3. cwndis set as in f liдht hi to increase the in�ight packets in a round. �eprobe re�ll is to make preparation for probe up.

in f liдht headroom = in f liдht hi ∗ (1 − kHeadRoom)cwnd = min(in f liдht lo, in f liдht headroom) (9)

In probe up phase, cwnd is increases exponentially per round:1,2 ,4, 8�. It makes a fast probe to if extra bandwidth available. Oncelost bytes are too much, probe down phase is applied to get rid ofexcess queue, as the red ring shows in Figure 3. Algorithm 2 is toexponentially increase in f liдht hi per round. In ProbeRTT, cwndis reduced by half in v2 to remedy the throughput variation.

Algorithm 2 ProbeIn�ightHighUpwardInput:

bytes acked, is round end1: probe up acked+ = bytes acked2: if probe up acked ≥ probe up bytes then3: delta = b probe up acked

probe up bytes c4: probe up acked− = delta ∗ probe up bytes5: in f liдht hi ← in f liдht hi + delta ∗MSS6: end if7: if is round end then8: дrowth ← 1 << probe up rounds9: probe up rounds ← min(30,probe up rounds + 1)10: probe up bytes ← b cwnd

дrowth c11: probe up bytes ← max(MSS,probe up bytes)12: end if

4 EVALUATION�ese algorithms are evaluated on ns3.26 9 platform. A dumbbelltopology as shown in Figure 4 is built.

9h�ps://www.nsnam.org/

n0 n4

n1 n5

n2 n3

l1

l2

l3

l4 l5

Figure 4: Network topology

Table 1: the con�guration of l2

Case Bandwidth Propagation delay �eue length1 5Mbps 50ms 5Mbps*100ms2 5Mbps 50ms 5Mbps*150ms3 5Mbps 50ms 5Mbps*200ms4 6Mbps 50ms 6Mbps*100ms5 6Mbps 50ms 6Mbps*150ms6 7Mbps 50ms 7Mbps*150ms7 7Mbps 100ms 7Mbps*300ms8 8Mbps 100ms 8Mbps*200ms9 8Mbps 100ms 8Mbps*300ms10 10Mbps 50ms 10Mbps*150ms11 10Mbps 50ms 10Mbps*200ms

4.1 Intra protocol fairnessTo test whether this algorithms can guarantee bandwidth allocationproperty, four �ows are created from source n2 to destination n3.�ese parameters in Table 1 to con�gure link l2 are bandwidth (inunit of Mbps), one way propagation delay (in unit of milliseconds)and queue length in nodes. �ere are total 11 experiments. In eachrunning case, these �ows follow a same rate control algorithm.Each simulation process lasts about 400 seconds. �e time points tosend packets into the network of the four �ows are di�erent. �e�rst �ow starts at 0 and ends at 400s, the life length of the second�ow is 40s to 400s, the third �ow is 80s to 200s and the fourth �ow is120s to 300s. At the sender side, when a new packet can be sent out,the rate of the congestion controller is traced. �e packet sent timeis tagged into ns packet object for receiver to computer one waytransmission delay. �e one way transmission delay is an indicatorto the occupied bu�er status in routers. Besides one way delay, atreceived side, the length of received packet is also recorded.

�e average transmission delay of all �ows in each experimentis calculated and the results are shown in Figure 5. �e results onaverage packet loss rate is shown in Figure 6. Two other bu�er�lling algorithms Reno and Cubic are also tested.

Due to the limitation of space, only two cases work as examplefor further analysis. �e link bu�er is con�gured as 1∗BDP in Case1 and 2 ∗ BDP in Case 3. In shallow bu�er case, the four BBR �owsare not reach the bandwidth fairness line as shown in Figure 7(a).With BBR �ows presence, there is considerable packet loss rate(about 9%) in Case 1 as shown in Figure 6. Such high packet lossrate will impact the bandwidth estimation at sender side. In case 3,the bandwidth allocation fairness is achieved. But when a new �ow

5

Page 6: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

50

100

150

200

250

300

350

400

450

500

1 2 3 4 5 6 7 8 9 10 11

avera

ge o

ne w

ay d

ela

y/m

s

index

BBRBBR'

BBRPlusBBR+

TsunamiBBRv2

RenoCubic

Figure 5: Average one way transmission delay

-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

1 2 3 4 5 6 7 8 9 10

pack

et

loss

rate

index

BBRBBR'

BBRPlusBBR+

TsunamiBBRv2

RenoCubic

Figure 6: Average packet loss rate

is initialized, it tends to make over estimation on the bandwidthduring the StartUp state, as the steep spike shown in Figure 7(b)in �ow2 and �ow3. Such rate spikes will lead the network intocongestion and introduce packet loss. It is the reason for higherpacket loss rate (1%) for Case 3 with longer link bu�er comparedwith Case 2, in which the average packet loss rate is 0.7%.

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(a) C1

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(b) C3

Figure 7: Rate dynamics of BBR �ows

BBR� will drain the in�ight packets to match the estimated BDPin probe down phase. It can achieve the lowest queue delay asshown in Figure 5 in all tested algorithms, and lower packet lossrate compared with BBR. It also achieve be�er bandwidth allocationfairness than BBR in shallow bu�er case as shown in Figure 8(a).But it introduces rate variation. �e rate of BBR� �ow is not quitestable as BBR �ow, as shown in Figure 8(b) and 7(b).

BBRPlus can achieve the second low average transmission delay.�e average packet loss rate is also quite low. At each stage, the

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(a) C1

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(b) C3

Figure 8: Rate dynamics of BBR’ �ows

throughputs of each �ow are quite close. �ere are some smallspikes during the rate adjustment process as shown in Figure 9.

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(a) C1

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(b) C3

Figure 9: Rate dynamics of BBRPlus �ows

Both Tsunami and BBR+ su�er from the bandwidth allocationfairness in links with shallow bu�er. �e way of Tsunami to adjustrate will get the bu�er fully occupied. Tsunami �ows have thehighest packet loss rate and the average transmission delay is quitehigh. �e rate High rate variation can be observed of BBR+ �owsin Figure 11(b).

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(a) C1

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(b) C3

Figure 10: Rate dynamics of Tsunami �ows

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(a) C1

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(b) C3

Figure 11: Rate dynamics of BBR+ �ows

6

Page 7: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

BBR v2 �ows can maintain well bandwidth allocation fairness.�e rate adjustment is quite frequency in BBR v2. �at is the resultof the balance between probing more bandwidth and avoiding linkcongestion. �e lower queue delay in some test cases is lower thanBBR but is still higher than BBR� in all test cases.

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(a) C1

0

1000

2000

3000

4000

5000

0 50 100 150 200 250 300 350 400

rate

/kb

ps

time/s

flow1flow2flow3flow4

(b) C3

Figure 12: Rate dynamics of BBR v2 �ows

4.2 RTT unfairnessAs indicated in several reports, BBR �ows traversing the bo�lenecklink with same RTT converge to a fair share bandwidth line withintheir group, but these �ows with longer RTT can achieve higherthroughput, contrary to the classic Reno algorithm. Reno algorithmfavors towards shorter RTT �ows. �e Reno �ows with shorterRTT can get acknowledge packet more quickly and the congestionwindow can be increased faster in these �ows. Such RTT unfairnessproperty in BBR can be easily manipulated by malicious receiverfor data transmission acceleration by delaying the acknowledgepackets.

�e dumbbell topology is applied to reproduce the RTT unfair-ness phenomenon of BBR algorithm. �e bo�leneck link is l2. �ecapacities of l1, l3, l4, l5 are 100 Mbps. �e propagation delay val-ues for l1, l3 are 10 milliseconds. 20 milliseconds is con�gured forl4, l5. Nine experiments cases are tested. �e parameters to con-�gure l2 are in each case given in Table 2. Two �ows are applied.f low1starts fromn0 to destinationn4 (path1) and f low2 starts fromn1 to destination n5 (path2). �e max round trip propagation delayof path1 and path2 is denoted as RPTmax . Qdelay is 1.5 ∗ RPTmax .In other word, the bu�er length of bo�leneck link is 1.5 ∗BDP . �ebu�er length of Other links is BW ∗Qdelay.

�e running time of each simulation lasts 200 seconds. Both �owsare running in the whole simulation time. �e average throughoutis calculated as Equation (10). bytes is the length of all receivedpackets. �e jain�s fairness index [45] is exploited to indicate howfair the bandwidth is shared when �ows competing for bandwidthresource. �e way to compute the jain�s fairness index is shownin (11). �e closer Jain’s fairness index is to 1, the be�er in termsof bandwidth allocation fairness.

In this part, only two �ows are involved in each case. As wefound in some case, Jain’s fairness index may not work well tore�ect the throughput variance and the throughput ratio of the two�ow is computed as Equation (12). �e �nal results are shown inTable 3. x1 and x2 are the average throughput (in unit of kbps) off low1 and f low2 in respectively.

x =bytes

duration(10)

Table 2: the con�guration of l2 to test RTT unfairness

Case Bandwidth Propagation delay Q(bw*Qdelay)1 4Mbps 10ms 4Mbps*150ms2 4Mbps 20ms 4Mbps*180ms3 4Mbps 30ms 4Mbps*210ms4 6Mbps 10ms 6Mbps*150ms5 6Mbps 20ms 6Mbps*180ms6 6Mbps 30ms 6Mbps*210ms7 8Mbps 10ms 8Mbps*150ms8 8Mbps 20ms 8Mbps*180ms9 8Mbps 30ms 8Mbps*210ms

J =(∑n

i xi )2

n ∗ (∑ni x

2i )

(11)

r =xmaxxmin

(12)

Some conclusions can bemade based on Table 3. BBR f low2 withlonger RTT acquires more than four times the throughput of f low1in Case7. As the RTT ratio gets smaller in di�erent cases, the ratesof two �ows are get closer and the jain�s fairness is also increase.�e reason for RTT unfairness is related to bu�er occupation inintermediate routers. �e �ow with large RTT will send morepackets out when the bo�leneck is already in congestion. It willget larger bandwidth estimation than the �ow with shorter RTT�ow.

In BBR� and BBRPlus cases, the throughput ratios are not solarge as in BBR cases. �e RTT unfairness issue has been signi�-cantly improved. Both algorithms will drain the in�ight packet tomatch the estimated BDP in the probe down phase and lower queuedelay can be achieved as shown in Figure 5. �e action to drainto the target will give other �ows an opportunity to probe moreavailable bandwidth. �at�s the reason behind such improvement.

�e RTT unfairness is not so severe in BBR v2 test cases as BBR.�e results on Reno verify the conclusion that the �ow with shorterRTT can gain higher throughout.

4.3 Channel utilization�e channel utilization of these congestion control algorithms istested in links with random loss. �e con�guration of the point topoint channel (n2 to n3) remains unchanged as in Table 1. Only �vecases (C2, C5, C7, C9, C10) are involved and the con�gured bu�erlength of the bo�leneck is 1.5 ∗ BDP . In each case, the randompacket loss rates are 1%, 3% and 5%. �e four �ows are running inthe whole simulation process.

�e channel utilization of all �ows is calculates as Equation (13).bytesi is the length of all received packets at application layer of�ow i . cap is the bandwidth of the bo�leneck link and duration isthe simulation running time. �e �nal results are given in Table 4.

When no random packet loss is existence, these algorithmsachieve channel bandwidth utilization above 90%. BBR v2 canachieve channel utilization about 97%, similar to the two bu�er�lling algorithms Reno and Cubic. �e link utilization of the threealgorithms (BBR, BBR� and BBRPlus) is less a�ected by random

7

Page 8: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

Table 3: �e calculated results in RTT unfairness simulation

algo 1 2 3 4 5 6 7 8 9(x1, x2, jain’s fairness index, r)

BBR 840, 2970, 0.76, 3.53 1029, 2767, 0.83, 2.69 1177, 2606, 0.88, 2.21 1154, 4543, 0.74, 3.94 1511, 4166, 0.82, 2.76 1703, 3947, 0.86, 2.32 1421, 6164, 0.72, 4.34 1944, 5611, 0.81, 2.89 2259, 5269, 0.86, 2.33BBR’ 1668, 2159, 0.98, 1.29 1712, 2098, 0.99, 1.23 1800, 2001, 1.0, 1.11 2498, 3221, 0.98, 1.29 2508, 3168, 0.99, 1.26 2729, 2964, 1.0, 1.09 3329, 4273, 0.98, 1.28 3344, 4216, 0.99, 1.26 3517, 4055, 0.99, 1.15

BBRPlus 1713, 2105, 0.99, 1.23 1785, 2017, 1.0, 1.13 1774, 2021, 1.0, 1.14 2594, 3126, 0.99, 1.21 2580, 3098, 0.99, 1.2 2656, 3024, 1.0, 1.14 3381, 4223, 0.99, 1.25 3394, 4164, 0.99, 1.23 3389, 4182, 0.99, 1.23Tsunami 902, 2914, 0.78, 3.23 1103, 2706, 0.85, 2.45 1336, 2462, 0.92, 1.84 1226, 4486, 0.75, 3.66 1621, 4080, 0.84, 2.52 1792, 3873, 0.88, 2.16 1418, 6182, 0.72, 4.36 1977, 5601, 0.81, 2.83 2360, 5181, 0.88, 2.19BBR+ 1345, 2481, 0.92, 1.84 1500, 2305, 0.96, 1.54 1682, 2116, 0.99, 1.26 2073, 3653, 0.93, 1.76 2235, 3436, 0.96, 1.54 2495, 3181, 0.99, 1.27 2543, 5054, 0.9, 1.99 2999, 4556, 0.96, 1.52 3334, 4225, 0.99, 1.27BBRv2 1695, 2182, 0.98, 1.29 1663, 2212, 0.98, 1.33 2025, 1850, 1.0, 1.09 2474, 3343, 0.98, 1.35 2337, 3469, 0.96, 1.48 3338, 2473, 0.98, 1.35 3649, 4102, 1.0, 1.12 4134, 3602, 1.0, 1.15 4465, 3279, 0.98, 1.36Cubic 1716, 2166, 0.99, 1.26 1625, 2257, 0.97, 1.39 2429, 1452, 0.94, 1.67 2845, 2978, 1.0, 1.05 3239, 2583, 0.99, 1.25 3501, 2320, 0.96, 1.51 3501, 4263, 0.99, 1.22 3524, 4239, 0.99, 1.2 4824, 2936, 0.94, 1.64Reno 2237, 1645, 0.98, 1.36 2062, 1820, 1.0, 1.13 2239, 1642, 0.98, 1.36 3406, 2417, 0.97, 1.41 3393, 2429, 0.97, 1.4 3370, 2451, 0.98, 1.37 4219, 3546, 0.99, 1.19 4154, 3608, 1.0, 1.15 4331, 3429, 0.99, 1.26

Table 4: channel utilization with random loss

algo rand loss(%) C2 C5 C7 C9 C10

BBR

0 0.95 0.95 0.94 0.94 0.951 0.95 0.94 0.93 0.92 0.943 0.92 0.92 0.91 0.90 0.925 0.91 0.90 0.89 0.89 0.90

BBR’

0 0.95 0.95 0.94 0.94 0.951 0.94 0.94 0.93 0.93 0.943 0.92 0.92 0.91 0.91 0.925 0.90 0.90 0.89 0.89 0.90

BBRPlus

0 0.95 0.95 0.95 0.94 0.951 0.94 0.94 0.93 0.92 0.943 0.92 0.92 0.91 0.90 0.925 0.90 0.90 0.89 0.88 0.90

BBR v2

0 0.97 0.97 0.97 0.97 0.971 0.96 0.96 0.95 0.96 0.963 0.94 0.93 0.87 0.84 0.925 0.91 0.91 0.62 0.51 0.81

Cubic

0 0.97 0.97 0.96 0.96 0.971 0.96 0.96 0.70 0.62 0.923 0.93 0.86 0.38 0.33 0.535 0.76 0.64 0.28 0.25 0.40

Reno

0 0.97 0.97 0.96 0.96 0.971 0.96 0.96 0.85 0.75 0.963 0.94 0.92 0.46 0.40 0.645 0.87 0.78 0.34 0.30 0.48

packet loss. With 5% random packet loss rate, the channel utiliza-tion of BBR v2 �ows is quite low in C7 and C9.

util =

∑i bytesi

cap ∗ duration (13)

4.4 ResponsivenessIn cellular access network or wireless network, channel throughputcan present drastic change in a short time span due to noise inter-ference and fading. �e performance of BBR is tested in cellularnetwork in [46]. Here, the point to point link n2 to n3 is used to testwhether these algorithm can make fast response to link bandwidthchange. �e link capacity is changed every 50 seconds from 1Mbpsto 4Mbps to simulate link throughout change. �e propagationdelay is 50 milliseconds. Two �ows are involved and the simulationprocess lasts 400 second.

Table 5: �e statistical results of the responsive experiments

loss owd utilityBBR 0.001 170.21 0.95BBR’ 0.001 117.35 0.95

BBRPlus 0.001 139.15 0.95Tsunami 0.003 182.37 0.95BBR+ 0.005 186.19 0.95BBrv2 0.006 224.58 0.97Cubic 0.009 272.23 0.97Reno 0.020 257.26 0.97

Table 6: the con�guration of l2 to test inter protocol fairness

Case Bandwidth Propagation delay �eue length1 4Mbps 50ms 4Mbps*100ms2 4Mbps 50ms 4Mbps*150ms3 4Mbps 50ms 4Mbps*200ms4 6Mbps 50ms 6Mbps*100ms5 6Mbps 50ms 6Mbps*150ms6 6Mbps 50ms 6Mbps*200ms7 8Mbps 50ms 8Mbps*150ms8 10Mbps 50ms 10Mbps*150ms9 12Mbps 50ms 12Mbps*150ms

Table 7: Results of Jain’s fairness index and ratio

1 2 3 4 5 6 7 8 9(Jain’s fairness index, ratio)

BBR 0.55, 13.61 0.95, 1.7 1.0, 1.09 0.5, 17.08 0.97, 1.52 0.98, 1.42 0.96, 1.63 0.97, 1.53 0.97, 1.59BBR’ 0.93, 1.94 0.97, 1.68 0.99, 1.31 0.99, 1.38 0.98, 1.48 0.97, 1.57 0.96, 1.73 0.95, 1.86 0.95, 1.81

BBRPlus 0.98, 1.48 0.98, 1.4 1.0, 1.13 0.99, 1.22 1.0, 1.17 0.99, 1.28 0.99, 1.28 0.98, 1.51 0.98, 1.35BBR+ 0.65, 5.87 0.81, 3.0 0.95, 1.69 0.54, 7.93 0.92, 1.97 0.97, 1.58 0.86, 2.46 0.96, 1.6 0.92, 2.0

Tsunami 0.4, 26.08 0.91, 2.04 0.74, 4.03 0.38, 34.44 0.91, 2.13 0.74, 3.67 0.86, 2.62 0.86, 2.56 0.95, 1.76BBRv2 0.96, 1.65 0.98, 1.46 0.99, 1.35 0.99, 1.31 0.97, 1.44 1.0, 1.13 1.0, 1.13 0.97, 1.61 0.95, 1.73

�e rate adjustment process of each �ow is shown in Figure 13.All these algorithms can adapt well the throughput of the �ow asthe link rate changes. �e average packet loss rate, average packettransmission delay and channel utilization are calculated in Table5. Since the bu�er length is con�gured as 1.5 ∗ 4Mbps ∗ 100ms , theloss rate of �ows with BBR like algorithms is quite small (below 1%).�e packet transmission delay values are higher in Tsunami, BBR+and BBRv2. BBR� can achieve the lowest packet transmission delayand the second is BBRPlus.

8

Page 9: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

rate

/kbps

time/s

flow1flow2

(a) BBR

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

rate

/kbps

time/s

flow1flow2

(b) BBR’

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

rate

/kbps

time/s

flow1flow2

(c) BBRPlus

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

rate

/kbps

time/s

flow1flow2

(d) BBR+

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

rate

/kbps

time/s

flow1flow2

(e) Tsunami

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

rate

/kbps

time/s

flow1flow2

(f) BBRv2

Figure 13: Rate dynamic of �ows in link with variable capacity

0

1000

2000

3000

4000

5000

6000

0 50 100 150 200

rate

/kbps

time/s

flow1flow2flow3flow4

(a) BBR vs Cubic

0

1000

2000

3000

4000

5000

6000

0 50 100 150 200

rate

/kbps

time/s

flow1flow2flow3flow4

(b) BBR’ vs Cubic

0

1000

2000

3000

4000

5000

6000

0 50 100 150 200

rate

/kbps

time/s

flow1flow2flow3flow4

(c) BBRPlus vs Cubic

0

1000

2000

3000

4000

5000

6000

0 50 100 150 200

rate

/kbps

time/s

flow1flow2flow3flow4

(d) BBR+ vs Cubic

0

1000

2000

3000

4000

5000

6000

0 50 100 150 200

rate

/kbps

time/s

flow1flow2flow3flow4

(e) Tsunami vs Cubic

0

1000

2000

3000

4000

5000

6000

0 50 100 150 200

rate

/kbps

time/s

flow1flow2flow3flow4

(f) BBRv2 vs Cubic

Figure 14: Rate dynamic of �ows with di�erent congestion control algorithms

4.5 Inter Protocol CompetitionIn real networks, a bo�leneck link is multiplexed by multiple �owsfollowing di�erent congestion control algorithm. And one of thegoals of BBR v2 is to make be�er coexistence with Cubic and Reno�ows. �e performance of these algorithms are evaluated when theCubic �ows are presence. Total nine experiments are designed andthe con�guration of l2 is shown in Table 6. �e simulation processlasts 200 seconds. In each case, the congestion control algorithmused by �ow3 and �ow4 is Cubic.

�e jain�s fairness and the throughout ratio between the �owwith the maximum rate and the �ow with the minimum rate are

calculated in Table 7. As example, the rate dynamic over time ofthe four �ows in Case 5 is plo�ed in Figure 14.

In Case1 and Case4, the bu�er length is equal to BDP . �ere arehigh packet loss rate when BBR, BBR+ and Tsunami are applied for�ow1 and �ow2 as congestion control algorithm. �e two Cubic�ows su�er great loss in throughout due to these packet loss event.Most of bandwidth is occupied by �ow1 and �ow2. �e jain�sfairness index is quite low and the throughput ratio is high in thistwo test cases. As the link bu�er increase (Case2, Case3, Case5and Case6), Cubic �ows can achieve higher throughput, but thethroughputs of �ow1 and �ow2 still dominate. �is conclusion gets

9

Page 10: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

support in Figure 14(a), Figure 14(d), Figure 14(e). �e rate of BBR�ows (Figure 14(a)), Tsunami �ows (Figure 14(e)) shows oscillationwhen competing bandwidth with Cubic �ows.

When BBRPlus �ows sharing bo�leneck link with Cubic �ows,the value of Jain�s fairness is quite close to 1, and the rates ofBBRPlus �ows and Cubic �ows are quite close in Case5 as shownin Figure 14(c). In Figure 14(f), the rates of BBRv2 �ows and Cubic�ows converge close to the fairness line. Both BBRPlus and BBRv2can be friendly to Cubic.

5 DISCUSSION AND CONCLUSIONWe evaluate the performance of BBR, BBR v2 and other algorithms(BBR�, BBRPlus, BBR+, Tsunami) modi�ed from BBR on ns3 plat-form. Bandwidth allocation fairness, packet loss rate, link queuebu�er occupation, RTT unfairness, channel utilization, rate respon-siveness in variable links and inter protocol fairness are evaluatedor measured in this article.

In link with shallow bu�er, the �ows taking BBR, BBR+ andTsunami as rate control can not converge the fairness bandwidthline and high packet loss rate is introduced. In the probe downdown, the in�ight packet will be drained to match the estimatedbandwidth delay product in BBR� and BBRPlus. �ese two canachieve lower transmission delay. BBR� and BBRPlus can main-tain well bandwidth fairness property even in shallow bu�er link.But the rates of BBR� �ows have larger range of variation com-pared with BBR. Tsunami �owwill send packet with aggressive ratehigher than its estimated bandwidth and introduces high transmis-sion delay and highest packet loss rate. Tsunami will lead severecongestion, and such egoistic implementation is not recommendedto applied in real networks.

As for the RTT unfairness issue, the results in BBR�, BBRPlusand BBR v2 show improvement when compared with BBR testcases. �e average packet transmission delay values in BBR v2�ows are lower than these delay values in Cubic/Reno �ows.

All tested algorithms can get high channel utilization Whenbo�leneck has no random packet loss. With 5% random loss rate,BBR v2 �ows can get low channel utilization in two test cases.

BBR v2 indeed achieve its goal to make be�er coexistence withCubic/Reno �ows. But its claim to achieve lower queue delay is notobvious when compared with BBR. �e inter protocol friendlinesscan also be achieved in BBRPlus to some extent.

BBRPlus is an good improvement to BBR and is highly recom-mended to be applied in this paper.

REFERENCES[1] V. Jacobson, Congestion avoidance and control, in: ACM SIGCOMM computer

communication review, Vol. 18, ACM, 1988, pp. 314–329.[2] J. Lin, L. Cui, Y. Zhang, F. P. Tso, Q. Guan, Extensive evaluation on the

performance and behaviour of tcp congestion control protocols under var-ied network scenarios, Computer Networks 163 (2019) 106872. doi:https://doi.org/10.1016/j.comnet.2019.106872.URL h�p://www.sciencedirect.com/science/article/pii/S1389128618311265

[3] B. Turkovic, F. A. Kuipers, S. Uhlig, Fi�y shades of congestion control: A perfor-mance and interactions evaluation, arXiv preprint arXiv:1903.03852.

[4] J. Ge�ys, K. Nichols, Bu�erbloat: Dark bu�ers in the internet,�eue 9 (11) (2011)1–15.

[5] N. Cardwell, Y. Cheng, C. S. Gunn, S. H. Yeganeh, V. Jacobson, Bbr: Congestion-based congestion control, �eue 14 (5) (2016) 50:20–50:53. doi:10.1145/3012426.3022184.

[6] M. Hock, R. Bless, M. Zi�erbart, Experimental evaluation of bbr congestioncontrol, in: 2017 IEEE 25th International Conference on Network Protocols

(ICNP), 2017, pp. 1–10. doi:10.1109/ICNP.2017.8117540.[7] D. Scholz, B. Jaeger, L. Schwaighofer, D. Raumer, F. Geyer, G. Carle, Towards a

deeper understanding of tcp bbr congestion control, in: 2018 IFIP NetworkingConference (IFIP Networking) and Workshops, 2018, pp. 1–9. doi:10.23919/IFIPNetworking.2018.8696830.

[8] V. Jain, V. Mi�al, M. P. Tahiliani, Design and implementation of tcp bbr in ns-3,in: Proceedings of the 10th Workshop on Ns-3, WNS3 ’18, ACM, New York, NY,USA, 2018, pp. 16–22. doi:10.1145/3199902.3199911.

[9] S. Ma, J. Jiang, W. Wang, B. Li, Fairness of congestion-based congestion control:Experimental evaluation and analysis, arXiv preprint arXiv:1706.09115.

[10] J. Wang, Y. Zheng, Y. Ni, C. Xu, F. Qian, W. Li, W. Jiang, Y. Cheng, Z. Cheng, Y. Li,X. Xie, Y. Sun, Z.Wang, An active-passive measurement study of tcp performanceover lte on high-speed rails, in: �e 25th Annual International Conference onMobile Computing and Networking, MobiCom ’19, ACM, New York, NY, USA,2019, pp. 18:1–18:16. doi:10.1145/3300061.3300123.URL h�p://doi.acm.org/10.1145/3300061.3300123

[11] S. Ha, I. Rhee, L. Xu, Cubic: a new tcp-friendly high-speed tcp variant, ACMSIGOPS operating systems review 42 (5) (2008) 64–74.

[12] V. Misra, W.-B. Gong, D. Towsley, Fluid-based analysis of a network of aqmrouters supporting tcp �ows with an application to red, SIGCOMM Comput.Commun. Rev. 30 (4) (2000) 151–160. doi:10.1145/347057.347421.

[13] D.-M. Chiu, R. Jain, Analysis of the increase and decrease algorithms for conges-tion avoidance in computer networks, Computer Networks and ISDN Systems17 (1) (1989) 1 – 14. doi:https://doi.org/10.1016/0169-7552(89)90019-6.

[14] F. P. Kelly, A. K. Maulloo, D. K. H. Tan, Rate control for communication networks:shadow prices, proportional fairness and stability, Journal of the Operational Re-search Society 49 (3) (1998) 237–252. doi:10.1057/palgrave.jors.2600523.

[15] S. H. Low, D. E. Lapsley, Optimization �ow control. i. basic algorithm andconvergence, IEEE/ACM Transactions on Networking 7 (6) (1999) 861–874. doi:10.1109/90.811451.

[16] T. Kelly, Scalable tcp: Improving performance in highspeed wide area networks,SIGCOMM Comput. Commun. Rev. 33 (2) (2003) 83–91. doi:10.1145/956981.956989.

[17] D. Leith, R. Shorten, H-tcp: Tcp for high-speed and long-distance networks, in:Proceedings of PFLDnet, Vol. 2004, 2004.

[18] Lisong Xu, K. Harfoush, Injong Rhee, Binary increase congestion control (bic) forfast long-distance networks, in: IEEE INFOCOM 2004, Vol. 4, 2004, pp. 2514–2524vol.4. doi:10.1109/INFCOM.2004.1354672.

[19] L. S. Brakmo, L. L. Peterson, Tcp vegas: End to end congestion avoidance on aglobal internet, IEEE Journal on selected Areas in communications 13 (8) (1995)1465–1480.

[20] D. X. Wei, C. Jin, S. H. Low, S. Hegde, Fast tcp: motivation, architecture, al-gorithms, performance, IEEE/ACM transactions on Networking 14 (6) (2006)1246–1259.

[21] A. Kuzmanovic, E. W. Knightly, Tcp-lp: a distributed algorithm for low prioritydata transfer, in: IEEE INFOCOM 2003. Twenty-second Annual Joint Conferenceof the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428),Vol. 3, 2003, pp. 1691–1701 vol.3. doi:10.1109/INFCOM.2003.1209192.

[22] D. Rossi, C. Testa, S. Valenti, L. Muscariello, Ledbat: �e new bi�orrent con-gestion control protocol, in: 2010 Proceedings of 19th International Con-ference on Computer Communications and Networks, 2010, pp. 1–6. doi:10.1109/ICCCN.2010.5560080.

[23] Cheng Peng Fu, S. C. Liew, Tcp veno: Tcp enhancement for transmission overwireless access networks, IEEE Journal on Selected Areas in Communications21 (2) (2003) 216–228. doi:10.1109/JSAC.2002.807336.

[24] S. Liu, T. Baar, R. Srikant, Tcp-illinois: A loss- and delay-based congestion controlalgorithm for high-speed networks, Performance Evaluation 65 (6) (2008) 417– 440, innovative Performance Evaluation Methodologies and Tools: SelectedPapers from ValueTools 2006. doi:https://doi.org/10.1016/j.peva.2007.12.007.

[25] K. Tan, J. Song, Q. Zhang, M. Sridharan, A compound tcp approach for high-speed and long distance networks, in: Proceedings IEEE INFOCOM 2006. 25THIEEE International Conference on Computer Communications, 2006, pp. 1–12.doi:10.1109/INFOCOM.2006.188.

[26] A. H. David, G. Armitage, Improved coexistence and loss tolerance for delaybased tcp congestion control, in: IEEE Local Computer Network Conference,2010, pp. 24–31. doi:10.1109/LCN.2010.5735714.

[27] D. A. Hayes, G. Armitage, Revisiting tcp congestion control using delay gradi-ents, in: J. Domingo-Pascual, P. Manzoni, S. Palazzo, A. Pont, C. Scoglio (Eds.),NETWORKING 2011, Springer Berlin Heidelberg, Berlin, Heidelberg, 2011, pp.328–341.

[28] K. Winstein, A. Sivaraman, H. Balakrishnan, Stochastic forecasts achieve highthroughput and low delay over cellular networks, in: Presented as part of the10th USENIX Symposium on Networked Systems Design and Implementation(NSDI 13), 2013, pp. 459–471.

[29] M. Dong, Q. Li, D. Zarchy, P. B. Godfrey, M. Schapira, Pcc: Re-architectingcongestion control for consistent high performance, in: 12th USENIX Symposiumon Networked Systems Design and Implementation (NSDI 15), 2015, pp. 395–408.

10

Page 11: An Evaluation of BBR and its variants - arXiv.org e-Print ... › pdf › 1909.03673.pdf · kinds. Since its release by google in 2016, BBR has gain much a−ention. Google •rst

[30] V. Arun, H. Balakrishnan, Copa: Practical delay-based congestion control forthe internet, in: 15th USENIX Symposium on Networked Systems Design andImplementation (NSDI 18), 2018, pp. 329–342.

[31] Y. Zaki, T. Potsch, J. Chen, L. Subramanian, C. Gorg, Adaptive congestion controlfor unpredictable cellular networks, SIGCOMM Comput. Commun. Rev. 45 (4)(2015) 509–522. doi:10.1145/2829988.2787498.

[32] S. Park, J. Lee, J. Kim, J. Lee, S. Ha, K. Lee, Exll: An extremely low-latencycongestion control for mobile cellular networks, in: Proceedings of the 14thInternational Conference on Emerging Networking EXperiments and Tech-nologies, CoNEXT ’18, ACM, New York, NY, USA, 2018, pp. 307–319. doi:10.1145/3281411.3281430.

[33] S. Abbasloo, Y. Xu, H. J. Chao, C2tcp: A �exible cellular tcp to meet stringentdelay requirements, IEEE Journal on Selected Areas in Communications 37 (4)(2019) 918–932. doi:10.1109/JSAC.2019.2898758.

[34] M. Alizadeh, A. Greenberg, D. A. Maltz, J. Padhye, P. Patel, B. Prabhakar, S. Sen-gupta, M. Sridharan, Data center tcp (dctcp), SIGCOMM Comput. Commun. Rev.41 (4) (2010) –.URL h�p://dl.acm.org/citation.cfm?id=2043164.1851192

[35] R. Mi�al, V. T. Lam, N. Dukkipati, E. Blem, H. Wassel, M. Ghobadi, A. Vahdat,Y. Wang, D. Wetherall, D. Zats, Timely: R�-based congestion control for thedatacenter, SIGCOMM Comput. Commun. Rev. 45 (4) (2015) 537–550. doi:10.1145/2829988.2787510.

[36] K. Winstein, H. Balakrishnan, Tcp ex machina: Computer-generated congestioncontrol, SIGCOMMComput. Commun. Rev. 43 (4) (2013) 123–134. doi:10.1145/2534169.2486020.

[37] W. Li, F. Zhou, K. R. Chowdhury, W. M. Meleis, Qtcp: Adaptive congestioncontrol with reinforcement learning, IEEE Transactions on Network Science andEngineering (2018) 1–1doi:10.1109/TNSE.2018.2835758.

[38] K. Xiao, S. Mao, J. K. Tugnait, Tcp-drinc: Smart congestion control based ondeep reinforcement learning, IEEE Access 7 (2019) 11892–11904. doi:10.1109/ACCESS.2019.2892046.

[39] G. Carlucci, L. De Cicco, S. Holmer, S. Mascolo, G. Carlucci, L. De Cicco, S. Holmer,S. Mascolo, Congestion control for web real-time communication, IEEE/ACMTrans. Netw. 25 (5) (2017) 2629–2642. doi:10.1109/TNET.2017.2703615.

[40] X. Zhu, R. Pan, M. Ramalho, S. de la Cruz, C. Ganzhorn, P. Jones, S. D�Aronco,Nada: A uni�ed congestion control scheme for real-time media, Internet-dra�,Internet Engineering Task Force, work in Progress (2018).URL h�ps://tools.ietf.org/html/dra�-ietf-rmcat-nada-07

[41] I. Johansson, Z. Sarker, Self-clocked rate adaptation for multimedia, RFC 8298,RFC Editor (Dec 2017).URL h�ps://www.rfc-editor.org/rfc/rfc8298.txt

[42] L. Kleinrock, Power and deterministic rules of thumb for probabilistic problemsin computer communications, in: Proceedings of the International Conferenceon Communications, Vol. 43, 1979, pp. 1–10.

[43] J. Ja�e, Flow control power is nondecentralizable, IEEE Transactions on Com-munications 29 (9) (1981) 1301–1306. doi:10.1109/TCOM.1981.1095152.

[44] N. Cardwell, Y. Cheng, S. H. Yeganeh, I. Swe�, V. Jacobson, Bbr v2 a model-basedcongestion control, 2019.URL h�ps://datatracker.ietf.org/meeting/104/materials/slides-104-iccrg-an-update-on-bbr-00

[45] R. K. Jain, D.-M. W. Chiu, W. R. Hawe, A quantitative measure of fairness anddiscrimination for resource allocation in shared computer systems, EasternResearch Laboratory, Digital Equipment Corporation, Hudson, MA.

[46] E. Atxutegi, F. Liberal, H. K. Haile, K. Grinnemo, A. Brunstrom, A. Arvidsson, Onthe use of tcp bbr in cellular networks, IEEE Communications Magazine 56 (3)(2018) 172–179. doi:10.1109/MCOM.2018.1700725.

11