tcp TIME_WAIT状态存在的两个理由



tcp TIME_WAIT状态存在的两个理由:
1)如果TCP打算执行所有必要的工作以彻底终止某个连接上两个方向的数据流,那么必须正确处理连接终止序列4个分组中任何一个分组丢失的情况。

如图所示,如果服务器没有接收到最后一个ACK,会重发FIN,假设此时客户端不在TIME_WAIT状态,则无法再回复ACK,那么四次握手终止不会完成。


2)假设一个tcp连接在终止之后,在相同IP和端口之间建立了另一个连接。假设此时前一次连接的某个分组由于路由迷失后又重新找到路由,到达该新连接的某一端,则会对该连接造成影响(如果是FIN呢)。为了避免这种情况发生,所以保持TIME_WAIT时间,这个时间是MSL的两倍,理论上大于TTL跳跃结束所需时间,从而让老的分组在网络中消逝。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值