gpt4 book ai didi

tcp - 无法减少 TIME_WAIT

转载 作者:可可西里 更新时间:2023-11-01 02:48:08 27 4
gpt4 key购买 nike

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

root:~# sysctl -w net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_fin_timeout = 30

但是,此设置似乎没有任何影响。当我查看机器的 netstat 时,连接仍等待默认的 60 秒:

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)

有什么我想念的吗?机器运行的是 Ubuntu 14.04.1。

最佳答案

您的链接是都市神话。 net.ipv4.tcp_fin_timeout的实际函数是as follows :

This specifies how many seconds to wait for a final FIN packet before the socket is forcibly closed. This is strictly a violation of the TCP specification, but required to prevent denial-of-service attacks. In Linux 2.2, the default value was 180.

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

给出了减少 TIME_WAIT 状态的正确方法 here .

关于tcp - 无法减少 TIME_WAIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46066046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com