首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法降低TIME_WAIT

无法降低TIME_WAIT
EN

Stack Overflow用户
提问于 2017-09-06 02:53:38
回答 1查看 11.3K关注 0票数 1

我试图通过设置TIME_WAIT详细这里来减少连接处于这里状态的时间

代码语言:javascript
复制
root:~# sysctl -w net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_fin_timeout = 30

但是,此设置似乎不会影响任何内容。当我查看机器的netstat时,连接仍然等待默认的60年代:

代码语言:javascript
复制
root:~# watch netstat -nato
tcp        0      0 127.0.0.1:34185         127.0.0.1:11209         TIME_WAIT   timewait (59.14/0/0)
tcp        0      0 127.0.0.1:34190         127.0.0.1:11209         TIME_WAIT   timewait (59.14/0/0)

我遗漏了什么吗?这台机器正在运行Ubuntu14.04.1。

EN

回答 1

Stack Overflow用户

发布于 2017-09-06 03:32:46

你的联系是都市神话。net.ipv4.tcp_fin_timeout的实际功能是如下所示

这指定在套接字被强制关闭之前等待最后一个FIN数据包的时间。这严格违反了TCP规范,但需要防止拒绝服务攻击.在Linux2.2中,默认值为180。

这与TIME_WAIT没有任何关系。它为FIN_WAIT_1中的套接字建立一个超时,然后重新设置连接(完全绕过TIME_WAIT )。如前所述,这是DOS的一种度量,不应出现在正确编写的客户机-服务器应用程序中.您不希望将其设置得太低以至于普通连接被重置:您将丢失数据。实际上,你根本不想摆弄它。

减少TIME_WAIT状态的正确方法是给出这里

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46066046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档