互联网历史记录:ARPANET-软件包


1967年6月的ARPA计算机网络图。空圆圈-具有共享访问权限的计算机,带破折号的圆圈-一个用户的终端


1966年末,受约瑟夫·卡尔·罗伯特·利克里德Joseph Carl Robert Liklider)的星际网络 ”的启发, 罗伯特·泰勒Robert Taylor)在ARPA的资助下,发起了一个将多个计算机连接到单个系统的项目。

泰勒将项目执行的责任移交给了拉里罗伯茨的有能力的手中。 在接下来的一年中,罗伯茨做出了几项重要的决定,这些决定随后在ARPANET及其追随者的技术架构和文化中得到了回应,在某些情况下甚至持续了数十年。 尽管不是按时间顺序排列,但重要的第一个决定是确定将消息从一台计算机路由到另一台计算机的机制。

问题


如果计算机A要向计算机B发送消息,如何从一个消息到另一个消息? 理论上,通过将物理节点彼此连接到每个节点,可以允许通信网络的每个节点与所有其他节点进行通信。 为了与B通信,计算机A仅通过将其连接到B的输出电缆发送一条消息。此网络称为完全连接。 但是,对于任何较大的网络规模,此方法很快变得不切实际,因为连接数随节点数的平方增加(准确地说,为(n 2 -n)/ 2)。

因此,需要某种构造消息路由的方法,该方法在消息到达中间节点时将其进一步发送到目标。 在1960年代初期,解决该问题的两种基本方法是已知的。 第一种是通过“存储和传输”切换消息的方法。 电报系统使用了这种方法。 当消息到达中间节点时,它被临时存储在那里(通常以纸带的形式),直到有可能将其进一步传输到目标,或传输到更接近目标的另一个中间中心。

然后电话出现,并且需要一种新的方法。 电话中的每条陈述都必须经过解密并传输到目的地后,延迟几分钟才可以与火星上的对话者交谈。 相反,电话使用电路交换。 呼叫者通过发送一条特殊消息指示他想呼叫谁来开始每个呼叫。 首先,他们通过与操作员交谈来完成此操作,然后在交换机上拨打由自动设备处理的号码。 话务员或设备在呼叫者和被叫方之间建立了专用的电气连接。 在长途电话的情况下,这可能需要多次迭代才能通过多个交换机连接呼叫。 建立连接后,对话本身可以开始,并且连接一直保持到当事方之一通过挂断打断通话为止。

决定在ARPANET中使用数字通信来连接根据分时方案工作的计算机,该数字通信使用了电报和电话的功能。 一方面,数据报文以电报形式在单独的数据包中传输,而不是在电话中以连续对话的形式传输。 但是,这些消息可能具有不同的大小,以用于不同的目的,从长几个字符的控制台命令到将数据从一台计算机传输到另一台计算机的大文件。 如果文件被延迟传输,则没有人抱怨。 但是远程交互需要快速响应,例如电话。

一方面,计算机数据网络与另一方面带电报的电话之间的一个重要区别是对机器处理的数据中的错误的敏感性。 在电报中传输一个字符期间发生的更改或丢失,或在电话交谈中单词的一部分消失时,几乎不会严重破坏两个人的交流。 但是,如果线路上的噪声在发送给远程计算机的命令中将单个位从0切换为1,则可能会完全改变命令的含义。 因此,必须检查每条消息的错误,如果发现错误就重新发送。 这样的重复对于大型消息而言代价太高,并且由于传输时间更长,因此发生错误的可能性也更大。

这个问题的解决方案要归功于1960年发生的两次独立事件,但是后来出现的事件首先由Larry Roberts和ARPA注意到。

会面


1967年秋天,罗伯茨(Roberts)从大烟山森林密布的山峰后面到达田纳西州的盖特林堡(Gatlinburg),提供了一份文件,说明了ARPA部署该网络的计划。 他在信息处理技术办公室(IPTO)工作了将近一年,但是网络设计的许多细节仍然非常模糊,包括路由问题的解决方案。 除了模糊地提及这些块及其大小外,罗伯茨的作品中唯一提及它的地方就是最后的简短而回避的评论:“似乎有必要保持定期使用的通信线路,以接收交互工作所需的十分之一到一秒的响应。 “这对于网络资源而言是非常昂贵的,除非我们能够更快地打电话,否则消息的交换和集中对于网络参与者来说将变得非常重要。” 显然,到那个时候,罗伯茨还没有决定是否放弃他在1965年与汤姆·马里尔(Tom Marrill)一起使用的方法,即使用自动拨号通过拨号电话网络连接计算机。

巧合的是,另一个人参加了同一场研讨会,提出了一个更好的解决想法,以解决数据网络中的路由问题。 罗杰·斯坎特伯里(Roger Scantbury)从英国国家物理实验室(NPL)抵达并跨越了大西洋,并提交了报告。 斯坎特伯雷在谈话后把罗伯茨拉到一边,并告诉他关于分组交换的想法。 该技术由NPL的负责人Donald Davis开发。 在美国,戴维斯的成就和历史鲜为人知,尽管在1967年秋天,NPL的戴维斯小组的想法比ARPA至少领先一年。

像许多电子计算机的早期开拓者一样,戴维斯是一位受过训练的物理学家。 他于1943年从伦敦帝国理工大学(Imperial College)毕业,享年19岁,并被立即接纳为代号为Tube Alloys的秘密核武器开发计划的成员。 在那里,他领导了一群使用机械和电子计算器的计算器,以快速发布有关核聚变问题的数值解决方案(其领导人是德国外籍物理学家埃米尔·朱利叶斯·克劳斯·福克斯Emil Julius Klaus Fuchs) ,他已经开始将核武器的秘密传递给苏联) ) 战争结束后,他从数学家约翰·沃默斯利(John Womersley)那里听说了他在NPL中领导的项目-就是创建了一台电子计算机,该计算机应该以更快的速度执行所有相同的计算。 由Alan Turing开发的计算机称为ACE,即“自动计算机”。

戴维斯(Davis)抓住了这个主意,并尽其所能雇用了不良贷款。 他为ACE计算机的详细设计和创建做出了贡献,作为NPL的研究负责人,他仍深深地涉足计算机领域。 1965年,碰巧的是,他在美国召开了一次与他的工作有关的专业会议,并利用这次机会访问了几个大型的基于计算机的地点,并分时分享了他们的大惊小怪。 在英国的计算环境中,尚不了解美国在多个用户之间进行交互式计算机共享的时间共享。 相反,它们的时间共享意味着在几个批处理程序之间分配计算机负载(例如,一个程序在工作,而另一个程序正在从磁带中读取)。 然后,此选项将称为多程序。

戴维斯的流浪带领他去了麻省理工学院的MAC项目,加利福尼亚州兰德公司的JOSS项目以及新罕布什尔州的达特茅斯分时系统。 在回家的路上,他的一位同事建议举行一次共享研讨会,向英国社区介绍他们在美国学到的新技术。 戴维斯同意并主持了美国计算机领域的许多主要人物,包括费尔南多·何塞·科巴托 (麻省理工学院“兼容的分时系统”的创建者)和拉里·罗伯茨本人。

在研讨会期间(或可能在紧接之后),戴维斯对时分共享的理念可以应用于计算机的通信线路而不仅仅是计算机本身的想法感到震惊。 分时计算机给每个用户少量的处理器时间,然后切换到另一个处理器,从而给每个用户带来拥有自己的交互式计算机的幻想。 同样,通过将每条消息切成标准大小的片段(戴维斯称为“数据包”),可以在多台计算机或同一计算机的用户之间共享一个通信通道。 而且,这将解决电话和电报交换机适应性差的数据传输的所有方面。 使用交互式终端,发送短命令并接收短响应的用户不会被大文件的传输所阻塞,因为这种传输将被分成许多数据包。 如此大的消息中的任何损坏都将影响单个数据包,可以轻松地将其重新传输以完成消息。

戴维斯(Davis)在1966年未发表的作品“数字通信网络的报价”中描述了他的想法。 当时,最先进的电话网络正处于交换机计算机化的边缘,戴维斯(Davis)提出将分组交换集成到新一代电话网络中,从而创建一个能够处理从简单的电话呼叫到对计算机的远程访问等各种请求的宽带通信网络。 那时,戴维斯已晋升为不良贷款经理,他组建了由Scantlebury领导的数字通信团队,以执行他的项目并创建一个工作演示。

在盖特林堡会议召开的前一年,Scantlebury团队制定了创建分组交换网络的所有细节。 一个节点可能会通过自适应路由而失败,该路由能够处理到达目的地的多个路径,并且单个数据包可以通过重新发送来解决。 仿真和分析表明,最佳数据包大小将为1000个字节-如果将其减小得更小,则报头中元数据的行吞吐成本将变得太大,更长—并且由于大消息,交互式用户的响应时间会增加太多。


Scantlebury的作品包含诸如包装格式之类的细节...


...以及分析数据包大小对网络延迟的影响。

同时,戴维斯(Davis)和斯坎特伯里(Scantlebury)的搜索导致了另一位美国人的详细研究工作的发现,他们在几年前提出了类似的想法。 但是与此同时,兰德公司的电气工程师Paul Beran根本没有考虑分时共享计算机用户的需求。 兰德(RAND)是由美国国防部在加利福尼亚州圣塔莫尼卡(Santa Monica)资助的智囊团,在第二次世界大战后成立,旨在长期规划和分析军队的战略问题。 Beran的目标是通过建立一个非常可靠的军事通信网络来延迟核战争,该网络即使在大规模的核袭击中也可以幸免。 这样的网络会使苏联的先发制人的攻击吸引力降低,因为要破坏美国打击几个敏感点的能力非常困难。 为此,Beran提出了一种系统,该系统将消息分解为他所谓的消息块,这些消息块可以通过具有过多连接的通信节点网络独立传输,然后在端点处组装在一起。

ARPA可以访问Baran关于RAND的大量报告,但是由于它们没有连接到交互式计算机,因此它们对ARPANET的重要性并不明显。 罗伯茨和泰勒显然从未被人注意到。 相反,作为一次偶然的会议的结果,斯坎特伯雷将所有东西都展示给了罗伯茨,包括:经过深思熟虑的交换机制,适用于创建交互式计算机网络的任务,兰德公司的参考资料,甚至是“包装”名称。 NPL的工作还使Roberts确信需要更高的速度才能获得良好的带宽,因此他将其计划更新为50 kbps链接。 为了创建ARPANET,解决了路由问题的基本部分。

的确,还有分组交换概念的另一种形式。 罗伯茨后来声称,由于同事伦·克莱因洛克(Len Kleinrock)的工作,他的脑子里已经有了类似的想法,据称他在1962年的通信网络博士学位论文中就描述了这个概念。 但是,很难从这项工作中提取出这样的想法,此外,我找不到该版本的任何其他证据。

并非如此的网络


我们可以看到,在分组交换的开发方面,有多达两个团队领先于ARPA,该技术如此有效,以至于现在它已成为几乎所有通信的基础。 为什么ARPANET成为第一个使用它的重要网络?

这都是关于组织的精妙之处。 ARPA没有获得建立通信网络的官方许可,但是有大量的研究中心拥有自己的计算机,一种几乎没有人关注的“自由”道德文化和大量金钱。 泰勒(Taylor)在1966年提出的创建ARPANET的最初要求资金宣布为100万美元,从1969年开始,罗伯茨(Roberts)每年仍花费大量资金来创建和运营该网络。 同时,这笔钱对ARPA来说是微不足道的,因此,只要它至少能够以某种方式满足国防的需要,它的所有老板都不会担心罗伯茨对他们的所作所为。

兰德的巴兰既无能力也无权做任何事情。 他的工作纯粹是研究和分析,并且可以根据需要将其应用于防御。 1965年,兰德实际上推荐了其空军系统,他们同意该项目的可行性。 但是它的实现落在了国防通信机构的肩上,在那里他们并不特别精通数字通信。 Beran说服了RAND当局,与其接受此提议,不如让他以任何方式意识到并破坏分布式数字通信的声誉,这将是更好的选择。

作为NPL负责人的戴维斯(Davis)比Baran拥有更多的权力,但与ARPA相比预算有限,并且他还没有研究计算机提供的现成的社会和技术网络。 1960年代后期,他设法在NPL中建立了一个原型本地分组交换网络(只有一个节点,但有许多终端),三年的预算不高,仅为12万英镑。 ARPANET每年将大约一半的费用用于许多网络节点中每个节点的运行和维护,不包括对硬件和软件的最初投资。 能够建立大规模的英国分组交换网络的组织是英国邮政,它经营该国的电信网络,但不包括直邮。 戴维斯设法使一些有影响力的官员对国家数字网络的想法感兴趣,但他无法改变如此庞大的系统的发展方向。

利克利德(Liklider)将运气与计划结合起来,发现了一个美丽的温室,他的星系网络可以蓬勃发展。 同时,不能争辩说,除了数据包交换之外,其他一切都取决于金钱。 这个想法的作用和执行也发挥了作用。 此外,ARPANET的精神还由设计阶段的其他一些重要决定确定。 因此,我们将进一步研究如何在发送和接收消息的计算机与它们发送消息的网络之间分配责任。

还有什么要读


  • 珍妮特·阿贝特(Janet Abbate),发明互联网(1999)
  • 凯蒂·哈夫纳(Katie Hafner)和马修·里昂(Matthew Lyon),《巫师熬夜》(1996年)
  • 伦纳德·克莱因洛克(Leonard Kleinrock),“互联网的早期历史”,IEEE通信杂志(2010年8月)
  • Arthur Norberg和Julie O'Neill,《变革计算机技术:五角大楼的信息处理》,1962-1986年(1996)
  • M. Mitchell Waldrop,“梦想机器:JCR Licklider和使计算机成为个人的革命”(2001年)

Source: https://habr.com/ru/post/zh-CN457256/


All Articles