ARPA 由艾森豪威尔政府在 1958 年建立,是对苏联史普尼克卫星升空作出的反应——美国把这看作是苏联在科学技术上超越美国的明显标志。其动机是赞助和管理大学的研究开发,希望能避免再次遇到这种国家性尴尬。艾森豪威尔对军工企业的复杂和军事机构间有时候的激烈竞争是出了名的谨慎。他使 ARPA 成为了独立机构,由一个平民主管,经费充裕,且在承担的项目上自由度很大。

 

J. C. R. Licklider 之后继任 ARPA IPTO 主任职位的先是 Ivan Sutherland ,而后是 Bob Taylor 。这二人都受到了 Licklider 的“银河际网络”概念的影响,通过把分时计算机组网把兴趣社区连接了起来。有趣的是, Taylor Licklider 一样也是心理学家,对心理声学的研究导致了他对计算机科学的兴趣。

ARPA 早期的研究多是卫星和×××技术,以及相关技术如指令和控制系统。很明显,计算机是研究的中心部分,不管是作为工具还是作为研究目标。而且由于 ARPA 资助的很多研究由全美的大学承担,用到的计算机也分散在全国。 Bob Taylor 自己的办公室同位于 MIT 、加州大学伯克利分校和加州圣莫尼卡的系统开发公司(SDC)的三台计算机相连。每个计算机都需要在Taylor的办公室有单独的终端和各自的登录步骤。TaylorLicklider 想法的启发,想到为什么不能是一台终端就能把他连到这三台计算机呢?更重要的是, Taylor 看到了由于使用分散全国的计算机,研究者之间重复工作造成的低效率正在变大。例如,如果 UCLA 开发了一个程序而 MIT 的研究者认为有用, MIT 将不得不为他们自己的计算机编写一个不同的版本。如果 MIT 的研究者能直接在 UCLA 的计算机上使用 UCLA 的程序不是更好么?再进一步,如果研究者能访问远程计算机,他们的拥有昂贵计算机的需求就会减少。 Licklider 的分时想法已经实现;到了实现他的兴趣社区联网想法的时候了。

    就这样, 1966 Bob Taylor 提出项目来开发一个这样的网络并且得到了资金。 ARPA 的网络——如其最终的称呼, ARPANET 开始了。

    Taylor 的第一步是为这个网络聘用一个管理者和主设计师。为此他选择了 Larry Roberts ,一个 MIT 的受尊敬的年轻计算机科学家。在 Taylor 看来, Roberts 是这个位置的唯一人选:除了计算机科学背景,他还有优秀的管理技巧,而且已经运作了一个连接 MIT 林肯实验室计算机和圣莫尼卡 SDC 计算机的小型组网项目 [5]

[5] 这个项目是Tom Marill提出的,他是又一个在计算机研究上闯出路子的心理学家。Marill制订了计算机交换消息的规程,而且第一个把这种规程称为“协议(protocol)”。

Roberts 的任务之一是把对实现 ARPANET 有重要作用的人和想法集合到一起。特别是开发出 ARPANET 基础体系概念的三个人: Leonard Kleinrock Paul Baran Donald Davies 。在 1960 年代初这三人就在互不知晓的情况下发展出了同样的想法。

Len Kleinrock Roberts MIT 的好朋友和赌友。他在 1962 年完成了博士论文“大型通信网的信息流”。其研究重点是存储 - 转发网络的队列理论,后来出版在一本书中 [6] 。这项研究奠定了包交换的基础。最后, Kleinrock 直接为 ARPANET 项目工作,为其开发性能分析方法。

[6] Leonard Kleinrock,通信网:随机消息流及设计,McGraw-Hill, 1964.

    Paul Baran 1959 年加入兰德公司,其后五年时间研究网络的生存能力。他关注的不是计算机网络本身,而是弹道×××的指令和控制系统,以及如何保证在某些节点被摧毁后其他节点能继续运行。 Baran 知道人的神经网络异常强壮。如果大脑的一部分受损,神经网能绕过受损细胞建立新的通道。建网思路又一次借鉴了人类知觉研究成果。如图 1.1 a )所示的集中式网络能够通过除去中心节点的方式轻易被摧毁。图 1.1 b )所示的分散式网络如典型的电话系统,能提供少许冗余,但还不够。 Baran 提出了图 1.1 c )所示的分布式网络。这种网络没有中心交换机,因此能绕过被敌人摧毁的任意节点创建路径。

[7] 后来Baran帮助研制了StrataCom开发的包语音技术。这个技术演进成了ATM

1.1. 引入的分布式网络的弹性远超集中式或非集中式网络。

 

 

Baran 进一步提出,分散式网络上发送的消息应该进行分片,他称这些分片为“消息块”。因为数据通信有天然的突发性, Baran 论证出交错发送多个源点的信息块可以更有效率地使用节点间的可用带宽。节点是存储转发式的交换机,它决定信息块通向目的地的最佳路径并进行快速转发。 Baran 称之为“ 热马铃薯路由选择”。如果某节点被摧毁,信息块将绕过该处进行路由。 Baran 的想法催生了动态路由选择。

 

Larry Roberts 1967 年得知 Paul Baran 的工作并在次年与他见了面。随后, Baran 开始以顾问的身份非正式参与 ARPANET

Roberts 得知 Baran 的工作的同时也得知了伦敦英国国家物理实验室物理学家 Donald Davies 的成果。 Davies 在对 Baran 的成果毫不知晓的情况下,提出了同样的动态路由分片消息的概念,尽管他的方法没有达到 Baran 的分布式网络的冗余度。但 Davies 感兴趣的不是军事指令和控制系统而是公共通信的新方法。他认为在网络中路由消息分片类似于邮政服务系统传递小包裹;因此,他把信息分片称为“包”( packets )而不是 Baran 所称的“信息块”,把包在网络中的路由称为“包交换”( packet switching )。

Davies 发现不同的机器使用的计算机语言不同导致了直接通信的困难后,有了另一个杰出贡献。 Davies 建议,在主机和网络之间,使用更小型的专用 “接口计算机”。全网中这种计算机都使用通用语言。

Larry Roberts 向各个主机站点的研究者们提出 ARPANET 的构想。构想被很好地接受了,但实际部署没有被接受。计算机资源很昂贵,很少有人愿意把一部分分时计算机资源用于路由和报文处理。 Wesley Clark ,一个华盛顿大学的工程师,在 1950 年代中期就给 J. C. R. Licklider 提出了他对计算机的第一份严肃报告,建议在主机和网络间放置小型计算机。这种小型计算机执行动态路由选择。那时, Clark 还没有听说 Donald Davies 的近乎一致的想法。

Roberts 采纳了这个建议,将这种小型计算机称为“接口信息处理器”( IMP Interface Message Processors )。这是现代路由器的先驱。

Roberts 发出了一份关于制造 IMP 的请求建议书,合同交给了马萨诸塞州坎布里奇的 BBN 公司。 Licklider 早年曾在那里担任过副总裁并负责购买了 BBN 的第一台计算机。结果是这个公司从声学工程咨询转变成了领先的计算机研究企业。

BBN IMP 项目负责人 Frank Heart 选择了在增强版的 Honeywell DDP-516 微型计算机上建造 IMP [8] 。虽然 516 是以军事规格制造,能承受战场和海军部署环境,但 Heart 不是担心敌对行动而是不想引起毕业生们的注意。基于建造具有高可靠性的网络的念头, IMP 开发者们希望增强版 516 能有效抵挡修补。

[8] 当时的“微型”计算机只是相对于大型机而言。Honeywell 516有冰箱那么大,几乎有1000磅重,价值约10万美元。

    1969 10 月,最初的两台 IMP 安装到了 UCLA 和斯坦福研究院( SRI ),以一条 50kbps 的链路连接两站点的大型机并交换了第一个包。到 12 月初,另外两个分别位于加州圣芭芭拉大学和犹他大学的站点加入网络。次年年初,加入了一条连接坎布里奇的 BBN 公司和 UCLA 的横穿全国的链路。到 1971 4 月,有了 15 个站点:

1.      UCLA 加州大学洛杉矶分校

2.      SRI 斯坦福研究院

3.      UCSB 加州圣芭芭拉大学

4. 犹他大学

5.      BBN

6.      MIT 麻省理工学院

7.      兰德公司

8.      系统开发公司

9.      哈佛大学

10.     MIT 林肯实验室

11.     斯坦福大学

12.     伊利诺斯大学

13.     凯斯西储大学

14.     卡耐基梅隆大学

15.     NASA Ames 研究中心

 
    ARPANET 不仅建立并运行起来了,还在稳定增长[9]

[9] 可到[url]www.cybergeography.org/atlas/historical.html[/url]获取ARPANET增长的完整图表和Larry Roberts及其他人的一些手工草图。

    1972 10 月,在华盛顿希尔顿酒店召开的国际计算机通信大会( ICCC )上, ARPANET 进行了首次公开演示。 BBN IMP 研究员之一, Robert Kahn ,花了一年多的时间组织此事。他曾在 IMP- 主机协议开发、 ARPANET 构架和改善可靠性方面发挥过作用。大约 40 台不同种类和型号的终端连到一个终端接口处理器( TIP Terminal Interface Processor [10] ,后者又通过两条 50kbps 的线路接入 ARPANET 。与会者受邀上前使用运行在全国各地的计算机上的各种各样的程序。 ICCC 事件获得了巨大成功。它向计算机和通信产业界展示了包交换网络的可行性,并使很多人确信该产业即将发生巨大的变化。

[10] BBN早在一年前就开发出了TIP来连接没有本地主机的站点。IMP只有4个主机接口,没有中断接口;所以TIP就是具有多达64个终端接口的IMP

 

    网络的可行性已被证明,但还存在一个大障碍:最初的几个 ARPANET 站点进行连接时,指令集是在每台主机上临时开发的,而且互不相同,依靠让主机把对端认成哑终端的手段来实现互相通信。还是需要开发一个通用的主机到主机协议。

 

ARPANET 和×××

    关于 ARPANET 的起源最盛传不衰的神话之一是,它被设计为能经受核***。这个神话毫无疑问来源于 Paul Baran 在兰德公司的工作。但核***根本不在 Larry Roberts 和其他科学家的考虑范围。 Baran 的网络生存能力思想对 ARPANET 的建设产生影响的更直接原因是,当时的交换节点和链路之不可靠为人所共知。(据一个著名的故事说, 1969 Charley Kline ARPANET UCLA 向斯坦福研究院发送第一个包时,在系统崩溃前他最多能看到“ login ”的 g 。)冗余的包交换机和链路及动态路由协议是为了绕过失效链路和节点,而不是核弹坑。