TCP/IP的TCP调优优化

本文探讨TCP/IP的TCP调优,主要介绍Nagle算法和Delayed ACK的作用与冲突,以及如何通过调整Socket选项来优化。在非交互式场景中,关闭TCP_NODELAY可提高吞吐量;而在高度交互场景中,开启TCP_NODELAY能降低延迟,提升用户体验。
摘要由CSDN通过智能技术生成

1 优化目标

降低网络拥塞。总是有效吗?并不是,它们有特定的使用场景。

2 Nagle算法和Delayed ACK算法

在TCP/IP协议中,每一个报文都是由报文头(header)和报文体(payload)组成。就像我们网上买的书到了,书是装在一个袋子里,然后会贴一个标签,上面包含了一些关键信息,比如:发件人姓名、发件人电话、发件人地址、收件人姓名、收件人电话、收件人地址、物品简介。这里书类似报文体,标签上的关键信息类似报文头。

如果一个报文的报文体尺寸非常小,甚至比报文头还小,没有有效利用带宽,在网络流量很大是,这种报文会给网络带来更多的负担。比如你在同一家网店买30本书,如果分为30个快递邮寄给你,那么店家会下单30次,快递员会分拣送货30次,你也会拆30次快递,整个流程就会很低效,快递成本也会增加很多。因此最好将这30本书合并为一个快递邮寄给你。TCP报文头最多可占用40 Byte,每次只发送1 Byte的数据的程序是很常见的。如果系统立刻发送这种报文,那么一个报文总共有41 Byte,但是只有1 Byte是应用要发送的数据。我们的卡车本次只运输了一双拖鞋,这太低效了,会增加交通拥堵。发送报文时,Nagle算法会合并同一TCP流中的多个报文,保证合并后报文的报文头与报文体的比例处于合理范围,提高带宽利用效率,降低网络拥塞。Nagle算法延迟了报文的发送,增加了延迟,对于一些强调交互的场景,会降低用户体验。

延迟ACK(Dela

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值