重新思考BBR擁塞控制算法的速率估計(jì)
資源天下 2019/11/19 19:41:12
摘要: 壓縮的ACK使BBR的帶寬估計(jì)不夠準(zhǔn)確,這導(dǎo)致了在低丟包率環(huán)境下的高排隊(duì)時延。額外的排隊(duì)時延會影響一些交互式應(yīng)用的體驗(yàn),例如Skype。為了解決上述問題,本文提出了一個新穎的方法,即CBE,通過它去修正帶寬的估計(jì)值。CBE可以精確地檢測到不真實(shí)反映帶寬大小的ACK速率,并且廣泛的仿真實(shí)驗(yàn)證明了CBE的有效性。
關(guān)鍵詞: 帶寬估計(jì); BBR; 排隊(duì)時延
Rethinking the Rate Estimation of BBR Congestion Control
Su Bo
Abstract: The ACK compression makes the available bandwidth estimation in BBR inaccurate which result in the high queuing delay under low packet loss rate environments. The additional queuing delay affects the user experience of interactive applications like Skype. To solve the above-mentioned issue, this letter presents a novel method, named CBE, to calibrate the bandwidth estimation. The CBE can detect the implausible ACK rates accurately and the extensive simulation prove the effectiveness of CBE.
Key words: bandwidth estimation; BBR; queuing delay
1 引言
在現(xiàn)今網(wǎng)絡(luò)結(jié)構(gòu)的多樣化快速發(fā)展和不斷增長的應(yīng)用需求下,TCP的擁塞控制算法仍然是當(dāng)今的研究熱點(diǎn)[1][2]。由于只在擁塞時才降低擁塞窗口,傳統(tǒng)的以擁塞窗口為基礎(chǔ)的TCP在大緩存下會遭受bufferblot的問題[3],并且在高丟包率環(huán)境下,其帶寬利用率低下[4]。不同于傳統(tǒng)的以時延為基礎(chǔ)和以丟包為基礎(chǔ)的擁塞控制算法,BBR[5]是一個以速率為基礎(chǔ)的算法,它的擁塞窗口只作為已發(fā)出數(shù)據(jù)包的上限。不再采用丟包作為擁塞控制信號,不再使用ACK時鐘去控制數(shù)據(jù)包的發(fā)送,BBR通過計(jì)算反映可用帶寬大小的ACK速率和探測最小來回時延(RTT)解決了上述問題。
在蜂窩、Wi-Fi和有線帶寬網(wǎng)絡(luò)下,為了避免延遲和聚集的ACK[6]使帶寬探測引擎失速,BBR通過將擁塞窗口設(shè)置為2倍的帶寬時延積(BDP)來持續(xù)地以估計(jì)的帶寬大小發(fā)送數(shù)據(jù)包。有時候壓縮的ACK會導(dǎo)致過大的ACK速率,BBR通過簡單地比較數(shù)據(jù)包發(fā)送速率和ACK的接受速率并取其小的方法過濾掉不真實(shí)反映帶寬大小的ACK速率。然而,這個簡單的方法不能完全過濾掉不真實(shí)的ACK速率[7]。因此,BBR會因?yàn)?倍BDP設(shè)置的擁塞窗口而造成額外的排隊(duì)時延。BBR會持續(xù)占據(jù)1個BDP大小的中間鏈路緩存。直到探索最小RTT的階段,BBR才會排空緩存隊(duì)列中的數(shù)據(jù)包,如此循環(huán)。
通過分析BBR的ACK速率測量機(jī)制和服務(wù)器端發(fā)送ACK的行為,我們在本文中提出一個更為精確的可用帶寬測量方法CBE。我們的主要貢獻(xiàn)在于展現(xiàn)了整體上發(fā)現(xiàn)不真實(shí)反應(yīng)實(shí)際帶寬的ACK速率的可能性。與原來的BBR相比較,這個修正帶寬估計(jì)算法CBE在0%-5%的低丟包環(huán)境下可以實(shí)現(xiàn)更低的隊(duì)列時延,并且保持高帶寬利用率,與BBR相比只有略微的下降。
2 相關(guān)工作
在BBR之前,TCP WestWood[8]算法就采用了類似的帶寬估計(jì)算法。WestWood算法控制的是在快速恢復(fù)階段退出時的擁塞窗口值,這是一個不包括隊(duì)列緩存在內(nèi)的帶寬時延積,即一個大小BDP。標(biāo)準(zhǔn)的WestWood算法在估計(jì)帶寬時十分粗糙,它將一個TCP連接的生命周期分解為一段一段的采樣周期,通過每個采樣周期內(nèi)采集的ACK字節(jié)數(shù),除以采樣周期的間隔,最后將得到的結(jié)果做指數(shù)移動平均。在WestWood階段,TCP的擁塞控制框架限制了帶寬估計(jì)的精準(zhǔn)性,在BBR出現(xiàn)后,google團(tuán)隊(duì)修改了Linux內(nèi)核的擁塞控制框架,引入了struct rate_sample參數(shù),以實(shí)現(xiàn)更為精確的帶寬估計(jì)。在新的TCP控制框架中,對于每個ACK,提供估計(jì)的帶寬大小和是應(yīng)用層限制了發(fā)送速率的指示,其中具體的帶寬估計(jì)機(jī)制由下文給出。
...........
附件下載:重新思考BBR擁塞控制算法的速率估計(jì)全文及源程序
|