摘要

  • 在《On Distributed Communications》中,survivability 的指标是:既从物理打击中幸存、又仍与最大幸存群组保持电气连接的站点,占原站点的比例。它从来不是“网络没有受损”。
  • 结果依赖网格拓扑、攻击分布、冗余水平、灵活交换、流量接纳与自适应路由。“完美交换”是一条理论上界,不是现实网络的默认能力。
  • Baran 的 message block 与 hot-potato 方法影响了后来的分组网络,但不等于现代 BGP 的热土豆路由,也不等于 ARPANET 本身。Donald Davies、Leonard Kleinrock、Larry Roberts、RAND 同事、BBN 及 ARPA 社群的贡献必须分别保留。

先问分母是谁

集中式、去中心式与分布式网络的三幅图很容易被读成一句口号:星形中心一旦消失,边缘全部失联;网格受损,流量便会自动绕路。图像令人信服,因为它让韧性看起来像线条本身具有的品质。

Baran 给出的判据要严格得多。1964年第一卷把“生存性”定义为同时满足两个条件的站点比例:站点在物理攻击中没有被摧毁,并且仍与幸存站点中的最大单一群组保持电气连接。一个站点可以完好无损,却因脱离最大群组而在指标中失效。一个小型孤岛甚至可以内部互通,但仍被判为无效。

因此,曲线没有回答“所有原始站点是否仍可用”,也没有回答“任意两个幸存站点能否互发消息”。它更不判断链路上流过的指挥内容是否真实、获授权或仍然适用。它计算的是:在特定移除过程之后,原有站点中有多少既活着,又留在那个最大的连通分量里。

图4中的“最佳可能线”进一步限定了结论。若每个节点被摧毁的概率是0.5,那么再完美的通信机制也只能期待约一半节点在物理上幸存。工程价值来自另一段差值:通信结构有没有让更多幸存站点因网络碎裂而失去作用。

分布式设计没有消除损害。它试图阻止损害继续成倍扩散。

攻击方式本身就是参数

主要的节点毁伤曲线来自一个18×18的阵列,共324个模拟站点。研究改变单节点毁伤概率和冗余水平,观察最大连通群组的变化。Baran 先讨论了“切断”高度并行网络的攻击,指出这种方案需要异常完整的链路情报、武器数量和杀伤效果;随后的计算采用均匀打击,并把它视为该分析中的已知最坏配置。

这仍不是无条件的最坏情况。在一个用2,000枚武器攻击1,000个站点的例子里,站点被假定分隔得足够远,一枚武器不大可能同时摧毁两个站点;第一轮打击又会改变第二轮仍可命中的目标。这是一种清楚声明了几何、间距和分配规则的概率模型,不是所有灾害与对手都必须服从的自然定律。

在这个模型内,适度冗余的网格表现惊人。冗余水平约为最小生成连接的三至四倍时,严重攻击导致的额外通信损失仍可很小。但曲线存在明显断点:网络会在一段范围内维持整体,一旦越过阈值便迅速碎裂。超过某个水平继续增加链路收益有限;接近断点时,再失去少量共享结构却可能产生巨大后果。

所以,“分布式网络能够生存”不是完整结论。完整形式必须写出:在这种拓扑、这种冗余与交换能力、这种移除分布之下,物理幸存站点中有多少仍属于最大连通群组。

网格图不会替你完成交换

Baran 把灵活的分布式交换与“指派多样性”比较。后者为每一对通信站点预先选择少数独立路径,故障发生后只能在预选集合中寻找仍完整的那一条。两种方法画在纸上都可能拥有大量链路,运行时的选择能力却不同。

“完美交换”假定系统在得知受损情况后,可以利用任何仍存在的路径。它给出网格可能达到的理论上界。预先指派路径是下界,因为有限候选中的每个串联部件必须同时幸存。现实系统介于两者之间。

这说明,生存性并不是拓扑单独产生的属性。物理多样性必须和发现、选择现存路径的控制机制结合。否则,冗余链路可能只是地图上的闲置容量:它确实存在,消息却无法调用。

也应在这里分开四个常被混用的词。connectivity 只说明路径存在;survivability 说明某个明确功能在某类扰动后仍保留;availability 说明特定用户在当前负载下可以使用服务;reliability 则关心系统在某种故障模型下随时间持续正确运行。网络可以仍连通却严重拥塞,可以幸存却速度骤降,也可以在普通故障下可靠、在蓄意打击中失败。

message block 带着一张小小的路由收据

Baran 最初并未使用后来通行的 packet 一词。他设想的标准 message block 大约包含1,024比特,大部分承载数据,其余位置存放地址、检错与路由信息。源端先积累足够数据,组成一个块,加上头部,再送入存储转发网络。

每个块还有一个 handover number:进入网络时为零,每被转发一次就加一。节点观察近期从各条链路到达的块,把较小的交接次数理解为通往相应源站的较短路径,然后排列出链路偏好。首选链路忙碌或损坏时,节点不长期等待,而把这个“烫手山芋”交给下一条空闲备选链路。

节点没有一张永恒正确的全网地图。它从正在流动的消息学习,也必须学会遗忘。链路损坏或修复后,更新规则让新测量比旧记录更有权重,避免早已失效的好路径长期占据表项。每个节点只看见局部证据,整体却能在没有中央控制点的情况下适应变化。

第二卷的模拟由 Paul Baran 与 Sharla P. Boehm 共同署名;第三卷的路径长度研究由 J. W. Smith 完成。即使在 RAND 系列内部,这也是一项多人研究工程,而不是孤立的灵光一现。

模拟承诺的是“已接纳流量”

第一卷介绍了一次7×7站点模拟:路由表从全空状态开始,以代表没有站点知道其他位置的恶劣起点。报告称,网络在模拟时间内很快学会已连通站点的位置;初步结果还显示,链路负载约为容量一半时,平均路径长度没有出现不当增长。

紧接着的一段却常被概述删掉。当局部形成繁忙区时,系统会暂时限制当地新流量进入,让潜在堵塞先行消散。Baran 举例说,同一入口在轻载时或许能接纳约1.5 Mbit/s,整个网络重载时却可能只接纳约0.5 Mbit/s。最低保证输入能力取决于站点位置、冗余水平与平均路径长度。

文中的快速交付保证针对网络已经接纳的流量。用户提出的负载和系统接收的负载不是同一数量。备选路径也不会自动保留原有时延;绕路增加跳数,受损网络即使仍连成一体,也可能损失大量容量。

最简洁的运行边界是:有路径,不等于服务等价。

两种“热土豆”不是一种路由

名称保留下来,技术对象却已改变。Baran 的 hot-potato doctrine 是拟议网络内部逐 message block 的自适应存储转发:利用本地近期观测,首选链路不可用便尽快把块转给邻居。

现代 BGP 语境中的 hot-potato routing 是另一类决定。一个自治系统在没有更高优先级策略另作选择时,往往让流量从离入口较近的出口离开。IETF RFC 9107 将其描述为选择最接近的 AS 出口,并以到 BGP 下一跳的内部成本参与合资格出口之间的比较。

前者让数据块在网格中逐跳前进,后者在域间策略与域内拓扑共同限定的候选中选择出口。两者都有“尽快把流量交出去”的直觉,却没有共同的算法、控制平面或保证模型。只凭同一个称呼把它们连成一条直接实现史,会同时误读两者。

影响并不等于同一件事

Baran 的研究从军事指挥通信的生存问题出发,对分组网络的思想基础产生了深远影响。这不表示后来的 ARPANET 是 RAND 方案的复制品,也不表示互联网沿着单一的核战争需求线性建成。

在 Computer History Museum 的口述史中,Baran 回忆了一次涉及 Larry Roberts、Elmer Shapiro、Leonard Kleinrock 与 Keith Uncapher 的讨论,之后形成试验计划;Bolt Beranek and Newman 通过竞标获得 IMP 软件与节点实现工作。他也明确提到 Roberts 对高校共享昂贵计算资源的兴趣。博物馆的1960年代时间线则把多条线索并列呈现:Baran、Donald Davies、Kleinrock 等人分别推进研究;Davies 在英国 NPL 独立发展分组交换,并提供了 packet 这个词;Roberts 与 ARPA 团队再把思想、承包机构与实际网络组织起来。

这种集体叙述没有削弱 Baran,反而把他的贡献放回最坚实的位置。他把生存性变成可以讨论分母的系统指标,把物理损失与通信结构造成的附加损失分开,说明适度冗余和局部自适应路由为何可能保住一个大型连通群组。更重要的是,他把假设写得足够清楚,让后来者能够反驳、复算和限定。

来源