什么是 TCP?
TCP(Transmission Control Protocol,传输控制协议) 是互联网的核心协议之一,属于 传输层(Transport Layer)。
它的主要作用是:
在两台计算机之间 可靠、有序、无差错地传输数据。
TCP 就像一个负责、聪明的快递员,确保每一份数据包都完整、安全地送到目的地。
TCP 的核心特性
| 特性 | 说明 |
|---|---|
| ✅ 面向连接 | 通信前必须建立连接(三次握手),通信结束要关闭(四次挥手) |
| 🔁 可靠传输 | 确保数据不丢失、不重复、顺序正确 |
| 📦 流量控制 | 根据接收方处理能力动态调整发送速度(滑动窗口) |
| 🚦 拥塞控制 | 避免网络拥堵,自动调整发送速率 |
| 🔄 全双工通信 | 双方可同时发送和接收数据 |
| 🧮 面向字节流 | 数据以连续的字节流形式传输,而非独立数据包 |
TCP 的“可靠传输”机制
TCP 能在不稳定的网络环境下保证数据可靠性,主要依赖以下机制 👇
| 机制 | 功能 | 举例说明 |
|---|---|---|
| 序列号(Sequence Number) | 给每个数据包编号,保证顺序传输 | 包 ① 序号 1001 → 包 ② 序号 1002 |
| 确认应答(ACK) | 接收方回复“我收到了” | ACK=1002 表示已收到前一包 |
| 超时重传 | 超时未收到确认则重发 | 没收到 ACK → 重新发包 |
| 流量控制(Sliding Window) | 防止对方来不及接收 | 根据接收方窗口大小调整发送速率 |
| 拥塞控制 | 防止网络过载 | 网络忙时减速,空闲时加速 |
TCP 的连接过程
1️⃣ 三次握手(建立连接)
|
|
2️⃣ 四次挥手(断开连接)
|
|
TCP 与 HTTP 的关系与区别
| 对比项 | TCP | HTTP |
|---|---|---|
| 协议层级 | 传输层 | 应用层 |
| 功能 | 负责“怎么传”数据 | 负责“传什么”数据 |
| 关系 | HTTP 基于 TCP 实现 | TCP 为 HTTP 提供可靠传输通道 |
| 举例 | 电话线路 | 对话内容 |
| 默认端口 | 不固定 | 80(HTTP) / 443(HTTPS) |
✅ HTTP 依赖 TCP 来确保网页数据能够可靠地从服务器传到浏览器。
TCP 文字示意图回顾
|
|
👉 最终数据恢复为:
|
|
总结一句话
TCP 是互联网的可靠传输基础。 它通过“编号、确认、重传、流控、拥塞控制”等机制, 确保数据在复杂的网络环境中依然能安全、有序、完整地抵达目标。
📦 形象比喻:
TCP 是快递系统(负责安全运输) HTTP 是包裹内容(网页、图片、视频等)