TIME_WAIT状态的作用

本文解释了TCP连接中TIME_WAIT状态的作用及其存在的两个主要原因:确保在最后一个ACK丢失后能够接收到对方重新发送的FIN包;确保旧的ACK包不会影响到新的连接。此外还介绍了Berkeley实现的一个例外情况。

TIME_WAIT状态:

  1. 主动关闭的那端最后经历的状态,一般为2MSL秒(1~4分钟).

两个原因:

  1. 保证当最后一个ack丢失后,能收到对端重传的fin包.
  2. 保证ack包消失,不会影响下一个连接.

关于原因2: 重传时间一般为几百毫秒,而延时的数量级可能为几十秒(MSL数量级),所以延迟到达的包可能是曾经的fin包或其他,如果是fin,会影响下一个连接.

例外(源自unp):

如果到达的SYN的序号大于前一连接的结束序列号,berkeley实现将给当前处于time_wait状态的连接启动新连接.rsh命令具备这种能力,RFC1185讲述了其陷阱.

转载于:https://www.cnblogs.com/willaty/p/8006531.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值