为什么TIME_WAIT状态到CLOSED状态要等2MSL的时长

1.TIME_WAIT需要确保关闭端发送的FIN的ACK被对端的套接字接收到,如果1个MSL内对端没有收到响应,那么关闭端就要重发FIN的ACK。

2.当关闭当前的TCP连接时,最后发送出去的数据报可能被路由器的转发队列缓存,如果立马切换到CLOSED状态,可能使用相同窗口的新的TCP连接收到的数据报还是前一个TCP连接缓存在路由器中的数据。

猜你喜欢

转载自blog.csdn.net/Wengzhengcun/article/details/85069679