《OSPF和IS-IS详解》一1.2 ARPANET

本节书摘来自异步社区《OSPF和IS-IS详解》一书中的第1章,第1.2节,作者 【美】Jeff Doyle,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 ARPANET

OSPF和IS-IS详解
ARPA于1958年创建于艾森豪威尔治下,之所以组建该机构,是要对前苏联发射的第一颗人造地球轨道卫星Sputnik(伴侣号)进行“回击”,因为当时美国已经清楚地意识到自己的科技水平落后于前苏联了。可以说,美国出于其在国际(科技水平)竞争力方面的尴尬,设立了这样一个机构,意在通过某种渠道(主要是通过大学)来投资并管理相关科研项目。

军工企业在结构方面的复杂性,加上各军种之间时常发生的激烈竞争,促使艾森豪威尔把ARPA定性为一个独立机构,由非军方人员来主持,同时在科研项目上给予了宽松的资金支持,以及较高的自由度。

接替J. C. R. Licklider作为ARPA第二、第三任领导的分别是Ivan Sutherland和Bob Taylor。Licklider在学术方面的成就——“星际网络”的理念,以及由连接成网络的分时计算机互连多个利益共同体的想法——对这两位领导影响甚深。有意思的是,Taylor跟Licklider一样,也是研究“心理声学(psychoacoustics)”的心理学家,这也促使他对计算机科学发生了浓厚兴趣。

ARPA早期的许多科研项目都涉及导弹和卫星,这势必会与命令和控制系统有紧密联系。显而易见,计算机技术肯定会位居其中的核心地位——无论是作为工具还是作为科研对象。

因为由ARPA资助的大多数科研项目都是由美国各所高校来负责实施,所以用于科研的计算机也遍布全美。Bob Taylor的办公室连接了三台计算机,这三台机器分别位于MIT(麻省理工学院)、加州大学伯克利分校,以及加州圣莫尼卡的系统研发公司(System Development Corporation,SDC)。在他的办公室内,需要分别为每台计算机配备一台终端,而每台计算机的登录规程也各不相同。受到过Licklider启发的Taylor曾不停地反思,为什么就不能只通过一台终端来连接三台计算机呢。更为重要的是,Taylor还发现许多科研项目的研发效率越来越低,这要归咎于科研人员在对计算机使用时的重复劳动——当时,计算机分布在美国各州。比如,若MIT的科研人员认为UCLA(加州大学洛杉矶分校)开发的一款程序非常好用,那么由于所使用的计算机不同,前者就得重新编写能为自己所用的该程序的新版本。要是MIT的研究人员能在UCLA的计算机上使用UCLA开发的程序,那岂不是更省事?此外,科研人员若能(通过网络)远程访问到自己需要使用的昂贵计算机,那岂不是又可大大节约成本?由Licklider提出的分时理念已付诸于实施,是时候实现他提出的通过网络连接多个利益共同体的想法了。

于是,1966年,Taylor发起了一个项目,意在开发出那样一个计算机网络,该项目获得了资金上的支持。ARPA网络——其最终的名称为ARPANET——就这样诞生了。

为该计算机网络挑选一名管理者和首席架构师,是Taylor的第一步工作。为此,他选择了Larry Roberts——此人来自MIT,是一位令人尊敬的年轻计算机科学家。在Taylor看来,该职位非Larry Roberts莫属:除了具备深厚的计算机科学背景之外,Larry Roberts还具有卓越的管理技能,他同时也正负责一个小型计算机联网项目,准备把MIT的林肯实验室计算机与位于圣莫尼卡的SDC计算机相连1。

能集众家之所长,是Roberts对ARPANET项目的顺利完成所做出的最大贡献。ARPANET在基础架构方面的理念由三个人提出,他们是Leonard Kleinrock、Paul Baran和Donald Davies。早在20世纪60年代初,这三位在互不相识的情况下,就已经提出了相关理念。

Len Kleinrock是Roberts在MIT的死党兼赌友,于1962年完成了自己的博士论文《Information Flow in Large Communication Nets》(大型通信网络内的信息流)。他的主攻方向是存储和转发网络内的排队原理(该原理后来集结成书)2,其研究成果奠定了分组(包)交换网络。Kleinrock直接参与了ARPANET项目,为该项目开发了性能分析方法。

Paul Baran于1959年加入RAND公司,在这里,他花了5年时间来研究网络幸存技术(network survivability)3。他的主要研究方向并非计算机网络本身,而是用于弹道导弹系统的命令控制网络技术,以及当某些节点毁于核打击时,如何确保其他节点继续正常运作。在Baran看来,人类的神经网络系统健壮无比:在人脑发生部分损伤的情况下,神经网络系统会产生出新的神经纤维,可“绕过”受损的脑细胞。这再次表明了(计算机)网络理论起源于对人类认知的研究。集中式通信网络(如图1.1a所示)非常容易遭到摧毁,因为只需集中火力消灭其中心节点。相形之下,分散式网络(如图1.1b所示),如典型的电话网络,在冗余性方面要好很多,但尚有不足。Baran提出了分布式(distributed)网络的概念,在此类网络中没有所谓的“核心”交换节点,故而可在遭敌军摧毁的任一节点附近,重新构建新的路径。

Baran还进一步指出,消息在跨分散式网络发送时,应该以“分片”的方式来传送,他把那些“经过分片的消息”称为“消息块”。由于数据通信在本质上具有突发性,因此Baran又提出了另一个理论:允许多个消息来源同时发送消息块,以使网络内节点间的链路带宽得到更为充分的利用。那些节点都是存储并转发(消息块的)交换机,其主要用途为:确定通往消息块目的地的最佳线路(best route),并尽快转发——Baran将交换机的上述行为称为热土豆路由(hot-potato routing)。此外,当某个(或某些)节点失效时,消息块应能绕过失效节点,继续朝目的地进发。动态路由选择所依据的正是Baran提出的上述理念。


《OSPF和IS-IS详解》一1.2 ARPANET_第1张图片

Larry Roberts于1967年得知了Paul Baran的研究成果,并于次年与其会面。最终,Paul Baran以顾问的身份间接参与了ARPANET项目。

得知Paul Baran的研究成果的同时,Larry Roberts还获悉了Donald Davies所做出的研究。Donald Davies是位于伦敦的英国国家物理实验所(National Physical Laboratory,NPL)的物理学家。在对Baran的研究成果一无所知的情况下,此人也提出了类似的以动态方式“路由”分片消息的概念,只是还达不到Baran提出的构建冗余的分布式网络的水平。然而,Davies对研究军用的命令及控制系统并不感兴趣,而是志在研发出一种新形式的公众通信方式。他把在网络中“路由”经过分片的消息的行为,与邮政系统中递送包裹(package)的行为等同视之。于是,他把“经过分片的消息”称为“数据包(packet)”,而非Baran提出的称谓——“消息块”。同理,在网络中“路由”数据包的行为,则被他称为“数据包的交换(packet switching)”。

当Davies意识到不同类型的计算机可能都会“自说自话”,以至于相互之间很难直接“沟通”时,便又提出了另外一项重要提议。Davies建议在主机系统和网络之间部署一种小型专用“接口计算机”,并同时让这种遍布整个网络的接口计算机说“通用语言”。

Larry Roberts向各主机站点的科研人员提出ARPANET这一概念时,可以说是叫好声一片,但实施起来却有点不太现实。那时,计算机的资源异常珍贵,几乎没有人愿意再拿出分时计算机的部分资源,来“路由”或处理数据包。Wesley Clark,一名圣路易斯华盛顿大学的工程师,在20世纪50年代中期就已经提出过在主机和网络之间部署那种“小型计算机”的建议了,而与此同时,J. C. R. Licklider在MIT才有了第一次的计算机初体验。这种“小型计算机”在网络中行使“动态路由选择”之职。当时,Clark并不知道Donald Davies也有与其近乎一致的念头。

Roberts采纳了Davies的建议,并把那种“小型计算机”命名为接口消息处理机(Interface Message Processor,IMP)。

Roberts发布了研发IMP的提议请求(Request For Proposal),位于马萨诸塞州剑桥的BBN公司接下了这单生意。早些时候,Licklider也曾在该公司担任过副总裁(VP)一职。BBN公司的第一台计算机正是由Licklider负责采购,自那以后,该公司就从一家声学工程咨询公司转型成了世界领先的计算机研发公司。

BBN公司IMP项目的负责人是Frank Heart,他选择在一种强化版的Honeywell DDP-516微型机上研发IMP4。尽管DDP-516在构建时遵循了军用标准,足已适应海、陆战场的部署环境,但令Heart忧心忡忡的却并非来自敌方的攻击,而是一群本科毕业生们的觊觎之心。秉持打造高度可靠网络系统的设计理念,IMP的开发者指望强化版的516足够皮实,能抗得住修修补补的折腾。

1969年10月,“新鲜出炉”的头两台IMP分别在UCLA和斯坦福研究院(Stanford ResearchInstitute,SRI)“上线运行”,然后又各自通过一条速率为50kbit/s的链路,连接了那两处站点的大型主机,并相互“交换”了历史上第一个数据包。同年12月初,加州大学圣塔芭芭拉分校和犹他大学的另外两个主机站点也相继连接进网络。次年年初,一条用来连接剑桥BBN公司和UCLA的50kbit/s的国际长途链路也在各网络间开通。到了1971年4月,该网络已扩大至由以下15个站点网络组成:

1.UCLA

2.SRI

3.UCSB

4.University of Utah

5.BBN

6.MIT

7.RAND Corporation

8.System Development Corporation

9.Harvard University

10.MIT Lincoln Labs

11.Stanford University

12.University of Illinois at Urbana

13.Case Western Reserve University

14.Carnegie Mellon University

15.NASA Ames Research Center

就这样,ARPANET不但成功搭建,投入运行,其规模还保持了稳步增长态势5。

ARPANET的首次公开展示,是在1972年10月华盛顿希尔顿酒店召开的计算机通信国际会展(International Conference on Computer Communication ,ICCC)上。为了举办这次活动,Robert Kahn花了一年多时间来准备。作为BBN IMP项目的研发人员之一,Robert Kahn参与的工作包括:IMP到主机协议的开发、ARPANET的架构以及对ARPANET稳定性的改进。在那次展示中,大约有40台不同品牌及型号的终端都连接到了一台终端接口处理机(TIP)上,而那台TIP又通过两条速率为50kbit/s的线路,连接到了ARPANET6。与会者受邀去操纵运行分布在全美各地的计算机上的各种应用程序。本次会展获得了巨大成功,向计算机和电信行业展示了构建分组交换网络的可行性,更使得许多人坚信电信行业将面临巨大转机。

构建计算机网络的可行性已获充分论证,但还有一个障碍有待克服:在互连头几个ARPANET站点时,每台主机上的指令集都是临时编写的,而且还各不相同。也就是说,主机之间之所以能实现相互通信,其途径只是让每台主机将其通信对象视为“哑终端(dumb terminal)”。

ARPANET与核弹

有关ARPANET的起源,可谓是众说纷纭,但有一种说法流传最广,那就是要用它来对抗核攻击。毫无疑问,Paul Baran在RAND公司的研究课题也是围绕上述目标而展开。但对于Larry Roberts及其手下的科学家来说,核攻击则是虚无缥缈之事。Paul Baran提出的网络幸存理念对ARPANET的架构有着举足轻重的影响,究其直接原因,是由于在那个时代,交换节点以及节点间的链路是出了名的不稳定(有一则典故可为佐证:ARPANET上数据包的首次传输由Charles Kline操刀完成——从加州大学洛城分校发往斯坦福研究中心,这位仁兄在系统崩溃前收到的最后一个字母是“login”中的“g”)。ARPANET之所以需要让数据包交换机/链路具备冗余性,并要求动态路由协议的可靠运行,是为了在链路/节点失效时,能使数据包“绕道而过”,其用意并不是为了对抗核攻击。
1该项目由Tom Marill提议,此人同样是一位心理学家,他研究计算机的方法自成一家。Marill创建了用来在计算机之间交换消息的规程,同时也是把这种规程称为“协议”的第一人。
2Leonard Kleinrock,Communication Nets:Stochastic Message Flow and Design,McGraw-Hill,1914年。
3Baran后来又参与了StrataCom公司发起的数据包语音技术的开发,该技术后来发展为ATM技术。
4当时的微型机(Minicomputer)之所以用“微型(mini)”来命名,是相对于“大型”机(mainframe)而言。Honeywell 516跟电冰箱差不多大,重约1000磅,价值在10万美元左右。
5在www.cybergeography.org/atlas/historical.html上,可以找到伴随着ARPANET一起“成长”的联网示意图,以及由Larry Roberts和其他前辈们手工绘制的某些草图。
6一年以前,BBN就已经研发出了可以互连多个站点(指无本地主机的站点)的TIP。IMP只配备了4个主机接口,没有终端接口,因此,TIP就是配备了终端接口(最多能连接64台终端)的IMP。

你可能感兴趣的:(《OSPF和IS-IS详解》一1.2 ARPANET)