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

TCP三次握手

三次握手详细流程

先记住:

  • SYN:同步序列编号(想建立连接)

  • ACK:确认应答(知道你要连)

  • seq:序列号(标识数据)

  • ack:确认号(期望接收的下一个序号)

📈 三次握手过程(图解版)

【客户端】                                     【服务器】|                                              ||---SYN--->  (我要连接你)                    ||                                              ||<--SYN+ACK--  (好的,我知道你要连)           ||                                              ||---ACK--->  (好的,我也知道你收到了)         ||                                              |
【连接建立完成】                            【连接建立完成】

✏️ 每一步详细解释


第一次握手:客户端 → 服务器

  • 客户端发送一个SYN报文,告诉服务器:

    • 我要建立连接了!

    • 顺便带上一个自己的初始序列号(seq = x)。客户端发出 SYN(seq=x)

    • 客户端发出 SYN(seq=x)
      

第二次握手:服务器 → 客户端

  • 服务器收到后,回复一个SYN+ACK报文

    • 确认收到了你的请求(ACK,ack=x+1)

    • 服务器自己也要发起连接(SYN,seq=y)

服务器发出 SYN(seq=y) + ACK(ack=x+1)

第三次握手:客户端 → 服务器

  • 客户端收到服务器SYN+ACK后,再发一个ACK报文

    • 确认收到了服务器的回应(ack=y+1)

    • 至此双方都知道对方没问题,可以正式通信

      客户端发出 ACK(ack=y+1)
      

🎯 小总结表格

第几次谁发发什么
第一次客户端SYN(seq=x)
第二次服务器SYN(seq=y) + ACK(ack=x+1)
第三次客户端ACK(ack=y+1)

 

📚 为什么不是两次握手?

因为如果只是两次,可能会出现“假连接”

  • 服务器以为客户端要连,其实客户端断了。

  • 服务器会白白耗费资源。

第三次确认,让服务器确定客户端也收到了它的回应,连接才真正可靠!

 

🏗️ 整体一口气总结(人话版)

客户端:「你好,我想连你!(SYN)」
服务器:「收到!我也准备好了!(SYN+ACK)」
客户端:「好,我知道你准备好了!(ACK)」
→ 双方握手成功,开始聊天!

http://www.xdnf.cn/news/3019.html

相关文章:

  • [TxRxResult] There is no status packet! 及 Incorrect status packet! 问题修复
  • 第一章 应急响应- Linux入侵排查
  • 文件基础-----C语言经典题目(11)
  • 前端vue2修改echarts字体为思源黑体-避免侵权-可以更换为任意字体统一管理
  • Linux 权限管理
  • API文档生成与测试工具推荐
  • 提示词工程实战指南:解锁AI创作的隐藏技巧与实例
  • AI驱动全流程基于PLUS-InVEST模型的生态系统服务多情景智能模拟与土地利用优化、论文写作
  • Python3: 函数式编程特性
  • 基于Spring Boot 电商书城平台系统设计与实现(源码+文档+部署讲解)
  • Day16(贪心算法)——LeetCode45.跳跃游戏II763.划分字母区间
  • 异步IO与Tortoise-ORM的数据库
  • Markdown转WPS office工具pandoc实践笔记
  • 从 Pretrain 到 Fine-tuning:大模型迁移学习的核心原理剖析
  • 《数据结构之美--二叉树oj题练习》
  • 数据结构每日一题day13(链表)★★★★★
  • C语言教程(二十二):C 语言头文件详解
  • kafka消息的顺序性如何保持一致的
  • HTML Picture标签详细教程
  • 使用DDR4控制器实现多通道数据读写(十)
  • SpringBoot中获取系统及硬件信息
  • I2C、SPI、UART 协议详解:优缺点与使用场景
  • Git操作指令
  • Nacos源码—2.Nacos服务注册发现分析三
  • 数据库概论速成期中版
  • RHCE第七章:SElinux
  • 初中九年级学生体测准考证照片采集软件使用说明
  • 机器学习之五:基于解释的学习
  • 【codeforces 2104D,E】欧拉筛,字符串上dp
  • 深度剖析 RocketMQ 5.0 之消息进阶:如何支撑复杂业务消息场景?