三次握手和四次挥手

发布时间 2023-03-31 14:52:54作者: icewei

TCP的三次握手和四次挥手实质就是指TCP通信的连接和断开


三次握手

  • 第一次握手
    客户端发送一个带有SYN标志的数据包给服务端。
  • 第二次握手
    服务端成功接收到数据包后,回传一个带有STY标志的数据包确认信息,表示我已经接收到了。
  • 第三次握手
    客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
    其中,SYN标志数置1,表示TCP链接;ACK表示验证字段。
    示意图
    img

四次挥手

  • 第一次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传输,客户端进入FIN_WAIT_1状态

  • 第二次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态

  • 第三次挥手:服务端发送一个FIN给客户端,用来关闭客户端和服务端之间的数据传送,服务端进入LAST_ACK状态

  • 第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到的序号+1,服务端进入CLOSED状态,完成四次挥手。
    示意图
    img