TCP
跳转到导航
跳转到搜索
TCP 连接状态
TIME_WAIT
TIME_WAIT 状态在主动关闭连接后持续 2MSL 的时间(Linux 默认为 240 秒),为了是等待可能残留在网络上的重复数据包不被后续连接收到。如果系统中有大量处于此状态的连接,将导致没有可用的本地地址,出现Cannot assign requested address错误。[1][2]
给 socket 设置 SO_REUSEADDR
选项允许重复使用 TIME_WAIT
状态的地址。[3]
另见 sysctl#net.ipv4 的选项 net.ipv4.tcp_tw_reuse
、 net.ipv4.tcp_tw_recycle
、 net.ipv4.tcp_max_tw_buckets
。
外部链接
- tcp连接的建立和释放 | shell's home
- vpn不要走tcp协议 | shell's home
- linux - non blocking tcp connect with epoll - Stack Overflow, Non-blocking BSD socket connections
- Overriding the default Linux kernel 20-second TCP socket connect timeout - sekuda.com
- TCP throughput limit and maximum download speed
- 浅谈TCP优化 | 火丁笔记
- 再叙TIME_WAIT | 火丁笔记
- TCP 的那些事儿(上) | 酷 壳 - CoolShell.cn, (下)
- 图解TCP-IP协议 – 快课网 (实际只讲了 TCP)已失效,存档
- TCP 超时相关
- File:Tcp state diagram.png - Wikipedia