互联网简史
1997年出版(点击即可全文下载)
Barry M. Leiner,Vinton G. Cerf,David D. Clark,Robert E. Kahn,Leonard Kleinrock,Daniel C. Lynch,Jon Postel,Larry G. Roberts,Stephen Wolff
简介
互联网以前所未有之势为计算机和通信世界带来了变革。电报、电话、收音机和计算机的发明为这一前所未有的能力整合搭建了舞台。互联网转眼间就具有了在全世界传播的能力,成为了一种信息传播机制、以及个人和他们的计算机间进行协作和互动的媒介,不论他们身处何地。
互联网是不断投资、锲而不舍地进行信息基础设施研发并产生效益的最成功例子之一。从早期的分组交换研究开始,政府、产业界和学术界在发展和部署这项令人兴奋的新技术的过程中结成了紧密的合作伙伴。如今,街头的路人都能脱口说出“bleiner@computer.org”和“http://www.acm.org”之类的术语。1
本文旨在还原一部简要、必然粗略且不尽完整的历史。现在有很多关于互联网的资料,内容涵盖其历史、技术和使用。走进任何一家书店都能找到成堆的关于互联网的书籍。2
在本文中,3 我们几位互联网发展和演变的参与者将向大家介绍我们关于其起源和历史的观点。历史围绕四个截然不同的方面展开。首先是技术演变,它始于对分组交换和阿帕网(及相关技术)的早期研究,并且当前的研究继续在几个方面扩展基础设施的范围,例如规模、性能和高级功能。其次是全球性的复杂运营基础设施的运营和管理方面。然后是社会方面,形成了广大的网民 社区,他们齐心协力创建并发展技术。最后是商业化方面,将研究成果极其高效地转化为广泛部署且人人可得的信息基础设施。
今天的互联网是广泛的信息基础设施,是常被称为国家(或全球或银河)信息基础设施的最初原型。其历史复杂,涉及许多方面,包括技术方面、组织方面和社区方面。随着我们越来越多地使用在线工具进行电子商务、获取信息、完成社区运作,其影响力不但达到计算机通信的技术领域,而且波及了整个社会。
互联网的起源
对可能通过网络实现的社交互动的最初文字记载是麻省理工学院的J.C.R. Licklider(立克里德)于1962年8月撰写的一系列讨论他的“银河网络”概念的备忘录。他构想了一套由世界各地相互连接的计算机组成的系统,每个人通过这个系统都能从任何站点快速获得数据和程序。这个概念在本质上与今天的互联网非常相似。自1962年10月起,Licklider成为了DARPA计算机研究项目的第一个负责人。4 在 DARPA,他说服了自己在DARPA的继任者Ivan Sutherland(伊凡·沙日尔兰德)、Bob Taylor(鲍勃·泰勒)和麻省理工学院研究员Lawrence G. Roberts(劳伦斯·罗伯茨),使他们相信这个网络概念的重要性。
麻省理工学院的Leonard Kleinrock(雷纳德·克兰罗克)于1961年7月发表了第一篇关于分组交换理论的论文,而关于这个主题的第一本书于1964年出版。Kleinrock说服了Roberts,使他相信使用数据包而非电路进行通信在理论上可行,这是向着计算机联网发展的道路上迈出的重要一步。另一个关键步骤是让计算机互相交流。为进行这方面探索,Roberts于1965年和Thomas Merrill(托马斯·梅里尔)一起把位于麻省的 TX-2计算机用一条低速拨号电话线连接到加利福尼亚的Q-32,创建了首个(虽然很小)广域计算机网络。这个实验的结果是人们认识到,分时计算机可以很好地一起工作,运行程序并在必要时从远程机器上检索数据,但是使用电路交换的电话系统远远不能胜任这项工作。Kleinrock的有必要进行分组交换的信念得到了证实。
在1966年晚些时候,Roberts来到DARPA,发展了计算机网络概念并很快制定了他的“阿帕网” 计划,并于1967年发表了这个计划。在Roberts宣读自己论文的会议上,来自英国的Donald Davies(唐纳德·戴维斯)和NPL 的Roger Scantlebury(罗杰·斯坎特伯里)也宣读了有关数据包网络概念的论文。Scantlebury给Roberts讲述了NPL的工作以及兰德公司(RAND)的Paul Baran(保罗·巴兰)和其他人的工作。兰德集团已于1964年撰写了一篇有关军队保密电话分组交换网络的论文。麻省理工学院(1961-1967)、兰德公司(1962-1965)和NPL (1964-1967)的工作碰巧都同时进行,但任何一位研究人员都不知道其他人从事的工作。NPL的工作推动了“数据包”这个词的采用,在阿帕网设计中建议使用的线路速度从2.4 kbps 升级到 50 kbps。5
1968年8月,在Roberts和 DARPA 资助的社区完善了阿帕网的总体结构和规格后,DARPA为关键组件之一,即一个名为接口信息处理机(IMP)的分组交换的开发发出了询价单(RFQ)。Bolt Beranek 和 Newman (BBN)公司的Frank Heart(法兰克·哈特)领导的一个小组于1968年12月赢得了这个项目。在BBN 团队和Bob Kahn(鲍勃·卡恩)一起开发IMP的同时(Kahn在阿帕网的总体架构设计起到了重要的作用),Roberts和Howard Frank(霍华德·弗兰克)及其他在Network Analysis Corporation的团队设计并优化了网络拓扑结构和经济性,而Kleinrock在加利福尼亚大学洛杉矶分校的团队则设计了网络测量系统。6
由于Kleinrock对分组交换理论的早期开发,及其对分析、设计和测量的专注,他在加利福尼亚大学洛杉矶分校的网络测量中心被选为阿帕网上的第一个节点。所有这些终于在 1969 年9月汇集在一起,此时BBN 公司在加利福尼亚大学洛杉矶分校安装了首台IMP,首台主机也被连接起来。道格·恩格尔巴特(Doug Engelbart)在斯坦福研究所(SRI)的“人类智能增强”(包括一种早期超文本系统NLS)项目提供了第二个节点。SRI 为 Elizabeth (Jake) Feinler(伊莉莎白·芬恩勒,又称贾克)领导的网络信息中心提供了支持,包括保管主机名称表格,以解决映像和RFC(请求注解)目录等功能。
一个月后,当SRI 连接到阿帕网时,首条主机到主机的消息从Kleinrock的实验室发送到了 SRI。随后又在加州圣塔-芭芭拉分校和犹他州立大学增加了两个节点。后两个节点纳入了应用程序可视化项目,其中UCSB 的Glen Culler(格伦·卡勒尔)和Burton Fried(波顿·弗莱德)研究使用存储显示来显示数学函数的办法,以解决网络刷新的问题;而犹他的Robert Taylor和Ivan Sutherland则研究在网上进行三维呈现的方式。这样,到1969年年底,有四台主机连接到了最初的阿帕网,处于萌芽状态的互联网呱呱坠地了。即使在这一早期阶段,也应注意到联网研究既包括基础网络工作,也包括如何应用网络的工作。这个传统一直传承至今。
随后几年计算机被快速添加到阿帕网中,完成功能完整的主机到主机协议和其它网络软件的工作也在进行。1970年12月,S.Crocker(史蒂夫·克洛克)领导的网络工作组(NWG)完成了最初的名为 网络控制协议(NCP)的阿帕网主机到主机协议。随着阿帕网站点在1971至1972年间完成NCP的实施,网络用户终于可以开始开发应用程序了。
1972年10月,Kahn在计算机通信会议(ICCC)上非常成功地组织了一场大型阿帕网演示。这是首次向公众公开演示这个新的网络技术。同样在1972年,最初的“热门”应用程序 -- 电子邮件推出了。3月,阿帕网开发人员需要便捷的协调机制,促使BBN公司的Ray Tomlinson(雷·汤姆林森)编写了基本的发送和阅读电子邮件信息的软件。7 月,Roberts编写了第一个电子邮件实用程序,对邮件进行列表、选择阅读、存档、转发和回复,从而扩大了它的实用性。从那时起,电子邮件就开始成为10多年时间里最大的网络应用程序。这预示了我们今日在万维网上所见的那种活动,即蓬勃发展的各种“人到人”的流量。
早期的互联网构想
最初的阿帕网发展成为互联网。互联网基于这样的理念:存在多个任意设计的独立网络,它始于分组交换的先驱网络阿帕网,但很快就包括数据分组卫星网络,地面分组无线网络和其它网络。如我们现在所知,互联网体现了一个关键的基本技术理念,即开放式架构联网。在这种方法中,对任何单独网络技术的选择并不取决于一个特定的网络架构,而是可以由提供商自由选择,并通过一个元级“联网体系结构”与其它网络互通。在那之前,只有一个联合网络的一般方法。这是传统的电路交换方法,网络在电路层面相互连接,沿着一对终点位置间的一段端到端电路同步传输单独的比特。回忆一下,Kleinrock在1961年已经证明分组交换是一种更高效的交换方法。有了分组交换,特殊用途的网络之间的互连安排是另一种可能性。虽然把不同网络互连还有其它有限的几种方式,但它们都要求一个网络作为另一个网络的组成部分,而不是在提供端到端服务时,同等地发挥作用。
在一个开放架构网络中,每个独立的网络都可以单独设计和开发,每个网络都可拥有自己的接口,供用户和/或其他提供商使用。包括其他互联网提供商。每个网络可以按照其特定环境和用户对网络的要求进行设计。对能够包含进来的网络类型或它们的地理范围一般没有限制,虽然一些务实的考虑会决定提供什么内容才合乎情理。
开放式架构网络的设想最先由Kahn于1972年提出,他那时刚到DARPA不久。这项工作最初是分组无线网项目的一部分,但后来它凭借自身力量成为一个独立的项目。当时,该计划被称为“Internetting”。可靠的端到端协议是使分组无线网系统正常运行的关键,它能在面对拥塞和其它无线电干扰时保持有效的通信,还能抵挡如在隧道中或由当地地形阻挡引起的间歇性中断。Kahn首先考虑发展只适用于分组无线网络的协议,因为这能避免处理众多不同的操作系统,而且能继续使用NCP。
然而,NCP并不具备应对阿帕网上的目的地IMP下游的网络(和机器)的能力,因此还需要对NCP做一些改变。(假设的是阿帕网在这方面不可更改)。NCP 依靠阿帕网提供端到端的可靠性。如果丢失任何数据包,那么协议(和可能它支持的任何应用程序)会戛然而止。在此模式中,NCP没有端到端主机错误控制,因为阿帕网是唯一存在的网络,它应如此可靠,以至于主机方面无需差错控制。因此,Kahn决定开发一个能够满足开放式架构网络环境需要的一个新版本的协议。该协议最终被称为传输控制协议/互联网协议(TCP/IP)。虽然NCP往往起到一个设备驱动程序的作用,但新协议更像是一个通信协议。
四条基本规则对Kahn的早期设想起到了关键作用:
- 每一个截然不同的网络必须独立存在,任何一个这样的网络连接到互联网时都不需要做出内部改变。
- 通信将以“最大努力”进行。如果一个数据包没有到达最终目的地,那么稍后会从来源重新传送。
- 将使用黑盒子来连接网络;黑盒子后来被称作网关和路由器。网关不保留经过它们的单独数据包流的任何信息,因此保持了自己的简单状态,避免从各种故障模式进行复杂的适应和恢复。
- 在操作层面不存在全局控制。
其它需要解决的关键问题如下:
- 防止丢失的数据包造成永久性地禁用通信,并能成功地从源头上重发丢失的数据包的算法。
- 提供主机到主机的“流水线”,如果中间的网络允许,可以使多个数据包按照参与主机的决定从源头到达目的地。
- 网关功能使它能够相应地转发数据包。这包括为路由解释IP头、处理接口、必要情况下把数据包分为更小的包,等等。
- 如有需要,进行端到端校验,将片段重组为数据包以及检测重复。
- 需要全局寻址
- 主机到主机的流量控制技术。
- 与各种操作系统对接
- 还有其它问题,例如实施效率,互联网络的性能,但这些在开始时都是次要的考虑因素。
在BBN公司时,Kahn开始着手开发面向通信的一套操作系统原则,并把自己早期的想法记录在题为“操作系统通信原理”的BBN内部备忘录中。此时,他意识到有必要了解每一个操作系统的实施细节,以便有效地把任何新的协议嵌入其中。因此,在1973年春天,在开始“internetting”的工作后,他请求Vint Cerf(温顿·瑟夫,当时在斯坦福大学)与他一起进行详细的协议设计工作。Cerf一直密切参与最初的NCP的设计和开发,并已经掌握了和现有操作系统对接的知识。因此,有了Kahn在通信方面的架构方法和Cerf在NCP领域的经验,他们联手阐明了后来成为TCP/IP的细节。
这种给予和接受非常富有成效,在1973年9月在英国苏塞克斯大学(Sussex University)召开的一次国际网络工作组(INWG)特别会议上,发放了因此产生的第一个书面版本7。Cerf应邀主持这个特别会议,并借这个机会组织INWG成员开会,他们大部分都参加了在苏塞克斯举行的会议。
从Kahn和Cerf的合作中产生的一些基本方法包括:
- 两个进程之间的通信在逻辑上将包括一个很长的字节流(他们称之为八进制)。将使用任何八进制在字节流中的位置来识别它。
- 将使用滑动窗口和确认(ACK)进行流量控制。目标可以选择何时确认,每个返回的ACK将是到那时为止收到的所有数据包的累积值。
- 来源和目标究竟怎样就要使用的窗口化参数达成一致则未确定。最初使用的是默认值。
- 虽然当时施乐公司帕洛阿尔托研究中心(Xerox PARC)正在开发以太网,但还没有设想到局域网(LAN)的扩散普及,更不用说PC和工作站了。最初的模式是阿帕网(ARPANET)这样的全国性网络,预计只会存在少量这样的网络。因此就使用了一个32位的IP地址,其中前8 位代表网络,其余24位指定该网络上的主机。在可预见的将来,256个网络就足够了,这一假设在局域网于20世纪70年代末开始出现时,显然需要重新考虑。
Cerf和Kahn关于互联网的论文描述了一个名叫TCP协议,它提供了互联网上全部的传输和转发服务。Kahn设想TCP协议支持众多的传输服务,从完全可靠的已编序的数据传输(虚拟电路模式)到一种数据报 服务,在这种服务中应用程序直接使用基础的网络服务,这也许意味着数据包会偶尔丢失、损坏或重新排序。但是,实施TCP的最初努力得到的是只允许虚拟电路的版本。这种模式在文件传输和远程登录应用程序上效果不错,但在先进网络应用领域的一些早期工作,特别是20世纪70年代的分组语音,明确指出在某些情况下TCP不应纠正丢失的数据包,而应把它们留给应用程序处理。这导致最初的TCP重组为两个协议,简单的IP只针对单个数据包的寻址和转发;而独立的TCP关注服务功能,例如流量控制和从丢失的数据包进行恢复。对于那些不需要TCP服务的应用程序,增加了另一种称为用户数据报协议(UDP)的替代方案,以便直接访问IP基本服务。
成立阿帕网和互联网最初的一个主要动机是资源共享 -- 例如允许分组无线网络上的用户访问连接到阿帕网的分时系统。把两者连接起来,要比复制这些非常昂贵的计算机要经济得多。然而,虽然文件传输和远程登录(Telnet)是非常重要的应用,但电子邮件很可能受到那个年代的这一创新最显著的影响。电子邮件提供了一个人与人之间相互沟通的新模式,并改变了协作的性质,这首先体现在互联网本身的建设(如下面讨论所示)上,后来体现在社会的大部分领域中。
在互联网初期也提出过其它应用程序,包括基于分组的语音通信(互联网电话的前身),各种文件和磁盘共享模式,和显示了代理(当然还有病毒)概念的早期“蠕虫”程序。互联网的一个关键理念是,它不是只为一个应用程序设计的,而是作为通用的基础设施,可以在其上孕育新的应用程序,后来出现的万维网就说明了这一点。而TCP和IP所提供服务的通用性质使这一理念变成现实。
验证创意
DARPA给斯坦福大学(Cerf),BBN公司(Ray Tomlinson)和伦敦大学学院(Peter Kirstein[彼得•柯尔斯坦])各一份合同,以实施TCP/IP(它在Cerf和Kahn的论文中只被称为TCP,但包含这两个组成部分)。Cerf领衔的斯坦福大学团队制订了详细的规格,并在大约一年时间里,实施了三个可以互操作的独立TCP。
这是让互联网的概念和技术发展并成熟的长期试验和开发的开端。从最早的三个网络(阿帕网,分组无线网、分组卫星网络)和各自的早期研究社区开始,试验环境已发展到可以融合几乎每一种形式的网络和一个具有非常广泛基础的研究和开发社区。[REK78]每一次扩展都伴随着新的挑战。
早期TCP的实施是为大型的分时系统,比如Tenex和TOPS 20而进行的。当台式计算机刚出现时,有人认为TCP太大,太复杂,无法在个人计算机上运行。David Clark(大卫·克拉克)和他在麻省理工学院的研究小组着手证明,紧凑而简单的TCP实施是可能的。他们首先为施乐Alto(Xerox PARC开发的早期个人工作站),然后为IBM个人计算机完成了实施。这一实施可以与其它TCP完全互操作,但却是为应用程序套件和个人电脑的性能目标量身定制的,这一实施证明了工作站和大型的分时系统一样都可以成为互联网的一部分。1976年,Kleinrock出版了第一本关于阿帕网的书。在书中,他强调了协议的复杂性以及它们经常制造的陷阱。这本书很有影响,它把分组交换网络的知识传播到更广大的社区。
局域网、PC及工作站在20世纪80年代的广泛普及使新生的互联网蓬勃发展。由Bob Metcalfe(鲍勃•梅特卡夫)于1973年在施乐公司帕洛阿尔托研究中心开发的以太网技术,现在很可能是互联网中占主导地位的网络技术,而PC和工作站已成为占主导地位的计算机。从拥有数量不多的分时主机的少数几个网络(最初的阿帕网模型)到拥有众多网络的转变,导致若干新概念的产生,以及基础技术的改变。首先,它导致三个网络类别(A,B和C)定义的出现,以容纳众多的网络。A类代表大型全国规模的网络(有大量主机的少数网络);B类代表地区规模的网络;C类代表局域网(很多网络,主机相对较少)。
随着互联网规模的扩大以及相关管理问题的增加,出现了一个重大的转变。为了让人们更容易地使用网络,给主机分配了名称,因此没有必要记住主机的数字地址。起初,主机的数量相当有限,所以只保持一份所有主机及其相关名称和地址的表格是可行的。向大量独立管理的网络(如局域网)的转变,意味着只保持一份主机表格已不再可行,于是USC/ISI 的 Paul Mockapetris(保罗•莫卡派乔斯)发明了域名系统(DNS)。DNS允许一个可伸缩的分布式机制,它把分层的主机名(例如www.acm.org)解析为一个互联网地址。
互联网规模的扩大,也给路由器的功能带来了挑战。最初,有一种由互联网上所有路由器统一实施的单一路由分布式算法。随着互联网上网络数量的爆炸式增长,这种最初的设计不能根据需要扩展,因此它被分层路由模式取代,在互联网的每个区域内使用一个内部网关协议(IGP),并使用一个外部网关协议(EGP)把各区域连接起来。这种设计允许不同区域使用不同的IGP,这样就能满足对成本、快速重新配置、可靠性和规模的不同要求。路由算法和寻址表的大小都强调了路由器的容量。地址聚合的新方法,特别是无类别域间路由(CIDR)方法,最近被采用来控制路由表的大小。
随着互联网的发展,人们面临的主要挑战之一是如何把变化传播到软件,特别是主机软件中。DARPA支持加州大学伯克利分校(UC Berkeley)对Unix操作系统进行修改的研究,包括把在BBN公司开发的TCP/IP加入其中。虽然加州大学伯克利分校后来重写了BBN代码,以便让它更高效地融入Unix系统和内核,但TCP/IP加入Unix BSD系统的发布被证明是将协议向研究社区传播的一个关键要素。多数CS研究社区开始在它们日常的计算环境中使用Unix BSD。回顾过去,把互联网协议纳入受支持的研究社区的操作系统是广泛和成功地采用互联网的关键因素之一。
更有趣的挑战之一是从1983年1月1日起,阿帕网的主机协议从NCP转为TCP/IP。这是一个“国旗日”般的风格转型,要求所有的主机同时转换,否则就它们就不得不通过临时机制进行通信。这次转型早在实际发生前几年就已经在社区内部经过精心策划,其过程令人惊讶的顺利(但导致人们散布这样的按钮,上面写的是:“我在TCP/IP转型后幸存了下来”)。
1980年TCP/IP协议被作为国防标准采用,比计划提前了三年时间。这使国防部门开始分享DARPA的互联网技术,并直接导致了最终的军事和非军事社区的区分。到1983年,阿帕网已被大量国防研发和运营组织使用。阿帕网从NCP转为TCP/IP,允许将它拆分为支持作战要求的军用网(MILNET)和支持研究需求的阿帕网。
因此,到1985年,互联网已经完全成为一种支持广大的研究人员和开发人员社区的技术,并开始被其他社区用于日常计算机通信。电子邮件已被几个社区广泛使用,这些社区常采用不同的系统,但不同的邮件系统之间的互连体现了人与人之间广泛的电子通信的效用。
向广泛的基础设施过渡
在互联网技术正在经受实验验证,并被少数计算机科学研究人员广泛使用之时,人们也在探索其它网络和网络技术。由DARPA和国防部承包商在阿帕网上展现出的计算机网络(尤其是电子邮件)的有用性在其它社区和学科也依然有用,因此到20世纪70年代中期,计算机网络就开始在任何能找到资金支持的地方飞速发展。美国能源部(DoE)为其磁聚变能的研究人员设立了磁合能源网(MFENET),而能源部的高能物理学家也相应地建立了高能物理网(HEPNet)。美国宇航局空间物理学家跟着建立了SPAN,Rick Adrion(里克•阿德里恩)、David Farber(大卫·法布尔)和Larry Landweber(拉里·兰德韦伯)使用美国国家科学基金会(NSF)的首笔拨款为(学术界和工业界的)计算机科学界建立了计算机科学网(CSNET)。用户网(USENET)是通过美国电话电报公司(AT&T)自由传播的UNIX计算机操作系统,根据UNIX内置的UUCP通讯协议发展起来的。1981年,Ira Fuchs(艾拉·弗契斯)和Greydon Freeman(格雷登·弗里曼)设计了因时网(BITNET),BITNET将大学院校的大型计算机以一种“卡片图像式的电子邮件”范式连接起来。
除BITNET和USENET以外,这些早期的网络(包括阿帕网)均是为特定用途而创建的,即它们专供封闭的学者社区使用且在很大程度上仅限在这样的社区使用;因此,几乎没有任何压力要求单独网络具有兼容性,而它们中的多数也确实不兼容。此外,替代技术在商业领域受到追捧,其中有美国施乐公司的施乐网络系统(XNS)、数字设备公司网(DECNet)和IBM公司的系统网络体系结构(SNA)。8直至英国联合科研网(JANET)(1984年)项目和美国国家科学基金会网(NSFNET)(1985年)项目明确宣布将不分学科地为整个高等教育社区服务,这一局面才被打破。实际上,美国大学在互联网连接方面得到美国国家科学基金会(NSF)资助的条件是:“……校内所有具备资格的用户必须都能联网。”
1985年,来自爱尔兰的Dennis Jennings(丹尼斯·詹宁斯)在NSF花了一年的时间牵头负责NSFNET项目。他与社区携手合作,帮助NSF做出了一个重大的决定 -- NSFNET项目必须采用TCP/IP。Steve Wolff(史蒂夫·沃尔夫)于1986年接管NSFNET项目时,认识到了为整体教育和研究社区提供支持需要广域网基础设施,同时还需要制定战略,在最终不依赖联邦政府的直接拨款的基础上建立这一基础设施。为达到这一目的,NSF采用了很多政策和策略(见下文)。
NSF还选择支持DARPA现有的互联网组织基础结构,在等级上该结构排在(当时的)互联网活动委员会(IA之下。IAB的互联网工程专责小组及架构专责小组与NSF的RFC985(互联网网关要求)网络技术咨询小组共同撰写了公开声明,宣布这一选择,此份公开声明正式保证了DARPA与NSF的互联网网络的互操作性。
除NSFNET项目选择采用TCP/IP以外,联邦政府机构还做出和实施了数项其它政策决定,造就了如今的互联网。
- 联邦政府机构共同承担公共基础设施(如越洋电路)的费用。它们还为了机构间流量交换而共同支持“托管的互连点”;为这一目的而创建的联邦互联网交换中心(FIX-E和FIX-W),是网络接入点和“各种互联网交换(*IX)”设施(这些代表了当今互联网架构的显著特征)的模型。
- 为协调这一共享,联邦网络委员会(FNC)9成立了。FNC也与诸如欧洲科研网络协会(RARE)之类的一些其它国际组织合作,通过洲际研究网络协调委员会(CCIRN)来协调全球研究社区的互联网支持。
- 各种机构在互联网相关问题上进行这样的共享和合作有着悠久的历史。Farber代表计算机科学网(CSNET)及NSF与DARPA的Kahn于1981年签订了一份前所未有的协议,该协议允许CSNET流量在统计但不进行计量处理的基础上共用阿帕网基础设施。
- 随后,NSF以相似的方式鼓励其区域网络(最初为教育网络),寻找商业型而非学术型的客户,扩大设施为客户提供服务,并利用产生的规模经济来降低所有人的订购费用。
- NSFNET主干网是NSFNET全美范围内的网络,NSF在NSFNET主干网上执行“可接受的使用政策”(AUP),禁止主干网被用于“不支持研究和教育”的用途。尽管商业网络被拒绝接入全美范围的网络,但在当地和区域级别上鼓励商业网络流量所产生的可预测(和预期)的结果,促成了诸如PSI、UUNET、ANS CO+RE(以及后来的)其它网络等“专用”、竞争性和长距离传输网络的诞生和/或发展。从1988年开始,NSF在哈佛大学肯尼迪政府学院召开的一系列有关“互联网的商业化和私有化”和网络本身“商业化—私有化”列表的会议,全面讨论和制定了私人出资增强网络用于商业用途的这一流程。
- 1988年,由Kleinrock担任主席、Kahn和Clark担任委员的一个美国国家研究委员会接受NSF的委托,编写了一份名为“建立一个全国的研究网络”的报告。这一报告对当时的参议员Al Gore(阿尔戈尔)产生了很大影响,并迎来了高速网络,为日后的信息高速公路奠定了网络基础。
- 1994年,还是由Kleinrock担任主席(同时还是由Kahn和Clark担任委员)的一个美国国家研究委员会发布了一份名为“实现信息的未来:互联网和其它”的报告。这一报告是受NSF委托而编写的,这份文件详细描述了信息高速公路的演变蓝图,它对人们对信息高速公路演变的看法有着持久的影响。它预测到了互联网将涉及的知识产权、道德准则、定价、教育、架构和监管等重要问题。
- 由于NSFNET主干网的资金被抽回,NSF私有化政策于1995年4月达到最高潮。由此抽走的资金重新分配(以竞争方式)给区域性网络,用于向已经出现的无数专用、长距离传输网络购买全国规模的互联网连接。
NSFNET主干网已从一个采用研究社区的路由器(由戴维·米尔斯(David Mills)的模糊球路由器)建立的网络转变成一个商业设备。在其8年半的生命周期中,NSFNET主干网已从网速每秒56kb的6个节点增长至拥有网速达每秒45Mb的多个链接的21个节点。在此期间,互联网已扩张至5万多个网络,覆盖了所有七个大洲以及以外的空间,其中美国约有2.9万个网络。
这就是NSFNET项目的世界一同主义和资助(从1986年到1995年为2亿美元)的影响力以及各种协议本身的质量。到1990年,当阿帕网最终退役时 10,TCP/IP已取代全球其它大多数广域计算机网络协议或将之边缘化,同时IP正日渐成为全球信息基础设施的承载服务。
文档的作用
能够自由开放地获取基本文档,尤其是各种协议规格,这一直是互联网得以迅速发展的关键。
阿帕网和互联网开始在大学研究社区得到应用,这使公开发表观点与成果的学术传统得到了弘扬。但是,传统学术发表的周期对于活跃的思想交流来说太过于正式和缓慢,而活跃的思想交流是创建网络所必不可少的。
1969年,在创建请求注解(RFC)系列注释文档时,S. Crocker(当时任职加州大学洛杉矶分校)迈出了关键的一步。创建这些备忘录的原意是将其作为与其他网络研究人员交流思想的一个非正式的、快速的传播方式。起初,这些RFC文档打印在纸上,通过蜗牛邮件发放。随着文件传输协议(FTP)开始被采用,RFC文档被编制为在线文件,可通过FTP访问。当然现在可以通过万维网在全世界的很多网站上很容易地访问RFC文档。SRI作为网络信息中心维护着在线目录。Jon Postel(乔纳森·波思泰尔)担任RFC编辑并对必要的协议号码分配进行集中管理,他一直负责这些工作,直至1998年10月16日去世。
RFC文档的作用是创建一个正反馈循环,一份RFC文档中提出的观点或建议将引来另一份有更多观点的RFC文档,并依次增加。一些共识(或至少是一套前后一致的观点)汇总到一起就可以编制一份规范文档。然后这样一份规范文档将被各个研究团队用作实施的基础。
随着时间的推移,RFC文档变得更加着重于协议标准(“官方”规范),尽管仍有一些信息性的RFC文档介绍替代方法或提供协议和工程问题的背景信息。现在RFC文档在互联网工程和标准社区被视为“记录文档”。
RFC文档的开放访问(上网就能免费获取)促进了互联网的发展,因为它使得真实的规范文档能被用作大学课堂上的示例,同时还能被企业家用于开发新系统。
电子邮件已成为互联网所有领域的重要因素,这一点在协议规范、技术标准和互联网工程的发展中确切无疑。最早的RFC文档通常将某个地方的研究人员开发出的一套观点介绍给社区中的其他人。在开始使用电子邮件之后,RFC文档的创作形式发生了变化 -- RFC文档由持有共同观点的创作者共同编写,不受地域限制。
在协议规范的制定过程中,专用的电子邮件列表已被人们长期使用,直至现在也是一项重要的工具。IETF现在已经拥有75个以上的工作组,每个工作组均致力于互联网工程的不同方面。每个工作组均有一个邮件列表,用于讨论一个或多个编制中的草稿文档。一致通过的草稿文档可作为RFC文档发放。
互联网实现了促进信息共享的功能,这为当前互联网的快速发展提供了动力;与此同时,我们应该了解网络在信息共享方面的首要作用是要通过RFC文档分享有关其本身的设计和运行的信息。发展网络新功能的这一独特方法将在互联网的未来演变中继续发挥重要的作用。
广大社区的形成
互联网是技术的集合,也是社区的集合,它的成功很大程度上归功于它不仅满足了社区的基本需求,同时还有效地利用社区推动了基础设施的发展。这种社区精神历史悠久,源自早期的阿帕网。为完成上文介绍的分组交换技术的首次演示,早期的阿帕网研究人员作为一个组织严密的社区通力合作。同样,分组卫星、分组无线和其它几个DARPA计算机科学研究项目都是多个承包商相互协作的活动,他们在这些活动中大量使用了任何可用的机制来协调彼此的工作,从电子邮件到文件共享、远程访问再到最后的万维网功能。从阿帕网网络工作组开始,这些项目中的每一个都成立了一个工作组。由于阿帕网在支持各项研究项目时,发挥了一个基础设施的独特作用,所以随着互联网开始演变,网络工作组逐渐转变成了互联网工作组。
在20世纪70年代末期,DARPA当时的互联网项目经理Vint Cerf认识到互联网发展的同时,有兴趣的研究社区的规模也在发展,因而对协调机制的需求出现了增长。因此,他创立了数个协调机构 -- 国际合作委员会(IC,由伦敦大学学院的Peter Kirstein担任主席,负责协调以分组卫星研究为重点的一些合作欧洲国家的工作;互联网研究组,一个为普遍信息交换创造环境的包容性工作组;以及互联网配置控制委员会(ICC,由Clark担任主席。ICCB是一个邀请式机构,负责协助Cerf管理蓬勃发展的互联网活动。
1983年,Barry Leiner(贝瑞·雷纳)接管DARPA的互联网研究项目时,他与Clark认识到为了互联网社区的持续发展,需要对协调机制进行重组。他们解散了ICCB,成立了专责小组这一结构来取而代之,每个专责小组专门负责技术(如路由器、端对端协议等)的一个特定领域。而专责小组的各个主席组成了互联网活动委员会(IA。
专责小组的各个主席都是前ICCB的委员,这当然只是一个巧合,而Dave Clark继续担任IAB的主席。IAB经过一些人员变动之后,Phill Gross(菲尔·格罗斯)成了重振旗鼓的互联网工程专责小组(IETF)的主席,此时IETF只是IAB的一个专责小组。如上所述,到1985年,互联网在更实用的方面/工程方面已取得了巨大发展。这一发展导致了IETF会议出席人数的激增,迫使Gross以工作组的形式为IETF创建了子结构。
伴随这一发展的是社区的大幅扩张。美国国防部高级研究计划局(DARPA)不再是互联网唯一的主要资助机构。除美国国家科学基金会网(NSFNet)和美国政府及国际政府资助的各项活动外,人们对于商业领域的兴趣也开始出现增长。同时在1985年,Kahn和Leiner都从DARPA离职,DARPA的互联网活动大幅下降。结果,互联网活动委员会(IA连一名主要的发起人也没有,并逐渐挑起大梁。
随着发展的继续,IAB和 IETF的子结构均进一步增加。IETF将工作组按不同领域划分,并指定领域指导。互联网工程指导组(IESG)由领域指导组成。IAB认识到了IETF日益增加的重要性,重组了标准流程来明确认可IESG为各项标准的主要审核机构。IAB也进行了重组,以便其余的专责小组(除IETF以外)被合并成为一个互联网研究专责小组(IRTF),由Postel担任主席,以前的专责小组均更名为研究小组。
商业领域的发展带来了对标准流程本身的更多关注。从20世纪80年代初期起直至今日,互联网的发展已超越了其最初的研究根基,如今不仅包括广大的用户社区,还包括更多的商业活动。人们越来越多地关注如何使流程公开和公平。同时伴随的是对互联网需要社区支持的认识,在Kahn创建的美国国家研究推进机构(CNRI)的支持下和Cerf的领导之下(Cerf当时属于CNRI),在1991最终促成了互联网协会的成立。
1992年发生了另一次重组。1992年,互联网活动委员会进行了重组并更名为“互联网架构委员会”,在互联网协会的支持之下进行运营。新的IAB与IESG之间的关系被定义为更加“平级”的关系,只不过IETF和IESG对标准的审批承担了更多的责任。最终,IAB、IETF和互联网协会之间形成了携手合作、互相支持的工作关系,同时互联网协会的目标是提供服务和其它措施,以方便IETF的工作。
万维网的近期发展和广泛部署产生了一个新型社区,而致力于万维网工作的人员原先并未将自己主要当作网络的研究人员和开发人员来看待。万维网联盟(W3C)作为一个新的协调机构成立了。万维网联盟最初在麻省理工学院的计算机科学实验室成立,创建者是 Tim Berners-Lee(蒂姆·伯纳斯·李,万维网的发明者)和 Al Vezza(艾尔·韦扎);万维网联盟负责发展与网络相关的各种协议和标准。
这样,经过二十多年的互联网活动,实现了组织结构的平稳演变,旨在为共同致力于解决互联网问题的、不断增长的社区提供支持和方便。
技术商业化
互联网的商业化不仅包括竞争性的专用网络服务的开发,同时还包括实施互联网技术的商业产品的开发。在20世纪80年代初期,数十家供应商将TCP/IP纳入他们的产品中,因为他们发现存在这种联网方法的买家。不幸的是,他们对于有关技术应如何发挥作用和客户如何计划使用这种联网方法的真实信息缺乏了解。许多人认为这是不得不绑在他们自己专有网络解决方案,如SNA, DECNet, Netware, NetBios等中的令人讨厌的附加物。美国国防部要求在它购买的很多产品中使用TCP/IP,但在关于如何构建有用的TCP/IP产品方面却很少给予供应商帮助。
在认识到信息可获得性与相关培训的匮乏之后,Dan Lynch(丹·林奇)与 IAB合作,于1985年为所有的供应商举办了为期三天的研讨会,让他们了解TCP/IP的运作方式以及仍然做得不好的地方。研讨会的发言人主要来自DARPA研究社区,他们制定了这些协议又在日常的工作中运用了这些协议。大约有250位供应商人员前来聆听50位发明家和实验员的发言。此次研讨会为双方均带来了可喜的结果:供应商很惊奇地发现发明家们对于各种协议的运作方式(以及仍然做得不好的地方)是如此地毫无遮掩;而发明家们也很乐于倾听他们之前未加以考虑、供应商们在实际使用中正在发现的新问题。这样便形成了双向的讨论方式,并持续了十多年。
在举办了两年的会议、辅导班、设计会议和研讨会之后,互联网架构委员会组织了一场特别的活动,邀请其产品成功运行TCP/IP的供应商共聚一堂,在三天的时间里展示这些产品之间配合使用达到何种程度,以及在互联网中运行的效果。1988年九月,第一届Interop贸易展览会诞生了。50家公司被邀请参展。来自潜在的客户公司的5000名工程师前来参观,以亲眼目睹它是否真的完全象所说的那样神奇。为什么?因为供应商付出了极大的努力,以确保每个人的产品都能与其它所有的产品(甚至是其竞争对手的产品)进行互操作。自此之后,Interop贸易展览会经历了巨大的发展,目前每年在全世界7个地方举行,参观者超过25万人次,他们前来了解哪些产品能无缝地相互配合、了解最新产品并讨论最新技术。
Interop贸易展览会活动突出了人们为互联网商业化所作的努力,与此同时,供应商们也开始参加每年举行3到4次的IETF会议,就扩展TCP/IP协议集的新想法进行讨论。起初,这些会议的与会者只有数百人,他们中的大多数来自学术界,会议费用由政府承担;但现在,这些会议的与会者经常超过1000人,他们中的大多数来自供应商社区,会议费用由与会者自行承担。这一自发形成的团体以互相合作的方式发展了TCP/IP协议集。该团体能带来如此大的帮助作用是因为它由所有利益相关者组成,包括研究人员、最终用户和供应商。
网络管理是研究社区和商业社区之间相互作用的一个例证。在互联网初期,人们将定义和执行实现互操作的协议作为重点。
随着网络逐步发展壮大,人们开始明白用于管理网络的特别程序有时将无法扩展。分布式的自动算法取代了的表格的手工配置,同时为隔离故障,人们还发明了一些更好的工具。1987年,人们开始明白要对网络的各个组成部分(如路由器)进行统一的远程管理,需要制订一份协议。为此,出现了数份协议提案,其中有简单网络管理协议(或SNMP,正如其名称的含义一样,该协议以简化管理为目的,它是从之前的一份名为简单网关监控协议[SGMP]的提案派生出来的)、高级实体管理标准(HEMS)(来自研究社区的较为复杂的方案)以及公共管理信息协议(CMIP)(来自OSI社区)。在经过一系列会议讨论之后,为解决竞争问题,人们决定不将HEMS列为标准化的候选方案;但是SNMP和CMIP的工作将继续进行,他们的想法是SNMP可以作为较近时期内的解决方案,而CMIP为较长时期的方法。市场可以从中选择其认为更合适的一个。现在SNMP在基于网络的管理中几乎随处可用。
在过去的几年中,商业化已进入了一个新的阶段。原先,互联网商业化主要是供应商供应基本的网络产品,而服务提供商提供连通性和基本的互联网服务。但是现在,互联网已近乎成为一项“商品”服务,并且最近人们将很多注意力放在使用这一全球信息基础设施来支持其它商业服务之上。因为浏览器和万维网技术被广泛而迅速地采用,因而极大地促进了这一趋势的发展,用户因此能够轻松地在世界各地访问连接在一起的信息。市面上出现了为信息的提供创造便利条件的产品,同时许多最新的技术发展的目标都是除了提供互联网基本数据通信之外,还提供越来越复杂的信息服务。
未来的历史
1995年10月24日,FNC一致通过一项决议,对“互联网”一词进行了定义。该定义是在与互联网和知识产权社区的成员们共同协商之后确立的。决议:联邦网络委员会(FNC)同意以下文字反映了“互联网”一词的定义。“互联网”指符合以下条件的全球信息系统:(i) 根据互联网协议(IP)或其今后的扩展协议/后续协议,由一个全球独一无二的地址空间逻辑地连接在一起;(ii) 能够支持使用传输控制协议/互联网协议(TCP/IP)集或其今后的扩展协议/后续协议,和/或其它与IP兼容的协议的通信;并且 (iii) 公开或私下地提供、使用本文中介绍的相关基础设施上分层的高级别服务,或使这些服务可访问。
互联网自从诞生后,在二十年中已发生了很大的变化。它是在分时时代孕育产生的,但是已经持续发展并进入到了个人电脑、客户端服务器和对等计算以及网络计算机的时代。互联网在局域网(LAN)之前创建,但却纳入了这一新网络技术以及较近期的异步传输模式(ATM)和框架交换式服务。互联网被人们寄予厚望:支持从文件共享和远程登陆到资源共享和互相协作等一系列的功能,并催生了电子邮件和最近的万维网。但是最重要的是,互联网起初是由一小群专注的研究人员创造出来的,发展至今,已在商业上取得了成功,每年可获数十亿美元的投资。
然而,我们却不应就此得出结论说互联网的演变现在已经结束。互联网尽管在名义上和地理意义上是一个网络,但是它是计算机的产物,而非电话或电视产业的传统意义上的网络。如果它仍然要与计算机相关联,则它将(实际上必须)以计算机产业的发展速度进行变化和演变。目前,它正在变化以提供诸如实时传输之类的新服务,以支持诸如声频流和视频流之类的新功能。
渗透式网络(如即互联网)与功能强大、价格实惠的便携式计算和通信产品(如笔记本电脑、双向传呼机、PDA、手机)的出现将使新范式的游牧计算和通信成为可能。
这一演变将给我们带来新的应用 -- 互联网电话,以及再远一点说,互联网电视。互联网将继续演变,到时将允许存在更复杂的定价和成本回收形式,在这个商业世界中,这可能是一个令人痛苦的要求。互联网还将不断变化,以容纳带有不同特点和要求的下一代基础网络技术(如宽带社区接入技术和卫星技术)。新的网络接入模式和新的服务形式将催生新的应用,反过来又将推动网络本身的进一步演变。
关于互联网的未来,最紧迫的问题不是技术将如何变化,而是将如何管理变化和演变过程本身。正如本文所述,互联网的架构始终受由设计人员组成的核心团队驱动,但是随着相关方数量的增加,这一团队的形式也已发生了变化。互联网的成功产生了大量的利益相关者,利益相关者现在对网络不仅进行经济投资,同时还进行智力投资。
从对域名空间的控制和下一代IP地址形式的辩论可以看出,人们在艰难地寻找将引领互联网未来发展的下一个社会结构。因为涉及的利益相关者很多,这一结构形式将更难寻找。同时,互联网产业也在艰难地寻找未来发展所需巨额投资的经济论据,例如将住宅的网络接入升级为更加合适的技术。如果互联网的发展举步维艰,不是因为我们没有新技术、远见或动力。而是因为我们不能确定方向,然后统一步伐地向未来进发。
时间线
脚注
1 这可能是一种夸张的说法,因为第一作者居住在硅谷。
2 在最近一次去东京书店时,一位作者查点到有关互联网的英文杂志有14种。
3 本文的精简版于1997年2月发表于《CACM》杂志50周年刊。作者特此表达他们对《CACM》杂志的高级编辑 Andy Rosebloom( 安迪·罗圣朋)的感激之情,感谢他鼓励我们撰写本文,以及在编辑本文及其精简版本时给予的宝贵帮助。
4 1971年美国高级研究计划局(ARPA)更名为美国国防部高级研究计划局(DARPA),于1993年改回原名,然后于1996年又再次改为DARPA。本文全文采用现有名称DARPA。
5 兰德公司(RAND)的研究引发了阿帕网与创建抵抗核战争的网络有某种联系的谣言。其实阿帕网根本并非如此,只有兰德公司与此无关的安全语音研究才涉及核战争。不过,互联网连接的后期工作确实重视稳健性与耐久性,包括承受大部分基础网络损失的能力。
6 其中有Vint Cerf、Steve Crocker和Jon Postel。后来加入他们的有David Crocker,他在创建电子邮件协议的文档中发挥了重要的作用; 以及Robert Braden( 罗伯特·布雷登),他为IBM公司的大型计算机开发了首个NCP和TCP,并在ICCB和IAB长期任职。
7 该文件随后以“分组网络互联协议”的名称由V. G. Cerf和 R. E. Kahn于1974年5月发表于《IEE Trans. Comm. Tech》杂志第COM-22卷V5部分第627-641页。
8 想要实现电子邮件的交换,结果却导致了第一批“互联网书籍”之一 《!%@::电子邮件寻址和网络目录》的问世,它是由 Frey(弗雷)和 Adams(亚当斯)所著,与电子邮件地址的转换和转发有关。
9 原名为“联邦研究互联网协调委员会”(FRICC)。FRICC最初是为协调美国研究网络活动,支持CCIRN提供的国际协调工作而创建的。
10 1989年在阿帕网诞生20周年之际,加州大学洛杉矶分校的一个学术报告会举行了阿帕网退役的庆祝活动。
参考资料
“论分布式通信网络”,P. Baran著,1964年3月发表于《IEEE Trans. Comm. Systems》杂志。
“分组网络互联协议”,V. G. Cerf与R. E. Kahn著,1974年5月发表于 《IEEE Trans. Comm. Tech》杂志第COM-22卷V5部分第627-641页。
“RFC001主机软件”,S. Crocker著,发表于1969年4月7日。
“操作系统的通信原理”,R. Kahn著,1972年1月发表于BBN公司的内部读物之上。
“电气与电子工程师学会会报”,1978年11月发表于《分组通信网络特刊》第11号66卷。(客座编辑:Robert Kahn;副客座编辑: Keith Uncapher[基斯·昂卡福]和Harry van Trees[哈瑞·凡·特瑞斯])
“大型通信网络中的信息流”,L. Kleinrock著,1961年7月发表于《RLE季度进度报告》。
“通信网络:随机的信息流动与延迟”,L. Kleinrock著,Mcgraw-Hill(纽约)1964年出版。
“排队系统:计算机应用第二卷” L. Kleinrock著,John Wiley and Sons(纽约)1976年出版。
“在线人机通迅”,J.C.R. Licklider & W. Clark著,1962年8月出版。
“通向分时计算机的合作网络”,L. Roberts & T. Merrill著,AFIPS秋季会议 1966 年10月出版。
“多个计算机网络和计算机间的通信”,L. Roberts著,ACM Gatlinburg Conf.公司 1967年10月出版。
作者
[Barry M. Leiner]曾在高级计算机科学研究所担任总监。他于2003年4月去世。
[Vinton G. Cerf](mailto:vint@google.com)是 Google公司的副总裁兼首席互联网传道者。
[David D. Clark](mailto:ddc@lcs.mit.edu) 是麻省理工学院计算机科学实验室的高级研究科学家。
[Robert E. Kahn](mailto:rkahn@cnri.reston.va.us) 是美国国家研究倡议公司的总裁。
[Leonard Kleinrock](mailto:lk@cs.ucla.edu) 是加州大学洛杉矶分校的计算科学教授,也是Linkabit公司,TTI / Vanguard,Nomadix公司和Platformation公司的创始人。
[Daniel C. Lynch](mailto:dan@lynch.com) 是CyberCash Inc.和Interop网络贸易展会的创始人。
Jon Postel 曾在南加州大学的信息科学学院的计算机网络部担任总监,并一直从事此份工作直至1998年10月16日去世。
[Lawrence G. Roberts](mailto:lroberts@anagran.com) 博士是Anagran, Inc的首席执行官、总裁兼主席。
[Stephen Wolff](mailto:swolff@cisco.com) 是 Internet2 的技术总监。