当前位置: 首页 > article >正文

三握四挥的依次顺序到底是什么呢?

TCP 的三次握手和四次挥手分别是建立连接和终止连接的两个过程。以下是它们的详细步骤和顺序:

三次握手(建立连接的过程)

  1. 第一次握手:客户端发送 SYN

    • 客户端向服务器发送一个 SYN(同步)报文,表示希望建立连接,并发送一个随机的初始序列号。
    • 这个 SYN 报文是请求建立连接的起点。
  2. 第二次握手:服务器回应 SYN + ACK

    • 服务器收到客户端的 SYN 报文后,回应一个 SYN + ACK(同步与确认)报文,表示同意建立连接,并附上自己的初始序列号。同时,它对客户端的 SYN 进行了确认(ACK)。
    • 这是服务器告诉客户端,它准备好进行通信了。
  3. 第三次握手:客户端回应 ACK

    • 客户端收到服务器的 SYN + ACK 报文后,发送一个 ACK(确认)报文,表示它已经确认服务器的序列号,并且客户端和服务器都准备好了,连接成功建立。

四次挥手(终止连接的过程)

  1. 第一次挥手:客户端发送 FIN

    • 当客户端完成数据发送后,它发送一个 FIN(终止)报文,表示不再发送数据,并请求关闭连接。
  2. 第二次挥手:服务器回应 ACK

    • 服务器收到 FIN 报文后,发送一个 ACK 报文,表示确认客户端的 FIN 请求。此时,连接处于半关闭状态,客户端不能再发送数据,但服务器仍可以发送数据。
  3. 第三次挥手:服务器发送 FIN

    • 当服务器完成数据发送后,也发送一个 FIN 报文,表示它也不再发送数据,请求关闭连接。
  4. 第四次挥手:客户端回应 ACK

    • 客户端收到服务器的 FIN 报文后,发送最后一个 ACK 报文,确认服务器的 FIN 请求。此时,连接完全关闭。

总结

  • 三次握手顺序: SYN → SYN+ACK → ACK
  • 四次挥手顺序: FIN → ACK → FIN → ACK

这样,三次握手确保连接建立,四次挥手确保双方的数据都已发送完毕,连接可以安全关闭。


http://www.kler.cn/a/354719.html

相关文章:

  • React+redux项目搭建流程
  • Transformer 和 Attention机制入门
  • 【题库】人工智能训练师练习题
  • 书籍推荐:Kubernetes 修炼手册
  • 重新整理机器学习和神经网络框架
  • 防止密码爆破debian系统
  • Redis 哨兵模式下DB库操作审计
  • 你认为BI不需要建模,那就大错特错了
  • 气膜展览馆——汽车展览的新选择—轻空间
  • 【原创】java+ssm+mysql小区物业管理系统设计与实现
  • 基于panda-gym上手stable-baselines3强化学习框架
  • 简单说说 spring 是如何处理循环依赖问题的(源码解析)
  • Unity 2D角色的跳跃与二段跳示例
  • Springboot 整合 Java DL4J 实现物流仓库货物分类
  • 论文翻译 | LARGE LANGUAGE MODELS ARE HUMAN-LEVELPROMPT ENGINEERS
  • 计算机网络自顶向下(4)---应用层HTTP协议
  • Nginx在Windows Server下的启动脚本
  • 20201017-【C、C++】跳动的爱心
  • Git推送被拒
  • exists在sql中的妙用
  • Linux笔记---vim的使用
  • OpenHarmony 入门——ArkUI 自定义组件内同步的装饰器@State小结(二)
  • vue使用gdal-async获取tif文件的缩略图
  • 【系统架构设计师】案例分析考点情况分析和解题技巧(包括2009~2024年考点详情)
  • 详解UDP-TCP网络编程
  • 【C#生态园】提升数据处理效率:C#中多款数据清洗库全面解析