摘要

  • Louis Pouzin 领导法国 CYCLADES 项目,其 CIGALE 分组子网独立处理每一份报文,而主机协议负责排序、恢复,以及把分散的数据报重新组成可靠的对话。
  • 这项工作的关键遗产不是某个人“独自发明互联网”,而是一条架构边界:网络内部承诺得越少,彼此不同、各有所有者的系统反而越容易在共同层上相遇。

分析

数据报最有力量的地方,是网络不向它承诺什么。一个分组带着地址进入网络,可能与下一个分组走不同路径,可能晚到、乱序,甚至彻底丢失。交换系统不会像电话电路那样,在沿途替应用保存一场连续对话。

只看这一半,设计像是在删减服务。看见另一半,责任分配才完整:接收端可以发现缺口,两端主机可以编号、确认、重排、请求重传,并按应用真正需要的方式定义可靠性;中间网络集中做转发。20 世纪 70 年代初,Pouzin 和 CYCLADES 团队通过 CIGALE,把这个选择从论证变成了可运行的系统。

IRIA 于 1972 年启动 CYCLADES,并由 Pouzin 负责。他并不是在一张白纸上凭空发明。Donald Davies 领导的英国国家物理实验室工作已经发展出分组交换思想,ARPANET 也在实际运行大型实验网络。Pouzin 研究过两者。与他共同工作的还有 Gérard Le Lann、Hubert Zimmermann、Jean-Louis Grangé、Jean Pierre Touchard,以及来自 IRIA、高校和产业界的更大团队。强调集体贡献不是礼貌性的附注:架构必须由许多人实现、测量、排错、解释,才会从一个漂亮概念变成公共技术。

Pouzin 在 1974 年的 CIGALE 论文里用邮政作比。报文像信件一样被分别处理。CIGALE 不提供端到端功能,更高层协议可以控制报文流。所谓网络“不记得对话”,指的正是这个范围。它绝不等于交换节点没有路由表、队列、拥塞信息或运行状态;它只表示 CIGALE 不在子网内部保存应用对话所需的排序、恢复和连接语义。

这样一来,故障不再被封装成中间系统的一项隐含保证,而成为端点能够观察和处理的任务。如果一台中间交换机失效,后续分组可以改走另一条路线;如果接收端发现编号缺口,可以要求重传。需要严格顺序的服务自行建立顺序,重视时效、允许少量丢失的服务不必被迫承担同一套机制。共同网络只提供一项朴素的互操作单位,而不强迫所有应用接受同一种“对话”。

CYCLADES 并非纸面架构。Inria 记录其正式演示发生在 1973 年;到 1975 年,法国、伦敦和罗马已有 25 台计算机接入。CIGALE 的交换节点运行在 Mitra 15 小型机上。责任边界因此接受了真实机器、线路和跨机构管理距离的检验。主机地址被设计成不依附于网络拓扑,区域和网络名提供更高层的路由结构,一台主机还可以代表另一个网络。团队已经在思考:当流量跨越内部结构不同的网络时,共同层需要知道什么,又不该要求什么。

这个选择也有政治含义。面向公众的虚电路网络往往让电信运营者定义持续服务,并在网络内部保留会话状态。数据报服务则把“可靠究竟意味着什么”更多交给端点。它没有消灭运营者、稀缺链路、排队、计费或路由政策,也没有让权力凭空消失。它削减的是所有参与网络都必须在内部实现的应用行为,让互联不必先统一每一方的运行方式。

这项削减对网络互联尤其重要。Inria 的历史叙述认为,CYCLADES 在端到端传输、以及网络层与传输层分离方面的工作,进入了后来通向 TCP 的讨论。Internet Hall of Fame 和 Computer History Museum 也承认它对后来的互联网架构产生了实质影响。但“影响”不能扩张成独占发明权。Vint Cerf 与 Bob Kahn 在更广泛的跨大西洋技术共同体中设计 TCP/IP,ARPANET 的运行经验、NPL 的研究和其他实验都构成了来源。能够存活的思想,是在不同机构的比较、争论和实现中形成的。

Pouzin 更早的经历,有助于理解他为何偏爱清楚的边界。在 MIT,他接触 CTSS 分时系统,并编写后来被称为 RUNCOM 的命令语言系统。返回法国后,他在负责 CYCLADES 前参与操作系统工作。在这些场景里,好的接口会隔离不必要的底层细节,让用户与程序只依赖一项明确服务。把同一思路带到网络,就是让主机面对有限、清楚的分组服务,而不是被迫理解或服从子网内部的一场会话。

项目的制度命运远没有协议边界那么整齐。法国政策逐渐偏向电信管理部门的虚电路方案,产业也围绕 CII 重组。Inria 的材料把 CYCLADES 被削减与这些政策选择及 PTT 垄断联系起来。这些记录不支持一个过度简单的英雄故事:仿佛完美技术只因官僚阻挠而失去本应属于它的市场。公共网络还要处理计费、服务保证、监管和长期投资,研究原型没有自动解决这些问题。更可靠的结论是,一项设计可以失去本国的组织性赞助,同时让其中的概念在国际标准讨论中继续迁移。

CYCLADES 起于 1972 年,通常被记为在 70 年代后期结束,而终止决定更早已经出现。短暂寿命揭示了基础设施的两次筛选。第一次是技术能否在实验环境工作,第二次是它能否进入有能力出资、治理和扩张的制度。数据报实验通过了第一次筛选,留下真实演示和跨城市连接;它没有获得继续建设为法国公共网络的制度路径。国际技术共同体则给部分架构思想提供了另一条路。

Pouzin 后来参与 IFIP、ISO、CCITT 等标准化环境,也持续介入命名与互联网治理讨论。贯穿其中的并不是对某个静态协议的忠诚,而是对一个问题的关注:在相互独立的系统之间,谁有权规定那层不可回避的共同接口?共同层越薄,参与者越能保留内部自由;但端点软件、诊断能力和公开标准必须足够成熟。核心简单不等于工程消失,只是工程被明确放到了别处。

今天的平台集成仍会重演这项选择。一个保存大量状态的中介,可以让第一次接入显得轻松;可一旦身份、排序、重试和政策全由它掌握,退出就会变得昂贵。较薄的共同接口要求参与者承担更多能力,却允许各方更换内部组件,而不必重新获得整个系统的许可。CYCLADES 没有预先解决当代平台锁定,却提供了一个异常清晰的历史切面:接口边界会分配创新权。

因此,Pouzin 的贡献可以被理解为一种有纪律的删减。他与同事把“对话”从分组子网的义务中拿掉,再证明主机协议能够重建应用所需的可靠性。网络做得更少,正因为做得更少,不同系统才有更大空间相遇。法国实验结束了,那条边界没有结束。