为什么tcp window scaling可以提高网络带宽?

TCP协议初期设定的最大接收窗口为65535字节,但随着硬件发展成为性能瓶颈。为解决此问题,TCP引入了Window Scale选项,通过声明一个Shiftcount指数来扩大实际接收窗口。例如,103.86.70.43告知192.168.9.135其Shiftcount为6,意味着接收窗口需乘以64。这样,103.86.70.43的接收窗口30528是实际值。此机制允许双方根据网络状况调整窗口大小,提升传输效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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之内。

了解更多tcp window scaling on Linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值