本节书摘来异步社区《OSPF和IS-IS详解》一书中的第1章,第1.2节,作者: 【美】Jeff Doyle 译者: 孙余强 责编: 傅道坤,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 ARPANET

OSPF和IS-IS详解
ARPA于1958年创建于艾森豪威尔治下,之所以组建该机构,是要对前苏联发射的第一颗人造地球轨道卫星Sputnik(伴侣号)进行“回击”,因为当时美国已经清楚地意识到自己的科技水平落后于前苏联了。可以说,美国出于其在国际(科技水平)竞争力方面的尴尬,设立了这样一个机构,意在通过某种渠道(主要是通过大学)来投资并管理相关科研项目。

军工企业在结构方面的复杂性,加上各军种之间时常发生的激烈竞争,促使艾森豪威尔把ARPA定性为一个独立机构,由非军方人员来主持,同时在科研项目上给予了宽松的资金支持,以及较高的自由度。

接替J. C. R. Licklider作为ARPA第二、第三任领导的分别是Ivan Sutherland和Bob Taylor。Licklider在学术方面的成就——“星际网络”的理念,以及由连接成网络的分时计算机互连多个利益共同体的想法——对这两位领导影响甚深。有意思的是,Taylor跟Licklider一样,也是研究“心理声学(psychoacoustics)”的心理学家,这也促使他对计算机科学发生了浓厚兴趣。

ARPA早期的许多科研项目都涉及导弹和卫星,这势必会与命令和控制系统有紧密联系。显而易见,计算机技术肯定会位居其中的核心地位——无论是作为工具还是作为科研对象。

因为由ARPA资助的大多数科研项目都是由美国各所高校来负责实施,所以用于科研的计算机也遍布全美。Bob Taylor的办公室连接了三台计算机,这三台机器分别位于MIT(麻省理工学院)、加州大学伯克利分校,以及加州圣莫尼卡的系统研发公司(System Development Corporation,SDC)。在他的办公室内,需要分别为每台计算机配备一台终端,而每台计算机的登录规程也各不相同。受到过Licklider启发的Taylor曾不停地反思,为什么就不能只通过一台终端来连接三台计算机呢。更为重要的是,Taylor还发现许多科研项目的研发效率越来越低,这要归咎于科研人员在对计算机使用时的重复劳动——当时,计算机分布在美国各州。比如,若MIT的科研人员认为UCLA(加州大学洛杉矶分校)开发的一款程序非常好用,那么由于所使用的计算机不同,前者就得重新编写能为自己所用的该程序的新版本。要是MIT的研究人员能在UCLA的计算机上使用UCLA开发的程序,那岂不是更省事?此外,科研人员若能(通过网络)远程访问到自己需要使用的昂贵计算机,那岂不是又可大大节约成本?由Licklider提出的分时理念已付诸于实施,是时候实现他提出的通过网络连接多个利益共同体的想法了。

于是,1966年,Taylor发起了一个项目,意在开发出那样一个计算机网络,该项目获得了资金上的支持。ARPA网络——其最终的名称为ARPANET——就这样诞生了。

为该计算机网络挑选一名管理者和首席架构师,是Taylor的第一步工作。为此,他选择了Larry Roberts——此人来自MIT,是一位令人尊敬的年轻计算机科学家。在Taylor看来,该职位非Larry Roberts莫属:除了具备深厚的计算机科学背景之外,Larry Roberts还具有卓越的管理技能,他同时也正负责一个小型计算机联网项目,准备把MIT的林肯实验室计算机与位于圣莫尼卡的SDC计算机相连1。

能集众家之所长,是Roberts对ARPANET项目的顺利完成所做出的最大贡献。ARPANET在基础架构方面的理念由三个人提出,他们是Leonard Kleinrock、Paul Baran和Donald Davies。早在20世纪60年代初,这三位在互不相识的情况下,就已经提出了相关理念。

Len Kleinrock是Roberts在MIT的死党兼赌友,于1962年完成了自己的博士论文《Information Flow in Large Communication Nets》(大型通信网络内的信息流)。他的主攻方向是存储和转发网络内的排队原理(该原理后来集结成书)2,其研究成果奠定了分组(包)交换网络。Kleinrock直接参与了ARPANET项目,为该项目开发了性能分析方法。

Paul Baran于1959年加入RAND公司,在这里,他花了5年时间来研究网络幸存技术(network survivability)3。他的主要研究方向并非计算机网络本身,而是用于弹道导弹系统的命令控制网络技术,以及当某些节点毁于核打击时,如何确保其他节点继续正常运作。在Baran看来,人类的神经网络系统健壮无比:在人脑发生部分损伤的情况下,神经网络系统会产生出新的神经纤维,可“绕过”受损的脑细胞。这再次表明了(计算机)网络理论起源于对人类认知的研究。集中式通信网络(如图1.1a所示)非常容易遭到摧毁,因为只需集中火力消灭其中心节点。相形之下,分散式网络(如图1.1b所示),如典型的电话网络,在冗余性方面要好很多,但尚有不足。Baran提出了分布式(distributed)网络的概念,在此类网络中没有所谓的“核心”交换节点,故而可在遭敌军摧毁的任一节点附近,重新构建新的路径。

Baran还进一步指出,消息在跨分散式网络发送时,应该以“分片”的方式来传送,他把那些“经过分片的消息”称为“消息块”。由于数据通信在本质上具有突发性,因此Baran又提出了另一个理论:允许多个消息来源同时发送消息块,以使网络内节点间的链路带宽得到更为充分的利用。那些节点都是存储并转发(消息块的)交换机,其主要用途为:确定通往消息块目的地的最佳线路(best route),并尽快转发——Baran将交换机的上述行为称为热土豆路由(hot-potato routing)。此外,当某个(或某些)节点失效时,消息块应能绕过失效节点,继续朝目的地进发。动态路由选择所依据的正是Baran提出的上述理念。

Larry Roberts于1967年得知了Paul Baran的研究成果,并于次年与其会面。最终,Paul Baran以顾问的身份间接参与了ARPANET项目。

得知Paul Baran的研究成果的同时,Larry Roberts还获悉了Donald Davies所做出的研究。Donald Davies是位于伦敦的英国国家物理实验所(National Physical Laboratory,NPL)的物理学家。在对Baran的研究成果一无所知的情况下,此人也提出了类似的以动态方式“路由”分片消息的概念,只是还达不到Baran提出的构建冗余的分布式网络的水平。然而,Davies对研究军用的命令及控制系统并不感兴趣,而是志在研发出一种新形式的公众通信方式。他把在网络中“路由”经过分片的消息的行为,与邮政系统中递送包裹(package)的行为等同视之。于是,他把“经过分片的消息”称为“数据包(packet)”,而非Baran提出的称谓——“消息块”。同理,在网络中“路由”数据包的行为,则被他称为“数据包的交换(packet switching)”。

当Davies意识到不同类型的计算机可能都会“自说自话”,以至于相互之间很难直接“沟通”时,便又提出了另外一项重要提议。Davies建议在主机系统和网络之间部署一种小型专用“接口计算机”,并同时让这种遍布整个网络的接口计算机说“通用语言”。

Larry Roberts向各主机站点的科研人员提出ARPANET这一概念时,可以说是叫好声一片,但实施起来却有点不太现实。那时,计算机的资源异常珍贵,几乎没有人愿意再拿出分时计算机的部分资源,来“路由”或处理数据包。Wesley Clark,一名圣路易斯华盛顿大学的工程师,在20世纪50年代中期就已经提出过在主机和网络之间部署那种“小型计算机”的建议了,而与此同时,J. C. R. Licklider在MIT才有了第一次的计算机初体验。这种“小型计算机”在网络中行使“动态路由选择”之职。当时,Clark并不知道Donald Davies也有与其近乎一致的念头。

Roberts采纳了Davies的建议,并把那种“小型计算机”命名为接口消息处理机(Interface Message Processor,IMP)。

Roberts发布了研发IMP的提议请求(Request For Proposal),位于马萨诸塞州剑桥的BBN公司接下了这单生意。早些时候,Licklider也曾在该公司担任过副总裁(VP)一职。BBN公司的第一台计算机正是由Licklider负责采购,自那以后,该公司就从一家声学工程咨询公司转型成了世界领先的计算机研发公司。

BBN公司IMP项目的负责人是Frank Heart,他选择在一种强化版的Honeywell DDP-516微型机上研发IMP4。尽管DDP-516在构建时遵循了军用标准,足已适应海、陆战场的部署环境,但令Heart忧心忡忡的却并非来自敌方的攻击,而是一群本科毕业生们的觊觎之心。秉持打造高度可靠网络系统的设计理念,IMP的开发者指望强化版的516足够皮实,能抗得住修修补补的折腾。

1969年10月,“新鲜出炉”的头两台IMP分别在UCLA和斯坦福研究院(Stanford ResearchInstitute,SRI)“上线运行”,然后又各自通过一条速率为50kbit/s的链路,连接了那两处站点的大型主机,并相互“交换”了历史上第一个数据包。同年12月初,加州大学圣塔芭芭拉分校和犹他大学的另外两个主机站点也相继连接进网络。次年年初,一条用来连接剑桥BBN公司和UCLA的50kbit/s的国际长途链路也在各网络间开通。到了1971年4月,该网络已扩大至由以下15个站点网络组成:

1.UCLA

2.SRI

3.UCSB

4.University of Utah

5.BBN

6.MIT

7.RAND Corporation

8.System Development Corporation

9.Harvard University

10.MIT Lincoln Labs

11.Stanford University

12.University of Illinois at Urbana

13.Case Western Reserve University

14.Carnegie Mellon University

15.NASA Ames Research Center

就这样,ARPANET不但成功搭建,投入运行,其规模还保持了稳步增长态势5。

ARPANET的首次公开展示,是在1972年10月华盛顿希尔顿酒店召开的计算机通信国际会展(International Conference on Computer Communication ,ICCC)上。为了举办这次活动,Robert Kahn花了一年多时间来准备。作为BBN IMP项目的研发人员之一,Robert Kahn参与的工作包括:IMP到主机协议的开发、ARPANET的架构以及对ARPANET稳定性的改进。在那次展示中,大约有40台不同品牌及型号的终端都连接到了一台终端接口处理机(TIP)上,而那台TIP又通过两条速率为50kbit/s的线路,连接到了ARPANET6。与会者受邀去操纵运行分布在全美各地的计算机上的各种应用程序。本次会展获得了巨大成功,向计算机和电信行业展示了构建分组交换网络的可行性,更使得许多人坚信电信行业将面临巨大转机。

构建计算机网络的可行性已获充分论证,但还有一个障碍有待克服:在互连头几个ARPANET站点时,每台主机上的指令集都是临时编写的,而且还各不相同。也就是说,主机之间之所以能实现相互通信,其途径只是让每台主机将其通信对象视为“哑终端(dumb terminal)”。

ARPANET与核弹

有关ARPANET的起源,可谓是众说纷纭,但有一种说法流传最广,那就是要用它来对抗核攻击。毫无疑问,Paul Baran在RAND公司的研究课题也是围绕上述目标而展开。但对于Larry Roberts及其手下的科学家来说,核攻击则是虚无缥缈之事。Paul Baran提出的网络幸存理念对ARPANET的架构有着举足轻重的影响,究其直接原因,是由于在那个时代,交换节点以及节点间的链路是出了名的不稳定(有一则典故可为佐证:ARPANET上数据包的首次传输由Charles Kline操刀完成——从加州大学洛城分校发往斯坦福研究中心,这位仁兄在系统崩溃前收到的最后一个字母是“login”中的“g”)。ARPANET之所以需要让数据包交换机/链路具备冗余性,并要求动态路由协议的可靠运行,是为了在链路/节点失效时,能使数据包“绕道而过”,其用意并不是为了对抗核攻击。

《OSPF和IS-IS详解》一1.2 ARPANET相关推荐

  1. OSPF——DR及BDR详解

    目录 一.DR简介: 二.BDR简介: 三.OSPF邻居关系规律及缺点: (1). 邻居关系数量变化规律: (2).邻居关系过多缺点: 四.为什么选举DR和BDR: 五.解决方法:引入DR.BDR 解 ...

  2. OSPF邻居建立过程详解

    目录 OSPF的五种包: 1.Hello包 2.DBD包(database description) 3.LSR包(Link State Request) 4.LSU包(Link State Upda ...

  3. OSPF的LSA类型详解与特殊区域

    LSA---链路状态通告----ospf在不同网络环境下携带不同信息的载体 LSDB---链路状态数据库 SPF--最短路径优先算法 Type--LSA的类型,在ospfv2的版本,需要掌握6种LSA ...

  4. ospf接口认证配置详解

    实验目的:1.掌握ospf接口认证配置方法 实验拓扑: 步骤1:基本配置(接口配置+ospf配置)见http://t.csdn.cn/mugochttp://t.csdn.cn/mugoc步骤2:启用 ...

  5. 【学习笔记】【计算机网络【总】】物理层;链路层;网络层;传输层;应用层;详解

    目录 框架 一.计算机网络 1. 层次结构设计 2. 现代互联网拓扑 3. 网络性能指标 二.物理层 三.数据链路层 2.最大传输单元MTU 3.以太网协议详解 四.网络层 - 链接 五.传输层 - ...

  6. OSPF中DR选举机制详解

    OSPF中DR选举机制详解--对于这方面不太清楚的可以看看附件 转载于:https://blog.51cto.com/gauyanm/226882

  7. 大型企业网络配置系列课程详解(三)--OSPF高级配置与相关概念的理解

    大型企业网络配置系列课程详解(三)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  8. CCNP中单区域OSPF详解(第一部分)

    1. OSPF特性综述 2. Ospf协议下运行的三种拓补结构 3. 广播型多路访问网络下的OSPF运行      1)路由器ID      2)指定路由器和备份指定路由器      3)DR和BDR ...

  9. OSPF报文详解——LSA概述

    目录 一.OSPF报文详解: (1)---OSPF头部分析: (2)---hello字段分析: 二.LSA报文--链路状态通告 (1)---简介: (2)---头部信息: (3)---数据部分: 一. ...

  10. 《OSPF和IS-IS详解》一第6章 链路状态数据库同步6.1 OSPF数据库同步

    本节书摘来自异步社区<OSPF和IS-IS详解>一书中的第6章,第6.1节,作者 [美]Jeff Doyle,更多章节内容可以访问云栖社区"异步社区"公众号查看 第6章 ...

最新文章

  1. 2021-11-10 YOLOX训练最新笔记总结(coco格式)
  2. Web技术电子期刊2008年第3期(总第23期)
  3. 互联网晚报 | 2月12日 星期六 | 宝马控股华晨宝马落锤;知乎否认视频部门裁员;《老友记》全十季高清版全网首播...
  4. 基于springcloud的开发者实践:hystrix-dashboard熔断仪表盘
  5. 【Elasticsearch】了解Elasticsearch写入磁盘的数据
  6. Servlet中的请求转发
  7. Redis 常用命令操作
  8. 分享一些经典的特效效果,希望对大家有帮助
  9. JAVA 使用DateUtils对日期进行格式转换
  10. 百度富文本编辑器上传图片到oss的步骤
  11. copypng emitted errors
  12. 中国互联网流行文化缔造者百度贴吧,如何拥抱新时代?
  13. linux 怎么卸载glib,glib的安装
  14. 百家讲坛_我读经典17_《易经》与人生-曾仕强(转)
  15. STC89C52RC内部EEPROM的读写
  16. HotSpot JVM -- 深度好文
  17. 第一期:利用旧手机搭建网盘(家庭nas)
  18. 计算机网络的硬件主要有,什么是计算机网络及主要功能有哪些?
  19. 你遇到过哪些高质量的C++面试?
  20. JavaWeb框架-Hibernate-4-沙场秋练兵-图书管理系统!

热门文章

  1. win7 odbc access 2003 win7下ODBC数据源ACCESS2003的链接
  2. 1000家《中国工业软件和服务企业名录》发布
  3. RxJava进阶一(创建类操作符)
  4. 为android系统添加USB AUDIO设备的放音和录音功能
  5. 如何判断对方列表里是不是好友_怎么查看我在别人好友列表里是否单向好友?...
  6. WIN10系统CH340驱动预安装成功,但是设备显示器中的端口不能显示CH340驱动
  7. 关于 js bin 的运用
  8. Python灰度共生矩阵OpenCV和scikit-image图像特征分析和K-最近邻算法
  9. uniapp 更换导航栏图标并添加事件
  10. Photoshop 去掉图片上的文字的几个方法(转)