1.2.1 分组交换技术的研究
1.分组交换技术研究的背景
世界上第一台电子数字计算机ENIAC出现在1946年,而通信技术在一战和二战期间已得到发展和应用,因此通信技术的发展比计算机技术早得多。在很长一段时间中,计算机技术与通信技术之间没有交集,各自处于独立发展的阶段。当计算机技术与通信技术都发展到一定阶段,并且社会上出现了新的应用需求时,人们就会产生将两项技术交叉融合的想法。计算机网络就是计算机技术与通信技术高度发展、深度融合的产物。
20世纪50年代初,由于美国军方的需要,美国半自动地面防空(Semi-Automatic Ground Environment,SAGE)系统要将来自世界各地军事基地的远程雷达信号、机场与防空部队的信息,通过有线与无线的通信线路传送到位于美国本土的一台大型机进行处理,这项研究开始了计算机技术与通信技术结合的尝试。随着SAGE系统的实现,美国军方又产生了将分布在不同地理位置的多台计算机通过通信线路连接成计算机网络的需求。
1957年10月4日,美国报纸报道了苏联在拜科努尔航天中心成功发射一颗重量为83公斤的小型人造地球卫星“史伯尼克(Sputnik)”的消息。这引起了美国的高度重视。五天之后,美国总统在记者招待会上表示了“严重不安”。两个月后,美国总统向国会提出建立高级研究计划署(Advanced Research Projects Agency,ARPA)的动议。国会同意组建ARPA,并批准了520万美元的储备金与2亿美元的项目总预算。尽管ARPA的办公地点在美国国防部,但是它还是被定位成独立的科研管理机构,由非军方人员主持,同时在科研项目上得到了宽松的资金支持与较高的自由度。ARPA没有实验室与科学家,只是通过签订合同和发放许可的方式,选择一些大学、研究机构和公司为该机构服务。1972年,ARPA更名为DARPA(Defense ARPA),即美国国防部高级研究计划署。
在与苏联的军事力量竞争中,美国军方发现需要一个专门用于传输军事命令与控制信息的通信网络。他们希望这种网络在因战争或自然灾害导致部分通信设备或通信线路受到破坏的情况下,通信网络仍然能利用剩余的部分继续工作,这就是网络可生存性(Network Survivability)研究的出发点。传统的通信线路与电话交换网无法满足这个要求,于是ARPA开始筹划启动新一代通信网络技术——分组交换网的研究工作。这就是我们在讨论计算机网络时一定会涉及的分组交换概念,以及世界上第一个分组交换网——ARPANET产生的背景。
2.分组交换概念的提出
在讨论ARPANET的产生时,必然涉及兰德公司与约瑟夫·利克莱德(J.C.R.Licklider)、拉里·罗伯茨(Larry Roberts)、保罗·巴兰(Paul Baran)、唐纳德·戴维斯(Donald Davies)等计算机科学家。实际上,分组交换概念与技术的研究是由三组科学家并行开展的。
(1)MIT与约瑟夫·利克莱德、拉里·罗伯茨的研究工作
MIT(麻省理工学院)在计算机网络与分组交换技术方面早期的研究工作主要集中在1961~1967年。贡献比较突出的两位科学家是约瑟夫·利克莱德与拉里·罗伯茨。
20世纪50年代,约瑟夫·利克莱德作为MIT计算机系的副教授参加了SAGE系统的研究工作(如图1-3所示)。这对于他在1962年提出星际计算机网络(Intergalactic Computer Network)的概念有很大帮助。在有关星际计算机网络的备忘录中,他描述了在全球范围内将很多计算机互联起来,使每个人从任何地点都能共享数据与程序的设想。
图1-3 约瑟夫·利克莱德与MIT的SAGE研究室
ARPA的信息处理办公室(Information Processing Techniques Office,IPTO)主要负责计算机网络、超级计算机等研究课题。1962年,约瑟夫·利克莱德离开MIT加入ARPA,并在后来成为IPTO的首席执行官。他关于计算机网络的设想正好和ARPA的“网络可生存性”项目的研究目标一致。他的星际计算机网络的思想对ARPANET的研究产生了重要的影响。
另一位在分组交换理论研究方面做出重要贡献的科学家是拉里·罗伯茨。1963年,拉里·罗伯茨在MIT获得博士学位之后加入MIT林肯实验室。他在1961年发表了论文“Information Flow in Large Communication Network”,全面阐述了分组交换的思想。1965年,拉里·罗伯茨与合作者在分组交换技术上迈出了划时代的一步。他们将位于MIT与加州的两台分时计算机系统通过电话线路连接起来,实现了存取数据、运行程序。他们的研究工作第一次向世人证实了分组交换理论的可行性。当时,他们将计算机之间相互传送文件的通信规约称为协议(Protocol)。
1967年10月,作为ARPA的首席科学家,劳伦斯·罗伯茨提交了第一个分组交换网ARPANET研究计划,并组织完成了ARPANET结构与通信协议的规划、设计工作。
(2)兰德公司与保罗·巴兰的研究工作
1948年5月,兰德(Research and Development,RAND)公司在美国加州圣莫尼卡成立,它是美国政府在二战后成立的一个战略研究机构。当时,兰德公司的研究工作的重点是冷战时期的军事战略问题。1960年,美国国防部授权兰德公司寻找一种有效的通信网络解决方案。
当时保罗·巴兰在兰德公司的数学学部计算机科学分部工作。他最有兴趣的研究课题是在受到核攻击之后,如何维持网络的通信能力。1962年,保罗·巴兰为兰德公司撰写了11份报告,讨论了分组交换(Packet Switching)与存储转发(Store and Forward)的基本工作原理,其中影响最大的是1964年3月发表的论文“On Distributed Communication Networks”。保罗·巴兰利用计算机和容错技术设计了比电话交换网更为健壮的通信网络。不过,当时他的许多同事对计算机知识了解甚少,因此多数人认为他的研究成果没有意义。美国军方就依据巴兰的设想开展试验的问题与AT&T公司接触时,遭到AT&T公司的强烈反对。当保罗·巴兰在AT&T总部的一次会议上阐述他关于将数据报文“分组”传送的想法时,一位高管打断他:“等一等,小伙子。你真的是说在信号还没有传输到另一端时就拆线吗?”这一点也不奇怪,因为AT&T的技术人员已经习惯于模拟语音电话通信的“面向连接”服务模式。当时电话交换机采用的是人工接线,如果一位用户从洛杉矶给纽约的一位同事打电话,洛杉矶的接线员首先将用户线接到交换机上,呼叫纽约的电话交换机;纽约的接线员接收到呼叫后,将被呼叫的用户线接到交换机之后,通信双方才可以通话。通话结束之后,洛杉矶与纽约交换机的接线员才可以拆线。这与保罗·巴兰提出的分组交换有根本的区别。
尽管AT&T公司最终没有接受这位年轻人的建议,但是保罗·巴兰还是继续研究这个问题,撰写学术论文,进一步完善自己的设计思想。图1-4是对分组交换网理论做出重要贡献的计算机科学家保罗·巴兰。
(3)NPL与唐纳德·戴维斯的研究工作
在1967年下半年举行的ACM SIGOPS会议上,英国国家物理实验室(National Physical Laboratory,NPL)的唐纳德·戴维斯在论文中描述了一个类似的网络系统。他引用了保罗·巴兰的研究成果,并且在NPL建立了一个实验系统。这个实验系统证实了分组交换概念的正确性。图1-5是对分组交换网理论做出重要贡献的科学家唐纳德·戴维斯。
图1-4 保罗·巴兰
图1-5 唐纳德·戴维斯和他的实验系统
分组交换概念的产生得益于这三部分科学家前期的理论研究和实验工作。
3.分组交换技术的研究
早期构建通信网络通常采用两种基本拓扑:集中式(Centralized)和非集中式(Decentralized),相应的拓扑构型如图1-6所示。在集中式网络中,所有节点都与中心节点相连,节点之间交换的数据都通过中心节点转发。如果中心节点损坏或工作不正常,全网的通信就会瘫痪。非集中式网络使用了多个中心节点,相当于将多个集中式网络连接起来。当时美国的通信系统基本上都采用非集中式网络结构。非集中式网络仍然无法克服集中式结构的固有缺点。在大型网络中,中心节点一般都会成为网络系统可靠性的瓶颈。
图1-6 集中式和非集中式网络的拓扑构型
保罗·巴兰提出了第三种设计方案——分布式网络(Distributed Network)结构。他的基本设计思想是:分布式网络中没有中心交换节点,网络中的每个节点都通过通信线路与若干个相邻节点连接,形成一个网状结构。图1-7给出了分布式网络的拓扑构型。显然,这是一种分布式、高度容错的网状结构。
图1-7 分布式网络的拓扑构型
保罗·巴兰建议在新的通信系统中采用分组交换技术。他想象在一个没有中心节点的网络中,节点之间传输的数据按事先规定的格式封装在一种称为分组(Packet)或包的传输单元中。分组包含源节点与目的节点的地址。源节点与目的节点之间可以有多条传输路径。每一条路径都是由多个中间转发节点与通信线路组成。当分组到达一个转发节点时,按照“存储转发”的思路,这个转发节点先将分组接收、存储起来,判断分组传输正确之后,启动路由算法(Routing Algorithm)为每个分组选择到达目的节点“最佳”的下一个转发节点,然后将分组发送到下一个转发节点,直至到达目的节点。节点的路由算法可以根据相邻的节点与线路的状态决定路由。如果路径中有节点损坏或线路忙,分组可以绕过故障节点,选择其他传输路径,最终总会到达目的节点。
在讨论分组交换概念的形成过程时,有一些细节值得注意。保罗·巴兰1926年出生于波兰,1959年获UCLA电气工程硕士学位。在进入兰德公司之前,保罗·巴兰曾经在美国Eckert-Mauchly公司工作,参与早期UNIVAC计算机研制工作,有着良好的计算机技术背景。唐纳德·戴维斯1924年出生于英国,在伦敦帝国学院获数学、物理双学位。1947年,唐纳德·戴维斯进入NPL,在图灵的领导下研制英国第一台计算机Pilot ACE。从保罗·巴兰与唐纳德·戴维斯的教育经历中可以看到:正是由于他们有良好的计算机知识背景,又能够开拓性地将计算机与通信知识融合,才能够在计算机网络理论方面取得举世瞩目的研究成果。