TCP的状态迁移图

TCP状态包括11个阶段,通过三次握手和四次挥手实现连接和断开。客户端从CLOSED到SYN_SENT,收到服务器的SYN和ACK后进入ESTABLISHED。断开时,客户端发送FIN进入FIN_WAIT_1,根据服务器响应进入不同状态,最终在TIME_WAIT等待2MSL后关闭。服务器端则从LISTEN到SYN_RCVD,接收到ACK后进入ESTABLISHED,收到FIN进入CLOSE_WAIT,发送FIN并收到ACK后关闭。
摘要由CSDN通过智能技术生成

TCP的状态迁移不复杂。
TCP有11个状态,这些状态在TCP的三次握手和四次挥手里面都牵涉到。这些状态之间的迁移就是三次握手和四次挥手的过程。
再回顾一下三次握手和四次挥手的过程吧http://blog.csdn.net/u010902721/article/details/45955681
然后对照着看。
这里写图片描述
先看图下方的图例,实线表示客户端的状态迁移图,虚线表示服务器的状态迁移图。先分开来看再与三次握手、四次挥手对照着看就清晰多了。

客户端:

连接

  1. client初始处于CLOSED状态,调用connect()函数向服务器发送连接请求(应用进程主动打开,发:SYN)后进入SYN_SENT。
  2. 收到来自服务器的确认报文(收:SYN,ACK)后,回复ack(发:ACK),然后进入ESTABLISHED状态。
  3. 如果收到的报文(收:SYN)只有SYN没有ACK,客户端就进入了SYN_RCV状态,如果再收到RST报文就进入了LISTEN状态;如果应用程序关闭,则进入FIN_WAIT_1状态。这些都是非正常的状态迁移。

断开

  1. 调用close()函数发送FIN报文,进入FIN_WAIT_1状态,此时有三个路径,根据收到的确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值