Linux Kernel 4 9 中的 BBR 演算法與之前的 TCP 擁塞控制相比有什麼優勢?

時間 2021-06-12 02:38:29

1樓:蘇維

bbr的擁堵控制對丟包不敏感,遇到丟包並不進入傳統的控制環節,並且總是傾向於把傳送視窗提高到物理環境允許的上限。

而傳統的擁堵控制在遇到丟包時會把視窗縮減到1,或者一半,在少量均勻丟包環境(比如國際流量)流速會比bbr慢得多,因為傳送視窗幾乎總是在乙個很低的水平。

隨著丟包率上公升,或者存在大量並非擁堵造成的丟包時,bbr的優勢會逐漸減少。

另外,由於bbr總是嘗試提高視窗大小,鏈路上的整體丟包率會高很多。

2樓:Tony

請教下,

1. bbr慢開始階段是如何結束的?因為結束時已經佔滿了buffer,是用出現大量丟包來判斷已經佔滿buffer,可以進入排空階段了嗎?

2. 對於頻寬增加的情況,bbr是如何做到每個週期可以更新估計頻寬的,是因為第乙個rtt 增加1/4頻寬沒有引起rtt增加,所以認為估計頻寬可以重新整理到當前頻寬的1.25倍麼?

3. 對於頻寬減半的情況,bbr是如何識別出來的呢?我看文中說是當之前的頻寬估計超時(移出滑動視窗)之後,進行頻寬減半,這個超時具體怎麼判斷的?

3樓:沒有名字的神

我覺得防火牆會對不能識別的加密流量降速處理,就是故意丟包,tcp就一直等待對方回應,而不繼續發包,所以速度慢。bbr不管那麼多不等待對方回覆繼續發包

4樓:grant

感覺BBR演算法對於有線網路場景下還是有很大提公升的,但是在無線環境下,相較於cubic還是需要做些調整,感覺無線環境下丟包更嚴重,如果能很好的適配到無線環境下,應該很有意思

5樓:何何何

實測了一下

伺服器是google cloud engine在asia-east1-b機房(物理位置應該是在台灣)的VPS

伺服器端 debain 8,配置了ss

我自己這兒網路是電信100M ftth

未開啟bbr情況下

建立了乙個快照轉殖了一台vps做測試,開啟tcp bbr,明顯提公升當然,還是原先伺服器上開啟kcptun(引數fast)比較給力考慮可以把bbr開起來,因為在家裡路由器裡部署了kcptun,而在外面的話手機上沒法開kcptun,有時候看youtube確實比較卡

6樓:張睿

粗略看了一下,這個演算法是把TCP兩個功能分開處理:TCP主要有兩個功能:一是保證deliver,涉及很多不同的回傳方式。

另外乙個是congestion control,擁塞控制。當然主要TCP的改進都是在擁塞控制上,這個演算法應該也是主要在擁塞控制,問題的場景前面大家都講得很清楚,不過不知道這個TCP演算法會不會導致用傳統的比如TCP newreno的效率降低?畢竟TCP歸根到底不僅僅是最大化效率,而是在效率和公平中折中,proportional fairness,或者盡量實現帕累託最優

7樓:周帥明

具體實現一下理解不透,但個人這樣理解它的目的模擬前提

鏈路+加裝置buffer流動的資料流 ~ 車道數量固定的馬路上流動的車流

延遲

buffer中等待/堵車(巨集觀車速降低)

吞吐

由頻寬/車道數量與 buffer等待/堵車共同決定BBR 所想做的事情:

盡量排空裝置Buffer/提高車速到車道限速到達的效果

網路裝置buffer被盡可能排空,資料報沒有額外延遲,然後由頻寬總量(車道數量)限制總吞吐量上限;多個車道的馬路,bbr讓大家都能跑到馬路速度上限(不停留在網路裝置buffer中),那車道數量限制總吞吐量。從而提高吞吐降低延遲。

原來的演算法在上下班高峰期的時候是大家都先嘗試往車道裡面慢慢擠進去,認慫了就停下來讓一讓,結果都堵到一起(buffer裡面),其實速度上來的路段都還空著呢,交警部門沒準對這種演算法很有興趣。

8樓:毒蛇33

很好的文章,很久也很少有對與TCP優化的文章了。這次google發表的也算是近期比較詳盡的文章,這對提公升國內對TCP擁塞的關注是有好處的,相對其他提公升速度的方式,TCP一直都是被忽視的,其實提公升TCP的思路有很多。

不過,最好還是要實測,實際的效果確實有提公升,比cubic演算法是要好,但沒有預期的提公升的多,估計後面還是會有很長的優化,但確實是好東西。

9樓:行功

補充:對BBR進行了一系列技術分析,解釋為什麼得出下面的結論(參見:BBR是個什麼鬼?-1 頻寬與RTT探測)

@李博傑 @黃寧晶 @jamesr ,補充一下我們對BBR的測試和理解, 供大家拍磚:

1. BBR能否忽略丟包, 提高頻寬利用率,降低延遲?Yes。我們下面的測試結果可證明這一點。

but 很多delay-based TCP協議都可以做到這一點,例如TCP Vegas, Ledbat, TCP FAST,Google WebRTC等等。。。。

2. BBR的「測不准」是個什麼鬼?Kleirock說的bandwidth和delay無法同時測量,指的是物理鏈路頻寬和延遲。

當管子不滿時,可測出物理延遲,頻寬上限當然不知道。當管子溢位了,可測出物理頻寬,但多了排隊延遲了,這就是「測不准」的由來。可是明知測不准,為什麼BBR還要測?

呵呵,有問題,事怪必妖!

3. BBR號稱的primary control的探測頻寬有用麼?BBR聲稱其primary control是探測頻寬,排第二位的是CWND擁塞視窗控制, 對這個說法我只能呵呵了~~ 。

當多個使用者共享乙個頻寬時,你能探測出什麼?物理頻寬被N個人分享,上帝都不知道N是多少,我怎麼知道該分多少頻寬?

4. BBR到底是什麼?BBR真正起作用是它放第二位的CWND=bw*PropRTT控制。

呵呵,這就有意思了,這和TCP Cubic, Vegas等等,似乎沒多大差別麼。

yes,他們的差別在於目標CWND大小不同,例如Cuibc是0.75T_max, Vegas是PropRTT+a(排隊數量), LEDBAT和Google WebRTC是給定乙個目標T......。等等,最後這個怎麼這聽上去和BBR一樣?

yes, BBR不僅與LEDBAT一樣,也與他們自己家的WebRTC一樣,差別在於前者用物理延遲PropRTT為目標,後兩者用排隊延遲為目標。

5. BBR存在哪些問題?一句話,LEDBAT和WebRTC有的問題,它都有。

除了一點,BBR用probRTT冷啟動機制保證了自己-自己競爭的公平性。但在於CUBIC在一起時,呵呵, 結果就不忍目睹了........

@Curtank Zhang, 看完上面是不是發現現在出生也不晚,你還是能發ACM地.......

附圖是我們( @行功 )對幾個協議的測試結果。

劍橋雅思4 9的閱讀文章適合精讀嗎?

屠鴨君 具體我覺得還是看自己的情況來看,另外如果基礎可以的話,建議可以看看一些國外期刊雜誌,比如經濟學人,時代周刊,紐約客這些,因為雅思閱讀會出現這些雜誌原題,而且多看期刊還可以增加詞彙量,也可以做精讀筆記。我是屠鴨君,雅思資料免費搬運工,關於雅思方面的資料我都可以搬給有需求的小夥伴,包括上面的雜誌...

如何看待電影《空天獵》的豆瓣評分為 4 9?

直接原因是什麼?還不是鹿晗的追夢赤子心唱崩了票房。李晨請Gala很花錢嗎?還是覺得這種軟不拉幾的聲音適合這首歌?觀眾並沒有那麼挑,也沒有那麼多深層次原因。其實後來在電腦上看,空天獵也挺好。唯一阻止我去看的原因就是鹿晗,還有我朋友,我朋友得朋友得朋友。 Davidzorroyang 不能算是最優秀的作...

印度佛教史(49)《成唯識論》的思想綜述(3)

盛夏海棠花 都整容了還會老嗎?趙雅芝.劉嘉玲 關之琳.朱茵.包括好多明星老了嗎?像她們正常年齡該有的美貌嗎.不要告訴我什麼她們會保養撒子的.我媽也很會保養.但是她們看著像姐姐.我媽看著像阿姨.不整根本不得行.時間留下的印記不是僅僅保養就能改變的.最後的結果都是整了.我記得那個誰說過.你老是糾結以後老...