---
title: "TCP 的发明者退休了，但他当年漏掉了一样东西"
description: "借 Vint Cerf 退休回顾 1986 年互联网拥塞崩溃：TCP 只管消息到没到而不管网络堵不堵，重传风暴让速度暴跌千倍，Van Jacobson 的慢启动算法沿用至今。"
date: 2026-07-13T11:10:29Z
canonical: https://xiaobox.github.io/p/2026-07-13-tcp-de-fa-ming-zhe-tui-xiu-le-dan-ta-dang-nian-lou-diao-le-y/
author: 小盒子
categories: ["系统底层"]
tags: ["TCP", "拥塞控制", "互联网史"]
license: CC BY-NC-SA 4.0
license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/
---

# TCP 的发明者退休了，但他当年漏掉了一样东西


![TCP 拥塞崩溃封面，LBL 与 UC Berkeley 之间打结的网络线](https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/tcp-cover.jpg)

前几天，一个叫 Vint Cerf 的老头从 Google 退休了。

83 岁，在 Google 待了 20 年。

大部分人没听过这个名字。但你今天能打开这篇文章，跟他有直接关系。

1973 年，Cerf 和 Bob Kahn 一起设计了 TCP/IP。就是现在你手机、电脑、所有联网设备底层都在跑的那套协议。没有它，互联网不存在。

这个人有几个挺有意思的细节。

70 年代在斯坦福的时候，同学们都留长发穿牛仔裤搞反文化运动。Cerf 反着来，每天穿三件套西装上课。别人用长发叛逆，他用西装叛逆。

![](https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/20260713190304677.png)

他有严重的听力障碍，妻子也是聋人。有人说，这大概是他对「让不同系统说上话」这件事格外执着的原因之一。

TCP/IP 干的就是这个事，让两台本来互相听不懂的电脑，能互相通信。

但 Cerf 设计这套协议的时候，漏掉了一样东西。

1986 年，这个漏洞差点把整个互联网杀死。

1986 年 10 月，美国加州，从 Lawrence Berkeley 实验室到加州大学伯克利分校之间的网络突然出了问题。

这两个地方隔多远呢？400 米。中间只有两跳路由。

正常情况下，这条线的传输速度是 32Kbps。那个年代这已经算快了。

但那个月，速度掉到了 40bps。

注意，不是 40Kbps，是 40bps。

降了将近 1000 倍。

一封几分钟就能发完的邮件，要传一整天。当时很多人开始说，互联网根本没法扩展，这条路走不通了。

但问题不是硬件坏了，也不是有人搞破坏。

是所有电脑都在同时喊话。

TCP 有一个机制，数据包发出去以后，如果没收到对面的确认，就重发一次。这个设计很合理，对吧？消息没送到就再发一次，很负责任。

但当网络堵了的时候，路由器开始丢包。

丢包触发重传。重传让网络更堵。更堵导致更多丢包。更多丢包又触发更多重传。

一个往下转的死循环。

![TCP 拥塞崩溃的死循环](https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/tcp-congestion-collapse.png)

Van Jacobson，当时在 Lawrence Berkeley 实验室的一个网络研究员，后来这样形容这件事，

「就像往着火的地方浇汽油。」

每台电脑都在做「正确」的事，消息没到就重发，这不是 TCP 该做的吗？

但每台电脑各自的「正确」，加在一起变成了集体的灾难。

Cerf 在 1973 年设计 TCP 的时候，协议只管「消息到没到」，不管「现在网络堵不堵」。这个漏洞在用户少的时候根本不会暴露。10 个人同时说话，400 米的路够宽。

但用户一多，路不够用了，所有人的重传就会互相踩踏。

Jacobson 花了两年搞清楚这件事，然后给出了一个反直觉的修复方案。

他叫它 slow start，慢启动。

每个 TCP 连接刚建立的时候，不要一上来就全速发数据。先发一个包。对面确认收到了，发两个。再确认，发四个。一步步试探，直到接近网络的承受上限。

一旦发现丢包了，立刻把速度砍一半，重新慢慢来。

![TCP slow start 慢启动曲线](https://xiaobox-public-images.oss-cn-beijing.aliyuncs.com/images/tcp-slow-start.png)

要让网络变快，你得先让每台电脑学会慢下来。

1988 年，Jacobson 把这套算法写进了 BSD 内核。几百行代码。

互联网活过来了。

你今天用的每一个联网设备，底层 TCP 跑的还是这套逻辑。连接刚开始先慢，确认没问题再加速，发现拥堵就减速。将近 40 年了，没变过。

回到 Cerf。

他退休的时候有一场告别演讲，说了一句话，大意是，

「AI Agent 之间不应该用自然语言互相对话，那就像玩传话游戏，信息一定会走样。你们需要标准化协议。」

53 年前，他设计了让机器说上话的协议。

但他从 1986 年那场事故里学到的教训，到今天还是同一个，

光能说话不够。还得知道什么时候该安静下来，一个一个慢慢说。


