2. 中国科学技术大学,合肥 230026
2. University of Science and Technology of China, Hefei 230026, China
TCP拥塞控制对于互联网及其应用的发展和成功起到了重要作用。常用的拥塞控制算法是基于丢包反馈来调节拥塞窗口(congestion window,CWND)的大小,如Reno、BIC、CUBIC等算法[1-3]。但在高速、长距离的现代网络中,基于丢包的算法会造成吞吐量严重下降,往往会浪费很多可用带宽[4]。2016年Google提出了BBR(bottleneck bandwidth and round-trip propagation time)算法[5],通过对瓶颈带宽和往返传播时间的估测来调整其发送行为,实现了高吞吐量的同时减少了传输延迟。Google公布的实施情况和一些公开发表的评测结果[6-11]表明,BBR可以显著提高TCP连接的吞吐量,与传统CUBIC相比在吞吐量上具有显著优势,但BBR仍存在着一些缺陷,其中RTT(round trip time)公平性问题是比较严重的问题之一。即当多个数据流共享同一瓶颈链路时,RTT较长的BBR数据流具有带宽占用优势[7, 12-15]。
针对RTT公平性问题,一些学者进行了改进。文献[7]提出了BBQ算法,通过限制RTT较长的数据流的检测周期来降低长RTT流的带宽占用。当T>(1+β)Tprop时(T为RTT,Tprop为RTprop,即round propagation time),使用min(α; Tprop)作为探测周期的持续时间,从而减小长RTT流发送的数据包数量,其中β∈[0.5%, 1%],α=3 ms。文献[12]通过建立理论模型证明了不同RTT流带宽占用受RTT比率的影响,长RTT流的带宽占比具有优势。文献[13]提出了RFBBR算法,在PROBE_BW阶段添加公平性因子γ=(T+Tprop)/(2×T)调节拥塞窗口的大小,进而改进RTT公平性。文献[14]提出了延迟感知BBR(delay-aware BBR,DA-BBR)算法,根据RTT定义一个小于1的调节因子去限制链路中的带宽时延积(bandwidth delay product,BDP),缓解了RTT不公平性。文献[15]提出通过调整拥塞窗口增益缩小不同RTT流之间的窗口差距,从而提升RTT公平性。以上这些算法在提高RTT的公平性方面取得了一定积极的效果,但分析发现,现有的这些改进方案都限制了BBR流的探测,并且仍采用固定的起搏增益,而未对起搏增益这一关键参数进行优化。
本文对BBR算法的探测过程进行建模分析,利用RTT反馈调节BBR在探测带宽状态中的起搏增益,建立起搏增益模型去平衡不同流之间的发送速率,从而提升不同RTT流之间的公平性。网络模拟器3(network simulator 3,NS3)的仿真实验表明,改进算法BBR-adaptive(BBR-A)有效提升了算法的RTT公平性以及其他方面的性能。
1 BBR算法概述 1.1 基本原理不同于基于丢包的拥塞控制算法,BBR算法通过交替测量链路中的最大带宽和最小延时来解决寻找Kleinrock最佳操作点[16]的问题。BBR将最近10次往返中测得的最大带宽视为Bmax,将过去10 s中测得的最小延时视为Tprop,然后根据Bmax和Tprop估算BDP[16],即
$ B_{\text {BDP }}=B_{\max } \times T_{\text {prop }} $ | (1) |
BBR分别通过窗口增益和起搏增益来调整CWND和发送速率,进而控制其发送行为。CWND和发送速率的计算公式为
$W_{\mathrm{cwnd}}=\text { cwnd_gain } \times B_{\mathrm{BDP}} $ | (2) |
$ S=\text { pacing_gain } \times B_{\max } $ | (3) |
式中: Wcwnd为CWND,cwnd_gain为窗口增益,S为发送速率,pacing_gain为起搏增益。
BBR主要由4个状态构成,见图 1。
在STARTUP状态,将cwnd_gain和pacing_gain设置为2/ln 2,使CWND和发送速率指数增加,积极的探测链路中的可用带宽。如果连续3个RTT内新估算的带宽增加没有超过25%,BBR则进入DRAIN状态。在DRAIN状态,BBR通过将pacing_gain降低到ln 2/2来清除前一状态的剩余队列,cwnd_gain保持不变(2/ln 2)。在PROBE_BW状态,BBR循环8个周期(pacing_gain[]=[1.25;0∶ 75; 1;1;1;1;1;1])进行探测带宽,每个周期持续时间为Tprop。在这个状态中CWND固定为2BBDP。BBR每10 s进入一次PROBE_RTT状态,在这个状态CWND被设置为4MSS(Maximum Segment Size),以确保对Tprop新值进行采样,该状态持续200 ms。在PROBE_RTT状态结束后,通过瓶颈链路状态判断转换到PROBE_BW或STARTUP状态继续进行循环。
1.2 RTT公平性原因分析在PROBE_BW状态,BBR周期性地以pacing_gain=1.25增加发送速率,向瓶颈链路发送更多的数据包,导致总发送速率大于瓶颈带宽,在瓶颈上形成了持久队列。随后pacing_gain=0.75降低发送速率,试图排空先前探测生成的多余的队列。但这种循环实际无法排空多余的数据,仍然会形成队列积压。根据排队论,一旦在瓶颈处形成持久队列,不同数据流的吞吐量就取决于它的队列份额。
当不同RTT流通过瓶颈链路时,长RTT流的BBDP估算值大于短RTT流的BBDP估算值,其可以发送更多数据包,因此在瓶颈队列中占主导地位。长RTT流的队列份额优势可以让其获得比短RTT流更高的发送速率,使短RTT流的发送速率不断降低。持续的低传输速率将导致短RTT流在下一次带宽测量中获得更小的BBDP估算值,然后再次降低发送速率,又将进一步减少其队列,循环往复,最终导致短RTT流的带宽占用严重下降。即使在探测过程中的一些数据流提前终止,上面的结论仍然成立,因为其他数据流将很快抢占空闲带宽。随着数据流RTT差异的增加,公平性会进一步恶化。一些用户可能利用这个漏洞故意增加延迟去获得高带宽。因此,解决BBR算法中RTT公平性问题是非常必要的。
2 改进算法: BBR-A 2.1 模型分析通过本文RTT公平性分析可以知道,队列积压的产生导致长RTT流的发送速率大于短RTT流。对BBR流建模,分析RTT与发送速率之间的关系。假设有n个不同数据流通过带宽为C的瓶颈链路,fii∈[1, n]为第i个数据流,di(t)为fi在t时刻的传递速率,在t时刻fi的估算最大带宽为
$ B_{\text{max}i}(t)=\max \left(d_{i}(t)\right)\left(T \in\left[t-10 R_{\mathrm{RTT}} ; t\right]\right) $ | (4) |
在实际传输过程中,RTT由传播时延和排队时延组成,fi在时间t时刻的RTT为
$T_{i}(t)=q_{i}(t)+T_{\text{prop} i} $ | (5) |
式中qi(t)为fi在t时刻的排队时延。
设Ii(t)为fi的飞行中数据量,则Ii(t)与di(t)关系为
$ d_{i}(t)=\frac{I_{i}(t)}{T_{i}(t)} $ | (6) |
进一步分析RTT与起搏增益之间的关系,根据BBR算法的带宽探测机制,在向上探测周期pacing_gain=1.25,因此在t时刻最大传递速率为
$ \max \left(d_{i}(t)\right)=\frac{\max \left(I_{i}(t)\right)}{T_{i}(t)}=\frac{1.25 \times T_{\text {prop }} \times B_{\text{max}i}(t-\Delta t)}{T_{i}(t)} $ | (7) |
BBR流的探测周期为8个Tprop,结合式(7)可以知道fi在新一轮最大带宽估算时更新为
$ B_{\text{max}i}(t)=\frac{1.25 \times T_{\text {prop}i} \times B_{\text{max}i}\left(t-8 T_{\text{prop}i}\right)}{T_{i}(t)} $ | (8) |
对于共享同一瓶颈队列的数据流,其排队时延是相同的。一旦有队列的生成,实际带宽无法按照预期的1.25倍进行增加,实际的起搏增益为
为了平衡不同RTT流的带宽占用,可以在现有增益系数基础上乘上一个RTT的减函数来消除RTT对发送速率的影响。如果一个长RTT数据流,那么其发送速率缓慢地向上增加并且快速地向下减少。如果一个短RTT数据流,那么它的发送速率应该快速地向上增加并且缓慢地向下减少,从而实现起搏增益系数对发送速率的约束。根据RTT的测量机制,将φ定义为fi当前延时与最大延时比值,计算公式为
$\varphi_{i}=\frac{T_{i}}{T_{\max }}, \varphi_{i} \in(0, 1] $ | (9) |
式中:Ti为fi从最后一个ACK中获得的当前延时,Tmax为ACK更新的最大延时。
通常φ可以量化瓶颈的链路利用率[17-18],Ti越大,φ越大。仅在瓶颈链路容量和缓冲区即将满载时,Ti才接近最大的Tmax。通过φ构建关于RTT的减函数作为新的向上和向下起搏增益系数,进而约束不同RTT流的发送速率。
基于上述分析,分别定义了向上起搏增益系数Pup和向下起搏增益系数Pdown来替代固定的起搏增益系数1.25和0.75。对于Pup,相关函数Pup(φ)应该为一个下凹的曲线,下渐近线为Pup=1,并且随着φ变大,Pup(φ)下降趋势变缓,以减少优势数据流的发送速率,给弱势数据流提供更多的可用带宽。对于Pdown,相关函数Pdown(φ)应该为上凸的曲线,上渐近线为Pdown=1,并且随φ越大,Pdown(φ)下降趋势变快。此外,Pup(φ)和Pdown(φ)所需函数必须为低复杂度的函数,因为它要在BBR算法内核中实现。基于这些约束条件,测试了一些函数,发现反比例函数可以满足需要。基于反比例函数的特性,构造了Pup(φ)和Pdown(φ)
$ P_{\text {up }}\left(\varphi_{i}\right)=\frac{3}{\varphi_{i}+2}, P_{\text {up }}\left(\varphi_{i}\right) \in[1, 1.5) $ | (10) |
$P_{\mathrm{down}}\left(\varphi_{i}\right)=\frac{3}{\varphi_{i}-3}+2, P_{\mathrm{down}}\left(\varphi_{i}\right) \in[0.5, 1) $ | (11) |
Pup函数和Pdown函数的变化趋势见图 2。随着φ的增大,Pup(φ)缓慢下降,且下降趋势变慢,取值在[1, 1.5]之间;随着φ的增大,Pdown(φ)缓慢下降,且下降趋势变快,取值范围在[0.5, 1]之间,满足增益模型的设计需求。BBR-A算法通过每个ACK更新RTT的信息调整原BBR中起搏增益的大小,从而自适应调节发送速率。此外,根据BBR的探测机制,将链路状态的分界点设置为1.25BBDP[19]。BBR-A具体细节见算法1,当Ii < 1.25BBDP时,允许不同RTT流发送更多的数据包来占用空闲带宽。在这个向上探测周期内,采用pacing_gain=Pup来增加发送速率。当飞行中的数据量大于1.25BBDP时,表明瓶颈链路没有额外的能力来传输更多的数据包,并会在缓冲区形成队列,此时通过pacing_gain=1维持稳定的发送速率。此外,为了增加BBR算法对丢包的敏感性,增加丢包阈值has_loss(阈值设定2%)表示是否存在严重丢包。如果Ii>1.25BBDP并且有丢包产生,此时的向下探测周期要限制不同RTT流的发送速率,采用pacing_gain=Pdown降低发送速率,释放缓冲区。剩余周期,BBR-A依然采用原BRR中默认的pacing_gain。
算法1: BBR-A算法的ProbeBW状态
Input: I, has_loss,Tmax ← 0, Tmin ← 0X7FFFFFFF, rtt_us //BBR中每个ACK更新
Output: pacing_gain
1: For every ACK do
2: rtt_us ← (now sending time)
3: if rtt_us < Tmin then
4: Tmin ← rtt_us
5: end if
6: if rtt_us < Tmax then
7: Tmax ← rtt_us
8: end if
9: end for
Phase 1: probe up
1: if Ii < 1.25BBDP then
2: pacing_gain = Pup
3: return
4: end if
Phase 2: probe down
1: if Ii > 1.25BBDP or has_loss > 2% then
2: pacing_gain = Pdown
3: else pacing_gain = 1
3: return
4: end if
Phase 3: next six cycles
1: if pacing_gain = 1 then
2: return
3: end if
BBR-A算法通过对起搏增益的调节,进一步增强了不同RTT流发送速率的自我调节能力。将带宽探测状态的向上起搏增益系数上限扩大到1.5,提高BBR的探测带宽幅度,同时将向下起搏增益系数下限设置为0.5,加快多余数据包的排空。通过让不同RTT流的探测和排空系数彼此交错,可以平衡不同数据流的发送速率,从而提高RTT公平性。
参考文献[13]进行BBR-A算法的复杂度分析,BBR-A采用if循环语句判断链路状态,因此其时间复杂度为O(1)。BBR-A每个周期只存储起搏增益的计算结果,没有额外的内存消耗,其空间复杂度也为O(1)。另外,BBR-A算法的实现依旧基于原有的BBR框架,便于实施与部署。
3 实验结果分析基于BBR版本[20-21]在NS3上测试了BBR及优化算法的性能,网络拓扑见图 3。S0~Sn为发送端,R0~Rn为接收端,瓶颈带宽设置为100 Mbit/s。
通过不同网络条件下测试所获得的仿真结果验证BBR-A算法有效性。性能指标包括吞吐量、信道利用率、Jain公平指数和重传率,变量包括RTT和缓冲区大小。此外,将BBQ[7]和DA-BBR[14]作为基准算法加入到实验对比中。
3.1 信道利用率信道利用率表示信道平均被占用的程度,可以一定程度反映网络利用率。通常通过测量数据流的吞吐量来计算瓶颈链路的信道利用率η,即
$ \eta=\frac{\sum _{i} Q_{\text {bytes}i}}{C \times T_{\text {last }}} $ | (12) |
式中: Qbytesi为fi在接收端已接收数据包的长度,C为瓶颈链路的带宽,Tlast为持续的模拟运行时间(本文设定为200 s)。
由于BBR算法在高丢包率下容易失速,因此本节测试具有不同随机丢包率下的信道利用率,以评估算法的抗丢包能力。缓冲区大小配置为1BBDP和5BBDP,随机分组丢失率分别设置为0%、1%、3%和6%。
BBR、BBQ、DA-BBR和BBR-A算法的信道利用率的仿真结果见图 4。整体来看,4种算法在1BBDP缓冲区的信道利用率要低于5BBDP缓冲区。当随机丢包率为0%时,4种算法可以在不同的缓冲区中获得94%以上的信道利用率,其中BBR-A信道利用率最高,1BBDP和5BBDP缓冲区中分别为95.6%和96.2%。4种算法的信道利用率均随着丢包率的增加而降低,但BBR-A受丢包的影响相对较小。当随机丢包率为6%时,BBR的信道利用率明显下降,而BBR-A的信道利用率降幅最小。BBR-A算法加入了丢包反馈,并提高了起搏增益上限,可以在不同的缓冲区始终保持90%以上的信道利用率,尤其在高丢包的场景中获得更高的吞吐量。
通过比较BBR、BBQ、DA-BBR和BBR-A算法不同RTT流之间的吞吐量,评估BBR-A是否缓解了RTT不公平性。实验设置0.5BBDP和5BBDP缓冲区大小,10 ms RTT流与50 ms RTT流竞争瓶颈带宽。图 5为10 ms RTT流和50 ms RTT流的吞吐量对比。
对于BBR算法,2种缓冲区中10 ms RTT流和50 ms RTT流的吞吐量见图 5(a)和5(e)。在启动阶段10 ms RTT流可以快速获得吞吐量,但与50 ms RTT流短暂竞争后,其吞吐量快速下降,最终约为39.7 Mbit/s,而50 ms RTT流吞吐量是其1.4倍。在图 5(e)中,2种RTT流的吞吐量差异明显变大,10 ms RTT流的吞吐量仅为13.8 Mbit/s左右,50 ms RTT流吞吐量是其5.9倍。图 5(b)和5(f)为BBQ算法,在0.5BBDP缓冲区中2种RTT流的吞吐量差异相比BBR算法变小。10 ms RTT流的吞吐量提高到42.3 Mbit/s左右,50 ms RTT流的吞吐量约是其1.3倍。在5BBDP缓冲区(图 5(f)),2种RTT流之间的吞吐量差异比图 5(b)中的结果有所增加,50 ms RTT流的吞吐量为59.3 Mbit/s,是10 ms RTT流的1.6倍。DA-BBR算法见图 5(c)和5(g),2种缓冲区中数据流的吞吐量差异变化不大,50 ms RTT流的吞吐量约是10 ms RTT流的1.3倍。对于BBR-A算法,在0.5BBDP缓冲区(图 5(d)),10 ms RTT流和50 ms RTT流的吞吐量差异相比前3种算法进一步缩小。10 ms RTT流和50 ms RTT流吞吐量分别为45.3 Mbit/s和50.3 Mbit/s,相差10%。在5BBDP缓冲区(图 5(h)),10 ms RTT流的吞吐量波动相对较大,说明数据流积极地竞争可用带宽,50 ms RTT流的吞吐量约是10 ms RTT流的1.3倍。
通过图 5的对比结果可以看出,与BBR相比,BBQ提高了2种RTT流之间的公平性,但在5BBDP缓冲区,50 ms RTT流的吞吐量优势依旧明显。而DA-BBR算法也提高了2种RTT流之间的公平性,尤其是在5BBDP缓冲区中相比于BBQ算法有了进一步提升。BBR-A改变了不同RTT流的起搏增益,提高了短RTT流的带宽竞争能力,缩小2种RTT流的吞吐量差异,在4种算法中实现了最好的RTT公平性,尤其在0.5BBDP缓冲区中具有明显公平性优势。
另外,通过上述实验结果发现不同的缓冲区大小对RTT的公平性有着明显的影响,因此继续开展相关实验比较10 ms RTT流和50 ms RTT流在不同缓冲区中的性能差异,进一步评估4种算法的RTT公平性。为了量化算法在不同缓冲区大小下的RTT公平性,本文引入了Jain公平指数[22]。Jain公平指数可以用来衡量带宽竞争中的公平性,计算方法如下:
$J=\frac{\left(\sum _{i=1}^{n} x_{i}\right)^{2}}{n \sum _{i=1}^{n} x_{i}^{2}} $ | (13) |
式中: n为链接个数,xi为第i个链接的吞吐量。
Jain公平指数(以下简称公平指数)能够很好地反映吞吐量的差异,取值范围在[0, 1]之间。该公平指数越接近1,说明带宽分配的公平性就越好。
10 ms RTT流和50 ms RTT流在0.1BBDP~100BBDP的缓冲区条件下,各自的平均吞吐量变化和公平指数见图 6。图 6(a)为BBR算法,随着缓冲区变大,2种RTT流的吞吐量差异变大。当缓冲区大于6BBDP,50 ms RTT流占用大部分带宽,公平指数下降到0.63左右。对于BBQ算法,见图 6(b)。相比BBR,其公平性得到了很大的提升。虽然2种数据流竞争时吞吐量差异随着缓冲区变大而加大,公平指数也随着下降,但BBQ的公平指数仍能维持在0.91以上。图 6(c)中的DA-BBR算法,其公平指数最小维持在0.95左右。在图 6(d)中,BBR-A算法明显缩小了10 ms RTT流和50 ms RTT流的吞吐量差异,其公平指数维持在0.96以上。总体而言,BBR-A比BBR和BBQ算法RTT公平性更好,比DA-BBR算法略有优势。尤其在深缓冲区条件下,RTT公平性相比BBR算法有了很大的提升,公平指数提高了约1.5倍,实现了更好的性能。
除了缓冲区大小对RTT公平性有着明显的影响,RTT差异也会明显影响RTT公平性[13]。仿真设置10 ms RTT流与不同RTT流在5BBDP缓冲区条件下进行带宽竞争,4种算法中不同RTT流的吞吐量的变化趋势和公平指数见图 7。
图 7(a)为BBR算法,随着RTT差异的增加,长RTT流的吞吐量逐步占据优势,公平指数逐步下降。当RTT比率达到10倍时,即10 ms RTT流与100 ms RTT流竞争时,公平指数仅为0.59。在图 7(b)中,BBQ算法中的RTT公平性呈现不规律变化。当RTT比率在2~3之间时,短RTT流的吞吐量占据优势地位,但当RTT比率大于3时,长RTT流的吞吐量逐步占据优势地位。图 7(c)的DA-BBR算法,不同RTT流之间的公平性有所提升,最终公平指数在0.92左右。BBR-A算法见图 7(d),随着RTT差异的增加,虽然长RTT流的吞吐量占据优势,但其与10 ms RTT流之间的吞吐量差异不大,BBR-A的公平指数可以维持在0.95左右。BBR-A算法通过自适应的调整不同RTT流之间的起搏增益,可以使不同RTT数据流保持较高的公平性,尤其当RTT比率大于4时,BBR-A算法的公平指数最高。
3.3 重传率重传率是重传网络包的比例,链路中的重传率过高一般表示网络质量差,会影响数据的传输效率。通过对比缓冲区大小和竞争数据流的数量对数据包重传的影响,可以验证不同算法的重传率。实验发送方使用不同的算法将单个或多个数据流传输到接收方,缓冲区大小设置分别为0.1BBDP和1BBDP。4种算法的重传率见图 8,起始点为单个10 ms RTT流的重传率,终点为100个10 ms RTT流的重传率。
在图 8(a)中,当缓冲区为0.1BBDP时,BBR的重传率明显高于其他算法。在起始点,BBR的重传率约为2.8%,BBQ、DA-BBR和BBR-A的重传率约为1.52%、1.26%和1.31%。随着数据流量的增加,数据包出现了大量的重传,当流的数量为100时,BBR、BBQ和DA-BBR的重传率分别为14.9%、6.01%和4.86%,而BBR-A的重传率约为4.24%,是4种算法中最小的。在图 8(b)中,缓冲区大小增加到1BBDP。BBR的重传率相比0.1BBDP时明显下降,但仍是4种算法中最高的。在起始点,4种算法的重传率基本一致,大约为1%。随着流的数量的增加,4种算法重传率都发生了增加。当数据流的数量为100时,BBR的重传率约为4.63%,BBQ和DA-BBR的重传率约为3.95%和3.52%,BBR-A的重传率约为3.42%。BBR-A算法加入了丢包反馈,并建立对称的起搏增益模型,避免激进的探测带宽方式导致的数据包重传。仿真实验结果证明了BBR-A算法可以减少数据包重传次数,有效提高网络通信效率。
4 结论本文在研究BBR拥塞控制算法的基础上,针对原BBR算法中的RTT公平性问题,提出了改进算法BBR-A。BBR-A算法根据链路中的RTT,自适应调整向上和向下起搏增益,取代了原有的固定起搏增益,从而平衡不同RTT流的发送速率。
NS3仿真实验结果表明,BBR-A算法中不同的RTT流可以公平竞争,公平指数明显高于BBR。此外,在信道利用率的实验中,与原BBR算法相比,BBR-A算法并没有牺牲信道利用率,甚至在高丢包的情况下信道利用率提升明显。在重传率的实验中,BBR-A算法的表现也优于BBR算法,可以有效降低重传率。这些都表明本文提出的BBR-A算法可以有效提升BBR算法的网络拥塞控制性能。
[1] |
FLOYD S, HENDERSON T, GURTOV A. The New Reno modification to TCP's fast recovery algorithm: RFC 3782[R]. [S. l.]: The Internet Society, 2004
|
[2] |
XU Lisong, HARFOUSH K, RHEE I. Binary increase congestion control (BIC) for fast long-distance networks[C]//Proceedings of IEEE INFOCOM 2004. Hong Kong: IEEE, 2004, 4. DOI: 10.1109/INFCOM.2004.1354672
|
[3] |
HA S, RHEE I, XU Lisong. CUBIC: a new TCP-friendly high-speed TCP variant[J]. ACM SIGOPS Operating Systems Review, 2008, 42(5): 64. DOI:10.1145/1400097.1400105 |
[4] |
董瀚泽, 郭志川. BBR拥塞控制算法在无线网络中的性能改进[J]. 哈尔滨工业大学学报, 2019, 51(11): 63. DONG Hanze, GUO Zhichuan. Performance improvement of BBR congestion control algorithm in wireless network[J]. Journal of Harbin Institute of Technology, 2019, 51(11): 63. DOI:10.11918/j.issn.0367-6234.201901020 |
[5] |
CARDWELL N, CHENG Y, GUNN C S, et al. BBR: congestion-based congestion control[J]. Communications of the ACM, 2017, 60(2): 58. DOI:10.1145/3009824 |
[6] |
HOCK M, BLESS R, ZITTERBART M. Experimental evaluation of BBR congestion control[C]//Proceedings of 2017 IEEE 25th International Conference on Network Protocols (ICNP). Toronto: IEEE, 2017: 1. DOI: 10.1109/ICNP.2017.8117540
|
[7] |
MA Shiyao, JIANG Jingjie, WANG Wei, et al. Fairness of congestion-based congestion control: experimental evaluation and analysis[Z]. arXiv: 1706.09115, 2017. DOI: 10.48550/arXiv.1706.09115
|
[8] |
SCHOLZ D, JAEGER B, SCHWAIGHOFER L, et al. Towards a deeper understanding of TCP BBR congestion control[C]//Proceedings of 2018 IFIP Networking Conference (IFIP Networking) and Workshops. Zurich: IEEE, 2018: 1. DOI: 10.23919/IFIPNetworking.2018.8696830
|
[9] |
SASAKI K, HANAI M, MIYAZAWA K, et al. TCP fairness among modern TCP congestion control algorithms including TCP BBR[C]//Proceedings of 2018 IEEE 7th International Conference on Cloud Networking (CloudNet). Tokyo: IEEE, 2018: 1. DOI: 10.1109/CloudNet.2018.8549505
|
[10] |
JAEGER B, SCHOLZ D, RAUMER D, et al. Reproducible measurements of TCP BBR congestion control[J]. Computer Communications, 2019(144): 31. DOI:10.1016/j.comcom.2019.05.011 |
[11] |
WARE R, MUKERJEE M K, SESHAN S, et al. Modeling BBR's interactions with loss-based congestion control[C]//Proceedings of the Internet Measurement Conference. New York: ACM, 2019: 137. DOI: 10.1145/3355369.3355604
|
[12] |
TAO Yuecheng, JIANG Yingjie, MA Shaya, et al. Unraveling the RTT-fairness Problem for BBR: a queueing model[C]//Proceedings of 2018 IEEE Global Communications Conference (GLOBECOM). Abu Dhabi: IEEE, 2018: 1. DOI: 10.1109/GLOCOM.2018.8647260
|
[13] |
贾茗涵. 无线网络中TCP-BBR算法公平性的研究[D]. 大连: 大连理工大学, 2020 JIA Minghan. Research of fairness of TCP-BBR algorithm in wireless network[D]. Dalian: Dalian University of Technology, 2020. DOI: 10.26991/d.cnki.gdllu.2020.000790 |
[14] |
KIM G H, CHO Y Z. Delay-aware BBR congestion control algorithm for RTT fairness improvement[J]. IEEE Access, 2019(8): 4099. DOI:10.1109/ACCESS.2019.2962213 |
[15] |
PAN Wansu, TAN Haibo, LI Xiru, et al. Improved RTT fairness of BBR congestion control algorithm based on adaptive congestion window[J]. Electronics, 2021, 10(5): 615. DOI:10.3390/electronics10050615 |
[16] |
KLEINROCK L. Power and deterministic rules of thumb for probabilistic problems in computer communications[C]//Proceedings of the International Conference on Communications. Piscataway: IEEE, 1979, 3(43): 1
|
[17] |
BRAKMO L S, PETERSON L L. TCP Vegas: end to end congestion avoidance on a global Internet[J]. IEEE Journal on Selected Areas in Communications, 1995, 13(8): 1465. DOI:10.1109/49.464716 |
[18] |
AFANASYEV A, TILLEY N, REIHER P, et al. Host-to-host congestion control for TCP[J]. IEEE Communications Surveys & Tutorials, 2010, 12(3): 304. DOI:10.1109/SURV.2010.042710.00114 |
[19] |
YANG Ming, YANG Peng, WEN Chaozhou, et al. Adaptive-BBR: fine-grained congestion control with improved fairness and low latency[C]//Proceedings of 2019 IEEE Wireless Communications and Networking Conference (WCNC). Marrakesh: IEEE, 2019: 1. DOI: 10.1109/WCNC.2019.8885527
|
[20] |
JAIN V, MITTAL V, TAHILIANI M P. Design and implementation of TCP BBR in ns-3[C]//Proceedings of the 10th Workshop on ns-3. New York: ACM, 2018: 16. DOI: 10.1145/3199902.3199911
|
[21] |
ZHANG Songyang. An evaluation of BBR and its variants[Z]. arXiv: 1909.03673, 2019. DOI: 10.48550/arXiv.1909.03673
|
[22] |
JAIN R, CHIU D M, HAWE W. A quantitative measure of fairness and discrimination[Z]. arXiv: cs/9809099, 1984. DOI: 10.48550/arXiv.cs/9809099
|