因为TCP是双向通信协议,双方既可以是Client也可以是Server。为了好理解TCP的三次握手建连,假设建连发送方为Client,接收方为Server;

首先应该理解的是三次握手是为了建立双向通信;

  1. 首先Server端是监听状态(Listen):是为了监听Client发送的连接请求报文段。
  2. Client端,需要发送连接请求报文段(包含了同步位SYN=1)(表示Client端可以向Server端传输字节流数据):此时Client端是同步已发送状态(SYN_SENT)
  3. Server端接收到了Client端发送的连接请求报文段,如同意建立连接,需要反馈给Client端一个确认报文段ACK(ACK=1),另外因为是双向通信,所以Server端也要发送一个连接请求报文段SYN给Client端。(表示Server端也可以向Client端传输字节流数据)此时Server端的是同步已接收状态(SYN_RCVD)
  4. Client端接收到了Server端发送的连接请求报文段,也需要反馈一个确认报文段ACK(ACK=1)给Server端。此时Client端到Server端的连接已建立,所以Client端此时是ESTABLISHED(已建立连接)状态
  5. 最后Server端到Client端的连接也已建立,所以Server端此时是ESTABLISHED(已建立连接)状态

快速理解TCP三次握手

相关文章:

  • 2021-09-04
  • 2021-10-31
  • 2021-11-27
  • 2021-07-31
  • 2021-10-04
  • 2021-10-31
  • 2022-01-02
  • 2021-12-22
猜你喜欢
  • 2021-10-12
  • 2021-10-01
  • 2021-09-15
  • 2021-11-19
  • 2021-11-19
相关资源
相似解决方案