为什么TIME_WAIT状态到CLOSED状态需要等待2MSL?

为什么TIME_WAIT状态到CLOSED状态需要等待2MSL?

在这里插入图片描述
第一、确保被动方能进入CLOSED状态。
对照上图,主动方我们用A表示,被动方用B表示,在四次挥手协议中,当B向A发送Fin+Ack后,A就需要向B发送ACK+Seq报文,A这时候就处于TIME_WAIT 状态,但是这个报文有可能会发送失败,这时候就需要A等待B来确认是否成功,就需要A等待,而且至少要等待两个最大报文长度(发送过去,再反馈回来),当B没有收到时,B会向A再次发送Fin+Ack报文,而A在2MSL内就可以收到Fin+Ack报文,这时A便重新发送,就能确保B进入CLOSED状态。
第二、防止已失效的连接请求报文段出现在本连接中。
客户端在发送完最后一个ACK确认报文段后,再经过时间2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值