TCP 协议

2022/9/13

# 三次握手:

  1. 客户端向服务器发送syn报文
  2. 服务器收到syn报文后,以自己的syn报文作为应答
  3. 客户端收到syn报文后,发送ACK报文给服务器端,服务器接收到后建立起连接

若只有2次,接收方无法判断发送方是否有正常接受能力,同时如果出现因网络阻塞等问题重复发送报文的情况,服务器端会重复建立连接从而浪费资源

# 四次挥手:

  1. 客户端向服务器端发送FIN报文,此时客户端处于Fin_WAIT1状态,停止发送数据,等待客户端的确定
  2. 服务器收到FIN报文后,向客户端发送SYN报文,此时服务器端处于CLOSE_WAIT状态
  3. 如果服务器发完数据,也想断开连接了,则向客户端发送FIN报文,此时服务器处于LASt_ACK状态
  4. 客户端接收到FIN报文后,向服务器端发送ACK报文,此时客户端处于TIME_WAIT状态,会等待一段时间确保服务器收到后再变为CLOSED状态。服务器收到ACK报文后则关闭连接,处于CLOSED状态