您当前的位置:网站首页 » 实用技术

栏目导航

站内搜索









漫谈TCP Westwood和BBR

我很想知道westwood算法的深意,不仅仅是算法本身,还包括它的名字。

是的,为什么叫westwood?有朋友告诉我这是一个地名,并建议我去美国西海岸转一圈,然后我就发现IT圈子里不明所以看起来高大上的名字都是地名,并不比石家庄,驻马店,后厂村,西二旗什么的高级,我就放心了,原来如此。

后来我在wiki上确认了一下,果然如此:

The name “Westwood” was chosen by S. Mascolo as due homage to the home of UCLA where he was a visiting researcher at that time.

嗯,韦斯特伍德,西木先生,你好!

westwood早在1990年代末就提出了BBR类似的想法,通过不断的测量带宽和最小RTT来估算网络的容量,最终将inflight收敛在B l t B w × R T p r o p BltBw\times RTpropBltBw×RTprop处!

前面我吐槽过BBR没有一种可以从数学上证明的机制收敛到公平,westwood却没有这个问题。如果你认为westwood看起来更像Reno,那只是因为westwood利用了Reno的收敛到公平机制,但要记住westwood只是借用了一下buffer overflow而已,它自己的Operating point,即收敛点是和BBR一致的。

安德森先生占着家里所有的有屏幕的东西,除了我的电脑,我只能假装在工作而树立一点权威,让他不敢来抢我这最后的屏幕,我必须通过键盘做点什么,而不是眼睛仅仅盯着屏幕看视频。于是我画了两张图,来演示一下westwood是如何收敛到公平的。

在这里插入图片描述
这个是AIMD收敛性的优化版,看起来westwood是不错的。我们可以明确看一下westwood的Operating point:
在这里插入图片描述
westwood通过在拥塞丢包之后设置一个 “公平合理的cwnd” 来同时提高公平性和带宽利用率,这个点只是标准Reno在Multiplicative Decrease的路上经过的一个点,因此从它开始的Additive Increase必然会收敛到公平。

此外,由于它的起点并非盲目的Reno 1/2或者CUBIC 80%的inflight,而是一个测量而来的B l t B w × R T p r o p BltBw\times RTpropBltBw×RTprop,因此它的带宽利用率会更高。

我们把上面的收敛图局部放大就能看得一清二楚:
在这里插入图片描述
这个理论上的网络利用率很高了。

westwood和BBR是殊途同归的,同归于B l t B w × R T p r o p BltBw\times RTpropBltBw×RTprop,殊途在哪呢?westwood是通过塞满buffer而到达B l t B w × R T p r o p BltBw\times RTpropBltBw×RTprop,而BBR则是通过排空buffer而到达B l t B w × R T p r o p BltBw\times RTpropBltBw×RTprop,二者均利用了下面的这个事实:

  • 在buffer塞满的时候,输出的带宽就是BltBw。

嗯,韦斯特伍德,西木先生,再见!