已解决
【计算机网络】 Nagle算法
来自网友在路上 155855提问 提问时间:2023-09-23 04:12:03阅读次数: 55
最佳答案 问答题库558位专家为你答疑解惑
文章目录
- 目的
- Nagle算法的规则
- 关闭Nagle算法
目的
Nagle算法就是为了尽可能发送大块数据,避免网络中充斥着许多小数据块。(因为在传输时不会因为数据包小而传输的快,是根据包的个数转发的)
Nagle算法的规则
- 如果包长度达到MSS(最大报文段长度),则允许发送;
- 如果该包包含有FIN,则允许发送;
- 设置了TCP_NODELAY选项,则允许发送;
- 未设置TCP_CORK选项时,若所有发出去的小数据包(包长度小于MSS)均被确认,则允许发送;
- 上述条件都未满足,但发生了超时(一般为 200ms),则立即发送。
关闭Nagle算法
Nagle算法默认是打开的,如果对于一些需要小数据包交互的场景的程序,比如telnet或ssh这样的交互性比较强的程序,则需要关闭Nagle算法。
关闭 Nagle算法的方法:
int value = 1;
setsockopt(sock_fd,IPPROTO_TCP,TCP_NODELAY,(char*)&value,sizeof(int));
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"【计算机网络】 Nagle算法":http://eshow365.cn/6-11875-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!