网络编程中Nagle算法和Delayed ACK的测试(转)

http://www.cnblogs.com/ggjucheng/archive/2012/01/15/2323068.html

如果是异步socket 呢?内核会等待这个间隔吗?


nagle算法的ack发送时机:

http://blog.csdn.net/turkeyzhou/article/details/6764389


http://wenku.baidu.com/view/fbfda71aa300a6c30c229f99.html


http://www.360doc.com/content/12/0320/14/8426738_195950612.shtml

http://blog.csdn.net/dog250/article/details/5941637

http://hi.baidu.com/zzcqh/item/144ddaedd004ccd3ea34c912


so?

nagle 算法是   发送端 收到前一个报文的确认然后再发送下一个tcp数据。这样可以避免大量的小数据。 TCP_NODELAY选项控制。
Delay ACK是   接收端 在等待超时(还有其他发送ack确认的时机) 然后才发送ACK给客户端。
CORK算法 是  发送端 尽可能的进行数据的组包,以最大mtu传输,如果发送的数据包大小过小则如果在0.6~0.8S范围内都没能组装成一个MTU时,直接发送。
如果发送的数据包大小足够间隔在0.45内时,每次组装一个MTU进行发送。如果间隔大于0.4~0.8S则,每过来一个数据包就直接发送。TCP_CORK选项控制。


禁用nagle算法 导致小片数据包多 但是ack确认的返回的机制仍旧不变(Delay ACK)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值