摘要

  • 1983 年的截止日能约束 ARPANET,是因为出资并运营该网络的一方可以让 IMP 停止处理 NCP;它无权让独立网络因未采用 TCP/IP 而“失效”。
  • RFC 801 把软件实现责任留给各主机机构,同时用双协议中继、应用服务、连续测量和试停把迁移风险逐步暴露出来。
  • 截止日没有制造完美状态:服务探测远非朴素意义上的百分之百,NIC 的主机表分发出错,真实用户负载也暴露了测试没有发现的性能问题。

当旧软件仍在,服务却不再

一台只会 NCP 的主机,在 1982 年末可能仍有完好的程序、接入线路和用户账户。到了切换边界之后,这些条件仍不足以换来通信。下层网络不再受理旧协议,主机便离开了当前的兼容集合。决定性的变化不是文档写了什么,而是运行设备开始怎样处理包。

Vint Cerf 后来在 Computer History Museum 的口述访谈中回忆,ARPANET 的 Interface Message Processor 有办法拒绝或不服务旧的 NCP 端到端协议。1982 年年中,网络曾把 NCP 停掉整整一天;大约到 10 月,又做过约两天的试停。尚未迁移的人失去电子邮件,抗议声随之而来。演练的价值正在这里:它把未来威胁变成了可归因、可观察的当下损失。

这段回忆不是逐秒运行日志。Cerf 对日期使用了近似说法,也提到正式切换后仍给少数软件困难的机器留过例外。因此,“Flag Day”不该被写成全球网络在午夜整齐翻面。它是一项有演练、有过渡设施、有例外、有后续修复的 ARPANET 运营工程。

NCP 的能力边界就是 ARPANET 的边界

NCP 并非只是“旧版 TCP”。它围绕 ARPANET 的主机—主机服务与寻址环境建立。与此同时,ARPA 资助的研究已经拥有分组无线网、卫星网和局域网。这些网络的底层传输方式不同,若要让它们保持各自结构又能彼此通信,就不能继续把一个子网的主机协议当成所有网络的共同层。

RFC 801 把 1973 年开始的工作描述为 IP 与 TCP 的形成。RFC 791 规定互联网数据报,RFC 793 把可靠传输放在端点。两者让不同底层网络上的主机共享一种进程间通信环境,而不要求无线、卫星、以太网和 ARPANET 变成同一套物理设备。RFC 801 把这个互联集合称作 ARPA Internet,也称 “Catenet”。

这解释了为什么无限期保留 NCP 不是无成本的宽容。每一项 NCP 依赖都要求服务主机、名称表、中继、账号和运维人员继续维护两套环境。延迟迁移的机构把一部分成本转给了桥接两端的人。

美国国防部已经把 IP/TCP 采纳为国防部数据包网络的标准,并计划让新建网络只使用这套协议。对于自己出资、承包并管理的 ARPANET,它可以把协议兼容设为继续获得服务的条件。这种权力来自明确的资产与责任边界,不来自 RFC 作者对世界的抽象管辖。

中央设终点,各站点完成迁移

RFC 801 没有把实现劳动虚构成中央能力。它明确要求每个主机机构为自己的机器实现 IP/TCP。操作系统各不相同,主机到 IMP 的接口各不相同,应用与人员也各不相同。共同计划能确定目标行为与结束日期,却不能代替各地移植代码、调试驱动和训练支持团队。

仅有 IP 与 TCP 还不够。Telnet、文件传输和邮件必须在新环境里可用。用户不会因为实验包能够往返就认为迁移完成;他们要能登录远端、搬运文件、发送邮件。

邮件把连续性要求推到了最前面。RFC 773 要求既有的 ARPANET 邮箱名称继续工作,在过渡期保留旧式邮件机制,并尽可能让 NCP 与 TCP 之间的转发不需要用户干预。新技术必须先承接旧系统已经创造的社会用途,淘汰才有运营正当性。

于是出现了双协议中继。TCP 侧的 Telnet 用户可先登录中继,再以 NCP 连接目标;文件可分两段复制;邮件转发器可在一侧接收、排队,再从另一侧投递。迁移无需所有主机同时完成,用户也不必理解每一段协议。

但中继不是免费的“兼容权”。它在路径上增加一台必须同时可用的主机,还增加账号控制、容量与故障点。RFC 801 专门讨论了可靠性和负载。桥梁的目的,是给各站点完成本地工作留时间,而不是让旧协议永久占用他人的运行资源。

试停比宣言多了一层证据

一次有范围的试停可以回答三件事:执行开关是否真的存在,哪些依赖没有进入清单,告警与损失会落到谁身上。1982 年的 NCP 试停让邮件中断,也让“以后再迁”失去了可信度。

这并不是用停机代替民主。ARPANET 主机机构没有选举一个全球协议政府,网络的出资者也不需要借“代表全人类”来解释自己的服务条件。相关关系更窄:运营者控制网络,主机机构控制自己的系统,双方对各自执行面的结果负责。

同一个案例也不能成为全球协议警察的先例。一个不运行设备、不承担损失、也不能为事故赔偿的机构,不能只靠发布截止日就让他人的实现无效。1983 年的制裁是物理且有限的:NCP 包在 ARPANET 得不到服务。其他网络不会因为这项决定失去存在资格。

计划中的“全部”与探测到的服务

RFC 801 的里程碑写得十分整齐:到 1983 年 1 月,所有主机都应具备 TCP,所有主要服务都应转到 TCP,NCP 与过渡中继退出。David Smallberg 的连续探测记录则提醒我们,运行状态从不只有一个百分比。

RFC 847 汇总了 Telnet、FTP 与 SMTP 服务端的每周连接测试。1982 年 12 月 28 日,314 台清单主机中分别有 95、80、72 台接受三种连接。1983 年 1 月 4 日,315 台中相应数字升至 151、132、124;2 月 22 日,在 325 台中达到 190、181、178。

这些数字不能直接解释为“只有多少主机完成 TCP”。主机可能停机,专用系统可能根本不提供这三种服务,有 TCP 的机器也可能选择关闭端口。作者估计 37 台、约 11% 的主机属于特殊用途,因此合理上限约为 89%;每周分母本身也会变化。

严谨的结论是:截止日前后,可见 TCP 服务快速增加,但没有一个单独指标能证明全网瞬时完成。标准发布、协议栈安装、服务端口开放、真实流量占比与用户体验,是五种不同的事实。Smallberg 的探测价值,在于把它们中的一种持续记录下来,而不是冒充全部。

生产负载写下计划里没有的一章

后来以 RFC 942 发布的 National Research Council 报告认为,切换期间基本运营能力得以保持。正式切换前约六个月,大约三十台只使用 TCP 的主机已参与运行。这些测试降低了风险,但正常服务水平仍用了数月才恢复。

Network Information Center 没有为新协议环境做好准备,主机表分发出现问题。服务主机也有明显性能故障,因为此前没有任何一台在长时间满用户负载下接受压力。上线后还要分析并调节参数。邮件中继被大量使用,其他中继用途则较少。

这不是“切换失败”的证据,而是对成功的准确计价。可以在维持基本连续性的同时终止一套旧兼容承诺,也可以在此后继续修补容量、状态分发和支持流程。截止日能删除选项,不能自动创造成熟度。

它还揭示了中央权力的上限。出资方能让子网停止 NCP,却不能代替操作系统团队、服务管理员、NIC、TAC 运维者和用户完成本地工作。终点可以集中设定,抵达终点所需的能力仍然分布在各处。

命令在哪里结束,采用就从哪里开始

在 ARPANET 内部,单个站点没有无限期要求全网维持 NCP 的权利。运营者可以在提供替代服务、公开风险、管理例外并承担后果的前提下,结束一项阻碍多网络互联的旧服务。

越过 ARPANET 的资产与合同边界,同一运营者就不能靠命令制造采用。大学、厂商、局域网和其他数据网络必须自己实现 TCP/IP,并选择与哪些对手互联。协议获得更广泛的权威,是因为运行代码真的跨越不同网络交换数据,而不是某个数据库给未采用者贴上“无效”标签。

这正是协调与主权的区别。运营者可以在自己的设备上拒绝不愿支持的流量;它应公开规则、保存证据、暴露例外、承担误判成本。它不能把本地执行能力解释为对他人机器与未来网络的所有权。

因此,1983 年 1 月 1 日最可靠的描述并非“互联网生日”。互联网互联在此前已经设计、演示并运行。那一天标志着 NCP 不再是 ARPANET 的正常服务。对接入该网的主机而言,本地约束推动迁移;对边界之外的网络而言,可运行的互操作性推动采用。技术权力之所以有效,恰恰因为它有尽头。

来源与证据边界

迁移计划、分工与里程碑来自 RFC 801,邮件连续性要求见 RFC 773。共同协议规则见 RFC 791 与 RFC 793,RFC 820 记录了当时更广的协议环境。

服务连接计数来自 RFC 847,不能当作完整合规普查。切换后的运维经验来自 RFC 942。试停、IMP 拒绝机制与少量例外,均归因于 Computer History Museum 保存的 Vint Cerf 访谈。

这组证据没有最终例外清单、精确的全网停机时长或全球主机分母。它支持一项经过计划并在 ARPANET 执行、随后又修复数月的切换;不支持“世界上所有网络在同一瞬间采用 TCP/IP”的说法。