【互联网传奇】
第四章 中介电脑
会议一结束,罗伯茨便迫不及待拉着克拉克的手,一同登上了他的汽车:“我们边走边聊,你一定要帮帮我,网络真的太复杂了。”
“是的,相互连接的密集网络的确太复杂。你想想,如果它只有3个节点,那只需要3条线连通;如果有4 个节点,完全的相互连接就不是4条线路,而需要6条。如果有10个、100个、1000个节点呢?你需要铺设多少条线路呢?”
稍有数学常识的人都能算出:10个节点需要45条线路,100个节点需要495条,而1000个节点需要铺设近50万条线路。用数学语言解释,连接线路与节点数的平方近似为正比关系。随着节点数的增长,电脑完全相互连接的网络需要的线路数目将会是个灾难。
克拉克坦诚地说:“拉里,别在那些节点上伤脑筋了,你也不需要铺设这么多线路。你向第4台电脑发送的信息,完全可以经过第2台和第3 台电脑来传递。你和所有与会者争论的焦点,无非是如何让自己的大型电脑与其它机器直接通讯。不同的机器硬件和软件各不兼容,它们无法帮助你去完成传递信息的任务。因为这样做不仅困难重重,而且管理也十分不便。你们怎么也吵不出个结果来的。”
停顿了片刻,克拉克接着说:“我想,最简单的解决办法,是设计一种中介电脑,充当信息传递和转换的中介。”
“中介?你继续说,什么是中介电脑?”罗伯茨来了劲。
要认识卫斯理·克拉克所言的“中介电脑”,还得从他完成TX-2后的经历讲起。或许,需要暂时离开网络发展的线索,先来讲述那些年电脑技术领域所发生的革命。
自ENIAC发明指导20世纪60年代初,电脑世界都是大型主机的一统天下,数量稀少的主机就像宗教里的“图腾”标志。正如克拉克实验室的同事肯·奥尔森,为了创办DEC公司寻找资金,向风险投资者描述的那样:
“IBM的大型电脑和类似的计算机,都给人一种神圣不可侵犯的形象——深锁在清洁的房间里,四周用玻璃墙隔开,操纵者穿着白大褂,就像医院护士侍候病人一般。您若到IBM公司的机房租用电脑,肯定会有一种去接受神谕般的感觉。当您把穿孔卡片送进玻璃房后,就只能眼巴巴看着那些人慢吞吞操作,甚至要等上好几天。结果,您突然发现穿孔卡上有个数据错了,算了几天的数据变成了废纸一堆。”
简而言之,能够接触电脑的,只有设计者、系统程序员以及专门的操作员,其他科研人员都被无情地隔离在机房之外。上机费用也非常昂贵,一台普通的商用电脑,如IBM7090,每小时的上机费用大约需要100美元。为了改变这种状况,奥尔森依托TX-0发展出DEC的PDP小型电脑,使电脑进入工厂、商店、学校和政府部门的办公室,但它们仍然不能完全满足科学研究人员的需要。
麻省理工学院的工程师们希望找到更好的办法,把电脑送到每个科研人员手中,方法之一就是前述的“分时系统”。然而,林肯实验室以克拉克为代表的工程师,却认为“时间同享”并非唯一途径,研制TX-0和TX-2就是他们的选择。克拉克曾提出:“计算机应该是实验室的一种设备。”这种今天看来极为稀松平常的观点,在当时被视为“异端邪说”——人们普遍认为,计算机太昂贵太复杂,它根本不可能被计算机专业人士之外的其他人掌握。在TX-0和TX-2相继研制成功的鼓励下,克拉克的下一目标,就是要挑战这种传统观念。他想为非电脑专业的科学家研制出一种更廉价的实验室计算机。
可惜林肯实验室当时已获得空军给予的大量资金,根本不在乎“廉价”还是“昂贵”,实验室主任没有批准他的建议。固执的克拉克决定自己偷偷干。1961年,在“消失”了三个星期后,他不知从什么地方带回一台很小的样机,他对同事宣称,这种机器具有“对用户友好”的特征。
克拉克为他的电脑规定了几个标准,如容易编程、容易操作、容易维护、容易交流等等,后来又增加了两个标准:价格不能超过2.5万美元,“身材”也不能太高。对于最后一个标准,克拉克笑着解释说,我的计算机不应该“居高临下”去吓唬信任他的主人。
尽管林肯实验室不支持他的工作,克拉克与他的同事比尔·帕潘(B.Papian)——磁芯存储器的实际发明人之一 ——准备坚持按照这个实验样机制作一台电脑,仍采用可拆卸的模块方式组装,奥尔森的DEC公司答应帮助制造模块组件。为了纪念他们在林肯实验室难忘的经历,这台电脑被命名为“林肯”(LINC);一语双关,LINC也正好是“实验室工具计算机”的英文缩写。
“林肯”,或称“实验室工具计算机”,由4个模块组件组成,采用了磁芯存储器(只有1K容量)和“林肯”磁带机装置,有一个简单的键盘。除了缺少微处理器之外(当时微处理器尚未被发明),1962年3月完成的LINC,实际上就是一台完整的个人计算机。
美国国家健康研究所(NIH)和国家心理健康研究所(NIMH)发现了克拉克的工作,热情欢迎他们去进行实验。克拉克带着“林肯”电脑欣然前往,一批医学生物学家参与了实验工作。首次成功的实例发生在马里兰NIMH生物学家斯塔尔(A. Starr)的实验室。长期以来,斯塔尔总想记录下猫的听觉神经脑电波,但微弱的电流被淹没在噪声里无法分离。克拉克提着两个箱子走进实验室,很快就装好了“林肯”。当他把电脑与放大器连接之后,奇迹出现了:随着猫的“喵喵”叫声,斯塔尔首次观察到朝思暮想的脑电波曲线,高兴得他竟围着“林肯”电脑跳起舞来。这只名叫“杰斯帕”的猫,也成为世界上第一只被数字计算机记录下脑电波的动物。
1964年,克拉克为了把猫带进实验室大楼,与管理人员大吵大闹。为了争取更宽松的环境,集中精力改进“林肯”电脑,克拉克领着他的开发组脱离MIT,转到圣路易斯的华盛顿大学。在NIMH和太空总署的资助下,他们大约制造了50台“林肯”,医学生物学家从此拥有了自己的个人电脑。在电脑发展史上,“林肯”电脑似乎鲜为人知,但是,美国电气电子工程学会(IEEE)曾为此授予克拉克“电脑先驱奖”,以表彰他发明了“世界上第一台个人计算机”。
更重要的是,克拉克的同事肯·奥尔森发展了他们在TX-2中的创意,“下海”创办DEC公司,从第一台商业小型机PDP-1开始,不断推出PDP系列小型电脑,发动了一次“小型机革命”。虽然那次革命的成果还不足以使电脑走向普通人的办公室和家庭,它的目标只定位在科学家和工程师,首先让这些科技精英们率先拥有了时代最先进的工具,为互联网络的崛起创造了最基础的条件。
克拉克顶着压力顽强开发“林肯”电脑,为的是让更多的人拥有强大的工具;罗伯茨领衔设计阿帕网,同样是为把电脑变成连接世界的工具,可谓殊途同归。笃信“小就是美”观点的克拉克,从安阿伯会议的争执中触动了他的灵感——只要以类似“林肯”这种简单的工具充当中介,就能够解决罗伯茨最感棘手的问题。
在罗伯茨飞驶的汽车内,克拉克合盘托出了他天才的构思。
按照克拉克的设想,所有提供资源的大型主机,都不必“亲自”参与联网,而在网络与每台主机之间插入一台中介电脑。中介电脑规格相同,“语言”统一,它们只需做两件事:第一,接受远程网络传来的信息并转换为本地主机使用的格式;第二,负责线路调度工作,也就是说,为本地传出的信息规定路线(路由),然后传递出去。这样一来,在网络上实际相互“对话”的只是规格统一的中介计算机。换句话说,罗伯茨需要铺设的,仅仅是用以连接中介电脑的、相对简单的通讯子网络。对于“阿帕”来讲,他们也可以方便地管理和控制整个通讯系统。
听完克拉克的建议,罗伯茨十分兴奋,这真是一个完美的方案,从根本上解决了计算机系统不兼容的问题。回到华盛顿后,他立即拟定了一份备忘录,将中介电脑正式命名为“界面信息处理机”。
在笔记本上,罗伯茨写下了“界面信息处理机”每个单词的英文字头:I—M—P,合起来是“IMP”。他突然发现,在英语中,IMP的本义是“小精灵”,真是太合适了!未来的阿帕网将由许许多多的“小精灵”实施连接、 调度和管理。当然,他还必须制定一套详细的规则,明确规定“小精灵”的通讯格式,以及它们如何与各类主机交换信息等等。现在,人们都已经知道,由克拉克首先提出的“中介电脑”,就是风靡于因特网或局域网之“路由器”(Routers)的前身和雏形。
当年10月,美国计算机学会(ACM)于田纳西州盖特林堡(Gatlinburg)召开年会。罗伯茨抓住机会,在会议上宣读了有关阿帕网的论文。虽然有“小精灵”设计思想做支撑,但网络通讯可靠性差的缺陷还是让他时刻不得安宁, 无论如何,阿帕网都不允许在1分钟之后就发生传输错误。此外,“阿帕”要求他建设的是一个能够经受核攻击的通信网络。当时正处于冷战的最紧张时期,像电话系统那种高度集中式的网络,即使主要系统的一小部分遭到损害,所有的长途通信都会被中断。迄今为止,罗伯茨还没有找到一条既能高效传送信息,又能承受攻击的途径。
会议另一篇论文的宣读,犹如“冬天里的一把火”,使罗伯茨突然发现了光明的前景。论文作者罗杰·斯坎里伯来自英国国家物理实验室(NPL),他介绍了英国科学家唐纳德·戴维斯(D. Davies)的研究成果——“分组交换技术”。晚饭后,罗伯茨急匆匆找到斯坎里伯的房间,详细询问这种新的技术在提高网络传输可靠性上的优势,两个人一直谈到深夜。
谈话结束前,斯坎里伯不解地问罗伯茨:“其实,你们国家早就有人完成了类似研究,保罗·巴兰的《论分布式通信》,难道你没有看过?”
罗伯茨虽然有些不好意思,但他终于从斯坎里伯口中打听到,保罗·巴兰(P. Baran)目前供职于著名的兰德(Rand)公司,在1962年发表的这篇具有里程碑意义的报告中,他率先提出“分组交换”和分布式网络通讯技术,虽然用术语是“分布式自适应信息块交换”。
盖特林堡会议一结束,返回华盛顿的罗伯茨,立即从积满灰尘的档案里,翻出了保罗·巴兰的报告反复研读,同时,也对照着研究唐纳德·戴维斯那篇论文,以致于当戴维斯后来参观“阿帕”时惊讶地发现,他的论文被罗伯茨逐字逐句地研究过,都翻得快要脱页了。
一边读,一边清理自己的思路,罗伯茨感到心中的压力正在一点一点地“卸载”。
迄今为止,人们对网络通讯的理解都来自对打电话或发电报的感性认识。比如,当你在坎布里奇给远在洛杉矶的一位朋友拨通了电话,几千公里的整条线路都会被你个人独占,这种技术通常叫做“线路交换”。线路交换类似于火车站的“岔道器”,一旦你申请要通过某一轨道,岔道器就扳到允许你通过的位置,整条轨道上将只允许“跑”你这一列“火车”。如果把线路交换技术运用与公路交通又会是一种什么样的局面呢?假定你想驱车由纽约前往华盛顿,你必须先打电话给公路管理处,要求他们封锁整段95号州际公路,以供你一人通过。这就是打电话或发电报的实际状况,线路交换使得通讯效率极为低下。此外,另一个重大缺陷在于线路交换过程中存在着时间延迟,对于传送语音影响不大,但用来传送数字讯号,将导致丢失数据的灾难性后果。
从另一角度讲,线路交换的通讯网络必须建立强大的集中控制系统,或许类似于铁路调度室或公路管理处的职能。银行系统就是集中控制式网络的典型:每个分行设有一台电脑,它们都必须接受中央银行的大型主机的控制。任何人从一个分行向另一个分行转账,都需要通过中央主机的认可。集中控制式网络当然容易管理,可你想一想,如果阿帕网也选择这种方式,一旦中央主机遭到了核打击,整个系统岂不顿时瘫痪?即使中央主机没出毛病,线路交换的通讯过程也存在同样的弊端。比如,你申请到从坎布里奇到洛杉矶整条线路,正在传送一份机密情报,只要数千里长的线路间任何一处出现了故障,通讯都会立即中断。
看来,罗伯茨设计阿帕网绝不能采用线路交换和集中控制式网络。那么,什么才是更先进的技术方案呢?保罗·巴兰和唐纳德·戴维斯的发明已经为他准备了现成的答案,那就是分布式网络和“分组交换”。
分组交换?显然,罗伯茨以前没有听说过这个名称。透过保罗·巴兰写下的文字,他总觉得似曾相识。突然,罗伯茨眼睛一亮:嗨,这不就是克兰罗克早就提出的“信息散片”吗?我怎么把这家伙给忘记了呢?