TCP中TIME_WAIT状态的作用

TIME_WAIT状态的作用主要有两个:

可靠的关闭连接。假设主动关闭连接的一端发送的最后一个ACK分段在网络中丢包或被延迟了,被动关闭的一端因收不到ACK,会重新发送FIN包。这时如果没有TIME_WAIT状态直接处于CLOSED状态,就会直接响应RST而不会响应ACK。极端情况下,ACK到达对端需要一个MSL,对端重发的FIN到达需要一个MSL,当2个MSL之后仍未收到重传的FIN,则认为对端已经收到了ACK。
防止上一次连接中的分段延迟到达后影响新连接。TCP连接由五元组(协议,源IP,源端口,目的IP,目的端口, 因而协议固定是TCP,也可以说是四元组)唯一标识。假设没有TIME_WAIT状态,一个连接关闭后,可能使用相同的五元组的新连接被建立,这时若原连接上的TCP分段因为网络延时刚刚到达,且它的序列号刚好在新连接的接收窗口,则会令新连接接收的数据混乱。尽管每次建立连接使用的序列号都是随机产生的,但是序列号的长度只有32位,在高速网络上可能很快出现序列号循环。TIME_WAIT状态持续2MSL后,原连接的数据包都已经在网络上消失,不会再干扰新连接。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值