您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

BBR擁塞控制算法的幾個(gè)細(xì)節(jié)詳解

大?。?/span>0.6 MB 人氣: 2017-09-28 需要積分:1

  0. 說明

  BBR熱了一段時(shí)間后終于回歸了理性,這顯然要比過熱地炒作要好很多。這顯然也是我所期望的。

  本文的內(nèi)容主要解釋一些關(guān)于BBR的細(xì)節(jié)問題。這些問題一般人可能不會關(guān)注,但是針對這些問題仔細(xì)思考的話,會得到很多有用的東西。在解釋這些問題時(shí),我依然傾向于使用圖解的方式,但這一次我不再使用Wireshark的tcptrace圖了,而是使用時(shí)序圖的方式,因?yàn)檫@種時(shí)序圖既然能夠令人一目了然地解釋TCP三次握手,四次分手,TIME-WAIT等,那它自然也能解釋更復(fù)雜的機(jī)制,比如說擁塞控制。

  1. 延遲ACK以及ACK丟失并不會影響TCP的傳輸速率

  在大的時(shí)間尺度上看,延遲ACK以及ACK丟失并不會對速率造成任何影響,比如一個(gè)文件4個(gè)TCP段正好發(fā)完,即便前面幾個(gè)ACK全部丟失,只有最后一個(gè)到達(dá),那它的傳輸總時(shí)間也是不變的。

  但是在細(xì)微的時(shí)間段內(nèi),由于延遲ACK或者ACK丟失帶來的時(shí)間偏差卻是不可忽略的。

  首先我們再次看一下BBR是如何測量即時(shí)速率的。測量即時(shí)速率需要做一個(gè)除法,分子是一段時(shí)間內(nèi)成功到達(dá)對端的數(shù)據(jù)包總量,分母就是這段時(shí)間。BBR會在每收到一次ACK的時(shí)候測量一次即時(shí)速率。計(jì)算需要的數(shù)據(jù)分別在數(shù)據(jù)傳輸和數(shù)據(jù)被ACK的時(shí)候采樣。很顯然,我們可以想當(dāng)然地拍腦袋得出一個(gè)算法

  設(shè)數(shù)據(jù)包x發(fā)出的時(shí)間為t1,數(shù)據(jù)包x被應(yīng)答的時(shí)間為t2,則在數(shù)據(jù)包x被應(yīng)答時(shí)采集的即時(shí)速率為:

  Rate=(從x被發(fā)出到x被應(yīng)答之間一共ACK以及SACK了多少個(gè)數(shù)據(jù)包)/(t2-t1)

  但是這會造成什么問題呢?這會造成誤差。BBR擁塞控制算法的幾個(gè)細(xì)節(jié)詳解

非常好我支持^.^

(3) 100%

不好我反對

(0) 0%

BBR擁塞控制算法的幾個(gè)細(xì)節(jié)詳解下載

相關(guān)電子資料下載

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?