time_wait是客户端还是服务端的状态???
上面这张图片描述了客户端作为断开链接发起者的TCP四次挥手的过程。
time_wait其实并不能说是服务器还是客户端的状态。
因为他其实是一个主动断开链接发起者的状态,在发送最后一次ACK后进入time_wait状态。
那么,为什么需要进行time_wait这个状态呢,为什么不是主动发起关闭端发送最后一次ACK就进入close状态呢?
因为,客户端发送最后一次ACK之后,可能由于网络比较阻塞,该数据帧在传送过程中丢失了。服务器可能会再次进行确认,但是此时如果客户端已经进入close状态,不会理会其他的请求。因此,采用time_wait来保障如果网络比较阻塞,可以保证正常关闭TCP连接。
还没有评论,来说两句吧...