为什么Linux较新版本的拥塞控制不遵循RFC5681?

问题描述

我刚刚研究TCP拥塞控制。 当我阅读有关慢启动的章节时,我转向 RFC5681 ,我发现标准表明了这一点

  • 如果SMSS> 2190字节:IW = 2 * SMSS字节,且不得超过2个分段
  • 如果(SMSS> 1095字节)和(SMSS
  • 如果SMSS

但是我在ubuntu服务器上进行了测试,并在google上查找了资料,发现init cwnd大约是10。
我只是听不懂。帮助。

解决方法

还要签出https://news.ycombinator.com/item?id=1942442https://developers.google.com/speed/pagespeed/service/tcp_initcwnd_paper.pdf

大约在2010年,有关Google使用初始拥塞窗口10(而不是遵循RFC)的消息激起了轩然大波。基本思想是网络可以处理负载,此外,当连接刚刚启动时,接收器缓冲区为空,因此没有溢出的机会,那么为什么要经历漫长的缓慢启动过程?

这样做,他们减少了很多往返行程,从而节省了时间,带宽以及移动设备上的电池。更重要的是,客户更快地获取数据,这使他们更快乐。