2ndOpinion.FYIEN登录
genius.wiki

#5 1983 · ARPANET · Computing

一个 flag day 让所有网络并到 TCP/IP 上,互联网就此诞生

问题

各网络之间彼此说不上话

背景

ARPANET 跑在 NCP 上,这是为单一封闭网络的研究站点群设计出来的协议,没法跟国防部后来上马的其他分组交换网络互联;而且 NCP 分组与 Cerf 和 Kahn 为互联这桩事专门设计的 TCP/IP 套件在结构上互不兼容。只讲一种协议的主机,根本没法寻址到只讲另一种协议的主机——没有双模回退可用。

组织者定的是一个硬性截止日期,而不是滚动日期:ARPANET 大约 400 台主机、由几十个各自独立管理的大学和实验室分别运营,到 1983 年 1 月 1 日这天,每一台都得把软件换成 TCP/IP。不存在分阶段的共存选项——整个网络同时过一个单一的「flag day」,是全用户群体统一协调,而不是一个站点一个站点地来。

换别人会怎么做

做渐进式迁移:让每个站点按自己的节奏换到 TCP/IP,同时并行保留 NCP 支持——大多数大型协议迁移都是这么处理的。在这里行不通,因为 NCP 和 TCP/IP 分组结构上互不兼容,没有双模回退——先切换的主机根本没法跟还没换的主机说话,所以滚动迁移并不减轻痛苦,它只是把网络无法完全互联的困境拖得更久而已。

他们看到了什么

两个协议之间搭不起兼容桥,渐进式铺开其实并不更温柔——它只是把同一个「非此即彼」的不兼容问题拉长到一个没有期限的时间段,这段时间里网络全程处于部分瘫痪,而不是一次性彻底瘫痪。逼出一个硬性截止日期,把一段无法预料、四处漏水的失调,压缩成一件短暂、完全可排期、人人都能一起准备的事件。

那一手

TCP/IP flag day:连入的每个网络同一天全部切换到同一种互联网协议。

为什么管用

协议之间没有回退,任何先于同伴切换的主机都会失去与它们的通路,所以只要还有落后站点,错峰采用就必然持续破损。定下一个公开的截止日期,让每个站点在同一窗口里准备并切换,就把不兼容期限定在 flag day 当天,而不是一段无法预料的拖延尾巴。由于不存在可以拖延的技术选项——没有可依赖的双栈安全网——一个共同的截止日期用协调替代了那层不存在的兼容层,这正是实际切换比组织者预想顺利的原因:开关拨下去时,人人早都把活干完了。

值了多少

异构网络变成同一个互联网;「分组」这个盒子标准化了,里面的内容不再受限。

什么时候会失灵

只有当新旧之间的兼容桥确实造不出来、或造价高到不值得造时,这个做法才成立——只要双栈共存可行(后来 IPv6 就是这样),渐进式铺开就不必逼着全体人类在同一天搬迁,通常也更稳妥。它还取决于受影响的群体够小、够好协调,一个截止日期才能真正传达给每个人、并由每个人兑现——ARPANET 大约 400 台主机、由相互协作的研究机构运营,能围绕一个日期组织起来,而规模大得多、也分散得多的网络做不到,一旦开关拨下,错过了截止日期的落后者就只能被抛下、没有回头路。

后来呢

这次切换比担心的顺利——Vint Cerf 后来回忆,主要情绪是如释重负,「没有盛大的庆祝,我连一张照片都找不到」——唯一可见的纪念物是「我挺过了 TCP/IP 切换」的纪念徽章,这一天现代互联网的寻址层正式上线。「Flag day」从此进入网络工程词汇,用来指任何那种硬性、无回退的协议切换;后来互联网规模的迁移,包括长达数十年的 IPv6 过渡,都改用缓慢的双栈共存,而不是再复制一次强迫式的单次切换。

资料来源

  1. [1]30 years ago, at flip of a switch, the internet as we know it WAS BORNThe Register, 2013theregister.com
  2. [2]ARPANET standardized TCP/IP on this day in 1983Tom's Hardware, 2026tomshardware.com
  3. [3]Flag day (computing)Wikipedia, 2024en.wikipedia.org

收下它

同一路聪明

返回档案库