听当年的老人讲述阿帕网(互联网前身)诞生的故事。
作者 | MARK SULLIVAN
译者 | 弯月,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
最近,在我访问加州大学洛杉矶分校的Boelter Hall时,我走上三楼寻找3420室,却与它擦肩而过浑不自知。站在走廊望去,这是一个非常不起眼的房间。
然而,50年前的今天这个房间却发生了一件铭记史册的大事。一位名叫Charley Kline的研究生坐在ITT电传打字机终端前,将计算机历史上的第一则数字数据传输发送给了Bill Duvall,后者正坐在加利福尼亚州另一边斯坦福研究所(现称SRI International)的另一台计算机前。这就是阿帕网(ARPANET)的开始。阿帕网是学术计算机的小型网络,是互联网的前身。
当时,此次短暂的数据传输在世界各地引起了轩然大波。就连Kline和Duvall也没有意识到他们此次行为的真正意义,Kline说:“我不记得那天晚上有什么特别值得纪念的事情,当然我也没有意识到我们所做的一切在当时是很特别的。”然而,他们之间的通讯联系证明了网络通信概念的可行性,最终人们利用这些概念实现了通过计算机在全世界范围内互相传播信息。
如今,从智能手机到车库自动开关,所有设备都是网络上的节点,这些节点正是那天Kline与Duvall测试节点的传承。那么,究竟这二人以及其他人是如何为世界范围内传送字节建立了最初的一套规则呢?这是一个值得分享的故事,特别是由当事人来讲述。
“这种事情决不允许再发生”
早在1969年,许多人就为Kline和Duvall在10月29日晚上取得的突破奠定了基础,其中包括加州大学洛杉矶分校(UCLA)教授Leonard Kleinrock。在50周年之际,我有幸与他、Kline和Duvall一起进行了交谈。Kleinrock如今仍就职于UCLA,他告诉我从某种意义上说,阿帕网是冷战的产物。1957年10月,苏联的1号人造卫星呼啸着划过了美国的天际,震惊了科学界和各个政治机构。
3420室,复原到了1969年辉煌的样子
当我在3420室(现称Kleinrock互联网历史中心)与Kleinrock进行交谈时,他回忆道,人造卫星的发射“让美国张皇失措”,当时艾森豪威尔(美国第三十四任总统)说,“这种事情决不允许再发生。”于是,1958年1月,他在国防部内成立了高级研究计划局(ARPA),以支持美国大学和研究实验室的STEM(科学、技术、工程和数学)。”
60年代中期,ARPA已为全美各个大学和研究机构的研究人员使用的大型计算机提供了大量资金。负责这笔资金的是ARPA官员Bob Taylor,他是计算机历史上重要的人物,后来他又负责施乐公司的PARC实验室。在ARPA时,他痛苦地意识到所有这些计算机都在讲不同的语言,而且彼此之间无法通话。
人们必须拥有单独的终端(每个终端都有各自的租用通信线路)才能与各种远程研究计算机连接,Taylor对此非常不满。他的办公室里塞满了电传打字机。
1969年,Teletype等终端是必不可少的计算设备
1999年,Taylor对《纽约时报》的John Markoff说,“我们需要克服的难题就摆在眼前。如果你有三个终端,那么应该有一个终端可以通往任何你想去的地方。这个想法催生了阿帕网。”
Taylor十分渴望网络,因为他还有一个更实际的理由:他经常收到来自全美各地研究人员的请求,他们请求购买更大、更好的大型计算机。Kleinrock解释道,他知道政府资助的许多计算机都被浪费了。例如,当某个研究人员想方设法最大限度地利用加利福尼亚SRI的系统资源时,可能麻省理工学院的另一台大型机正处于闲置状态,可能东海岸的人已经下班计算机也都闲置了。
或者,某个站点的大型机包含的某些软件正是其他地方求之不得的资源。例如犹他大学开发的由ARPA资助的图形软件,Kleinrock表示,如果没有网络,“如果我在UCLA工作,但我需要做图形处理,那我就需要找到ARPA,请求他们给我买一台那样的计算机。每个人都希望拥有一切。”到1966年的时候,这类的要求已经让ARPA应接不暇了。
Leonard Kleinrock
问题是所有这些计算机使用的语言都不一样。回到五角大楼,Taylor的计算机科学家解释说,所有的研究计算机都运行了不同的代码集。没有通用的网络语言或协议,然而,异地而居的计算需要通过某种语言或协议才能彼此连接,以共享内容或资源。
情况很快就发生了转变。Taylor与ARPA主任Charles Herzfeld商量,投入一百万美元的研发资金打造一个全新的网络,以连接麻省理工学院、UCLA、SRI和其他诸多站点的计算机。为了获得这笔资金,Herzfeld将弹道导弹研究计划的资金转移到了ARPA预算中。国防部各界认可了这笔费用,因为ARPA的任务是建立一个“高存活性”的网络,即便任何部分遭到破坏,即便遭遇核攻击,这个网络也不会崩溃。
ARPA找到了麻省理工学院的Larry Roberts(Kleinrock的老伙伴)来管理阿帕网项目。Roberts在英国计算机科学家Donald Davies和美国Paul Baran发明的基础之上,研究了数据传输技术。
很快,Roberts就请求Kleinrock研究该项目的理论方面,因为自1962年还在麻省理工学院期间,Kleinrock就一直在思考数据网络的问题。
Kleinrock说:“在麻省理工学院读研究生时,我就下决心要解决这个问题,我周围全是计算机,但它们之间却无法互相交谈,我相信迟早要有人来解决这个问题。然而,当时没人关心这个问题,他们都在研究信息和编程理论。”
Kleinrock对阿帕网的主要贡献就是我们常说的“排队论”。当时,通信链路只有从AT&T租用的模拟线路。在这些电路交换线路中,无论是两个人之间的电话通话,还是某个连接到远程主机的终端,都需要通过中央交换机在发送者和接收者之间建立专用连接。在无人讲话或没有比特需要传送时,这些电路就会陷入大量的停机时间。
Leonard Kleinrock在MIT论文中提出的一些概念后来为阿帕网所用
Kleinrock认为在计算机之间建立这种连接是一种极其低效的方法。排队论为来自不同通信会话的数据包提供了一种动态共享链接的方法。当一个数据包流暂停时,可以由另一个完全不相关的数据包来使用这个链接。包含通信会话(如电子邮件发送)的数据包可能会使用四种不同的路由找到通往接收者的路径。如果某个路由被禁用,那么网络还可以通过其他路由来传输数据包。
我们在3420室谈话期间,Kleinrock向我展示了桌子上红色活页夹中他的论文。1964年,他以书本形式发表了他的研究成果。
在这种新型网络中,数据的移动不是由中央交换机控制的,而是由网络节点上的设备控制。1969年,这些网络设备被称为IMP,即“互联网消息处理器”。每台机器都是坚固耐用的Honeywell DDP-516计算机的改良版,其中包含网络控制的专用硬件。
最初的IMP于1969年劳动节在UCLA交到了Kleinrock的手上。今天,它犹如一块巨石矗立在Boelter Hall的一角,经过修复后,这台设备与50年前处理第一次互联网传输时并无二样。
“每天工作15个小时”
1969年秋天,Charley Kline正在努力攻读工程学学位。在Kleinrock获得政府资助并开始着手开发阿帕网后,Kline就作为研究生的一员加入了阿帕网项目。8月,Kline和该项目的其他成员一起努力工作,准备通过UCLA的Sigma 7大型计算机上的软件连接到IMP上。由于计算机和IMP之间没有标准接口(直到1973年Bob Metcalfe和David Boggs才发明了以太网),所以他们从零开始架设了15英尺长的连接电缆。接下来,他们需要另一台计算机进行通信。
Charley Kline
10月初,SRI成为了第二个获得IMP的研究机构。对于Bill Duvall来说,那段时期的准备非常紧张,为了完成从UCLA到SRI SDS 940的首次传输,他们做了大量准备工作。他告诉我,UCLA和SRI团队决心在10月31日之前完成第一次传输。
他回忆说:“我参与了该软件的设计与实现,此次传输是该软件最惊心动魄的时刻,每天我们都需要工作15个小时以上。”
随着万圣节临近,UCLA和SRI都在加快工作步伐。他们决定提前完成这次传输。
Kleinrock说:“当时我们有两个节点,我们租用的AT&T线路可以提供每秒5万比特的超快速度,我们已经做好了充分的准备,是时候放手一博了。”
“我们计划的第一个测试在10月29日,”Duvall补充说,“当时软件还处于准Alpha的版本。而且,我们认为我们有三天的测试时间来启动并运行。”
29日晚,Kline工作到很晚,SRI的Duvall也迟迟没有下班。两人计划在当天晚上尝试发送第一条阿帕网消息,这样即便一台计算机崩溃了,也不会影响到其他人的工作。Kline 独自坐在3420室的终端机前,这是一台连接了计算机的ITT电传打字机。
以下是Kline和Duvall亲口陈述的当晚经过,计算机历史将永远铭记这一时刻:
Kline:我登录到Sigma 7操作系统,然后运行了我编写的程序,接下来我需要告诉该程序尝试将数据包发送到SRI。同时,SRI的Bill Duvall运行了他的程序以接受传入的连接。当时,我们通过电话交谈。
刚开始时,我们遇到了一些问题。我遇到了代码转换的问题,因为我们的系统使用了EBCDIC(扩充二进制编码的十进制交换码),这是IBM使用的标准,也是Sigma 7使用的标准。然而,SRI计算机使用的是ASCII(美国信息交换标准代码),这个标准后来成了阿帕网的标准,并且几乎成了世界标准。
因此,在解决了其中的一些小bug之后,我们开始尝试实际的传输(需要通过输入“login”一词来完成操作)。SRI系统经过编程后非常智能,因此它可以识别有效的命令。如果你在高级模式下使用这个系统,当你键入“ L”、“ O”和“ G”时,它会意识到你在键入“ LOGIN”,并且会为你自动键入“ IN” 。所以我输入了L。
我在电话这头问Duvall:“你收到L了吗?”他说收到了,然后我说我看到“L”回来并输出到我的终端上了。然后我继续输入“O”,然后他说:“我收到O了。”接着我又输入了“G”,然后他说:“等等,我的系统崩溃了。”
Bill Duvall
Duvall:在接收到几个字母后,系统出现了缓冲区溢出的问题。这个问题很容易检测和修复,所以我们立即修复了它,然后系统就正常工作了。我之所以提到这个问题是因为,这件事的意义不在于修复bug本身,而是它证明阿帕网成功了。
Kline:他那边遇到了一个小bug,他花了20分钟修复后,我们继续重试。他做了一些软件上的改动,我也仔细检查了我的软件。然后他打过电话来,我们开始再次尝试。我们需要重新开始,因此我输入了“L”,“O”和“G”,这次我终于收到了“IN”。
“工程师的工作”
首次连接发生在当晚10点30分。连接成功后,Kline能够使用Duvall为他创建的SRI计算机上的账号登录,并使用远在350英里之外的UCLA计算机系统资源运行程序。至此,阿帕网已经初步完成了使命。
Kline说:“那时,天色已晚,所以我回家了。”
3420房间的一块牌匾
整个团队都得知了这个成功的消息,但是他们没有过分在意此次的成就,“这只是工程师的工作,”Kleinrock说。Duvall认为10月29日的连接只是计算机网络面临的更大挑战中的一步。Kleinrock的工作重点是如何在网络上确定数据包的方向,而SRI研究人员则承担起了如何构造数据包以及如何组织数据的研究工作。
Duvall说:“这基本上就是我们开发出来的范式,如今我们在互联网上看到的包含链接的文档以及类似的内容都基于该范式。我们一直设想建立一系列相互联网的工作站和相互连接的人员。届时我们就可以称它们为知识中心,因为我们面向的是学术。”
在Kline和Duvall首次通信成功后的几周内,阿帕网迅速扩展到了圣塔芭芭拉分校和犹他大学的计算机。70年代以及80年代期间,阿帕网迅速发展了起来,连接了越来越多的政府和学术计算机。后来,阿帕网创造的概念应用到了今时今日的互联网。
早在1969年,UCLA的新闻公告就大力宣扬阿帕网。引用Kleinrock的话说:“如今,计算机网络还处于起步阶段。但是随着计算机网络的成长,变得越来越复杂,我们可能会看到计算机公共事业的普及,就像现在的电力和电话一样,为世界各地的家庭和办公室提供服务。”
如今,数据网络已经远远超过了家庭和办公室,甚至嵌入了最小的物联网设备,因此这个概念听起来有点奇怪。然而,Kleinrock关于“计算机实用程序”的陈述非常有先见之明,因为现代商业化的互联网直到几十年后才出现。即使如今计算资源像电力一样普遍且易于使用,这个想法在2019年仍然很新鲜。
也许50年的周年纪念日是一个很好的机会,不仅可以让我们记住人类进入这个高度互联网时代的过程,还可以让我们像Kleinrock一样展望未来,思考网络下一步的发展方向。
原文:https://www.fastcompany.com/90423457/50-years-ago-today-the-internet-was-born-in-room-3420
本文为 CSDN 翻译,转载请注明来源出处。
【END】
Python的学习方式
https://edu.csdn.net/topic/python115?utm_source=csdn_bw
热 文 推 荐
☞