苏联发射了人类第一颗人造卫星——斯普特尼克一号。
这颗卫星的升空,轰动了整个世界,也让当时的美国政府震惊不已。他们认为,在日趋激烈的冷战对抗中,自己已经全面落后于苏联。
为了扭转这一局面,美国国防部很快于 1958 年 2 月组建了一个神秘的科研部门——ARPA(Advanced Research Projects Agency,高级研究计划局)。
这个部门的主要工作,就是研究如何将那些具有潜在军事价值、风险大、投资大的 “黑科技”,应用于军事领域。
▉ ARPANET 的诞生
进入 60 年代,冷战持续升级,美苏双方拼命扩充自己的核武库。
为了保证自己能在苏联的第一轮核打击下具备一定的生存和反击能力,美国国防部决定研究一种分散的指挥系统。它由无数的节点组成,当若干节点被摧毁后,其它节点仍能相互通信。
最早接到该任务的是 ARPA 信息处理技术办公室(IPTO,Information Processing Techniques Office)的第一任主管,约瑟夫 · 利克莱德(Joseph C.R.Licklider)。
早在 1960 年,利克莱德在自己的论文《人与电脑》中提出了一个激进的构想,即人类的思维将与计算机深度结合,实现 “人机共生”。在他的任期内,美国 70% 的计算机科学研究都是由 ARPA 资助的。
1964 年,利克莱德没来得及实现自己的构想,就离开了 ARPA,接替他的是伊凡 · 苏泽兰(Ivan Sutherland)。两年后,来自 NASA(美国航空航天局)的罗伯特 · 泰勒(Robert Taylor),成为 IPTO 的第三任主管。
罗伯特 · 泰勒是整个项目的真正发起者。
罗伯特 · 泰勒仔细观察了 IPTO 内的一个小型通信网络(由三个电传打字机和三台计算机组成)后,认为不兼容的计算机通信没有任何意义,应该建立一个兼容的协议,允许所有终端之间互相通信。
当时 ARPA 的负责人查尔斯 · 赫茨菲尔德(Charles Herzfeld)非常支持罗伯特 · 泰勒的计划。为了完成计划,罗伯特 · 泰勒到处搜罗科技精英,加入自己的新通信网络项目。
他找来的人确实都很牛逼,其中包括:麻省理工学院(MIT)林肯实验室的计算机天才拉里 · 罗伯茨(Larry Roberts,全名是 Lawrence G. Roberts)、提出 “分布式通信理论”的兰德公司科学家保罗 . 巴兰(P.Baran)、美国加州大学洛杉矶分校(UCLA)的分组交换理论专家伦纳德 . 克兰罗克(L.Kleinrock)等。
拉里 · 罗伯茨被任命为新通信网络项目的项目经理和首席架构师。
1966 年,新型通信网络项目完成内部立项,ARPA 将其命名为 “ARPANET(阿帕网)”。
1967 年 4 月,在美国密歇根州安娜堡召开的 ARPA IPTO PI 会议上,拉里 · 罗伯茨组织了有关 ARPANET 设计方案的讨论。不久后,拉里 · 罗伯茨发表第一篇关于 ARPANET 设计的论文:“Multiple Computer Networks and Intercomputer Communication(多计算机网络和计算机之间的通信)”。
1968 年夏天,美国国防部正式启动了 “ARPANET”项目的招标。1969 年 1 月,来自马萨诸塞州坎布里奇市的 BBN(Bolt Beranek and Newman Inc.)公司赢得了这个价值 100 万美元的合同。
项目的第一阶段,拉里 · 罗伯茨计划在美国西南部建立一个四节点的网络。节点分别是加州大学洛杉矶分校、斯坦福大学研究学院、加州大学圣巴巴拉分校和犹他州大学的四台大型计算机。
四个节点之间,采用分组交换技术,通过专门的 IMP 设备和通信线路(由 AT&T 公司提供,速率为 50kbps)进行连接。
IMP,全名叫做 Interface Message Processor(接口消息处理机)。它的基础硬件其实是配有 12K 存储器的 Honeywell DDP-516 小型计算机。
IMP 的作用是连接、调度和管理。有了它,大型主机就不必 “亲自”参与联网,从根本上解决了计算机系统不兼容的问题。后来,人们普遍将 IMP 视为路由器的雏形。
1969 年 8 月 30 日,来自 BBN 公司的第一台 IMP 运抵加州大学洛杉矶分校。伦纳德 . 克兰罗克教授带着 40 多名工程技术人员和研究生进行安装和调试。
10 月初,第二台 IMP 运抵斯坦福大学研究院。
10 月 29 日晚,伦纳德 . 克兰罗克教授安排他的助理、UCLA 大学本科生查理 · 克莱恩(Charley Kline)坐在 IMP 终端前,与 SRI 终端操作员进行对接。当时,查理 · 克莱恩戴着头戴式耳机和麦克风,以便通过长途电话随时与对方联系。
据查理 · 克莱恩回忆,教授让他首先传输的是 5 个字母——“LOGIN”(登录),以确认分组交换技术的传输效果。根据事前约定,他只需要键入 “LOG”三字母传送出去,斯坦福那边的机器就会自动产生 “IN”,合成为 “LOGIN”登录。
22 点 30 分,他带着激动不安的心情,在键盘上敲入第一个字母 “L”,然后对着麦克风喊:“你收到‘L’吗?”
“是的,我收到了‘L’。”,耳机里传来对方的回答。
“你收到‘O’吗?”
“是的,我收到了‘O’,请再传下一个。”
然而,就在查理 · 克莱恩输入第三个字母 “G”时,IMP 仪表显示传输系统崩溃,通讯中断。世界上第一次互联网络的通讯试验,仅仅传送了两个字母——“LO”!
为了纪念这一重大时刻,查理 · 克莱恩把详细过程记录在他的 “IMPLOG”(工作日志)上,并签上了自己姓名的缩写(CSK)。
克兰罗克教授事后表示,“LO”可以代表 “喂”(Hello),是我们向 SRI 致意和问候。也有人说,“LO”应该是 “Lo and behold”(美国习惯用语,意为:哟,你瞧!),用汉语直译是 “嗨,瞧一瞧,看一看!”。
数小时后,工作人员修复了系统,查理 · 克莱恩不仅传出了 “LOGIN”,而且传送了其它资料和数据。
不久后,1969 年 11 月,第三台 IMP 抵达加州大学圣巴巴拉分校。12 月,最后一台 IMP 在第四节点犹他大学安装成功。
至此,ARPANET 正式启用,人类社会开始进入 “网络时代”。
1968 年 ARPANET 项目刚启动的时候,拉里 · 罗伯茨就成立了一个专门的研究小组,编写主机与主机之间的通信软件。这个小组由一些研究生组成,名为 NWG(Network Working Group)。组长也是一名来自加州大学洛杉矶分校的研究生,名叫史蒂夫 · 克罗克(Steve Crocker)。
1970 年,NWG 终于完成了最初的 ARPANET 通信协议,称为网络控制协议(NCP)。
从 1970 年开始,加入 ARPANET 的节点数不断增加。到 1972 年时 , 节点数达到 40 个。E-mail、FTP 和 Telnet,是 ARPANET 上最主要的应用。尤其是 e-mail,占据了 75% 的流量。
网络节点的不断增加,给 NCP 协议带来很大的压力。这种协议对节点及用户机数量存在限制,因此无法满足需求。
1972 年,来自 BBN 公司的罗伯特 . 卡恩(RobertE. Kahn)加入了 ARPA。这一年,罗伯特 . 卡恩在国际计算机通信大会(ICCC)上成功地演示了 ARPANET 网络。这也是 ARPANET 的首次公开亮相。
1973 年,针对 NCP 协议的问题,罗伯特 . 卡恩提出了 “开放的网络架构”思想。同年,来自斯坦福大学的温顿 . 瑟夫(Vinton G. Cerf)加入 ARPA,并负责领导基于 NWG 改建的 INWG 工作组。
很快,罗伯特 . 卡恩和温顿 . 瑟夫共同提出了新的传输控制协议——TCP(Transmission Control Protocol)。
初期的 TCP 协议并不完善,缺乏丢包情况下的有效纠正。
1977 年,DARPA(美国国防部高级研究计划署,也就是 APRA 改了个名)与 BBN 公司、斯坦福大学和伦敦大学学院签订合同,在不同的硬件平台上开发 TCP 协议的验证版本:TCP v1 和 TCP v2。
1978 年,温顿 · 瑟夫、罗伯特 . 卡恩、丹尼 · 科恩(Danny Cohen)和约翰 · 普斯特尔(Jon Postel)将 TCP 的功能分为两个协议:用来检测网络传输中差错的传输控制协议 TCP,以及专门负责对不同网络进行互联的互联网协议 IP。
于是,就有了 TCP v3 和 IP v3。后来,形成了稳定版本 TCP/IP v4。
TCP/IP,现代网络的根基
在这期间,ARPANET 仍在不断扩张。
1973 年,ARPANET 通过卫星通信实现了与夏威夷、英国伦敦大学和挪威皇家雷达机构的联网,变成了一张国际互联网络。
1975 年,ARPANET 正式由美国国防部通信处(DCA)接管。DCA 规定,只有军事人员、ARPANET 的赞助人、政府机构人员才能使用 ARPANET。但是,当时没什么人搭理这个规定。
1976 年,ARPANET 已经发展到 60 多个节点,连接了 100 多台主机,跨越整个美国大陆。
很多组织机构见识到了计算机联网的重要性,纷纷开展研究。全球涌现了大量的新网络,例如计算机科学研究网络 CSNET、加拿大网络 CDnet、因时网 BITNET 等。
70 年代末,微型计算机问世,更是加速了网络的发展。
1980 年左右,DARPA 开始研究如何将不同的网络连接起来,提出了 The Interneting Project(互连网技术)项目。这个项目的研究成果被简称为 Internet,也就是因特网。
1983 年 1 月 1 日,ARPANET 正式将其网络核心协议由 NCP 替换为 TCP/IP 协议。
同年,美国国防部将 ARPANET 分为军用和民用两部分。军用部分叫做 MILNET,后来并入了 1982 年建立的国防数据网(DDN)。民用部分则继续叫做 ARPANET。
1985 年,TCP/IP 成为 UNIX 操作系统的组成部分。之后,几乎所有的操作系统都逐渐支持 TCP/IP。这个协议成为主流。
▉ NSFnet:取代 ARPANET
1984 年,美国国家科学基金会(NSF)建立了 NSFnet,作为超级计算机研究中心之间的连接。
最初,NSF 曾试图使用 ARPANET 作为 NSFnet 的通信干线,但由于 ARPANET 的军方背景,以及受控于政府,这个决策没有成功。
于是他们决定自己出资,基于 TCP/IP 协议,建立完全属于自己的广域网。
NSFnet 发展非常迅速,很快将全美各地的大学、政府和私人科研机构连接起来。NSFnet 的速度也很快,比 ARPANET 网络快 25 倍以上。
渐渐地,NSFnet 开始取代 ARPANET,成为 Internet 的主干网。
80 年代末,连接到 NSFnet 的计算机数量远远超过了 ARPANET 用户的数量。1990 年 6 月 1 日,ARPANET 被正式 “拆除”。
1990 年 9 月,由 Merit,IBM 和 MCI 公司联合建立了一个非盈利的组织——先进网络科学公司 ANS(Advanced Network&Science Inc.)。ANS 的目的是建立一个全美范围的 T3 级主干网,能以 45Mbps 的速率传送数据。到 1991 年底,NSFnet 的全部主干网都与 ANS 提供的 T3 级主干网相联通。
1991 年,NSF 的官员决定允许 NSFnet 网络上的商业活动,网络连接数量开始指数级增长。
1991 年 8 月 6 日,在瑞士日内瓦的核子研究中心(CERN)工作的英国物理学家蒂姆 · 伯纳斯 · 李(Tim Berners-Lee),正式提出了 World Wide Web,也就是如今我们非常熟悉的 www 万维网。
蒂姆 · 伯纳斯 · 李,万维网之父
他还提出了 HTTP(超文本传送协议)和 HTML(超文本标记语言),设计了第一个网页浏览器,并建立了世界上第一个 web 网站。
1992 年,几个因特网组织合并,成立因特网协会 ISOC。此时的因特网,已经拥有超过 100 万台主机,并持续指数级疯狂增长。
Internet,真正变成了全球互联网,开始走进人们的生活。
如今,全球互联网用户数已经达到 45.4 亿,普及率超过 59%。与其说它是一场技术革命,它更像是一场社会革命。它颠覆了整个社会的运作模式,推动了人类文明的跨越式发展。