Home tcp状态迁移图
Post
Cancel

tcp状态迁移图

TCP建立与断开

建立连接(三次握手)

  • 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
  • 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
  • 完成三次握手,客户端与服务器开始传送数据,也就是ESTABLISHED状态。

连接终止协议(tcp四次挥手)

  • 客户端A发送一个FIN(M),用来关闭客户A到服务器B的数据传送。
  • 服务器B收到这个FIN,它发回一个ACK(M+1),确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
  • 服务器B关闭与客户端A的连接,发送一个FIN(N)给客户端A。
  • 客户端A发回ACK(N+1)报文确认,并将确认序号设置为收到序号加1

TCP状态转移

This post is licensed under CC BY 4.0 by the author.