第1章计算机网络概述 科技强国,自强不息 科技立则民族立,科技强则国家强。由计算机网络的发展史可知,网络技术源于西方,而奉行“精致利己主义”的西方不断对我国进行高科技封锁、打压。计算机网络作为国家信息关键核心技术,是国之重器,是推动我国经济高质量发展、保障国家安全的重要战略支撑。我们要把精锐力量集结整合到核心技术突破上来,以“十年磨一剑”的精神在核心领域实现重大突破; 解决“卡脖子”问题,以只争朝夕的劲头,增强紧迫感,深入实施创新驱动发展战略,全面增强自主创新能力,坚定敢为天下先的志向,在独创独有上下功夫,掌握新一轮世界科技竞争的主动权。 第1章导言 本章学习任务 了解计算机网络的发展历程; 掌握计算机网络的概念、分类和拓扑结构; 理解计算机网络体系结构; 掌握ISO/OSI参考模型的层次结构及各层功能; 掌握TCP/IP体系结构的层次划分及各层功能。 1.1计算机网络的形成及发展 21世纪的一些重要特征就是数字化、信息化和智能化,它是一个以网络为核心的信息时代。在信息社会中,计算机已经从单机使用发展到集群使用。越来越多的应用领域需要计算机在一定的地理范围内联合起来进行集群工作,从而促进了计算机技术和通信技术的紧密结合,形成了计算机网络这门技术。其经历了20世纪60年代萌芽、70年代体系结构、80年代标准化和90年代后的互联、高速、智能与泛在化发展四个阶段。 1.1.1计算机网络的产生 任何一种新技术的出现都必须具备两个条件,即强烈的社会需求与先期的技术成熟。计算机网络的形成与发展也遵循了这条规律,1946年世界上第一台电子计算机ENIAC在美国诞生时,计算机技术与通信技术并没有直接的联系。20世纪50年代初,由于美国军方的需要,对美国半自动地面防空系统(SAGE)进行了计算机技术与通信技术相结合的尝试。它将远程雷达与其他测量设备测到的信息通过总长度达241万千米的通信线路与一台IBM计算机连接,进行集中的防空信息处理与控制。 要实现这样的目的,首先要完成数据通信技术的基础实现,然后将地理分散的多个终端通过通信线路连接到一台中心计算机上。用户可以在自己办公室内的终端键入程序,通过通信线路传送到中心计算机,分时访问、使用其资源进行信息处理,处理结果再通过通信线路回送用户终端显示或打印。人们把这种以单个计算机中心的联机系统称为面向终端的远程联机系统。它是计算机通信网络的雏形。20世纪60年代初,美国航空公司与IBM合作建成的由一台计算机与分布在全美国2000多个终端组成的航空订票系统SABRE1就是一种典型的计算机通信网络。 计算机与通信的相互结合主要有两个方面。一方面,通信网络为计算机之间的数据传递和交换提供了必要的手段; 另一方面,数字计算技术的发展渗透到通信技术中,又提高了通信网络的各种性能。 由于当初计算机是为成批处理信息而设计的,所以当计算机在和远程终端相连时,就出现了图11中所示的线路控制器(line controller)。因为电话线路本来是为传送模拟的话音信号而设计的,不适合传送计算机的数字信号,所以图中的调制解调器M(modem)是必需的设备,其主要作用就是: 把计算机或终端的数字信号变换成可以在电话线路传送的模拟信号以及完成相反的变换。 早期的线路控制器只能和一条通信线路相连,同时也只能适用于单一传送速率。由于在通信线路上是串行传输而在计算机内采用的是并行传输,因此这种线路控制器的主要功能是进行串行和并行传输的转换以及简单的差错控制。这个阶段的计算机仍主要用于数据成批处理。有时,计算机在一天中的部分时间用作数据处理,而在另一部分时间则用作收集远地的信息。如图11所示的系统常称为联机系统,以区别于早先出现的单机系统。 图11联机系统 图12面向终端的计算机通信网 M—调制解调器; T—终端 随着远程终端数量的增多,为了避免一台计算机使用多个线路控制器,在20世纪60年代初期,出现了多重线路控制器(multiline controller)。它可以和许多个远程终端相连接,如图12所示。这种联机系统也称为面向终端的计算机通信网。有人将这种最简单的计算机网络称为第一代计算机网络。这里,计算机是网络的中心和控制者,终端围绕中心计算机分布在各处,而计算机的主要任务仍是进行成批处理。 1.1.2现代计算机网络的发展 随着计算机应用的发展,出现了多台计算机互联的需求。这种需求主要来自军事、科学研究、地区与国家经济信息分析决策、大型企业经营管理等领域的用户。他们希望将分布在不同地点的计算机通过通信线路互联成计算机计算机的网络。网络用户可以通过计算机使用本地计算机的软件、硬件与数据资源,也可以使用联网的其他计算机的软件、硬件与数据资源,以达到计算机资源共享的目的。 这一阶段研究的典型代表是美国国防部高级研究计划局ARPA(advanced research projects agency)的ARPAnet(通常称为ARPA网)。1969年,美国国防部高级研究计划局提出将多个大学、公司和研究所的多台计算机互联的设想。1969年ARPAnet只有4个节点,1973年ARPAnet发展到40个节点,1983年已经达到100多个节点。ARPAnet通过有线、无线与卫星通信线路,使网络覆盖了从美国本土到欧洲与夏威夷的广阔地域。 ARPAnet是计算机网络技术发展的一个重要里程碑。它对发展计算机网络技术的主要贡献表现在以下几个方面: 完成了对计算机网络的定义、分类与相关技术内容的描述; 提出了资源子网、通信子网的两级网络结构的概念; 研究了报文分组交换的数据交换方法; 采用了层次结构的网络体系结构和协议体系; 促进了TCP/IP协议的发展; 为Internet的形成与发展奠定了基础。 ARPAnet研究成果对计算机网络发展的意义是深远的。从20世纪七八十年代开始,计算机网络发展十分迅速,并出现了大量的计算机网络,仅美国国防部就资助建立了多个计算机网络。同时,还出现了一些研究实验性网络、公共服务网络与校园网,例如美国加利福尼亚大学劳伦斯原子能研究所的OPTOPUS、法国信息与自动化研究所的CYCLADES、国际气象检测网等。 计算机网络可以分成资源子网和通信子网来分别组建,如图13所示。资源子网主要负责全网的信息处理,为网络用户提供网络服务和资源共享功能等。它主要包括网络中所有的计算机、I/O设备、终端、各种网络协议、网络软件和数据库等。通信子网主要负责全网的数据通信,为网络用户提供数据传输、转接、加工和变换等通信处理工作。它主要包括通信线路(即传输介质)、网络连接设备(如网卡、通信控制处理器、网桥、路由器、交换机、网关、调制解调器、卫星地面接收站等)、网络通信协议和通信控制软件等。在20世纪70年代中期,世界上便开始出现了由邮电部门或通信公司统一组建和管理的公用分组交换网,即公用数据网PDN。早期的公用数据网采用模拟通信的电话交换网,新型的公用数据网则采用数字传输技术和分组交换方法。典型的公用分组交换网有美国的TELENET、加拿大的DATAPAC、法国的TRANSPAC等。公用分组交换网的组建为计算机网络发展提供了良好的外部通信条件,它可以为更多的用户提供数据通信服务。 图13资源子网与通信子网 1.1.3计算机网络标准的形成 经过20世纪60—70年代前期的发展,人们对组网的技术、方法和理论的研究日趋成熟。为了促进网络产品的开发,各大计算机公司纷纷制定自己的网络技术标准。IBM首先于1974年推出了该公司的系统网络体系结构SNA(system network architecture),并为用户提供能够互联的成套通信产品; 1975年DEC公司宣布了自己的数字网络体系结构DNA(digital network architecture); 1976年UNIVAC宣布了该公司的分布式通信体系结构DCA(distributed communication architecture)等。这些网络技术标准只在一个公司范围内有效。所谓遵从某种标准的、能够互联的网络通信产品,也只是同一公司生产的同类型设备,无法实现互相兼容。网络通信市场这种各自为政的状况使得用户在投资时无所适从,也不利于多个厂商之间的公平竞争。因此,产生了制定统一技术标准的迫切需求。 1977年,国际标准化组织ISO(international standardization organization)设立分委员会SC16(属TC97信息处理系统技术委员会),以“开放系统互联”为目标,专门研究网络体系结构、互联标准等。1984年,ISO正式颁布了一个称为“开放系统互联基本参考模型”(open system interconnection basic reference model)的国际标准ISO 7498,简称OSI参考模型或OSI/RM。OSI/RM共有七层,因此也称为OSI七层模型。OSI/RM的提出开创了一个具有统一的网络体系结构、遵循国际标准化协议的计算机网络新时代。作为国际标准,OSI规定了可以互联的计算机系统之间的通信协议,遵从OSI协议的网络通信产品都是所谓的开放系统。今天,几乎所有的网络产品厂商都声称自己的产品是开放系统,不遵从国际标准的产品逐渐失去了市场。这种统一的、标准化产品相互竞争的市场促进了网络技术的进一步发展。 1.1.4局域网发展时期 20世纪80年代出现了微型计算机,这种更适合办公室环境和家庭使用的新型计算机对社会生活的各个方面都产生了深刻的影响。1972年Xerox公司发明了以太网,以太网与微机的结合使得微机局域网得到了快速的发展。局域网使一个单位内部的微型计算机和智能设备相互连接起来,提供了办公自动化的环境和信息共享的平台。1980年2月IEEE 802局域网标准出台,并相继提出IEEE 801.5~802.6等局域网络标准草案,其中的绝大部分内容已被国际标准化组织(ISO)正式认可。作为局域网络的国际标准,它标志着局域网协议及其标准化的确定,为局域网的进一步发展奠定了基础。局域网的发展道路与广域网不同,局域网设备厂商一开始就按照标准化、相互兼容的方式竞争,因此用户在建设自己的局域网时选择面更宽,设备更新更快。经过20世纪80年代后期的激烈竞争,局域网设备厂商大都进入专业化的成熟时期。在一个局域网中,工作站可能是Dell的,服务器可能是IBM的,网卡可能是Intel的,集线器可能是Dlink的,而网络上运行的软件更是五花八门。现在局域网的发展已经由组建网络变为了网络应用建设阶段。 1.1.5Internet发展时期 1985年,美国国家科学基金会NSF(national science foundation)利用ARPAnet协议建立了用于科学研究和教育的骨干网络NSFnet。20世纪90年代,NSFnet代替ARPAnet成为美国国家骨干网,并且走出了大学和研究机构进入了公众社会。从此,网上的电子邮件、文件下载和消息传输等服务受到越来越多人们的欢迎并被广泛使用。1992年,Internet学会成立,该学会把Internet定义为“组织松散、独立的国际合作互联网络”“通过主动遵循计算机协议和过程来支持主机对主机的通信”。1993年,美国伊利诺斯大学国家超级计算中心成功开发了网上浏览工具Mosaic(后来发展为Netscape),使得各种信息可以方便地在网上交流。浏览工具的实现引发了Internet发展和普及的高潮,上网不再是网络操作人员和科学研究人员的专利,而成为一般人员进行远程通信和交流的工具。在这种形式下,1993年,当时的美国总统克林顿宣布正式实施国家信息基础设施NII(national information infrastructure)计划,这也就是人们常说的“信息高速公路”建设,从此在世界范围内展开了争夺信息化社会领导权和制高点的竞争。与此同时NSF不再向Internet注入资金,使其完全进入了商业化运作。20世纪90年代后期,Internet以惊人的速度发展,网络上的主机数量、上网的人数、网络的信息流量每年都在成倍地增长。 我国互联网的发展启蒙于20世纪80年代。1987年9月,钱天白教授通过意大利公用分组网ITAPC设在北京的PAD(分组装拆设备)发出我国的第一封电子邮件与德国卡尔斯鲁厄大学进行了通信,揭开了中国人使用Internet的序幕。 1997年6月,根据国务院信息化工作领导小组办公室的决定,在中国科学院网络信息中心组建了中国互联网络信息中心CNNIC,同时,国务院信息化工作领导小组办公室宣布成立中国互联网络信息中心工作委员会。从此我国进入了互联网的高速发展时期。 根据2022年8月中国互联网络信息中心CNNIC发布的第50次《中国互联网络发展状况统计报告》(以下简称《报告》),在网络基础资源方面,截至2022年6月,我国域名总数为3380万个,.cn域名数为1786万个,IPv6地址数量达63079块/32; 移动通信网络IPv6流量占比已经达到45%。在信息通信业方面,截至2022年6月,累计建成并开通5G基站数达185.4万个,三家基础电信企业的固定互联网宽带接入用户总数达5.63亿户; 有全国影响力的工业互联网平台已经超过150个,接入设备总量超过7900万台套,全国在建“5G+工业互联网”项目超过2000个,工业互联网和5G在国民经济重点行业的融合创新应用不断加快。 《报告》显示,我国互联网应用用户规模保持平稳增长。大数据、云计算、移动互联网、物联网、人工智能等新技术不断应用到政府治理过程,全国政府数字化转型工作稳步开展,政务服务平台、监督平台和全国信用体系已经形成,即时通信等应用基本实现普及。截至2022年6月,在10.51亿网民中,即时通信、网络视频、短视频用户使用率分别为97.7%、91.5%和91.5%,用户规模分别达10.27亿、9.95亿和9.62亿。 1.2计算机网络的基本概念 在信息高度发达的今天,存在很多种网络,比如电话网络、电视网络和计算机网络等。目前信息传播的核心网络是计算机网络,而且它也是发展最快的网络。计算机网络是由计算机设备、通信设备、终端设备等网络硬件和网络软件组成的大型计算机系统。网络中的各个计算机系统具有独立的功能,它们脱离网络时,仍可单机使用。以后章节若非特别指明,“网络”一词均指计算机网络。 1.2.1计算机网络的定义 目前,计算机网络的精确定义并未统一。常见的有以下三种不同的观点。 一是广义的观点。将计算机网络定义为“计算机技术与通信技术相结合,实现远程信息处理以进一步达到资源共享的系统。”这种观点主要定义了计算机通信网络。 二是用户透明性的观点。将计算机网络定义为“存在一个能为用户自动管理资源的网络操作系统,由它来调用完成用户任务所需的资源,而整个网络对用户是透明的。”这种观点主要针对的是分布式计算机系统。 三是资源共享的观点。将计算机网络定义为“以资源共享为目的,用通信线路连接起来的具有独立功能的计算机系统的集合。”此观点符合目前计算机网络的基本特征,但也不是很全面。 综上所述,可以将计算机网络定义为: 计算机网络是利用通信线路和连接设备将地理分散的、具有独立功能的若干计算机系统连接起来,按照某种协议进行数据通信,并通过一个能为用户自动管理资源的网络操作系统,以实现资源的共享的系统。 从以上定义可以看出,计算机网络涉及以下多个方面的问题。 (1) 至少有两台计算机互联。这些计算机系统在地理上是分布的,可能在一个房间内,在一个单位里的楼群里,一个或几个城市里,甚至在全国乃至全球范围。 (2) 这些计算机系统是自治的,即每台计算机既能单独工作,又能在网络协议控制下协同工作。 (3) 资源共享是计算机网络的主要目的,计算机资源包括硬件资源(磁盘、光盘以及打印机等)、软件资源(如语言编辑器、文本编辑器、工具软件及应用程序等)和数据资源(如数据文件和数据库等)。 (4) 计算机之间的互联通过通信设备及通信线路来实现,其通信方式多种多样。 (5) 联网计算机之间的信息交换必须遵循统一的通信协议。 1.2.2计算机网络的分类 计算机网络的分类方法很多,可以从不同的角度对计算机网络进行分类。 1. 按照网络覆盖地理范围 按照网络覆盖地理范围可以分为局域网LAN(local area network)、城域网MAN(metropolitan area network)和广域网WAN(wide area network)。 局域网是指将有限范围的各种计算机、终端和外部设备互联成网的网络。其作用距离为几米到十几公里,具有数据传输速率高、低延迟和低误码率的特点。局域网传输速率为10Mb/s~1Gb/s,局域网通常在一个园区、一座大楼,甚至在一个办公室内,主要用来构造一个单位的内部网,如学校的校园网、工厂的企业网等,网络属于该单位所有,并自主管理,以资源共享为主要目的。 城域网是介于广域网和局域网之间的一种高速网络。其作用距离为几千米到几十千米。城域网通常应用于一个城市内大量企业、机关、学校的多个局域网互联。 广域网是指覆盖范围从几十千米到几千千米。广域网可以跨越一个国家、地区,或跨越几个洲。广域网又称远程网,是由多个局域网或城域网组成的网络。过去传输速率比较低,一般为64Kb/s~2Mb/s,而现在以光纤为传输介质的新型高速广域网可提供高达每秒几十吉位的传输速率。其主要用来构造公用数据网,一般由国家委托电信部门建造、管理和经营,以数据通信为主要目的。 2. 按照网络的拓扑结构 按照网络的拓扑结构可以分为总线型网络、环形网络、星形网络、树形网络和网状网络等。 3. 按照网络的传输介质 按照网络的传输介质可以分为铜线网络、光纤网络和无线网络。有关传输介质的特性见后面的章节。 4. 按照网络的逻辑功能 按照网络的逻辑功能可以分为资源子网和通信子网。资源子网是指网络用户的接入部分,主要提供共享的资源; 通信子网一般由电信部门组建管理,主要提供传输用户数据的线路和设备。 5. 按照网络的使用角色 按照网络的使用角色可以分为公用网和专用网。公用网是指国家的电信公司出资建造的大型网络,如163网; 专用网是指以某个单位为本单位的工作需要而建立的网络,一般不为外单位提供服务,如校园网、企业网等。 6. 按照网络的交换方式 按照网络的交换方式可以分为电路交换网、报文交换网、分组交换网等。有关数据交换方式的内容在后面的章节中介绍。 7. 按照网络的传输技术 按照网络的传输技术可以分为广播式网络和点对点式网络。详细解释见后章节。 1.2.3计算机网络的拓扑结构 拓扑是几何学中的一个名词。网络拓扑就是指在网络中各节点相互连接的方法和形式。网络拓扑结构对整个网络的设计、功能、性能以及费用等方面有很重要的影响。选用何种拓扑结构的网络,要依据实际需要而定。计算机网络通常有以下几种拓扑结构。 1. 总线型结构 在总线型拓扑结构的网络中,所有节点都通过相应的网络接口连接在一条高速公用传输介质上,如图14所示。其中的节点可以是网络服务器,由它提供网络通信及资源共享服务,也可以是网络工作站(即用户计算机)。总线型网络采用广播通信方式,即由一个节点发出的信息可以被网络上的多个节点所接收。由于多个节点连接到一条公用总线上,因此必须采取某种介质访问控制规程来分配信息,以保证在一段时间内,只允许一个节点传送信息,以免发生冲突。目前最常用的且已列入国际标准的规程有: ①CSMA/CD访问规程; ②令牌传送访问控制规程。 图14总线型拓扑结构 在总线型结构网络中,作为数据通信必经之路的总线负载能力是有限度的,这由通信介质本身的物理性能决定。因此,总线型结构网络中工作站节点的数量是受限制的,如果工作站节点的数量超出总线负载能力,就需要采用分段等方法,并加入相当数量的附加部件,使总线负载符合容量要求。 图15星形拓扑 总线型网络结构简单灵活、可扩充、性能好,进行节点设备的插入与拆卸非常方便。另外,总线型网络可靠性高、网络节点间响应速度快、资源共享能力强、设备投入量少、成本低、安装使用方便。当某个工作站点出现故障时,对整个网络系统影响小。总线型结构网络是最普遍使用的一种网络。由于所有的工作站通信均通过一条共用的总线,所以实时性较差,并且总线中任何一点出现故障,都会造成整个网络瘫痪。 2. 星形结构 星形结构由一个功能较强的管理控制中心节点设备以及一些各自连到中心的从节点组成,如图15所示。这种网络各个从节点间不能直接通信,从节点间的通信必须经过中心节点设备。 星形结构有两类: 一类是中心节点设备仅起到与各从节点联通的作用; 另一类的中心节点设备是一台功能很强的计算机,从节点是性能一般计算机或终端,这时中心节点设备有转接和数据处理的双重功能。功能强大的中心节点设备既作为各从节点共享的资源,也可以按存储转发方式进行通信工作。 星形结构的优点是建网容易,控制相对简单,其缺点是属于集中控制,对中心节点依赖性大,一旦中心节点出现故障,都会造成整个网络瘫痪。由于每个节点都与中心节点直接连接,需要耗费大量电缆。 图16环形拓扑结构 3. 环形结构 环形网络也是一种常见的网络类型,如图16所示。网络中各节点计算机通过一条通信线路连接形成一个闭合环路。在环路中,信息是按一定方向从一个节点传输到下一个节点的,形成一个闭合的环流。在环形拓扑结构中,所有节点共享同一个环形信道,环上传输的任何数据都必须经过所有节点,因此,断开环中的一个节点,意味着整个网络通信的终止。这是环形拓扑结构的一个主要缺点。 4. 树形结构 树形网络其实是多级(层)星形结构,如图17所示。树形网络是由多个层次的星形结构连接而成,树的每个节点都是计算机或网络连接设备。一般来说,越靠近树的根部,要求节点设备的性能就越高。与星形网络相比,树形网络线路总长度短,成本较低,节点易于扩充,但结构较复杂,传输延迟大。 5. 网状结构 网状网络也叫分布式网络,可分为全网格型和部分网格型结构,它由分布在不同地点的计算机系统相互连接而成,如图18所示。网中无中心节点,一般网上的每个节点都有多条线路与其他节点相连,从而增加了迂回通路。网状网络的通信子网是一个封闭式结构,通信功能分布在各节点上。网状网络具有可靠性高、节点共享资源容易、可改善线路的信息流量分配及负载均衡、可选择最佳路径、传输延时小等优点,但也存在控制和管理复杂、软件复杂、布线工程量大、建设成本高等缺点。 图17树形拓扑结构 图18网状拓扑结构 1.3计算机网络的体系结构 计算机网络发展到今天,已经演变成一个复杂的信息系统。解决这种复杂系统的常规方法就是把系统简化为分层的体系结构,即把很多相关的功能分解开来,逐个予以解释和实现,这样也有利于大家的理解和学习。在分层的体系结构中,每一层都是一些明确定义的相互作用的集合,称为对等协议; 层之间的界限是另外一些相互作用的集合,称为接口协议,本节介绍了国际标准化组织开放系统互联参考模型(ISO/OSI RM)和TCP/IP体系结构,将为以后的内容建立一个演绎的舞台。本书以ISO的七层协议体系结构为基础来组织全部内容。 1.3.1计算机网络体系结构的形成 计算机网络是个非常复杂的系统。为了说明这一点。可以设想一个最简单的情况: 连接在网络上的两台计算机要相互传输文件。 显然,在这两台计算机之间必须有一条传送数据的物理通路。但这还远远不够,至少有以下几件工作需要去完成。 (1) 发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活”就是要发出一些信令,保证要传送的计算机数据能在这条通路上正确发送和接收。 (2) 要告诉网络如何识别接收数据的计算机,即如何找到目的主机。 (3) 发起通信的计算机必须查明对方计算机是否已准备好接收数据。 (4) 发起通信的计算机必须弄清楚,在对方计算机中的文件管理程序是否已做好文件接收和存储文件的准备工作。 (5) 若计算机的文件格式不兼容,则至少其中的一个计算机应完成格式转换功能。 (6) 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,以及网络中某个节点交换机出现故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。 当然,要真正完成文件的传输,还有很多其他工作要做。由此可见,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPAnet设计时即提出另外分层的方法。“分层”可将庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较易于理解和实现。 1974年,美国的IBM公司宣布了它研制的系统网络体系结构SNA。这个著名的网络标准就是按照分层的方法制定的。凡是遵循SNA的设备就称为SNA设备。这些SNA设备可以很方便地进行互联。 在此之后,很多公司也纷纷建立了自己的网络体系结构,这些体系结构大同小异,都采用了层次技术,但各有其特点以适合本公司生产的计算机组成网络,这些体系结构也有其特殊的名称,如DNA(Digital公司)、BNA(宝来机器公司)、DSA(Honeywell公司)等。 这些体系结构的出现大大加快了计算机网络的发展。然而,全球经济的发展使得不同网络体系结构的用户迫切要求能够相互交换信息。为了使不同体系结构的计算机网络