第三章 摇篮中的“天下第一网” 实践往往是理论的先导,互联网的产生也同样来自实践的需要。 1964年,弗吉尼亚第二届信息系统科学大会期间将电脑网络建设提到日程上之 后(见第一章),问题也越来越明显:大家都在使用不同的电脑,大家都在为自己 开发软件。许多时候,各自在做着类似的工作,却很难知道别人在干什么,更难利 用别人的成果。 看来,真的需要建立一个能够共享资源的网了。 第一次握手 第一个将两台不同的电脑连接起来的实验是由T. 麦瑞尔 (Thomas Merrill) 提出来的。和当时的许多电脑迷一样,麦瑞尔的专业也不是电脑。他是一个心理学 家,曾经是利克里德尔的学生。 麦瑞尔有一个自己的电脑公司。虽然这个公司的规模很小,却起了一个大名字: “美洲电脑公司”(CCA:Computer Corporation of America)。 1965年, 麦瑞尔代表“美洲电脑公司”交给DAPAR一份计划,提议在马萨诸塞 州和加利弗尼亚州之间进行一次联网实验。 可是, 尽管起了个大名字,“美洲电脑公司”毕竟还是一个小公司。DARPA在 这些事情上可真是不含糊。由于对这个公司的能力不那么放心,他们就建议麻省理 工学院的林肯实验室来主持这项实验。 当时,DARPA的信息处理技术办公室还没有成立。L. 罗伯茨(Larry Roberts) 正好在林肯实验室工作,没有受到“三顾茅庐”的骚扰。负责这项实验的任务理所 当然地落到了罗伯茨的肩上。 他们通过只有2,400bps(每秒钟传送的比特数)的调制解调器,将麻省理工学 院林肯实验室的TX-2电脑和加利弗尼亚州SDC系统发展公司 (System Development Corp.)的Q-32电脑连接到了一起。 这是人类第一次实现远距离的两种不同电脑之间的联网!而且,系统使用的是 “分时”(TimeSharing)的方式。 我们知道,在多用户的电脑网络环境中,虽然每一个用户都“觉得”是和大家 同时一起工作,可是,电脑本身并没有三头六臂,不可能做到真正“同时”处理不 同的工作。用户之所以觉得是同时,是因为电脑把用户的任务分成了单个的小段, 然后对这些小段分别进行处理。 比如,有甲、乙、丙、丁4个用户同时联入一台主 机,进行操作。这个时候,主机并不是先完成甲然后再依次完成乙、丙、丁。而是 先完成甲的一小段,再分别完成乙、丙、丁的一小段,然后再完成甲、乙、丙、丁 各自的下一小段。这就是所谓的“分时”。我们现在用电脑处理多个任务的时候, 也都使用“分时”的方式。 尽管这次实验按计划完成了,并且也达到了预期的目的;可是,接下来的问题 仍然不少。 首先是速度。由于线路长而不稳定,这种联网方式的实际速度只有几百波特率, 哪怕只是传送很小的一段信息,就得等上喝一杯咖啡的时间。罗伯茨回忆,当时有 个家伙用拳头敲着桌子说:“要是这个网络不能做到一秒钟内作出反应,那就没什 么用!” 网络的可靠性也值得怀疑。由于使用的是“线路交换”的方式,整条线路被占 用,在直接从出发点把信号传到目的地的过程中可能的信号损失会很大。当然,这 也就从另一个角度证明了长距离传送数据应该使用象接力赛那样的分布式“包交换” 的网络。 更大的问题还是究竟应该建立一个什么样的网。万事开头难,如果一开始选择 了错误的方向,今后再改正可就麻烦了。尽管在此之前已经有人提出了分布式网络 的理论,不少人还是觉得应该使用由中央控制的线路交换网。要知道,电话网是线 路交换网的典型,既然全国的电话网工作得很好,为什么按这种方式建立的电脑网 络就不能好好地工作?他们甚至提议将网络控制的中心放在奥马哈,因为这个城市 正好处于美国的地理中心。 如果说在早期的研究过程中,有谁对罗伯茨的电脑理论产生过很大影响的话, 这个人就是L.Kleinrock。正如前面谈到的,Kleinrock也是讨论过“包交换”原理 的人。1961年他和罗伯茨在一起工作的时候,就发表过关于“包交换”思想的文章 (参见第二章)。 在1966年10月的一次大会上,L. 罗伯茨和T. 麦瑞尔提交了他们的报告:“通 向分时的电脑网络” ("Toward a Cooperative Network of Time-Shared Computers", Fall AFIPS Con f.,Oct.1966)。介绍了他们在马萨诸塞州和加利弗 尼亚州之间实验不同电脑的联网的过程和结果。 在报告中,他们写道,将不同的电脑连接到一起并没有多大的困难。但是问题 在于,这种连接是通过电话线完成的,如果是远距离通信的话,信号将很难顺利达 到终点。因此必须使用包交换的理论。这个结论对于后来互联网的发展,可以说是 决定性的。 1966年,也是L. 罗伯茨“被迫”到DARPA的信息处理技术办公室任职的一年。 他抓住这个机会,积极准备建立一个真正的网。1967年10月在ACM盖特林堡大会上, 罗伯茨终于提交了关于建立ARPANET的计划: “多电脑网络和电脑间的通信” ( “Multiple Computer Networks and Intercomputer Communication” , ACM Gatlinbur g Conf.,October 1967)。 在此之后, DARPA才决定将麻省理工学院林肯实验室的TX-2电脑和加利弗尼亚 州SDC系统发展公司(System Development Corp.)的Q-32电脑加上DARPA资助的其 它几个学校和研究机构的节点, 连接成ARPANET,深入进行网络互联方面的实验。 同时也要求他们把对A RPANET设计的数据传送速率从2,400bps增加到50,000bps。 小的是好的 1968年8月,L. 罗伯茨代表国防部高级研究计划署的信息处理技术办公室正式 提出了课题,要求设计并制造出网络通信的关键设备——包交换装置,他们把这种 装置称为:“接口信号处理机”(IMP:Interface Message Processor)。希望通 过IMP来研究在小型的、 交互连接式的电脑上进行通信的系统。这个课题的具体要 求是制造出给4个节点用的4个IMP,实现这4个节点之间的联网,并且设计出今后可 以容纳17个网站的电脑网络。 为了广泛地筛选适合做这项工作的公司,罗伯茨代表信息处理技术办公室发出 了140份“项目招标” 。一下子引来了几十家对这个项目感兴趣的公司,收到的标 书加起来有6英尺高。 第一份送达的标书当然来自IBM公司。当时的IBM公司已经实力雄厚,统治了大 型电脑系统的市场。公司大了,提出的方案也大。他们的计划是使用IBM生产的360 MODEL 50型电脑来作为“接口信号处理机”。 这个方案给人的感觉简直就是杀小鸡要用宰牛刀了。 尽管IBM电脑的性能是最 好的,可是价格太高,即使象国防部这样的买主也要三思而后行。况且接口信号处 理机的需求量太大,每一个主机都要配上一台这种机器。要是都用MODEL 50的话, 代价也实在太大了。 所以,即使是IBM公司的人,也都认为用他们的方案只能做实 验,并没有实际使用意义。 AT&T的观点也和IBM一样, 认为批量生产这种接口信号处理机并且用来组建一 个分布式的网络,虽然想法很美好,但是不现实。至少,你没有那么多的钱来做这 件事。 可是,在罗伯茨看来,还有另一条路,就是用更加小型,便宜的电脑来实现信 号交换功能。在这个意义上,也许DEC公司生产的小型机PCP-8是比较合适的选择。 大多数公司的思路和罗伯茨是一样的。 然而,他们选中了Honeywell公司的小 型机DDP-516。按照当时的标准,8万美元一台的价格,已经是便宜得不能再便宜了。 经过招标大会后, DARPA一共选择了12份标书。再经过推敲,很快又把范围限 定在4家之内。 出乎绝大多数人意料的是,1968年12月,马萨诸塞州的BBN公司在Frank Heart 领导下的一个小组正式得到了DARPA的“接口信号处理机”(IMP)项目。当时,公 司里共有600余名职工, 而Frank小组(后来被称为“IMP的家伙们”)也就10来个 人。这个定单无疑是不能再好的圣诞礼物了。 这家BBN公司有一个长长的名字:“Bolt Beranek and Newman”。一看便知, 公司是由三个人创始的。 Richard Bolt是个建筑师和物理学家,而Leo Beranek则 是个电气工程师。他们二人本来在麻省理工学院工作,Bolt是学院声学实验室主任。 第二次世界大战后,二人各自做声学方面的设计。 1948年,联合国请Bolt为一座新的建筑做声学设计。Bolt一个人实在无法完成 这么大的工程,于是就找Beranek来一起做。一年以后,又邀请了Robert Newman加 盟。于是,Bolt加上Beranek,再加上Newman,他们三个人就把“BBN”凑齐了。 公司的生意一直很好,并且在声学领域颇有名气。1963年,肯尼迪遇刺时请他 们做过录音磁带的分析。最著名的还是后来1974年对水门事件尼克松交来的磁带中 18分半钟的空白进行的分析。 显然,BBN公司的特长在声学领域,这和电脑以及电脑网络并没有多大关系。 然而,1957年,利克里德尔去DARPA之前,曾经在BBN工作过。倒不是因为他的 心理学知识对声学研究有什么作用,而是Beranek对他的“人-机交互作用”的想法 感兴趣。或许这些想法会对他们的声学研究产生什么影响。 可是, 并不太懂电脑的利克里德尔到BBN公司工作还不到一年,就提出要买一 台电脑。于是,Beranek问利克里德尔: “买这台电脑要花多少钱?” “大概2万5千美元吧。” “这可是不少的钱呐,你要这台电脑做什么?” “我也不知道。” 公司的三个负责人没有一个人懂得电脑。 但是,利克里德尔对Beranek许愿, 公司今后有可能会因此而得到政府在电脑方面的定单。 而Beranek后来回忆:“我 决定,冒2万5千美元的风险,为了一个未知的目的而买一台未知的机器,还是值得 的。” 历史终于证明,不管是利克里德尔,还是Beranek都没有错。 “网络”上的第一个“节点” 这个标题看起来就自相矛盾。既然是联网就至少应该有两台电脑,也就是要有 两个节点相连。一个节点还算是网络吗? 可是ARPANET的实验确实是从第一个节点开始的。换句话说,ARPANET最早的实 验是从主机和接口信号处理机(IMP)的连接开始的。 这里所谓接口信号处理机,实际上是网络中连接在各个主机之间的电脑,其作 用是在各主机之间进行数据格式和信息的转换,同时还要进行差错控制。所以,接 口信号处理机实际上是连接主机和网络的一个桥梁,是长期运行的网络关键设备, 不管主机是否工作,即使过了“河”,也不能拆桥。 我们现在的互联网仍然要使用“接口信号处理机”,不过这已经不再是当时的 “IMP”,而叫做“路由器”(Router)了。 DARPA 的这个项目将使用四台小型机作为存储 - 转发的节点,并且选定使用 Honewell DDP 516小型机来完成这一任务。 而这些小型机正是起到了一种“接口信 号处理机”的作用。 在此期间,最早提出包交换理论,并且曾经对罗伯茨产生过影响的Kleinrock 已经到加州大学洛山矶分校工作。罗伯茨给了他一个合同,在加州大学建立一个由 他主持的 “网络评测中心” (Network Measurement Center) 。 因此, 建立 ARPANET的工作, 也围绕加州大学洛山矶分校开展起来,“网络评测中心”则被选 来当作ARPANET的第一个节点。 1969年9月, BBN公司给加州大学洛杉机分校(UCLA) 送来了接口信号处理机 (IMP) 。 他们把这台Honeywell DDP 516小型机与加州大学洛杉机分校的SDS Sigma7型电脑连在了一起。打开电源开关,电脑就运行了起来。 这个插图就是1969年9月画的加州大学洛杉机分校 (UCLA) 的一台主机(Sig ma 7)与一台IMP连接的情况。这个接口是Wingfield设计的。值得庆幸的是,我们 现在还可以看到经历了时代的沧桑之后的互联网上的第一个节点的“图纸”。 在BBN公司正式接到信息处理技术办公室的合同之后, 仅仅用了10个月,“网 络上的第一个节点”就安装调试成功了。1969年10月,BBN公司第1890号报告写道: “在此期间,第一个接口信号处理机按期运到了加州大学洛山矶分校。机器本 身装有一个操作程序。 这台机器成功地和洛山矶分校的主机(Sigma 7)连接了起 来。” “花了几天的运输时间, 8月30日,星期天,终于把接口信号处理机运到了加 州大学洛山矶分校。 机器被连到洛山矶分校的Sigma 7主机和电话公司的设备上, 并且在环绕(loop)电话线路中成功地进行了发送和接收信号的实验。” 后来,Leonard Kleinrock也写诗回忆当时的情形: 记得那是星期二,我激动得想哭起来。 所有的人都象兄弟那样在互相指责! 大家来自ARPA,GTE和Honeywell,UCLA和ATT 就象世界末日即将来临。 我们仔细地连接好,比特开始流动。 每一部分都工作良好-为什么这样我却不知道。 到了星期三早晨,信号传送正常。 剩下来的就是历史-“包交换”诞生了! (见《关注网络-从ARPANET到INTERNET以及其他》第14页) “四通四达” 我们的成语可以把通畅说成“四通八达”,可是网络就是网络,四个节点只能 和四个节点连通。 最初的ARPANET就是在四个节点之间连通的,因此,也就是“四 通四达”。 在网络上的第一个节点安装调试成功后不久, BBN公司又给斯坦福研究院 (S RI) 的XDS-940型电脑连上了接口信号处理机(IMP),由此完成了ARPANET上第二 个节点的安装工作。就在这个斯坦福研究院,Doug Engelbart主持着“扩展人类智力”的研究项目。同时,由伊丽莎白·Feinler 主持的“网络信息中心”也在斯坦福研究院,这个中心到后来一直维护着主机名录、 地址镜像和所有“征求意见稿(RFC)”(后面将谈到)的目录。 一个月后, 斯坦福研究院的主机 (XDS-940) 和加州大学洛山矶分校的主机 (Sigma 7) 已经和各自的IMP连通起来。Kleinrock从自己的实验室给斯坦福研究 院发送了第一个主机对主机(host-to-host)的信号。 随后,加州大学桑塔芭芭拉学院(UCSB)的IBM 360/75电脑以及盐湖城犹他学院 (UTAH) 的DEC PDP-10型电脑也都分别联上了接口信号处理机(IMP)。这两个学 院之间有图形方面的合作项目: 桑塔芭芭拉学院的Glen Culler和Burton Fried正 在研究通过存储图象的方法来显示数学方面图形; 而犹他学院的Robert Taylor和 Ivan Sutherland则研究如何在网络上显示三维图形的问题。 从当时的草图中我们也可以看出,实际上,当时真正的“互联网”是在加州大 学洛山矶分校(UCLA),加州大学桑塔芭芭拉学院(UCSB)和斯坦福研究院(SRI) 之间完成的。而犹他学院则是通过斯坦福研究院和其他节点连接的。 就这样, 到了1969年底,按照DARPA的计划,由4个节点构成的ARPANET正式投 入运行。在1970年1月BBN公司第1928号报告中,我们可以看到: “网络扩展到4个节点……还设了一个从IMP到主机的长约2000英尺的远距离接 口。 编了一个测试电话线的程序。在50kbps的线路中,传送2万个比特时,测到了 一个错误。” 也许, 当时的那种联网在今天看来实在是太初级了。 当时用作接口机的Hone ywell DDP 516型小型机的内存只有12K, 而我们现在普遍认为已经过时的486电脑 的内存至少应该是4M,也就是4000K。 当时的传输速度也是今天所无法忍受的。从加州大学到斯坦福研究院之间,信 号以每秒钟50Kbps的速度传送着。 而现在如果在美国建一个T1(1,544Kbps)或者 T3的节点已经是很平常的事。 然而,无论如何,这四台电脑的连接已经具有了今天的互联网的最基本的功能! 大家可以在这个原始的网络上进行各种实验和研究,验证自己的理论是否合理。有 些不合理的设想也可以在实验中得到纠正。 下面的插图则向我们显示了这四个节点在美国的位置: 在1970年1月BBN公司第1928号报告中同时还写道:高级研究计划署把1969年的 合同截止日期延续到了1970年12月31日。当初合同的总金额是50万美元,而实际执 行的时候大约增加了一倍。1970年的合同则是2,013,492美元。至少还要提供另外8 台接口信号处理机。 从此以后, ARPANET的规模开始不断扩大。 1971年4月, 联入ARPANET的节点 (Node)已经有15个,而要管理的各大学的网站(Site或host)则有23个。这些电 脑都是通过接口信号处理机(IMP)实现互相连接的。 初露锋芒 为了让更多的人了解并支持这一事业,1971年底,已经从林肯实验室转到国防 高级研究计划署工作的L. 罗伯茨叫上在BBN公司的Bob Kahn,准备在1972年10月将 要召开的ICCC国际电脑通信大会 (International Computer Communication Conference)上公开展示他们的ARPANET。 Kahn花了将近一年的时间来做准备。 参加准备这次实验的还有学校的学生和 BBN公司的职工将近20人。 有的负责硬件的安装、也有的负责软件的调试,还有的 人负责文案、资料。其中的Frank Heart是BBN公司对这个项目的负责人,当时还是本科生的Jack Haverty后来成 了Oracle公司网络负责人。 实验的主要过程是将接口信号处理机安装在华盛顿的希尔顿饭店地下室中,通 过这个接口信号处理机使这里的电脑可以和ARPANET相连。 然后请大家来使用A RPANET,演示在美国各地的ARPANET上40台电脑互联。 参加这次大会的电脑网络专家有大约30多人。 其中有英国国家物理实验室的 Donald Davies, 正如前面介绍过的那样,他的研究项目也同样是包交换问题;法 国的Remi Despres, 他后来负责那边的商业X.25网; Larry 罗伯茨和Barry Wessler后来领导着BBN公司的Telnet的设计;意大利的网络专家Gesualdo LeMoli、 瑞士皇家研究院的Kjell Samuelson、英国伦敦大学的Peter Kirst ein等人也参加 了会议。 能够同时向这么多专家展示ARPANET是一次绝好的机会。 工夫不负有心人,这 次实验取得了巨大的成功。尤其是对当初持怀疑态度的AT&T公司的人来说真是吃惊 不小。 大家趁热打铁, 在会议期间成立了 “互联网络工作小组” (InterNetwork Working Group),来协调这方面的研究。这个组织就是著名的INWG。由于主持这次 演示的Kahn工作太忙, 抽不开身,大家就选Vinton Cerf担任了“互联网络工作小 组”为期4年的第一任主席。而Vinton Cerf则因此被不少人称为是“互联网之父”。 如果从今天的角度来看,1972年确实是值得记住的一年。由于Kahn在“国际电 脑通信大会”期间主持的这次演示取得成功,以及“互联网络工作小组”的成立, 使ARPANET的网络工作方式得到了确认。由此为ARPANET的发展打下了良好的基础。 同时, 也就是在1972年,ARPANET上影响最大,使用最为频繁的电子邮件也开始在 用户中间广泛流传。 ———————————— 亦凡公益图书馆重新排版