TCP 11种状态转换

这篇博客详细解释了TCP连接的11种状态,包括CLOSED, LISTEN, SYN_SENT, SYN_RCVD, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT, CLOSING, CLOSE_WAIT和LAST_ACK,以及这些状态在网络通信过程中的意义和转换。重点讨论了TCP连接的建立、关闭以及异常关闭时的状态变化。" 49307849,1152058,Android自定义控件:TextView TextSize单位问题解析,"['Android开发', '自定义组件', 'UI设计', '布局管理']
摘要由CSDN通过智能技术生成

在这里插入图片描述
注:实线路线表示客户端的正常状态变迁
虚线路线表示服务端的正常状态变迁

RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。

简单解释:

1 CLOSED:初始状态,表示TCP连接是“关闭着的”或“未打开的”。

2 LISTEN :表示服务器端的某个SOCKET处于监听状态,可以接受客户端的连接。

3 SYN_SENT :这个状态与SYN_RCVD 状态相呼应,当客户端SOCKET执行connect()进行连接时,它首先发送SYN报文,然后随即进入到SYN_SENT 状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT 状态表示客户端已发送SYN报文。

4 SYN_RCVD :表示服务器接收到了来自客户端请求连接的SYN报文。在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat很难看到这种状态,除非故意写一个监测程序,将三次TCP握手过程中最后一个ACK报文不予发送。当TCP连接处于此状态时,再收到客户端的ACK报文,它就会进入到ESTABLISHED 状态。

5 ESTABLISHED :表示TCP连接已经成功建立。

6 FIN_WAIT_1 :这个状态得好好解释一下,其实FIN_WAIT_1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值