最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

TCP的四次挥手中的等待2MSL

IT圈 admin 9浏览 0评论

TCP的四次挥手中的等待2MSL

为什么time_wait需要等待2MSL?

MSL:一个最大的生命周期,30秒--1分钟

1、保证TCP协议的全双工连接能够可靠关闭。

如果主动关闭方和被动关闭方的最后的一个确认(ack)包不等待2MSL时间的话,没发关闭。

如果说主动关闭方发送ack包给被动关闭方,被动关闭方没有收到请求,就会请求主动关闭方重传这个数据包,等待2MSL是说如果遇到这种数据包的丢失,还可以重传数据包。

如果不等待2MSL的话,遇到数据包丢失,就不可以重传数据包。那么被动关闭方就会一直保持一个LAST_ACK状态,就一直没法进行CLOSE状态,也就是它的资源没有办法释放。

 

2、保证这次连接的重复数据段从网络中消失。

客户端的A端口会话已经结束了,然后客户端又重新建立起会话并且连接的还是之前的服务器,并且重新使用的端口

还是A端口。然后恰巧之前的FIN包发生了一次重传,这时新会话就会产生影响。如果等待2MSL的话,就保证重传的

数据包一定不会再出现。这样保证重新建立会话会有一个稳定的状态。

TCP的四次挥手中的等待2MSL

为什么time_wait需要等待2MSL?

MSL:一个最大的生命周期,30秒--1分钟

1、保证TCP协议的全双工连接能够可靠关闭。

如果主动关闭方和被动关闭方的最后的一个确认(ack)包不等待2MSL时间的话,没发关闭。

如果说主动关闭方发送ack包给被动关闭方,被动关闭方没有收到请求,就会请求主动关闭方重传这个数据包,等待2MSL是说如果遇到这种数据包的丢失,还可以重传数据包。

如果不等待2MSL的话,遇到数据包丢失,就不可以重传数据包。那么被动关闭方就会一直保持一个LAST_ACK状态,就一直没法进行CLOSE状态,也就是它的资源没有办法释放。

 

2、保证这次连接的重复数据段从网络中消失。

客户端的A端口会话已经结束了,然后客户端又重新建立起会话并且连接的还是之前的服务器,并且重新使用的端口

还是A端口。然后恰巧之前的FIN包发生了一次重传,这时新会话就会产生影响。如果等待2MSL的话,就保证重传的

数据包一定不会再出现。这样保证重新建立会话会有一个稳定的状态。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论