服务器TIME_WAIT存在的原因

在TCP关闭连接的4次握手中,主动关闭的一方在发送最后一个ack后,发起关闭的一方就会进入TIMEWAIT状态,这里要注意一点,不仅客户端能发起关闭,服务器端也能发起关闭请求。当服务器上出现TIMEWAIT的话,就说明是服务器端先发起了关闭连接的请求。

TIME_WAIT存在的原因: 当主动发起关闭请求的一方在发送完最后的ack后给被动关闭一方后,不能保证这个ack能够被被动一方接收,所以如果在ack发送失败的情况下,被动一方将再重新发一次fin给主动一方,如果主动一方直接进入CLOSED状态的话,就不能接收这个重发的fin包了,导致连接不能正常关闭.就会有一个飘着的没有关闭的数据连接,而等待了2msl后,这些没有正常关闭的数据连接都会丢弃掉

TIME_WAIT的时间是2MSL,缺省为240秒(4分钟)

查看端口状态命令:
netstat -antp

tcp状态解释:


服务器TIME_WAIT存在的原因

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: