TCP确认延时和Nagle算法
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)。
Linux TCP确认延时(TCP有关压力测试):http://blog.csdn.net/turkeyzhou/article/details/6764389
网络编程的Nagle算法与Delay ACK算法:http://blog.csdn.net/yangruibao/article/details/9410445