一句话说清
互联网把数据切成小包,一层负责送到,一层负责不丢不乱。
为什么值得懂
同一批线路,网页和视频的待遇完全不同:网页少一个字要重传,视频掉一帧照样播。差别不在线路,在上面那层选了哪种规矩。看懂 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 发现序号对不上,按超时补回来——你只觉得慢,没觉得内容缺了一块。同一时刻打视频电话,画面会花一下、卡一下再继续,它用的正是 UDP。同一根天线,两种体验,区别在传输层选了哪套规矩。
常见误解
- 以为 TCP/IP 是并列的两个协议:实际分属两层,IP 送到主机,TCP 保证可靠有序。
- 以为 IP 保证数据不丢:IP 是尽力而为,丢了要么由上层重传,要么由应用自己忍下来。
- 以为 TCP 越可靠越好:实时音视频宁可丢帧也不愿等重传,延时比完整性更要紧。
应用场景
- 生活:家里网慢先分清是「丢包重传」还是「带宽不够」——网页一顿一顿多半是前者,视频转圈多半是后者。
- 职场:和工程师对需求时问一句「这条消息允许丢吗」,答案直接决定用 TCP 还是 UDP。
- 写作与创作:写技术或科幻场景,把「握手」「重传」「端口」写具体,比堆「高科技」可信。
关联知识点
- 互联网原理(web-internet,先读它拿到「数据打包、接力送到」的图景)
- 网络安全(cybersecurity,握手与加密挂在同一层上)
- 硬件与软件(hardware-software,网卡与协议栈各管一段)