TCP 链接关闭 -- 客户端为什么需要60秒的time_wait状态

客户端主动关闭连接时( FIN-> ACK<- FIN<- ACK->),在发送最后一个ack后会进入TIME_WAIT状态,停留2个MSL时间,进入CLOSED状态
MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间IP数据包将在网络中消失 。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒。

  1. 防止连接关闭时四次挥手中的最后一次ACK丢失,导致服务器长时间的处于 LAST_ACK 状态而无法正常关闭

  2. 防止因为链接关闭过快,导致新的链接收到旧链接的TCP报文

posted @ 2022-12-23 10:39  武平宁  阅读(90)  评论(0)    收藏  举报