深入理解互联网
上QQ阅读APP看书,第一时间看更新

1.2.2 分组交换网的研究与发展

1.ARPANET的基本设计思想

分组交换理论奠定了现代网络技术的基础,ARPANET的实现证明了分组交换理论的正确性。在讨论ARPANET的研发过程时,一定会提到四位计算机科学家:罗伯特·泰勒(Robert Taylor)、拉里·罗伯茨(Larry Roberts)、伦纳德·克兰罗克(Leonard Kleinrock)以及罗伯特·卡恩(Robert Kahn)。

1965年,罗伯特·泰勒出任ARPA信息处理办公室IPTO第三任主任。当时五角大楼内的IPTO办公室已经有了分别连接MIT、加州大学伯克利分校、终端系统开发公司的分时计算机系统终端,但这三种计算机互不兼容。罗伯特·泰勒的首要任务就是将这三种异构计算机系统互联,实现计算机硬件、软件与信息的共享。他向ARPA署长查尔斯·赫兹菲尔德(C.Herzfeld)提出由ARPA牵头建设一个小型实验网络的建议,查尔斯·赫兹菲尔德批准了罗伯特·泰勒的建议,这标志着ARPANET研究正式立项。

罗伯特·泰勒决定将林肯实验室的拉里·罗伯茨调到IPTO办公室负责这项研究。拉里·罗伯茨当时正在研究林肯实验室两台异构计算机系统的互联问题。尽管最初拉里·罗伯茨并不愿意调到IPTO,但是当他来到IPTO办公室之后,马上就用秒表对五角大楼内部的所有走廊进行了测量,计算出各个办公室之间行走的最短路线(即“拉里路线”),为不同办公室计算机之间的通信寻找“最短路径”。图1-8是罗伯特·泰勒、拉里·罗伯茨与ARPANET实验室的照片。

图1-8 罗伯特·泰勒、拉里·罗伯茨与ARPANET实验室

1967年10月,拉里·罗伯茨提交了第一份“多计算机网络与计算机之间通信”的研究计划。最初的研究目标主要有两个:一是制定计算机接口协议;二是设计一种新的通信技术,使当时16个网站的35台计算机之间每天能够传输50万份信件。

1968年6月3日,拉里·罗伯茨向ARPA正式递交了ARPANET设计方案,它是在前期分组交换技术理论研究基础上形成的。图1-9给出了分组交换网的结构与工作原理。

图1-9 分组交换网的结构与工作原理

ARPANET在总体方案中采取了分组交换的思想,其设计目标是:

·可以连接不同型号的计算机。

·可以传输计算机的数字信号。

·必须保证数据传输的正确性。

·网络节点之间必须有冗余的路由。

·网络中的所有节点都是同等重要的。

拉里·罗伯茨提出的方案虽然得到了一致好评,但是实施起来有一定的难度。因为当时计算机的计算资源异常珍贵,几乎没有人愿意拿出自己的计算机的计算与存储资源,用于网络的路由计算与分组存储转发。针对这种情况,拉里·罗伯茨建议采用一种小型机来专门处理网络中的分组存储转发与路由计算功能,并将这种小型机叫作接口报文处理器(Interface Message Processors,IMP)。

实际上,ARPANET是世界上第一个广域计算机网,IMP就是现在广泛应用的路由器雏形。ARPANET网络系统可以分为通信子网与资源子网两个部分。通信子网由IMP与连接IMP的通信线路组成,专门处理网络中分组路由与存储转发的功能;而资源子网则由联网计算机系统组成,用来完成本地用户计算任务,实现不同计算机系统之间的硬件、软件与数据共享。

ARPA以招标的方式来建立通信子网,当时一共有12家公司、研究部门与大学参与了竞标。ARPA将项目建设内容分为3项,经评估后有3家赢得了合同,他们的分工是:BBN(Bolt Beranek&Newman)公司与弗兰克·哈特(Frank Heart)承担分组交换关键设备——IMP的研发;网络分析公司(Network Analysis Corporation)与拉里·罗伯茨等负责网络拓扑的设计、优化和网络经济性的研究;UCLA与伦纳德·克兰罗克负责网络测试中心的建设。

BBN公司是由来自哈佛大学与麻省理工学院的一群年轻科学家创立的。他们用长达200页的标书赢得了通信子网关键设备IMP的研发任务。BBN公司选择了Honeywell公司生产的12KB内存的小型机DDP 316作为IMP,这些小型机都经过特殊的改进。研究人员将这种小型机称为“小精灵”。出于对计算机系统可靠性的考虑,IMP没有采用外接磁盘系统;出于经济上的考虑,通信线路租用电话公司的56kbps线路。图1-10是作为第一台IMP的小型机DDP 316。

图1-10 作为第一台IMP的小型机DDP 316

最初,实验网络的每个节点都由一台IMP和一台主机组成,它们位于同一个房间中,并且通过一条很短、速率为56kbps的电缆连接。主机给IMP发送的报文分成长度为1008bit的分组,再独立地将这些分组向下一个节点转发。下一个IMP接收到一个分组后将其存储起来,检查、确认传输过程中没有出错后,再向下一个IMP节点转发,直至到达目的IMP。目的IMP将属于同一个文件的分组重新组装成报文后,再递交给与它直接连接的目的主机。这样,一个报文的分组存储转发过程结束。

在实验过程中,为了保证网络通信系统的可靠性,要求每个IMP至少连接到两个其他的IMP。如果某些IMP或通信线路被毁坏,仍然可以通过网络中的其他路径自动完成分组的转发。

当时在BBN公司任职的罗伯特·卡恩在IMP与TCP/IP协议的研究中发挥了重要作用。鉴于罗伯特·卡恩在ARPANET的IMP设备、TCP/IP协议与互联网发展中的突出贡献,他与温顿·瑟夫一起获得了2004年的图灵奖(图1-11是罗伯特·卡恩的照片)。

图1-11 2004年图灵奖获得者之一罗伯特·卡恩

2.ARPANET协议与网络软件结构

最初,ARPANET采用的是网络控制协议(Network Control Protocol,NCP)。1969年4月7日,史蒂夫·克罗克(Steve Crocker)发布了RFC1文档,标题为“Host Software”,NCP协议就是在其基础上发展起来的。

ARPANET网络软件包括两个部分:执行子网内部通信协议的软件和执行主机端通信协议的软件。开发网络软件首先要制定网络协议。子网内部通信协议主要包括HOST-IMP与IMP-IMP的协议,还需要专门设计用来提高从源IMP到目的IMP传输可靠性的协议。实现子网内部通信协议的软件包括HOST-IMP通信软件与IMP-IMP通信软件。实现主机端通信协议的软件包括HOST-IMP通信软件、主机–主机(HOST-HOST)应用软件。第一个ARPANET实验系统使用的主机端通信协议就是NCP。图1-12给出了ARPANET的协议结构。

3.ARPANET网络软件研发与网络组建的过程

在完成网络结构与硬件设计后,接下来的重要问题是开发软件。1969年夏季,拉里·罗伯茨在犹他州的Snowbird召集网络研究人员会议,参加会议的大多数是研究生。研究生们希望像完成其他编程任务一样,由网络专家向他们解释网络的设计方案与需要编写的软件,然后给每人分配一个具体的软件编程任务。但是,他们发现没有网络专家布置任务,也没有完整的设计方案,他们必须自己想办法找到自己该做的事情。

图1-12 ARPANET的协议结构

1969年12月,包含4个节点的实验网络开始运行,这4个节点分别位于UCLA(加州大学洛杉矶分校)、UCSB(加州大学圣塔芭芭拉分校)、SRI(斯坦福研究院)和犹他大学。选择这4个单位是由于它们都与ARPA签订了合同,并且各自有不同类型的主机,符合异构计算机互联的研究要求。

第一台IMP安装在UCLA,其他三台IMP分别安装在UCSB、SRI与犹他大学。据当时负责安装第一台IMP的UCLA计算机系教授伦纳德·克兰罗克回忆,1969年9月2日,第一台IMP安装调试成功;1969年10月1日,第二台IMP在SRI安装调试成功。为了验证数据传输的情况,参加实验的双方使用电话相互联系。UCLA的伦纳德·克兰罗克教授与SRI的比尔·杜瓦研究员共同主持了世界上第一次计算机网络的通信实验。

1969年10月29日22:30,伦纳德·克兰罗克让研究人员从UCLA远程登录到SRI主机,在输入由5个英文字母组成的登录命令“LOGIN”中的“L”“O”两个字母后,网络系统出现了故障,第一次远程登录失败。但是,这是一个非常重要的时刻,它标志着计算机网络时代已经到来。很多人认为应该将这一天作为ARPANET,以及由它发展起来的互联网的诞生日。图1-13给出了ARPANET最初的实验记录与伦纳德·克兰罗克教授的照片。

图1-13 ARPANET最初的实验记录与伦纳德·克兰罗克教授

1969年,伦纳德·克兰罗克向新闻界发表谈话时说:“一旦ARPANET建立并运行起来,我们从家中和办公室访问计算机系统,就像获得电力或电话服务那样容易”。现在我们享受的互联网服务证实了伦纳德·克兰罗克教授当年的预言。

从1969年到1971年,经过近两年对网络应用层协议的研究与开发,研究人员首先推出了Telnet应用。1971年2月,研究人员公布了第一个关于Telnet协议的文档RFC 97。

1972年,ARPANET节点数增加到15个。1972年10月,罗伯特·卡恩在华盛顿特区召开的第一届国际计算机与通信会议(ICCC)上做了ARPANET首次的公开演示。当时参加演示的40台计算机分布在美国各地,演示的项目包括网上聊天、网上弈棋、网上测验、网上空管模拟等,其中网上聊天演示引起了极大轰动。这次成功的演示吸引了世界各国计算机与通信领域的科学家加入计算机网络研究队伍中。图1-14给出了1972年4月时的ARPANET拓扑结构。

之后,随着英国伦敦大学节点与挪威的皇家雷达研究所节点接入ARPANET,ARPANET的节点数增加到23个,同时也标志着ARPANET已经实现国际化。

1972年,第一个用于网络的电子邮件E-mail应用程序推出,当时接入ARPANET的节点数大约有40个。1973年,E-mail的通信量已占到ARPANET总通信量的3/4。伦纳德·克兰罗克见证了电子邮件的兴起:“1972年,就在电子邮件出现不久,我意识到人与人的交流是互联网流量的主要形式。网络流量很快会被电子邮件统治。此前的流量主要是文件传输,以及研究人员通过网络远程登录使用计算机”。当时ARPANET的一位主管曾开玩笑说:“我已经没有办法向老板汇报工作,因为电子邮件并不是我的本职工作。”

图1-14 1972年4月时的ARPANET拓扑结构

电子邮件的出现推动了互联网群组论坛形式应用的发展。1975年,一封分发给一群人的电子邮件成为互联网上第一个讨论组,这个组的名字叫“Msg-Group”。此后,很多参与者围绕着共同感兴趣的话题建立了很多个讨论组。同时,电子邮件的出现带来了很多变化。例如,很多用笔墨书写信件的礼节被简化了,电子邮件仅需三言两语就能让信息快速送达;严格的等级制度被淡化了,你可以越级给上司写信;很多原来用文字表示的意思变成用符号表示,例如笑脸可以用“:-)”代替。

1979年,为了让不能直接接入ARPANET的用户也能够参与群组的讨论,一种叫作Usenet的网络应用应运而生。Usenet可以在运行UNIX的计算机之间更新消息文件,多个用户可以订阅并参加特定主题的讨论,而且可以随时下载或上传新的讨论内容。最初,开发者预计只会有50~100台计算机使用Usenet,而且每台计算机每天只会收到一两条消息,话题也仅限于UNIX的应用。但是,网络中的很多用户都对Usenet感兴趣。随着Usenet、BBS与新闻组(Newsgroups)在社会生活中开始发挥作用,互联网上的社交网络时代已经到来。

随着更多的IMP被交付使用,ARPANET网络规模快速增长,很快就扩展到了整个美国。

4.ARPANET对推动计算机网络技术发展的贡献

分组交换的概念最初是在1964年提出的。1969年12月,第一个采用分组交换技术的网络ARPANET投入运行。分组交换技术与计算机网络的出现标志着现代电信时代的开始。ARPANET是计算机网络技术发展的一个重要里程碑,它对计算机网络理论与技术的发展起到了重大的奠基作用。它的贡献主要表现在以下几个方面:

·完成了对计算机网络定义与分类方法的研究。

·提出了计算机网络体系结构与参考模型的概念。

·研究并实现了分组交换方法。

·完善了层次型网络体系结构模型与协议体系。

·开始了TCP/IP模型、协议与网络互联技术的研究。

1975年,ARPANET已经连入100多台主机,并且结束网络实验阶段,移交给美国国防部国防通信局(DCA)正式运行。

1983年1月,ARPANET向TCP/IP协议的转换全部结束,并开始了军用和民用的分离。其原因主要有两点:

第一,当时使用ARPANET的有两类人,一类是军方用户,另一类是非军方用户,而且非军方用户的人数比军方用户多得多。非军方用户中,有很多大学生使用ARPANET研究网络技术,但还有很大一部分用户并非出于研究目的,而是用于玩游戏或从事其他工作。军方不能不对网络的安全产生关注。

第二,根据美国法律,所有政府出资的项目应体现纳税人的权利,必须由纳税人分享。由国防部出资建设的ARPANET必须允许与国防无关的其他大学与研究部门的科研人员使用。出于保密的需要,DCA决定将ARPANET分成两个相互独立的部分:一部分仍叫作ARPANET,继续用于一般的科学研究工作,它发展成为后来的互联网;另一部分是稍大一些的MILNET,用于军方的非机密通信(如图1-15所示)。

为了让军方用户能够访问ARPANET,网络管理人员在ARPANET与MILNET之间部署了网关,由专人来管理和控制两个相对独立的网络,而普通网络用户并不会感觉到和以前有什么不同。

20世纪80年代中期,随着接入ARPANET的网络规模不断增大,ARPANET成为互联网的主干网。1990年,ARPANET已经被新的网络替代。虽然ARPANET目前已经退役,但是人们会永远记住它,因为它对网络技术的发展产生了重要影响。到目前为止,MILNET仍然在运行。

20世纪70年代到80年代,网络技术发展十分迅速,并且出现了大量的各类计算机网络。在这段时期,公共数据网(Public Data Network,PDN)发展迅速。所谓“公共数据网”是指由专门的网络运营商(Network Carrier)或网络服务提供商(Network Service Provider,NSP)运营与管理的网络。

图1-15 ARPANET分成两个相互独立的部分

传统的电信网络主要提供电话语音服务。在计算机网络应用的初期,网络运营商大多是电话公司,它们在提供电话服务的同时,也提供专线服务。NSP也有不同的类型,它们可以没有自己的网络基础设施,而是通过租用电话公司的线路来提供数据通信服务。在互联网高速发展阶段,网络运营商与网络服务提供商纷纷转向提供本地互联网用户接入服务,成为互联网服务提供商(Internet Service Provider,ISP)。