TCP的三次握手和四次挥手

TCP的三次握手和四次挥手

为什么需要三次握手呢?

我们从图中分析 一下:

  1. 发送端发送SYN,接收端确认自己接收正常,对方发送正常
  2. 接收端发送SYN/ACK,发送端确认自己接收正常,对方发送正常。
  3. 发送端发送ACK来建立链接,发送端和接收端都进入Established的状态。

如果不是三次握手会怎么样?
没有第三步的情况,会出现接收端不知道自己的ACK有没有发送正常,无法进入数据传输阶段。

四次挥手

从三次握手也会比较容易懂:

  1. 发送端发送完了数据,想要关闭链接,于是发一下FIN。
  2. 接收端收到FIN之后,先回答了一下ACK收到了,不过我还准备好,等等啊
  3. 接收端处理完成之后,发送说我处理完了,关闭链接?
  4. 发送端接收到说好,然后就关闭链接,恢复一个ACK。接收端收到ACK之后也关闭自己的链接。

为什么要四次握手?

我想这里, 主要的疑问点是为什么第二次为什么先ACK一下。这里主要的原因是如果不ACK,那么发送端将重复发送断开请求。


版权声明:本文为kang389110772原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。