摘要

  • Craig Partridge 在 1989 年的 BBN 7080 号报告里主张:一吉比特的线速本身,并不能证明互联网必须采用新架构;真正需要检验的是包速率、处理预算、内存搬运、在途数据和控制时延。
  • 这项结论建立在公开假设上,包括较大的平均包、60–70 MIPS 处理器、64 位数据通路和可承担的内存。带宽会上升,传播时间却不会缩短,因此缓冲与容量发现仍是真问题。
  • 1998 年,BBN MultiGigabit Router 团队报告了 50 Gb/s 全双工背板与最高每秒 3200 万包。它是集体完成、边界清楚的实现收据,而不是对所有未来速率的永久担保。

先把“大”翻译成每秒多少次决定

BBN 7080 号报告写于 1989 年 6 月 5 日,如今保存在 IETF 第 14 次会议的材料中。它针对的不是已经倒下的网络,而是一种在研究界颇有力量的预设:数据报架构到了千兆时代必然断裂。具体断点常常说不清楚,“一吉比特”却已经足够大,足以替代机制分析。

Partridge 的论证故意保持克制。他没有说高速网络没有难题,也没有宣布数据报战胜虚电路。问题是:仅仅因为速率提高,就必须换架构吗?如果两类架构都能在明确条件下达到一吉比特,那么选择可以来自服务语义、成本或偏好,却不能再假扮成物理必然。

他的第一步是公开分母。报告假定未来千兆网络的平均包不会比当时互联网更小,因为批量传输和更大的 MTU 会提高包长;同时,用已进入试产的器件估算 1990 年代初的能力。由此选出的参照是 60–70 MIPS 的 RISC 处理器和 64 位数据通路。这些是当年的预测,不是无条件保证。

路由器面对的不是抽象比特,而是一包一次的决定。当时几条以太网之间常用的 6000–10000 包/秒,被线性外推为千兆条件下的 60 万–100 万包/秒。若处理器为 60 MIPS,每包只剩大约 60–100 条指令,也就是下一个包到来前的 1–1.6 微秒。

这个数字既可能支持,也可能推翻设计。虚电路可以把建立成本摊到后续包上;当时 32 位处理器上的基础 IP 转发约需 100–150 条指令,再加驱动程序。更宽的操作、流水线、简化驱动或硬件协助可以把它压低;大量小包则会先耗尽决定次数。相同的一吉比特,若装在大包里与装在确认包里,根本不是同一份工作量。

主机付的是“触碰字节”的账

路由器通常只需读包头,接收主机却要把内容交给应用。Partridge 因而把主机成本分成协议处理、操作系统处理和应用数据处理。他引用 Clark、Jacobson、Romkey 与 Salwen 的 TCP 分析,构造出一项示意预算:固定成本约一千条指令,另外再加上随包长、机器字宽变化的数据触碰成本。

图表把平均包长变成关键变量。在报告的 60-MIPS 模型里,平均包约为 3 KB 时,主机可以填满一吉比特;512 字节时可用到接近四分之一;100 字节时约为 50 Mb/s。这些数字属于历史模型,不能拿来标注今天的设备。它们留下的是一条审计规则:线速、包速率和内存读写速率必须分别保存。

Partridge 还与 Bob Braden、David Borman 合著了 RFC 1071。文档建议把内存复制与互联网校验和计算放在同一趟完成,让数据只被取出一次。稀缺处不只在加法,也在字节走过总线的次数。RFC 4297 后来汇总相关证据,并引用一项 Sun-3/60 测量:数据触碰操作占所测开销的 64%,其中复制占 48%。这两个比例来自 Clark 的历史测量,既不是 Partridge 的个人结果,也不是现代硬件常数;它们只是提醒我们,功能清单不能代替数据路径。

光纤不因链路升级而缩短

传播时延不随带宽变小。速率越高,同一往返期间滞留在途中的数据越多。报告用一个长距离例子算出约 5.9 MB 的带宽时延库存;若运营商线路意味着往返至少 120 毫秒,则达到 15 MB。当时的内存发展让它们显得昂贵但可行。它们不是今天的通用缓冲配置。

更有意思的是,报告把传播与交换器内部延迟拆开。即使路径经过一百个、且每个都用尽千兆包预算的交换环节,增加的缓冲需求也只有大约 12.5–20 KB。主导库存的是地理距离,不是一串足够快的本地决定。

流量控制还有第二只钟:发送端多久才能知道路径愿意接收多少?报告设想从 8 字节开始、每往返翻倍的数据报发送端,可以在不到两秒内爬到千兆规模。对长文件,两秒并不久;对短事务或交互应用,两秒已经太长。这里需要的也许是更快、更可信的容量信息,而不是借机宣布整个架构无效。

九年后的硬件把预测变成可核对的路径

1998 年的 A 50-Gb/s IP Router 由 BBN 一支庞大团队共同署名。Partridge 是第一作者,也是 MultiGigabit Router 的技术负责人;这并不把团队成果变成个人发明。论文报告的全双工背板为 50 Gb/s,转发能力最高每秒 3200 万包,同时明确约四分之一背板容量被辅助流量占用。

数据路径的关键是少搬动。入站线卡保留包体,只把包头送入转发引擎。引擎查表、修改包头并返回下一跳指令,整包随后才经交换结构送往出站线卡。每个转发引擎都持有完整但精简的转发表,避免一次中央查询比处理包头贵上许多倍。共享总线被交换背板替代,转发引擎与线卡分开,链路层格式先被线卡归一化,QoS 的分类与出站调度也被拆开。

这篇论文没有把未完成部分写成完成。发表时,除接口卡以外的硬件已制造并测试,大部分软件已经运行。对于空闲路由器中 128 字节数据报的 7–8 微秒时延,因为还没有外部接口和完整内部计时,作者把软件实测、硬件调试观察与仿真合在一起给出估算。最重要的不是数字多漂亮,而是证据类型仍贴在数字旁边。

团队据此认为,高速下逐个检查 IP 包头完全可行,路由器技术并未失效。但这份收据没有证明所有路由表更新、故障恢复、包长分布或未来速率都同样容易。它验证了一个可执行路径,没有获得无限外推的特权。

一个人物稿不应把分母藏起来

Internet Hall of Fame 记录了 Partridge 在域名邮件路由、anycast、TCP 往返时间估计以及早期多吉比特路由器方面的贡献。Colorado State University 目前将他列为教授,并把他的研究兴趣概括为在机器之间移动比特、字节、包、块与文件。

真正贯穿这段经历的,并不是“更快”二字,而是把主张变成可被反证的收据。一项速率要还原为包;一个包要还原为指令与内存穿越;一段距离要还原为在途字节;一个原型要区分已制造、已集成、已测量、仅估算和尚未存在。

这与 Running-Code Primacy 的要求一致:任何人都可以偏好新架构,但偏好不能靠规模感转化为命令。若要让运营者放弃兼容性、资本和控制权,就应指出现有可执行路径究竟在哪里失败,并让别人能够重复这次失败。Partridge 没有证明互联网永远不需改变;他证明了 1989 年的一吉比特尚不足以替改变取得授权。

来源