news 2026/6/25 2:23:53

初识 TCP 协议:从“听说过”到“真正认识它”,新手也能看懂的入门笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初识 TCP 协议:从“听说过”到“真正认识它”,新手也能看懂的入门笔记

初识 TCP 协议:从“听说过”到“真正认识它”
(新手友好版 · 2026 年依然适用的核心理解)

大多数人第一次听到 TCP 的时候,只知道两件事:

  1. 它和 IP 一起叫 TCP/IP
  2. 它好像很可靠

但真正理解它需要把下面这 7 个核心画面建立起来。

第一画面:TCP 到底在解决什么问题?

互联网最底层的 IP 协议只负责两件事:

  • 把数据包从 A 送到 B(寻址 + 路由)
  • 不保证一定送到、不保证顺序、不保证不重复、不保证不损坏

TCP 在 IP 之上补上了这四件事:

IP 做不到的TCP 补上的能力通俗说法
包可能丢失确认 + 重传“你收到了吗?没收到我再发”
包到达顺序可能乱序号 + 重新排序“这是第几号包裹,先排好队”
包可能重复去重“同一个包裹别收两次”
包可能损坏校验和“内容是不是被人改过?”

一句话总结:
TCP 把不可靠的 IP 网络,伪装成了可靠的字节流管道

第二画面:TCP 最著名的“三次握手”

很多人背了口诀却没记住本质。

三次握手的真正目的是:

双方互相确认对方的“发送”和“接收”能力都正常

步骤发送方内容含义(最通俗解释)对方学到了什么
1客户端 → 服务端“你好,我要跟你说话(SYN)”服务端知道:客户端能发
2服务端 → 客户端“好的,我也想跟你说话(SYN+ACK)”客户端知道:服务端能收 + 能发
3客户端 → 服务端“太好了,那我们开始吧(ACK)”服务端知道:客户端收到了我的回复

少了哪一次都不行:

  • 没第1次 → 服务端不知道有人想连它
  • 没第2次 → 客户端不知道服务端是否活着
  • 没第3次 → 服务端不知道客户端是否真的收到了确认

第三画面:TCP 头部最重要的 6 个标志位

(新手最容易混淆的部分)

标志位英文含义(最接地气的说法)常见出现场景
SYNsynchronize“我想建立连接” / “这是新连接的第一个包”三次握手第1、2步
ACKacknowledgment“我确认收到你前面发的序号为 X 的数据了”几乎每个 TCP 包都有
FINfinish“我发完了,想优雅地结束连接”四次挥手第1、3步
RSTreset“出大事了!连接作废!马上断开!”端口未监听、异常拒绝等
PSHpush“别等了!赶紧把数据交给应用程序!”一般配合小包发送
URGurgent“紧急数据!优先处理!”(现在几乎不用了)极少见

记住口诀:“SYN 开门,FIN 关门,RST 踹门,ACK 点头”

第四画面:可靠传输的两大核心机制

  1. 序号 + 确认应答(Seq + Ack)

    • 每个字节都有编号(不是每个包)
    • 接收方告诉发送方:“我已经连续收到到第 X 字节了”
    • 发送方据此判断哪些需要重传
  2. 滑动窗口(Sliding Window)

    • 不用等上一个包确认才发下一个(效率高)
    • 窗口大小 = 对方还能接收多少字节
    • 窗口不断向前滑动 → 实现流量控制 + 拥塞避免

第五画面:四次挥手(为什么不是三次?)

步骤谁发含义(最直白版)为什么需要这一步
1主动方“我发完了,不发了(FIN)”
2被动方“收到,我知道了(ACK)”告诉对方“我收到你结束的请求了”
3被动方“我也发完了,不发了(FIN)”
4主动方“好的,彻底结束(ACK)”告诉对方“我也知道你结束了”

关键点:被动方第2步和第3步不能合并,因为它可能还有数据要发完。

第六画面:最容易混淆的对比表

对比项TCPUDP
是否连接面向连接(有握手挥手)无连接
是否可靠是(重传、排序、去重、校验)
传输单位字节流(无边界)数据报(有明确边界)
头部开销20~60 字节8 字节
速度较慢
典型应用HTTP/HTTPS、SSH、MySQL、邮件DNS、视频直播、游戏、语音通话

第七画面:新手最常问的几个问题速答

  1. 为什么建立连接要三次而不是两次?
    两次只能确认客户端→服务端单向通,双向通必须三次。

  2. 为什么关闭连接要四次而不是三次?
    因为关闭是双向独立的,任何一方都可以先说“我不发了”,另一方可能还有话要说。

  3. TIME_WAIT 是什么鬼?
    第四次挥手发完 ACK 后,主动关闭方进入 TIME_WAIT 状态(通常 1–4 分钟),防止最后一个 ACK 丢失导致被动方不停重发 FIN。

  4. SYN洪泛攻击是怎么回事?
    攻击者疯狂发 SYN,不完成三次握手 → 服务端半连接队列被占满 → 正常用户连不上。

总结一句话(背下来)

TCP 是一个工作在 IP 之上的、面向连接的、可靠的、基于字节流的、双向通信协议,它用三次握手建立连接、四次挥手断开连接,用序号+确认+滑动窗口来保证数据不丢、不乱、不重。

如果你现在能记住上面这句 + 三次握手 + 四次挥手 + SYN/ACK/FIN/RST 这四个标志位,
就已经超过 80% 的“听说过 TCP” 的人了。

想继续深入哪个部分?

  • 滑动窗口和拥塞控制的图解
  • 抓包看真实三次握手(推荐工具)
  • TCP 粘包/拆包到底是怎么回事
  • 常见面试题(TIME_WAIT、SYN Cookie 等)
  • TCP vs QUIC 对比(现代 HTTP/3 用的是谁)

告诉我你最想搞懂的下一个点~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 15:37:17

3.14 ConfigMap和Secret实战:应用配置管理和敏感信息处理

3.14 ConfigMap和Secret实战:应用配置管理和敏感信息处理 引言 ConfigMap和Secret是Kubernetes中用于管理配置数据和敏感信息的资源对象。ConfigMap用于存储非敏感配置,Secret用于存储敏感信息如密码、密钥等。本文将详细介绍这两个资源的使用方法和最佳实践。 一、Config…

作者头像 李华
网站建设 2026/6/23 15:35:40

干膜VS湿膜:小尺寸PCB小焊盘解析度与制程极限对比

小尺寸PCB的核心特征是尺寸微型化、图形高密度化,小焊盘作为元器件焊接的关键结构,其解析度直接决定 PCB 的组装良率与产品可靠性。在 4–8 层高阶 HDI 小尺寸 PCB 制造中,干膜与湿膜是两种主流的抗蚀工艺。作为长期负责小尺寸 PCB 量产的工程…

作者头像 李华
网站建设 2026/6/23 15:35:40

AI智能名片链动2+1模式小程序在消费者商家全链路互动中的应用研究

一、摘要与关键词 本研究旨在探讨 AI 智能名片链动 21 模式小程序在消费者商家全链路互动中的应用机制。通过理论分析与案例验证相结合的研究方法,重点考察该模式在优化互动体验、降低获客成本及提升转化效率方面的作用。研究发现,该模式通过多模态互动…

作者头像 李华
网站建设 2026/6/23 17:03:59

AR/VR应用界面测试工具的五大技术演进方向

1. 多模态交互仿真引擎 传统点击测试已无法满足空间交互需求,新一代工具需集成: 手势与眼动耦合分析:通过Leap Motion SDK与Tobii眼动仪数据融合,量化“注视-手势触发”延迟对操作效率的影响 跨模态同步验证:建立视觉…

作者头像 李华
网站建设 2026/6/23 17:03:36

基于扩散模型与稀疏特征表示的强噪声小样本轴承故障诊断

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 成品或定制,查看文章底部微信二维码 (1) 基于多因子进化优化的多正则化稀疏重构信号降噪方法 滚动轴承在复杂工业…

作者头像 李华