为什么要有TIME_WAIT这个状态
2014-05-24 10:31
1191 查看
1、实现TCP全双工连接的终止。当客户主动中断连接时,根据TCP协议,客户必须接收服务器的FIN信息并给予ACK应答。因此客户需要维护状态信息,以便能回复ACK。如果过程中ACK丢失,它必须能够重传,否则将会产生错误。而处于TIME_WAIT状态没有关闭可以实现。
2、允许老的重复分节在网络中消失。如果一个TCP连接关闭,过了一会又在相同的IP和端口建立新的连接。TCP需要防止之前连接没有传完的数据在新的连接出现。而如果连接处于TIME_WAIT状态,就不会给这个相同IP和端口建立新的连接。之前没有传完的数据将会在TIME_WAIT结束前在网络中消失,因为TIME_WAIT的持续时间是数据的生存时间MSL的两倍。
2、允许老的重复分节在网络中消失。如果一个TCP连接关闭,过了一会又在相同的IP和端口建立新的连接。TCP需要防止之前连接没有传完的数据在新的连接出现。而如果连接处于TIME_WAIT状态,就不会给这个相同IP和端口建立新的连接。之前没有传完的数据将会在TIME_WAIT结束前在网络中消失,因为TIME_WAIT的持续时间是数据的生存时间MSL的两倍。
相关文章推荐
- 服务器端主动关闭连接, 产生的TIME_WAIT状态为什么会占用服务端大量端口?
- 为什么建立TCP连接需要三次握手,为什么断开TCP连接需要四次握手,TIME_WAIT状态的意义
- TCP释放连接时为什么time_wait状态必须等待2MSL时间(阅读笔记)?
- TCP-------为什么会有TIME_WAIT状态 ?
- 为什么TIME_WAIT状态还需要等2MSL才能返回CLOSED状态
- 主动关闭TCP连接的一方为什么要有TIME_WAIT状态
- 25. 为什么客户端在TIME-WAIT状态必须等待2MSL的时间?
- 为什么TCP的TIME_WAIT状态要保持2MSL?
- Time-wait状态(2MSL)一些理解
- TIME_WAIT状态(2MSL)的作用
- TCP协议--TIME_WAIT状态
- TIME_WAIT状态的作用
- 简析TCP协议的TIME_WAIT与CLOSE_WAIT状态
- tcp 协议TIME_WAIT状态详解
- 如何解决TIME_WAIT过多的解决办法(附Socket中的TIME_WAIT状态详解)
- TCP的TIME_WAIT状态
- TCP协议的TIME_WAIT状态详解
- Socket中的TIME_WAIT状态
- TIME-WAIT状态
- TIME_WAIT状态