互联网究竟是怎么诞生的?

新闻
1957年10月4日,苏联发射了人类第一颗人造卫星——斯普特尼克一号。

[[382266]]

本文转载自微信公众号「鲜枣课堂」,作者小枣君。转载本文请联系鲜枣课堂公众号。  

1957年10月4日,苏联发射了人类第一颗人造卫星——斯普特尼克一号。

[[382267]]

 

斯普特尼克一号(Спутник-1)

这颗卫星的升空,轰动了整个世界,也让当时的美国政府震惊不已。他们认为,在日趋激烈的冷战对抗中,自己已经全面落后于苏联。

为了扭转这一局面,美国国防部很快于1958年2月组建了一个神秘的科研部门——APRA(Advanced Research Projects Agency,高级研究计划局)。

 

 


 

[[382268]]

 

这个部门的主要工作,就是研究如何将那些具有潜在军事价值、风险大、投资大的“黑科技”,应用于军事领域。

▉ ARPANET的诞生

进入60年代,冷战持续升级,美苏双方拼命扩充自己的核武库。

为了保证自己能在苏联的第一轮核打击下具备一定的生存和反击能力,美国国防部决定研究一种分散的指挥系统。它由无数的节点组成,当若干节点被摧毁后,其它节点仍能相互通信。

最早接到该任务的是ARPA信息处理技术办公室(IPTO,Information Processing Techniques Office)的第一任主管,约瑟夫·利克莱德(Joseph C.R.Licklider)。

[[382269]]

 

约瑟夫·利克莱德

早在1960 年,利克莱德在自己的论文《人与电脑》中提出了一个激进的构想,即人类的思维将与计算机深度结合,实现“人机共生”。在他的任期内,美国70%的计算机科学研究都是由ARPA资助的。

1964年,利克莱德没来得及实现自己的构想,就离开了ARPA,接替他的是伊凡·苏泽兰(Ivan Sutherland)。两年后,来自NASA(美国航空航天局)的罗伯特·泰勒(Robert Taylor),成为IPTO的第三任主管。

[[382270]]

 

罗伯特·泰勒是整个项目的真正发起者。

罗伯特·泰勒仔细观察了IPTO内的一个小型通信网络(由三个电传打字机和三台计算机组成)后,认为不兼容的计算机通信没有任何意义,应该建立一个兼容的协议,允许所有终端之间互相通信。

当时ARPA的负责人查尔斯·赫茨菲尔德(Charles Herzfeld)非常支持罗伯特·泰勒的计划。为了完成计划,罗伯特·泰勒到处搜罗科技精英,加入自己的新通信网络项目。

他找来的人确实都很牛逼,其中包括:麻省理工学院(MIT)林肯实验室的计算机天才拉里·罗伯茨(Larry Roberts,全名是Lawrence G. Roberts)、提出“分布式通信理论”的兰德公司科学家保罗.巴兰(P.Baran)、美国加州大学洛杉矶分校(UCLA)的分组交换理论专家伦纳德.克兰罗克(L.Kleinrock)等。

拉里·罗伯茨被任命为新通信网络项目的项目经理和首席架构师。

[[382271]]

 

拉里·罗伯茨

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小型计算机。

[[382273]]

 

IMP设备内部

IMP的作用是连接、调度和管理。有了它,大型主机就不必“亲自”参与联网,从根本上解决了计算机系统不兼容的问题。后来,人们普遍将IMP视为路由器的雏形。

 

IMP设备面板

1969年8月30日,来自BBN公司的第一台IMP运抵加州大学洛杉矶分校。伦纳德.克兰罗克教授带着40多名工程技术人员和研究生进行安装和调试。

[[382274]]

 

伦纳德.克兰罗克

10月初,第二台IMP运抵斯坦福大学研究院。

[[382275]]

 

加州大学洛杉矶分校现场机房

10月29日晚,伦纳德.克兰罗克教授安排他的助理、UCLA大学本科生查理·克莱恩(Charley Kline)坐在IMP终端前,与SRI终端操作员进行对接。当时,查理·克莱恩戴着头戴式耳机和麦克风,以便通过长途电话随时与对方联系。

[[382276]]

 

查理·克莱恩

据查理·克莱恩回忆,教授让他首先传输的是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正式启用,人类社会开始进入“网络时代”。

▉ TCP/IP的崛起

1968年ARPANET项目刚启动的时候,拉里·罗伯茨就成立了一个专门的研究小组,编写主机与主机之间的通信软件。这个小组由一些研究生组成,名为NWG(Network Working Group)。组长也是一名来自加州大学洛杉矶分校的研究生,名叫史蒂夫·克罗克(Steve Crocker)。

1970年,NWG终于完成了最初的ARPANET通信协议,称为网络控制协议(NCP)。

从1970年开始,加入ARPANET的节点数不断增加。到1972年时, 节点数达到 40个。E-mail、FTP和Telnet,是ARPANET上最主要的应用。尤其是e-mail,占据了75%的流量。

 

 


 

 

1972年的ARPANET

网络节点的不断增加,给NCP协议带来很大的压力。这种协议对节点及用户机数量存在限制,因此无法满足需求。

1972年,来自BBN公司的罗伯特.卡恩(Robert E. Kahn)加入了ARPA。这一年,罗伯特.卡恩在国际计算机通信大会(ICCC)上成功地演示了ARPANET网络。这也是ARPANET的首次公开亮相。

[[382278]]

罗伯特.卡恩

 

1973年,针对NCP协议的问题,罗伯特.卡恩提出了“开放的网络架构”思想。同年,来自斯坦福大学的温顿.瑟夫(Vinton G. Cerf)加入ARPA,并负责领导基于NWG改建的INWG工作组。

[[382279]]

 

温顿.瑟夫

很快,罗伯特.卡恩和温顿.瑟夫共同提出了新的传输控制协议——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,也就是因特网。

[[382280]]

 

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万维网。

[[382281]]

 

蒂姆·伯纳斯·李,万维网之父

他还提出了HTTP(超文本传送协议)和HTML(超文本标记语言),设计了第一个网页浏览器,并建立了世界上第一个web网站。

1992年,几个因特网组织合并,成立因特网协会ISOC。此时的因特网,已经拥有超过100万台主机,并持续指数级疯狂增长。

Internet,真正变成了全球互联网,开始走进人们的生活。

如今,全球互联网用户数已经达到45.4亿,普及率超过59%。与其说它是一场技术革命,它更像是一场社会革命。它颠覆了整个社会的运作模式,推动了人类文明的跨越式发展。

最后,让我们记住文章中这些伟大学者的名字吧。正是他们,改变了历史!

[[382282]]

 

前排从左到右:Dave Walden, Barry Wessler, Truett Thach, Larry Roberts, Len Kleinrock, Bob Taylor, Roland Bryan, Bob Kahn,

后排从左到右:Marty Thrope, Ben Barker, Vint Cerf, Severo Ornstein, Frank Heart, Jon Postel, Doug Englebart, and Steve Crocker.

 

(照片拍摄于1994年)

 

责任编辑:武晓燕 来源: 鲜枣课堂
相关推荐

2019-04-04 14:37:30

工业互联网互联网智慧

2021-12-19 13:48:23

互联网广告裁员

2015-08-26 09:54:19

物联网

2019-04-26 13:55:02

Istio微服务架构

2021-08-24 10:57:24

Linux文件系统内存

2011-02-28 09:51:43

内省

2019-07-22 15:29:53

JavaScriptGitHub语言

2019-06-04 14:15:08

JavaScript V8前端

2021-06-11 11:34:37

脸书Facebook商业帝国

2011-02-16 16:13:40

Debian

2020-06-11 09:18:34

动静分离架构架构设计开发

2010-08-24 09:19:59

2018-07-05 16:15:26

缓存数据cache miss

2018-01-30 10:49:49

Nginx服务器PHP

2015-12-14 15:34:35

开源投资创业

2012-05-28 22:49:50

PureView

2011-08-04 13:24:28

IT运维

2022-06-13 09:51:35

UWB超宽带无线载波通信技术

2015-09-29 09:47:14

2019-05-27 15:30:44

Node.jsJavaScript前端
点赞
收藏

51CTO技术栈公众号