三次握手

    1. 客户端 Seq_Num = client_isn, SYN = 1 服务端
    1. 服务端 Seq_Num = server_isn, Ack_Num = client_isn + 1, SYN + ACK 客户端
    1. 客户端 Ack_Num = server_isn + 1, ACK 服务端

为什么需要三次握手

  • 三次才可以阻止重复历史连接的初始化(主要)
  • 同步双方初始序列号
  • 避免资源浪费
  • 三次才可以阻止重复历史连接的初始化
    • 网络拥塞环境下,客户端两个连续的报文过去,旧的报文被响应后直接就开始发送数据,这样就造成了服务端资源浪费
  • 同步双方初始序列号
    • 去除重复发送的数据
    • 按照序列号顺序接收

四次挥手

  • 客户端 FIN 服务端 ACK
  • 服务端 FIN 客户端 ACK
  • Wait 2ms
  • CLOSE