tcp window scaling 的用途

2021-03-26 10:10:17 浏览数 (3)

TCP刚发明的时候,全世界的网络带宽都很小,所以最大的接受窗口被定义成65535字节,随着硬件的革命性进步,65535已经成为性能瓶颈,而TCP头只给接收窗口值留了16bit,解决方案就是在三次握手时是,把自己的Window Scale告知对方。Window Scale放在TCP头之外的Options中,向对方声明一个Shilt count,把它作为2的指数,再剩以TCP头中定义的接收窗口,就得到真正的TCP接收窗口了。

103.86.70.43 告诉 192.168.9.135 它的Shilt count是6,2的6次方等于64,意味着以后103.86.70.43声明的接收窗口要乘以64才是真正的接收窗口。

103.86.70.43声明他的接收窗口Window size value: 477, 477*64=30528,所以Wireshark就显示win=30528

关于接收窗口,103.86.70.43 向192.168.9.135声明自己的接收窗口为30528,192.168.9.135收到之后,就会把自己的发送窗口限制在30528之内。

了解更多 why you should use tcp window scaling on Linux

0 人点赞