《UNP》学习之TCP状态转换
2018-01-07 11:46
162 查看
CLOSED:TCP起始状态
LISTEN:绑定端口后进入listen状态,一般是服务端
SYN_SENT:发送SYN连接请求,主动打开连接的一方进入SYN_SENT
SYN_RCVD:接收到SYN连接请求后进入SYN_RCVD,同时发送SYN,ACK。TCP可从LISTEN和SYN_SENT两个状态进入SYN_RCVD
ESTABLISHED:三次握手成功后进入ESTABLISHED状态
CLOSE_WAIT:被动关闭的一方接收到FIN包后,发送ACK响应,进入CLOSE_WAIT状态
LAST_ACK:顾名思义,在等待最后一个ACK包。CLOSE_WAIT发送FIN包关闭连接后进入该状态
FIN_WAIT_1:主动关闭的一方先发送FIN包,从ESTABLISHED状态进入FIN_WAIT_1
CLOSING:FIN_WAIT_1下是在等待对方的ACK响应和对方的FIN包,FIN包先到的话,两端是同时关闭,FIN_WAIT_1发送ACK响应后进入CLOSING状态,等待一个ACK,然后进入TIME_WAIT状态
FIN_WAIT_2:FIN_WAIT_1下是在等待对方的ACK响应和对方的FIN包,如果ACK先到,进入FIN_WAIT_2状态。这时候的连接处于半连接状态,有一方已经断开连接,但另一方还有数据要传。继续等待FIN包,FIN包到了后,发送ACK,进入TIME_WAIT状态
TIME_WAIT:FIN_WAIT_1下是在等待对方的ACK响应和对方的FIN包,FIN包和ACK包都到了,发送ACK响应后,进入TIME_WAIT状态,等待2MSL然后关闭
TIME_WAIT状态解释
主动关闭连接的一方会进入TIME_WAIT状态,等待2MSL然后彻底关闭MSL是任何IP数据报能够在因特网中存活的最长时间
为什么要等待2MSL?
可靠地实现TCP全双工连接的终止
允许老的重复分节在网络中消逝
相关文章推荐
- UNP卷一学习笔记:TCP状态
- TCP状态转换--值得学习--方便记忆
- (UNP点滴记录) TCP连接建立和终止及TCP状态转换
- TCP状态转换详解
- TCP状态转换流程
- TCP状态转移图学习总结 (转)
- [转]TCP状态转移图学习总结
- 动手学习TCP:客户端状态变迁
- 动手学习TCP:客户端状态变迁
- TCP状态转移图学习总结
- TCP状态转移图学习总结 (转)
- Hibernate学习笔记 - Hibernate中持久化对象的状态转换规则
- TCP 连接建立和断开,以及状态转换
- Tcp状态转换
- TCP状态转换
- 01--TCP状态转换
- TCP状态转换
- 动手学习TCP:TCP特殊状态
- Hibernate学习之对象的状态及其转换
- java多线程学习总结之二:线程状态的转换