谷歌開發(fā)出了一種加速網(wǎng)絡(luò)傳輸協(xié)議TCP的新算法,這種算法通過優(yōu)化傳輸速度,避免路由堵塞現(xiàn)象的產(chǎn)生。BBR利用瓶頸帶寬和往返傳播時(shí)間,被認(rèn)為是迄今為止跨越不同路由發(fā)送數(shù)據(jù)的最快方法,當(dāng)數(shù)據(jù)路由擁擠時(shí),能夠更有效地處理流量。目前Google已經(jīng)將BBR投入YouTube使用。有消息透露,BBR通過優(yōu)化使YouTube流量平均增長(zhǎng)了4%,在其他一些方面則達(dá)到了14%。
TCP工作
TCP始于1970年,作為協(xié)議套件的一部分, TCP / IP將數(shù)據(jù)格式化成數(shù)據(jù)包在網(wǎng)絡(luò)上進(jìn)行傳輸。IETF工作人員表示,超過90%的IP流量都通過TCP傳輸。
在過去的幾十年里,為加快TCP / IP的速度,很多人都在為TCP如何處理擁堵的問題不斷努力。TCP通過監(jiān)控傳輸中丟失的分組數(shù)量減慢在感知擁塞時(shí)發(fā)送流量的速度。由于網(wǎng)絡(luò)交換機(jī)和路由器的小緩沖區(qū)與互聯(lián)網(wǎng)連接的低帶寬很匹配,所以BBR的效果還是很不錯(cuò)的。遺憾的是,“基于損失”擁塞控制在當(dāng)今的環(huán)境中并不適用。
BBR優(yōu)勢(shì)
BBR以一定速度不斷評(píng)估多個(gè)路由的吞吐量和往返流量時(shí)間,得出遍歷網(wǎng)絡(luò)需要的時(shí)間。這樣一來,BBR以網(wǎng)絡(luò)可處理的速度發(fā)送流量,比最初的TCP擁塞控制更有效果。
BBR還兼容由Google設(shè)計(jì)的替代傳輸協(xié)議——快速UDP互聯(lián)網(wǎng)連接(QUIC),并被IETF作為標(biāo)準(zhǔn)。
BBR并不是工程師們?yōu)榧铀賂CP所做出的第一個(gè)努力。北卡羅來納州立大學(xué)的研究人員表示,當(dāng)今開發(fā)TCP中使用的最流行的基于丟失的擁塞控制算法之一是二進(jìn)制增加擁塞控制(BIC),其次是CUBIC,還有另一種流行的擁塞控制算法叫做Reno。這些算法都是使用分組丟失來確定擁塞的,盡管開發(fā)BBR的Google工程師Jacobson表示,在他看來,BBR才是唯一一個(gè)通過實(shí)際估計(jì)流量速度來確定最佳傳輸速度的TCP算法。
BBR取得初步成功
Mirja Kuhlewind是蘇黎世網(wǎng)絡(luò)系統(tǒng)集團(tuán)的高級(jí)研究員,也是IETF的運(yùn)輸區(qū)域主管,負(fù)責(zé)TCP的維護(hù)和改進(jìn)工作。她表示,在傳輸與擁堵控制方面建立標(biāo)準(zhǔn)需要很長(zhǎng)的時(shí)間,在BIC和BBR的發(fā)展之前,通過數(shù)十次TCP技術(shù)改進(jìn),才僅有一個(gè)成為了標(biāo)準(zhǔn),擁塞控制計(jì)劃的標(biāo)準(zhǔn)化不是一件易事。
Reno和CUBIC基于相同的原理工作,將丟失包作出的反應(yīng)作為擁塞的標(biāo)志,檢測(cè)到丟失時(shí)降低發(fā)送速率。而BBR利用的是分組定時(shí)信息來確定鏈路是否擁塞。
谷歌的一些客戶已經(jīng)意識(shí)到BBR的重要性,Wordpress在Google Cloud和Founder中托管了50萬個(gè)站點(diǎn),谷歌的CTO Jason Cohen也表示BBR與其他基于丟失的擁塞控制相比提高了2700倍的吞吐量、延遲降低了25倍。