TCP 和 IP 这两个“代表协议”

67 阅读3分钟

为什么需要 TCP 和 IP?

  • 问题背景
    网络通信的目标是:两台计算机之间的应用能够可靠收发数据
    但这个目标被分解成两部分:

    1. 数据如何从一台机器送到另一台机器? → 这是“寻址 + 路由”的问题。
    2. 数据如何保证可靠、完整、按顺序交付给应用? → 这是“传输保障”的问题。
  • 解决思路

    • 第一类问题由 IP 协议 负责(找到对方,送到对方机器)。
    • 第二类问题由 TCP 协议 负责(保证传得稳、收得好)。
    • 两者一结合,应用层就能“安心地”用。

IP 协议的作用(网络层核心)

IP = Internet Protocol,它是“寄信”的人:

  1. 负责寻址(找到目的地)

    • 每个设备都有唯一 IP 地址,IP 就像“门牌号”。
    • 通过路由器层层转发,数据能从北京的电脑跑到东京的服务器。
  2. 负责分片(把大包拆小包)

    • 底层网络(以太网帧)能承载的数据有限,比如 1500 字节。
    • 如果要发一个 5MB 的文件,IP 会帮忙拆成一片片小包。
  3. 不保证可靠

    • IP 协议是“尽力而为”的,包可能丢、乱序、重复。
    • 所以你不能只靠 IP,必须要更高层来兜底。

👉 形象理解:IP 就像 快递公司负责把快递从城市A送到城市B,但不保证中途不丢件。


三、TCP 协议的作用(传输层核心)

TCP = Transmission Control Protocol,它是“管家”:

  1. 建立连接(三次握手)

    • 确认双方都准备好通信,才正式开始。
    • 相当于打电话前先“喂喂喂,你能听见吗?”
  2. 可靠传输

    • 丢包重传:如果包没收到,会重发。
    • 顺序保证:收到的包会按顺序拼好。
    • 数据校验:坏掉的包会丢弃并重传。
  3. 流量控制

    • 防止发送方太快,接收方缓冲区爆掉。
    • 就像老师讲课要看学生能不能跟上。
  4. 拥塞控制

    • 如果网络太堵,TCP 会自动“减速”,避免雪崩式拥塞。
    • 就像开车上高速,车多时要限速。

👉 形象理解:TCP 就像 快递管家负责保证快递安全送达、按顺序摆好、丢了就补发


TCP 和 IP 的关系(强绑定组合)

  • IP 负责“去哪” (定位目标设备)。

  • TCP 负责“怎么传” (可靠交付应用)。

  • 两者结合,就是 TCP/IP 协议族的核心骨架

    • IP 就像“把信送到对方的门口”;
    • TCP 就像“确保信件完整交到屋里的人手上”。

一个实际场景

比如你访问 www.baidu.com

  1. 你的浏览器发出 HTTP 请求 → 应用层。

  2. HTTP 数据交给 TCP:

    • TCP 拆成多个段(segment),打上序号。
  3. TCP 段交给 IP:

    • IP 加上源地址、目标地址,打包成数据包(packet)。
  4. 数据包交给链路层 → 网卡发出帧(frame)。

  5. 网络中转发 → 对方 IP 收到 → TCP 负责重组。

  6. TCP 把完整的数据交给应用层的 HTTP。

👉 结果:你能在浏览器里看到完整网页。


总结

  • IP:定位、寻址、传送,像“快递员送货上门”。
  • TCP:保证可靠、顺序、完整,像“快递管家负责对账收货”。
  • 两者配合:应用层不用操心底层细节,专心“做应用”。