摘要

  • Tawei Chang 在 1982 年 2 月的 RFC 809 中记录,UCL 让 LSI-11 计算机伪装成电话线另一端的传真机,借 ARPANET/SATNET 与 ISI、COMSAT 交换图像。老式传真机匀速送出页面,网络有时跟不上;计算机一要求它放慢,它就把停顿当作故障,中途放弃传输。
  • UCL 用两端磁盘隔开设备与网络:先快速把整页存到本地磁盘,再按网络速度传到远端磁盘,最后才喂给远端传真机。操作员能迅速提交下一页,却不再知道上一页何时真正打印出来。

传真机以为自己打通了一条电话线。它不知道桌边那台计算机装得像另一台传真机,背后还接着一个速度时快时慢的网络。等网络吃不下数据,计算机试图让它慢一点,传真机给出了机器版的回答:线路有问题,半页不传了。Tawei Chang 在 RFC 809 记下这场 1982 年的尴尬。网络觉得自己只是喘口气,传真机已经挂了电话。

这不是一张愿景图。UCL 计算机科学系真的把 DACOM 传真机接上运行 MOS 的 LSI-11 微型计算机,旁边还有两台软盘驱动器、显示器和控制终端。专门设计的硬件接口对传真机装成电话线路,计算机则扮演线路另一头的机器。图像进入计算机后就成了可存储、加工、发送的数据。实验中,伦敦的 UCL、洛杉矶的 ISI 和华盛顿的 COMSAT 经 ARPANET/SATNET 交换了图片。传真机越不知道这条路有多复杂,最初的接入就越顺利。

麻烦藏在时钟里。Chang 举例说,即使压缩过,一页传真也可能相当于两万多个字母字符的数据量。它占磁盘、占链路,比一封短文本慢得多。DACOM 机器按电话通信的习惯持续匀速吐数据;实验网络却并非总能以同样速度接收。计算机的降速请求在网络里是正常压力,在传真机眼里却像一条不该突然停顿的电话线。它索性中断整页。目的地没写错,图片也没坏,两段系统只是对“稍等”有完全不同的理解。

UCL 的修法朴素得像把纸先放进抽屉。第一步,让传真机照自己的速度把一整页送到近处磁盘。第二步,由两台计算机把图像从这张磁盘传到远端磁盘,网络能跑多快就跑多快。第三步,等远端磁盘完整收妥,再按远端传真机接受的速度把图像送过去。这样,两台传真机只看见可靠的本地伙伴,不用隔着大洋听网络喘气。Chang 说,源端读取每页此时少于一分钟。

这种拆分让操作员少守在机器旁。一页交给本地磁盘,下一页就可以跟上;几个人都要发往同一台忙碌的传真机,磁盘排队比反复拨号省事。账单却转到另一个位置:交得快,不等于对方已经拿到纸。Chang 特别指出,发件人不知道远端究竟何时打印。若一口气投进许多页,最后一张可能在队列里久等。缓冲区驯服了设备和网络的速度冲突,也把完成时间藏在了后段。

UCL 的系统还试着转换不同传真的图像格式、压缩、清理噪点、缩放图像,并把文字与图片合成一页。这些能力解释了为什么中间要放计算机。但 RFC 809 最鲜明的一幕仍是那台受不了网络停顿的传真机。工程师没有劝它成熟一点,而是让它只和本地磁盘打交道。两个磁盘把一次脆弱的长通话拆成三段各守自己节奏的工作。

从此“收到了”至少有三种说法:近端存好了,远端磁盘接齐了,远端纸张打印了。操作员得到更快的交件体验,系统则必须记住,每一句话对应的是哪一站。