• Home
  • Articles
    • 日志
    • 妍小言
    • 舒小书
    • 浩然说
    • 生活日记
  • All Tags

TCP协议简述

02 Jan 2018

Reading time ~1 minute

tcp状态转换图

三次握手

协议相关

  1. 客户端向服务端发送[SYN]报文,申请链接。
  2. 服务端回复[SYN,ACK]报文,确认收到申请。
  3. 客户端回复[ACK]报文,确认收到服务端响应,链接建立成功。

状态相关

  1. 客户端发送了[SYN]报文后状态为:SYN_SEND
  2. 服务端收到了链接请求后状态为:SYN_RCVD

数据传输

协议相关

数据传输为一次[PSH]数据推送和一次[ACK]对方应答。

状态相关

客户端与服务端状态均为ESTABLISHED,表示链接已正常建立。

四次挥手

协议相关

  1. 客户端主动关闭链接,发送[FIN]报文。
  2. 服务端回复[ACK]报文。
  3. 服务端发送[FIN]报文。
  4. 客户端回复[ACK]。

状态相关

  1. 客户端主动发起关闭链接后,状态变更为:FIN_WAIT1
  2. 客户端收到服务端回复到收到服务端关闭链接报文之间,状态变更为:FIN_WAIT2
  3. 客户端给予服务端关闭链接报文回复后,状态变更为:TIME_WAIT,保留2MSL时长
  4. 服务端收到客户端主动关闭请求并给予回复后,状态变更为:CLOSE_WAIT
  5. 服务端发送了关闭链接报文后到收到客户端响应前,状态变更为:LAST_ACK
  6. 最终,客户端和服务端的链接状态都会变更为:CLOSED

注意:关闭链接客户端和服务端的角色是可以互换的,即双方都可以主动发起关闭链接的请求。



tcp