ARPA
由艾森豪威尔政府在
1958
年建立,是对苏联史普尼克卫星升空作出的反应——美国把这看作是苏联在科学技术上超越美国的明显标志。其动机是赞助和管理大学的研究开发,希望能避免再次遇到这种国家性尴尬。艾森豪威尔对军工企业的复杂和军事机构间有时候的激烈竞争是出了名的谨慎。他使
ARPA
成为了独立机构,由一个平民主管,经费充裕,且在承担的项目上自由度很大。
J. C. R. Licklider
之后继任
ARPA IPTO
主任职位的先是
Ivan Sutherland
,而后是
Bob Taylor
。这二人都受到了
Licklider
的“银河际网络”概念的影响,通过把分时计算机组网把兴趣社区连接了起来。有趣的是,
Taylor
跟
Licklider
一样也是心理学家,对心理声学的研究导致了他对计算机科学的兴趣。
ARPA
早期的研究多是卫星和×××技术,以及相关技术如指令和控制系统。很明显,计算机是研究的中心部分,不管是作为工具还是作为研究目标。而且由于
ARPA
资助的很多研究由全美的大学承担,用到的计算机也分散在全国。
Bob Taylor
自己的办公室同位于
MIT
、加州大学伯克利分校和加州圣莫尼卡的系统开发公司(SDC)的三台计算机相连。每个计算机都需要在Taylor的办公室有单独的终端和各自的登录步骤。Taylor受Licklider
想法的启发,想到为什么不能是一台终端就能把他连到这三台计算机呢?更重要的是,
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
。)冗余的包交换机和链路及动态路由协议是为了绕过失效链路和节点,而不是核弹坑。
|