梁越

为什么time_wait状态默认是2MSL

0 人看过

首先我们再来回顾一下tcp四次挥手的状态,time_wait状态是在主动断开的一方发出的,他的作用和解释可以看这篇

可以看到对端发来FIN报文后客户进入time_wait状态,等待2MSL,MSL是报文存在的最大时间,客户在发出最后一个ACK之后开始计时,这个ACK传输的最大时间是1MSL,如果这个ACK丢失了,服务端会发起重传,而重传FIN的报文最大到达时间是1MSL,所以考虑到重传,这里需要等待2MSL的时间