互联网历史:阿帕网 - 包

互联网历史:阿帕网 - 包
1967 年 XNUMX 月的 ARPA 计算机网络图。空圆圈是共享访问的计算机,带线的圆圈是一个用户的终端

该系列的其他文章:

到年底的1966结束 罗伯特·泰勒 他利用 ARPA 的资金启动了一个项目,将多台计算机连接到一个系统中,其灵感来自于“星际网络» 约瑟夫·卡尔·罗布内特·利克莱德.

泰勒将项目执行的责任转移到有能力的人手中 拉里·罗伯茨。 在接下来的一年里,罗伯茨做出了几项关键决策,这些决策将在阿帕网及其后继者的技术架构和文化中产生反响,在某些情况下甚至会持续数十年。 第一个重要的决定(尽管不是按时间顺序排列)是确定将消息从一台计算机路由到另一台计算机的机制。

问题

如果计算机 A 想要向计算机 B 发送一条消息,该消息如何从一台计算机发送到另一台计算机? 理论上,通过使用物理电缆将每个节点连接到每个节点,您可以允许通信网络中的每个节点与每个其他节点进行通信。 为了与 B 进行通信,计算机 A 只需沿着将其连接到 B 的传出电缆发送一条消息。这样的网络称为网状网络。 然而,对于任何较大的网络规模,这种方法很快就变得不切实际,因为连接数量随着节点数量的平方而增加(准确地说是 (n2 - n)/2)。

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

然后电话出现了,需要一种新的方法。 通过电话发出的每句话之后都会有几分钟的延迟,这些话必须被破译并传输到目的地,这会给人一种与火星上的对话者交谈的感觉。 相反,电话使用电路交换。 呼叫者在每次通话开始时都会发送一条特殊消息,表明他想给谁打电话。 首先,他们通过与接线员交谈,然后拨打一个号码,该号码由总机上的自动设备处理。 操作员或设备在呼叫者和被叫方之间建立专用的电气连接。 在长途呼叫的情况下,这可能需要多次迭代通过多个交换机连接呼叫。 一旦建立连接,对话本身就可以开始,并且连接将一直保持,直到其中一方挂断电话为止。

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

计算机数据网络与电话和电报之间的一个重要区别是对机器处理的数据错误的敏感性。 电报中某个字符的传输过程中的变化或丢失,或者电话交谈中某个单词的一部分消失,几乎不会严重干扰两个人的通信。 但是,如果线路上的噪声将发送到远程计算机的命令中的单个位从 0 切换为 1,则可能会完全改变该命令的含义。 因此,必须检查每条消息是否有错误,如果发现错误则重新发送。 对于大型消息来说,这样的重播成本太高,并且更有可能导致错误,因为它们需要更长的传输时间。

这个问题的解决方案是通过 1960 年发生的两起独立事件来解决的,但后来发生的事件首先被拉里·罗伯茨和 ARPA 注意到。

会议

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

巧合的是,在同一个研讨会上,另一个人对解决数据网络中的路由问题提出了更好的想法。 罗杰·斯坎特尔伯里 (Roger Scantlebury) 跨越大西洋,从英国国家物理实验室 (NPL) 带来了一份报告。 报告结束后,斯坎特尔伯里将罗伯茨叫到一边,告诉他自己的想法。 分组交换。 这项技术是由他在 NPL 的老板唐纳德·戴维斯 (Donald Davis) 开发的。 在美国,戴维斯的成就和历史鲜为人知,尽管 1967 年秋天,戴维斯在 NPL 的小组的想法至少比 ARPA 领先一年。

戴维斯和许多电子计算的早期先驱一样,是一位受过训练的物理学家。 1943 年,19 岁的他从伦敦帝国理工学院毕业,并立即被招募到代号为 管合金。 在那里,他监督了一个由人类计算器组成的团队,他们使用机械和电气计算器快速给出与核聚变相关问题的数值解决方案(他的主管是 埃米尔·朱利叶斯·克劳斯·福克斯,一位德国侨民物理学家,当时他已经开始将核武器的秘密转移到苏联)。 战后,他从数学家约翰·沃默斯利 (John Womersley) 那里听说了他在 NPL 领导的一个项目——创建一台电子计算机,该计算机应该以更高的速度执行相同的计算。 阿兰·图灵设计的计算机 称为ACE,“自动计算引擎”。

戴维斯欣然接受了这个想法,并尽快与 NPL 签约。 在为 ACE 计算机的详细设计和构建做出贡献后,他作为 NPL 的研究领导者继续深入参与计算领域。 1965年,他恰巧在美国参加一个与他的工作有关的专业会议,并利用这个机会参观了几个大型分时计算机网站,看看到底有什么大惊小怪的。 在英国的计算环境中,美国意义上的多用户交互式共享计算机的时间共享是未知的。 相反,分时意味着将计算机的工作负载分配给多个批处理程序(例如,一个程序可以工作,而另一个程序则忙于读取磁带)。 那么这个选项将被称为多道程序设计。

戴维斯的漫游使他参与了麻省理工学院的 MAC 项目、加利福尼亚州兰德公司的 JOSS 项目以及新罕布什尔州的达特茅斯分时系统。 在回家的路上,他的一位同事建议举办一个分享研讨会,向英国社区介绍他们在美国学到的新技术。 戴维斯同意了,并接待了美国计算机领域的许多领军人物,包括 费尔南多·何塞·科尔巴托 (麻省理工学院“可互操作分时系统”的创建者)和拉里·罗伯茨本人。

在研讨会期间(或者可能是在研讨会之后),戴维斯对分时哲学可以应用于计算机通信线路而不仅仅是计算机本身的想法感到震惊。 分时计算机为每个用户提供一小块 CPU 时间,然后切换到另一个用户,从而使每个用户产生拥有自己的交互式计算机的错觉。 同样,通过将每条消息切割成标准大小的片段(戴维斯称之为“数据包”),单个通信通道可以在许多计算机或一台计算机的用户之间共享。 此外,它将解决电话和电报交换机不适合的数据传输的所有方面。 操作交互式终端发送短命令并接收短回复的用户不会被大文件传输所阻塞,因为传输将被分成许多数据包。 如此大的消息中的任何损坏都会影响单个数据包,可以轻松地重新传输该数据包以完成消息。

戴维斯在 1966 年发表的一篇未发表的论文“数字通信网络提案”中描述了他的想法。 当时,最先进的电话网络正处于计算机化交换机的边缘,戴维斯提议将分组交换嵌入到下一代电话网络中,创建一个能够满足各种请求的单一宽带通信网络,从简单的电话呼叫到远程呼叫。访问计算机。 那时,戴维斯已晋升为 NPL 经理,并在 Scantlebury 旗下组建了一个数字通信小组来实施他的项目并创建工作演示。

在加特林堡会议召开的前一年,斯坎特尔伯里的团队制定了创建数据包交换网络的所有细节。 单个节点故障可以通过自适应路由来解决,自适应路由可以处理到达目的地的多条路径,并且单个数据包故障可以通过重新发送来处理。 模拟和分析表明,最佳数据包大小为 1000 字节 - 如果将其做得更小,则标头中元数据行的带宽消耗将太多,更多 - 并且交互式用户的响应时间将由于消息量大,增加过于频繁。

互联网历史:阿帕网 - 包
Scantlebury 的工作包括诸如包格式之类的细节......

互联网历史:阿帕网 - 包
...并分析数据包大小对网络延迟的影响。

与此同时,戴维斯和斯坎特尔伯里的搜索发现了另一位美国人所做的详细研究论文,该美国人在他们之前几年就提出了类似的想法。 但同时 保罗·伯兰兰德公司的电气工程师根本没有考虑过分时计算机用户的需求。 兰德公司是一家由国防部资助、位于加利福尼亚州圣莫尼卡的智囊团,成立于二战后,旨在为军方提供战略问题的长期规划和分析。 巴兰的目标是通过创建一个能够抵御大规模核攻击的高度可靠的军事通信网络来推迟核战争。 这样的网络将使苏联先发制人打击的吸引力降低,因为很难摧毁美国打击多个敏感点作为回应的能力。 为此,巴兰提出了一种系统,将消息分解成他所谓的消息块,这些消息块可以在冗余节点网络上独立传输,然后在端点组装在一起。

ARPA 可以访问 Baran 为 RAND 提供的大量报告,但由于它们与交互式计算机无关,因此它们对 ARPANET 的重要性并不明显。 罗伯茨和泰勒显然从未注意到他们。 相反,由于一次偶然的会面,斯坎特尔伯里把一切都交给了罗伯茨:一个精心设计的切换机制、对创建交互式计算机网络问题的适用性、兰德公司的参考资料,甚至还有“包”这个名字。 NPL 的工作还使 Roberts 相信需要更高的速度才能提供良好的容量,因此他将其计划升级到 50 Kbps 链路。 为了创建阿帕网,路由问题的一个基本部分得到了解决。

确实,数据包交换思想的起源还有另一个版本。 罗伯茨后来声称,多亏了他的同事 Len Kleinrock 的工作,他的脑海中已经有了类似的想法。据称,Len Kleinrock 早在 1962 年就在他关于通信网络的博士论文中描述了这个概念。 然而,从这部作品中提取这样的想法是非常困难的,而且我找不到这个版本的任何其他证据。

从未存在过的网络

正如我们所看到的,两个团队在开发数据包交换方面领先于 ARPA,这项技术已被证明非常有效,以至于现在几乎成为所有通信的基础。 为什么阿帕网是第一个使用它的重要网络?

这全都与组织的微妙之处有关。 ARPA 没有建立通信网络的官方许可,但现有的大量研究中心拥有自己的计算机、几乎不受监督的“自由”道德文化以及巨额资金。 泰勒最初在 1966 年请求资金创建阿帕网,要求拨款 1 万美元,罗伯茨从 1969 年起每年都花这么多钱来启动和运行该网络。 与此同时,对于 ARPA 来说,这些钱只是小钱,所以他的老板们都不担心罗伯茨用这笔钱做什么,只要它能以某种方式与国防需求联系起来。

兰德公司的巴兰既没有权力也没有权力做任何事情。 他的工作纯粹是探索性和分析性的,如果需要的话可以应用于防御。 1965 年,兰德实际上向空军推荐了他的系统,空军也认为该项目是可行的。 但它的实施落在了国防通信局的肩上,他们并不特别了解数字通信。 巴兰说服了兰德公司的上级,最好是撤回该提案,而不是允许它实施并毁掉分布式数字通信的声誉。

戴维斯作为 NPL 的负责人,拥有比巴兰更大的权力,但预算比 ARPA 更紧张,而且他没有现成的研究计算机社交和技术网络。 1960 世纪 120 年代末,他在三年内投入了 000 万英镑的适度预算,成功地在 NPL 创建了一个本地分组交换网络原型(只有一个节点,但有许多终端)。 阿帕网每年在网络众多节点的运营和维护上花费大约一半的费用,不包括硬件和软件的初始投资。 能够创建大规模英国分组交换网络的组织是英国邮政局,它管理着该国除邮政服务本身之外的电信网络。 戴维斯提出的全国范围内统一数字网络的想法引起了几位有影响力的官员的兴趣,但他无法改变如此庞大系统的方向。

利克莱德凭借运气和计划,找到了一个完美的温室,让他的星际网络得以蓬勃发展。 同时,不能说除了分组交换之外的所有事情都归结为金钱。 这个想法的执行也发挥了作用。 此外,其他几个重要的设计决策塑造了阿帕网的精神。 因此,接下来我们将了解如何在发送和接收消息的计算机以及它们发送这些消息的网络之间分配责任。

还有什么要读的

  • 珍妮特·阿巴特,发明互联网 (1999)
  • 凯蒂·哈夫纳和马修·里昂,奇才们熬夜的地方 (1996)
  • Leonard Kleinrock,“互联网的早期历史”,IEEE 通信杂志(2010 年 XNUMX 月)
  • Arthur Norberg 和 Julie O'Neill,计算机技术变革:五角大楼的信息处理,1962-1986 (1996)
  • M. Mitchell Waldrop,梦想机器:JCR Licklider 和使计算个性化的革命 (2001)

来源: habr.com

添加评论