四次挥手的过程
双方各自向对方发送FIN,在各自向对方发送ACK,中间的俩次交互(ACK和FIN)可能合并成一个
四次挥手的状态转换
- CLOSE_WAIT:收到第一个FIN的一方进入CLOSE_WAIT,是为了等待代码中调用关闭方法,如果服务器出现了大量的CLOSE_WAIT状态,意味着代码有bug,忘记调用close方法了
- TIME_WAIT:主动断开链接的一方进入TIME_WAIT状态,存在的意义是为了一旦最后一个ACK丢包,还有机会重传,TIME_WAIT会存在一定的时间,在超出这个时间之后,TIME_WAIT状态才真正的消失,释放对应的速度
- MSL:表示互联网上任意俩点之间传输数据的最大时间