TCP三握四挥手

三次握手
  • 一次握手:客户端发送带有 SYN(SEQ=x) 标志的数据包 -> 服务端,然后客户端进入 SYN_SEND 状态,等待服务器的确认;
  • 二次握手:服务端发送带有 SYN+ACK(SEQ=y,ACK=x+1) 标志的数据包 –> 客户端,然后服务端进入 SYN_RECV 状态
  • 三次握手:客户端发送带有 ACK(ACK=y+1) 标志的数据包 –> 服务端,然后客户端和服务器端都进入ESTABLISHED 状态,完成 TCP 三次握手。

为什么三握四挥?

  • Client 什么都不能确认;Server 确认了对方发送正常,自己接收正常
  • Client 确认了:自己发送、接收正常,对方发送、接收正常;Server 确认了:对方发送正常,自己接收正常
  • Client 确认了:自己发送、接收正常,对方发送、接收正常;Server 确认了:自己发送、接收正常,对方发送、接收正常
    三次握手就能确认双方收发功能都正常,缺一不可

SYN 同步序列编号(Synchronize Sequence Numbers) 是 TCP/IP 建立连接时使用的握手信号

为什么要四次挥手?

TCP 是全双工通信,可以双向传输数据。任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了 TCP 连接。

著作权归JavaGuide(javaguide.cn)所有
基于MIT协议
原文链接:https://javaguide.cn/cs-basics/network/tcp-connection-and-disconnection.html

如果第二次挥手时服务器的ack没有送达客户端,会重新发送fin

为什么第四次挥手客户端需要等待2*msl时间后才进入closed状态?

第四次挥手时,客户端发送给服务器的 ACK 有可能丢失,如果服务端因为某些原因而没有收到 ACK 的话,服务端就会重发 FIN,如果客户端在 2*MSL 的时间内收到了 FIN,就会重新发送 ACK 并再次等待 2MSL,防止 Server 没有收到 ACK 而不断重发 FIN。

著作权归JavaGuide(javaguide.cn)所有
基于MIT协议
原文链接:https://javaguide.cn/cs-basics/network/tcp-connection-and-disconnection.html

相关推荐

  1. TCP挥手

    2024-02-23 12:02:04       51 阅读
  2. 【Http】

    2024-02-23 12:02:04       46 阅读
  3. TCP次握手挥手

    2024-02-23 12:02:04       39 阅读
  4. tcp次握手挥手

    2024-02-23 12:02:04       38 阅读
  5. tcp次握手挥手

    2024-02-23 12:02:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 12:02:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 12:02:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 12:02:04       87 阅读
  4. Python语言-面向对象

    2024-02-23 12:02:04       96 阅读

热门阅读

  1. redis集群部署详细教程

    2024-02-23 12:02:04       46 阅读
  2. 机器学习是什么

    2024-02-23 12:02:04       51 阅读
  3. MongoDB 文档更新update

    2024-02-23 12:02:04       58 阅读
  4. 微信小程序之会议OA首页后台交互

    2024-02-23 12:02:04       53 阅读
  5. Flutter 小计1

    2024-02-23 12:02:04       50 阅读
  6. QT day1

    QT day1

    2024-02-23 12:02:04      55 阅读
  7. Liunx的Apache安装及配置

    2024-02-23 12:02:04       53 阅读