一句话说清

互联网把数据切成小包,一层负责送到,一层负责不丢不乱。

为什么值得懂

同一批线路,网页和视频的待遇完全不同:网页少一个字要重传,视频掉一帧照样播。差别不在线路,在上面那层选了哪种规矩。看懂 TCP/IP,你就看懂了「谁向谁保证什么」——这是排查「网慢」的第一把刀。

零基础讲解

TCP/IP 不是两个并列的协议,是一套分层的规矩。最常画的四层是:应用层、传输层、网络层、链路层。库罗斯与罗斯在《计算机网络:自顶向下方法》第 3 章把传输层单列成一章,理由很直接:这层决定应用能拿到什么保证

网络层的 IP 只管一件事:把分组送到正确的「主机」。 它只是尽力而为——可能丢、可能乱序、可能重复,一概不负责。IP 首部里的源地址与目的地址就是全部线索,格式在 RFC 791 第 3.1 节规定。IP 像信封上的收件地址,不是挂号信和回执。

传输层的 TCP 管的是另外两件事:可靠与顺序。 它给每个字节编号,收方按号确认,超时没等到确认就重传;三次握手先确认双方都在。史蒂文斯在《TCP/IP 详解 卷 1:协议》第 1 章把这套分工说得很干脆:IP 提供无连接的分组投递,可靠传输由上层自己实现。握手、证书与加密也都挂在这一层,见《网络安全》。

端口是同一台机器上的门牌号。 一个公网地址只能指到你这台机器,指不到「哪个程序」。端口补上这一层:80 给网页、443 给加密网页,一条连接由地址与端口共同标识。家里常是一个公网地址全家共用,靠的是 NAT——路由器改掉地址与端口,替内网设备记账。《互联网原理》讲的「包裹接力」缺的就是这一环。

分层真正的价值在于各自升级。 链路层从网线换到 Wi-Fi,上面三层不用改一行;IPv4 换成 IPv6,改的只是网络层与地址格式,浏览器照旧。TCP/IP 能活四十多年,靠的是把变化关在层内。

边界在哪里? 可靠并不总是划算。视频通话、直播、多人游戏宁可用 UDP:丢一帧就让它过去,比停下来等重传更值。QUIC 就是这么长出来的:在 UDP 之上重建可靠性。TCP 不是不可替代,只是权衡的默认解。

这里有一处长期争论。 讲网络常从 OSI 七层模型讲起,工程里跑的却是 TCP/IP 四层。主流观点是:OSI 更适合教学,TCP/IP 更贴近能落地的实现;两者不是对错之争,是抽象粒度不同。

TCP/IP 四层分工:应用层管业务、传输层管可靠、网络层只管送到主机、链路层管一段线路,换掉哪一层上面都不用改
四层各管一段:越往上越关心内容,越往下越关心怎么把比特送过去;换掉任何一层,上面都不用改。

一个例子

你在电梯里刷网页,信号只剩一格:链路层丢了一半分组,TCP 发现序号对不上,按超时补回来——你只觉得慢,没觉得内容缺了一块。同一时刻打视频电话,画面会花一下、卡一下再继续,它用的正是 UDP。同一根天线,两种体验,区别在传输层选了哪套规矩。

常见误解

  • 以为 TCP/IP 是并列的两个协议:实际分属两层,IP 送到主机,TCP 保证可靠有序。
  • 以为 IP 保证数据不丢:IP 是尽力而为,丢了要么由上层重传,要么由应用自己忍下来。
  • 以为 TCP 越可靠越好:实时音视频宁可丢帧也不愿等重传,延时比完整性更要紧。

应用场景

  • 生活:家里网慢先分清是「丢包重传」还是「带宽不够」——网页一顿一顿多半是前者,视频转圈多半是后者。
  • 职场:和工程师对需求时问一句「这条消息允许丢吗」,答案直接决定用 TCP 还是 UDP。
  • 写作与创作:写技术或科幻场景,把「握手」「重传」「端口」写具体,比堆「高科技」可信。

关联知识点

  • 互联网原理(web-internet,先读它拿到「数据打包、接力送到」的图景)
  • 网络安全(cybersecurity,握手与加密挂在同一层上)
  • 硬件与软件(hardware-software,网卡与协议栈各管一段)