后一页 前一页 回目录 回首页 |
实践往往是理论的先导,互联网的产生也同样来自实践的需要。 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 AFIPSConf.,Oct.1966)。介绍了他们在马萨诸塞州和加利弗尼亚州之间实验不同电脑的联网的过程和结果。 在报告中,他们写道,将不同的电脑连接到一起并没有多大的困难。但是问题在于,这种连接是通过电话线完成的,如果是远距离通信的话,信号将很难顺利达到终点。因此必须使用包交换的理论。这个结论对于后来互联网的发展,可以说是决定性的。 1966年,也是L.罗伯茨“被迫”到DARPA的信息处理技术办公室任职的一年。 他抓住这个机会,积极准备建立一个真正的网。1967年10月在ACM盖特林堡大会上,罗伯茨终于提交了关于建立ARPANET的计划:“多电脑网络和电脑间的通信”(“MultipleComputer Networks and Intercomputer Communication”,ACM Gatlinburg Conf.,October1967)。 在此之后,DARPA才决定将麻省理工学院林肯实验室的TX-2电脑和加利弗尼亚州SDC系统发展公司(System Development Corp.)的Q-32电脑加上DARPA资助的其它几个学校和研究机构的节点,连接成ARPANET,深入进行网络互联方面的实验。同时也要求他们把对ARPANET设计的数据传送速率从2,400bps增加到50,000bps。 小的是好的 1968年8月,L.罗伯茨代表国防部高级研究计划署的信息处理技术办公室正式提出了课题,要求设计并制造出网络通信的关键设备──包交换装置,他们把这种装置称为: “接口信号处理机”(IMP:Interface Message Processor)。希望通过IMP来研究在小型的、交互连接式的电脑上进行通信的系统。这个课题的具体要求是制造出给4个节点用的4个IMP,实现这4个节点之间的联网,并且设计出今后可以容纳17个网站的电脑网络。 为了广泛地筛选适合做这项工作的公司,罗伯茨代表信息处理技术办公室发出了140份“项目招标”。一下子引来了几十家对这个项目感兴趣的公司,收到的标书加起来有6英尺高。 第一份送达的标书当然来自IBM公司。当时的IBM公司已经实力雄厚,统治了大型电脑系统的市场。公司大了,提出的方案也大。他们的计划是使用IBM生产的360MODEL 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的这个项目将使用四台小型机作为存储-转发的节点,并且选定使用HonewellDDP 516小型机来完成这一任务。而这些小型机正是起到了一种“接口信号处理机”的作用。 在此期间,最早提出包交换理论,并且曾经对罗伯茨产生过影响的Kleinrock已经到加州大学洛山矶分校工作。罗伯茨给了他一个合同,在加州大学建立一个由他主持的“网络评测中心”(Network Measurement Center)。因此,建立ARPANET的工作,也围绕加州大学洛山矶分校开展起来,“网络评测中心”则被选来当作ARPANET的第一个节点。 1969年9月,BBN公司给加州大学洛杉机分校(UCLA)送来了接口信号处理机(IMP)。他们把这台Honeywell DDP 516小型机与加州大学洛杉机分校的SDS Sigma7型电脑连在了一起。打开电源开关,电脑就运行了起来。 这个插图就是1969年9月画的加州大学洛杉机分校(UCLA)的一台主机(Sigma 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公司又给斯坦福研究院(SRI)的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万个比特时,测到了一个错误。” 也许,当时的那种联网在今天看来实在是太初级了。当时用作接口机的Honeywell DDP516型小型机的内存只有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公司对这个项目的负责人,当时还是本科生的JackHaverty后来成了Oracle公司网络负责人。 实验的主要过程是将接口信号处理机安装在华盛顿的希尔顿饭店地下室中,通过这个接口信号处理机使这里的电脑可以和ARPANET相连。然后请大家来使用ARPANET,演示在美国各地的ARPANET上40台电脑互联。 参加这次大会的电脑网络专家有大约30多人。其中有英国国家物理实验室的DonaldDavies,正如前面介绍过的那样,他的研究项目也同样是包交换问题;法国的RemiDespres,他后来负责那边的商业X.25网;Larry 罗伯茨和Barry Wessler后来领导着BBN公司的Telnet的设计;意大利的网络专家Gesualdo LeMoli、瑞士皇家研究院的KjellSamuelson、英国伦敦大学的Peter Kirstein等人也参加了会议。 能够同时向这么多专家展示ARPANET是一次绝好的机会。工夫不负有心人,这次实验取得了巨大的成功。尤其是对当初持怀疑态度的AT&T公司的人来说真是吃惊不小。 大家趁热打铁,在会议期间成立了“互联网络工作小组”(InterNetwork WorkingGroup),来协调这方面的研究。这个组织就是著名的INWG。由于主持这次演示的Kahn工作太忙,抽不开身,大家就选Vinton Cerf担任了“互联网络工作小组”为期4年的第一任主席。而Vinton Cerf则因此被不少人称为是“互联网之父”。 如果从今天的角度来看,1972年确实是值得记住的一年。由于Kahn在“国际电脑通信大会”期间主持的这次演示取得成功,以及“互联网络工作小组”的成立,使ARPANET的网络工作方式得到了确认。由此为ARPANET的发展打下了良好的基础。同时,也就是在1972年,ARPANET上影响最大,使用最为频繁的电子邮件也开始在用户中间广泛流传。 |
后一页 前一页 回目录 回首页 |