第5 章计算机网络 计算机网络是现代通信技术与计算机技术相结合的产物。近十几年来,互联网 (Internet)深入到千家万户,已经成为一种全社会的、经济的、快速存取信息的必要手段。 因此,网络技术对未来的信息产业乃至整个社会都将产生深远的影响。 5.1 计算机网络概述 计算机网络是将若干台独立的计算机通过传输介质相互物理地连接,并通过网络软 件逻辑地相互联系到一起而实现信息交换、资源共享、协同工作和在线处理等功能的计算 机系统。计算机网络给人们的生活带来了极大的方便,如办公自动化、网上银行、网上订 票、网上查询、网上购物等。计算机网络不仅可以传输数据,还可以传输图像、声音、视频 等多种媒体形式的信息,在人们的日常生活和各行各业中发挥着越来越重要的作用。目 前,计算机网络已广泛应用于政治、经济、军事、科学、社会生活的方方面面。 5.1.1 计算机网络的基本概念 计算机网络主要包含连接对象、连接介质、连接控制机制和连接方式与结构四个方 面。计算机网络的连接对象是各种类型的计算机(如大型计算机、工作站、微型计算机等) 或其他数据终端设备(如各种计算机外部设备、终端服务器等)。计算机网络的连接介质 是通信线路(如光纤、双绞线、地面微波、卫星等)和通信设备(网关、网桥、路由器等)。计 算机网络的连接控制机制是各层的网络协议和各类网络软件。计算机网络的连接方式主 要是指网络采用的拓扑结构(如星状、环状、总线型、树状和网状等)。 因此计算机网络就是把分布在不同地理区域的计算机与专门的外部设备,利用通信 线路和通信设备,互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便 地互相传递信息,共享硬件、软件、数据信息等资源。互联的含义是两台计算机能互相 通信。两 台计算机通过通信线路(包括有线和无线通信线路)连接起来就组成了一个最简单 的计算机网络。全世界成千上万台计算机相互间通过双绞线、电缆、光纤和无线电等连接 起来构成了世界上最大的Internet网络。网络中的计算机可以是在一间办公室内,也可 能分布在地球的不同区域。这些计算机是相互独立的,即所谓自治的计算机系统,脱离了 网络它们也能作为单机正常工作。在网络中,需要有相应的软件或网络协议对自治的计 算机系统进行管理。 5.2 计算机网络的发展阶段 1. 计算机网络从产生发展至今,大致分为以下四个阶段。 1. 第一代:面向终端的计算机网络 第一代计算机网络产生在20 世纪50 年代,当时的计算机数量稀少、价格昂贵,计算 机之间相互的资源共享和信息处理尤为重要,因此诞生了面向终端的计算机网络。系统 中存在一台用于计算的主机和其他终端计算机,终端计算机不具备数据处理和存储的能 力,终端用户通过终端计算机向主机发送一些数据运算请求,主机运算后将结果返回给终 端计算机,主机既要负责终端用户的数据处理和存储,又要负责各部分的相互通信。由于 终端计算机并不满足功能独立的特性,这种面向终端的联机系统并未形成真正意义上的 网络,但是其为计算机网络的出现做好了技术准备,并且奠定了理论基础。 2. 第二代:采用分组转发技术的计算机网络 20 世纪60 年代,专家们开始设计采用分组交换的第二代计算机网络。它以通信子 网为中心,实现了数据处理和数据通信两大功能的分离,并采用分组转发技术,以保证负 载均衡,使单机的响应速度明显提高。 分组交换是将需要发送的报文信息分成若干比较短的、长度固定的分组(或包), 每个 分组包含响应的地址信息,利用路由算法选择相对较优的转发路径,将数从源地址经过多 个路由交换设备发送到目的地址,从而实现在数据转发过程中的动态分配带宽的策略,减 少了资源浪费,提高了转发效率。 一旦网络的某部分遭受攻击而失去工作能力时,网络的其他部分应该能够维持正常 的通信工作。基于这样的指导思想,1969 年美国国防部建立了第一个名为ARPANET 的分组交换网,起初只连接了4台计算机,到1975 年时已有100 多台主机接入网络,并开 始投入开发TCP/IP 。ARPANET 作为早期的骨干网,较好地解决了网络互联的一系列 理论和技术问题,奠定了Internet存在和发展的基础。 3. 第三代:开发式和标准化的计算机网络 当网络发展到一定程度,为了解决因设备不同而造成的网络不能互通的问题,1974 年,国际标准化组织(trainlognztootnadztoISO)发布了开发系统 inentoaraiainfrsadriain, 互连参考模型OSI/RM,并在1983 年正式批准使用。而几乎与此同时,TCP/IP 也诞生 了,并于1983 年1月1日全面应用于ARPANET 。OSI 体系结构和TCP/IP 成为国际网 络通用体系结构的核心,从而建立起了一个开发式的、标准化的计算机网络。 4. 第四代:Itt广泛应用和高速网络技术的发展20世纪80年代(n) 末,(e) (n) (r) (e) 局域网技术已经基本成熟,数字通信开始出现,光纤的接入使得 远距离通信技术得到加强,计算机网络开始朝着综合化、高速化全方位发展,文件传输、电 子邮件、信息服务系统等业务和应用被相继开发出来,网络主机群的协同能力增强,多媒 大学计算机基础 体和智能网络诞生,以Internet为代表的互联网覆盖全球,网络技术进入飞跃式发展 阶段。 进入21 世纪之后,计算机网络得到了大幅度的发展,从原来局域网间的数据传输变 成了遍布全球的、开放集成的、可承载多种应用的异构网络互联格局,对各国的政治、经 济、文化、军事等各方面都产生了重要而深远的影响。随着技术的进步,信息产业领域的 形势瞬息万变,大数据、云计算、物联网技术和移动通信技术快速发展,为用户提供了更丰 富、更便利的服务。下一代网络致力于实现固定与移动、话音与数据的融合,通信将不受 时间、空间和带宽的限制,整个网络基础体系都将发生革命性的改变。 5.3 计算机网络的基本功能 1. 计算机网络最主要的功能是资源共享和通信,除此之外,还有负荷均衡、分布处理和 提高系统的安全与可靠性等功能。 1. 软、硬件共享 计算机网络允许网络上的用户共享网络上各种不同类型的硬件设备。可共享的硬件 资源有:高性能计算机、大容量存储器、打印机、图形设备、通信线路、通信设备等。共享 硬件的好处是提高硬件资源的使用效率、节约开支。 2. 信息共享 信息也是一种资源。Internet就是一个巨大的信息资源宝库,就像一个信息的海洋, 有取之不尽、用之不竭的信息与数据。每一个接入Internet的用户都可以共享这些信息 资源。可共享的信息资源有:搜索与查询的信息、Web服务器上的主页及各种链接、FTP 服务器中的软件、各种各样的电子出版物、网上消息、报告和广告、网上大学、网上图书 馆等。 3. 通信 通信是计算机网络的基本功能之一,它可以为网络用户提供强有力的通信手段。建 设计算机网络的主要目的就是让分布在不同地理位置的计算机用户能够相互通信、交流 信息。计算机网络可以传输数据以及声音、图像、视频等多媒体信息。利用网络的通信功 能,可以发送电子邮件、打电话、举行视频会议等。 4. 负荷均衡与分布处理 负荷均衡是指将网络中的工作负荷均匀地分配给网络中的各计算机系统。当网络上 某台主机的负载过重时,通过网络和一些应用程序的控制和管理,可以将任务交给网络上 其他的计算机去处理,充分发挥网络系统上各主机的作用。分布处理将一个作业的处理 分为3个阶段:提供作业文件、对作业进行加工处理、输出处理结果。在单机环境下,上 述3步都在本地计算机系统中进行。在网络环境下,根据分布处理的需求,可将作业分配 给其他计算机系统进行处理,以提高系统的处理能力,高效地完成一些大型应用系统的程 序计算及大型数据库的访问等。 第 5 章计算机网络 95 5. 系统的安全和可靠性 系统的可靠性对于军事、金融和工业过程控制等的应用特别重要。计算机通过网络 中的冗余部件可大大提高可靠性。例如,在工作过程中,一台机器出了故障,可以使用网 络中的另一台机器;网络中一条通信线路出了故障,可以取道另一条线路,从而提高网络 整体系统的可靠性。 5.4 计算机网络的分类 1. 计算机网络的分类方法有多种,其中最主要的方法是根据覆盖范围来分类。按照覆 盖范围进行分类,可以很好地反映不同类型网络的技术特征,可以将网络分为个人区域 网、局域网、城域网、广域网4类,如图5-1所示。 图5-1 按网络覆盖范围进行分类 1. 个人区域网(personalareanetwork,PAN) 随着笔记本、智能手机、PDA 、投影仪与信息家电的广泛应用,人们逐渐提出自身附 近10m 范围内的个人操作空间移动数字终端设备联网的需求。按照覆盖距离从小到大 排列,连接用户计算机身边10m 之内计算机、打印机、PDA 与智能手机等数字终端设备 的网络称为个人区域网。由于个人区域网主要是用无线通信技术实现联网设备之间的通 信,因此出现了无线个人区域网(WPAN)的概念。 2. 局域网(localareanetwork,LAN) 覆盖10~10000m 的网络称为局域网。局域网用于将有限范围内(例如,一个实验 室、一幢大楼、一个校园)的各种计算机、终端与外部设备互联网。按照采用的技术、应用 范围和协议标准不同,局域网可以分为共享局域网与交换局域网。局域网技术发展迅速, 应用日益广泛,是计算机网络中最活跃的领域之一。局域网一般属于一个单位所有,易于 建立、维护和扩展。由于局域网的覆盖范围有限,数据的传输距离短,因此局域网能够提 供高传输速率(10Mb/s~100Gb/s)、低误码率的高质量数据传输环境。 3. 城域网(metropolitanareanetwork,MAN) 20 世纪80 年代后期 , IEEE802 委员会提出城域网的概念。IEEE802 委员会对城域 网概念与特征的表述是:以光纤为传输介质,能够提供45~150Mb/s的高传输速率,支 持数据、语音与视频综合业务的数据传输,可以覆盖50~100m 的城市范围,实现高速数 据传输。随着Internet新应用的不断出现及三网融合的发展,城域网的业务扩展到几乎 能覆盖所有的信息服务领域,城域网概念也随之发生重大变化。这时,宽带城域网被描述 为:以IP 为基础,通过计算机网络、广播电视网、电信网的三网融合,形成覆盖城市区域 大学计算机基础 的网络通信平台,为语音、数据、图像、视频传输与大规模的用户接入提供高速与保证质量 的服务。 4. 广域网(wideareanetwork,WAN) 广域网又称为远程网,覆盖的地理范围从几十千米到几千千米。广域网覆盖一个国 家、地区或横跨几个洲,形成国际性的远程计算机网络。广域网的通信子网可以利用公用 分组交换网、卫星通信网或无线分组交换网,将分布在不同地区的计算机系统、城域网、局 域网互联起来,实现资源共享的目标。 5.5 计算机网络的拓扑结构 1. 拓扑是从图论演变而来的,是一种研究与大小形状无关的点、线、面特点的方法。网 络拓扑结构是指用传输介质互联各种设备的物理布局,通俗地讲就是这个网络看起来是 一种什么形式。将工作站、服务器等网络单元抽象为“点”,网络中的通信介质抽象为 “线”,从拓扑学的观点看,计算机和网络系统就形成了点和线组成的几何图形,从而抽象 出来网络系统的具体结构。常用的计算机网络拓扑有星状、环状、总线型、树状与网状。 1. 星状拓扑 在星状拓扑网络中,各节点通过点到点的链路与中央节点连接,如图5-2所示。中央 节点可以是转接中心,起到连通的作用;也可以是一台主机,此时具有数据处理和转接的 功能。星状拓扑结构的优点是很容易在网络中增加和移动节点,容易实现数据的安全性 和优先级控制;缺点是属于集中控制,对中央节点的依赖性大,一旦中央节点有故障,就会 引起整个网络的瘫痪。 2. 环状拓扑 在环状拓扑网络中,节点通过点到点的通信线路连接成闭合环路,如图5-3所示。环 中数据将沿着一个方向逐站传递。环状拓扑结构简单、传输延时确定,但是环中每个节点 与连接节点之间的通信线路都会成为网络可靠性的屏障。只要环中某一个节点出现故 障,就会造成网络瘫痪。另外,对于环状拓扑网络,网络节点的增加和移动以及环路的维 护和管理都比较复杂。 图5-2 星状拓扑结构图5-3 环状拓扑结构 3. 总线型拓扑 在总线型拓扑网络中,所有节点共享一条数据通道,如图5-4所示。一个节点发出的 第 5 章计算机网络 16 信息可以被网络上的每个节点接收。由于多个节点连接到一条公用信道上,所以必须采 用某种方法分配信道,以决定哪个节点可以优先发送数据。总线型拓扑结构简单,安装方 便,需要铺设的线缆最短,成本低,并且某个站点自身的故障一般不会影响整个网络,因此 是普遍使用的网络之一。其缺点是实时性较差,总线上的故障会导致全网瘫痪。 4. 树状拓扑 在树状拓扑网络中,各节点形成了一个层次化的结构,如图5-5所示。树中的各个节 点通常都为主机,树中的低层主机的功能和应用有关,一般都具有明确定义的功能,如数 据采集、变换等;高层主机具备通用的功能,以便协调系统的工作,如数据处理、命令执行 等。一般来说,树状拓扑结构的层次数量不宜过多,以免转接开销过大,使高层节点的负 荷过重。如果树状拓扑结构只有两层,就变成了星状拓扑结构,因此,可以将树状拓扑结 构视为星状拓扑结构的扩展结构。 5. 网状拓扑 在网状拓扑网络中,节点之间的连接是任意的,没有规律,如图5-6所示。其主要优 点是可靠性高,但结构复杂,必须采用路由选择算法、流量控制与拥塞控制方法。广域网 基本上都是采用网状拓扑结构。 图5-4 总线型拓扑结构图5-5 树状拓扑结构图5-6 网状拓扑结构 5.计算机网络的体系结构 2 在计算机网络中要做到高效、有序地交换数据,就必须遵守一些事先约定好的规则。 这些为实现网络中数据交换而建立的规则、标准或约定称为网络协议。它们明确规定了 所交互的数据的格式及有关的同步问题,是计算机网络中不可缺少的组成部分。 要想在两个主机之间通过一个通信网络传送文件,首先,保证两台主机都具有网络接 入的功能,使得两台主机之间能够有条件实现通信服务并完成可靠通信的任务;其次,发 送主机要完成与接收主机的通信服务,保证文件和文件的传送命令可靠地在两个系统之 间交换;最后,发送端的文件传送程序应当确定接收端的文件管理程序已经做好接收和存 储文件的准备,并完成文件格式的转换,以实现文件传输的操作。 这三类工作之间既可以相互独立,又具有一定的关联,因此,可以将整个文件传输的 工作自底向上分为3个模块实现:网络接入模块、通信服务模块和文件传送模块。3个模 块各自实现网络连接、通信服务和文件传送的功能,相邻的模块之间又存在对应的接口以 大学计算机基础 实现数据的交换,并向上层提供服务。这3个模块的划分层次如图5-7所示。 图5-7 主机之间文件传输模块的划分层次结构 由此可见,对于非常复杂的工作过程,分层可以带来很多好处。一个复杂的计算机网 络协议,其结构应该是层次式的。这样可以使网络各层之间相对独立,使每一层都可以采 用最合适的技术实现,保证整体的灵活性;同时使得实现和调试一个庞大而复杂的系统变 得易于处理,并促进标准化工作。当然,分层也有一些缺点,如部分功能会在不同的层次 中重复出现,产生额外的开销。 计算机网络的各层及其协议的集合,被称为网络的体系结构。计算机网络的体系结 构就是这个计算机网络及其构件所完成的功能的精确定义。目前应用比较广泛的网络体 系结构是TCP/IP四层体系结构。 2.I七层模型 5.1 OS 在计算机网络产生之初,每个计算机厂商都拥有自己的一套网络体系结构,这些体系 结构之间互不相容,为信息的传输造成了许多不便。为了解决这个问题,国际标准化组织 (和国际电报电话咨询委员会(nentoaeerphadtlphnoslaie ISO) itrainltlganeeoecnuttvcommite,CCITT)在1979年联合制定了OSI参考模型,为实现开放系统互连提供共同 的基础和标准框架。OSI参考模型全称是开放系统互连参考模型(opensystem interconnectionreferencemodel,OSI/RM )。它定义了连接异构计算机的标准框架,并为 保持相关标准的一致性和兼容性提供共同的参考。 OSI参考模型自底向上分为七层,分别是物理层、数据链路层、网络层、传输层、会话 层、表示层和应用层。 1.物理层 物理层是OSI结构的第一层,它是整个开放系统互连的基础。物理层为设备之间的 数据通信提供传输介质通路及互连设备,以及连接的机械的、电气的、功能的和过程特性 (如规定使用的电缆和接头的类型、传送信号的电压等),为数据传输提供可靠的环境。数 据在物理层上以原始比特(bit)流的形式进行传输。 2.数据链路层 数据链路层为网络层提供数据传输服务,负责将网络层传下来的数据可靠地传输到 相邻节点的目标网络层。数据链路层具备将数据组合成数据块进行传输的功能,这些数 据块被称为帧(是数据链路层的基本传送单位。每一帧包括一定数量的数据和一 frame), 些必要的控制信息,以实现传输过程的差错控制。在传送数据时,如果接收点检测到所传 第 5 章计算机网络 36 数据中有差错,就要通知发送方重发这一帧,以保证传输的可靠性,所以数据链路层可以 提供透明的和可靠的数据传送服务。 3. 网络层 网络层为分组交换网上的不同主机提供通信服务。在网络中进行通信的两台计算机 之间可能会经过很多个中间节点,网络层的任务就是通过寻址和路由选择功能,选择合适 的网间路由和交换节点,将数据设法从源端点经过若干个中间节点传送到目的端点,以实 现两个端系统之间的数据透明传送。网络层将数据包(packet)进行分组转发,能够向上 层提供简单灵活的、无连接的、尽最大努力交付的数据包服务。数据包的头部封装有转发 数据的逻辑地址信息,如源端点和目的端点的网络地址。 4. 传输层 传输层负责向两个主机之间的通信提供通用的数据传输服务,即根据通信子网的特 性最佳地利用网络资源,并以可靠和经济的方式,为源端点和目的端点的会话层之间提供 建立、维护和取消传输连接的功能,实现应用进程之间的逻辑通信,可靠地传输数据。 5. 会话层 会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用 之间通信的机制(如服务器验证用户登录的过程)。会话层、表示层和应用层构成开放系 统的高三层,面向应用进程提供分布处理、对话管理和信息表示等服务。 6. 表示层 表示层提供数据格式的转换服务,主要功能是把应用层提供的信息变换为能够共同 理解的形式,提供字符代码、数据格式、控制信息、加密解密等的统一表示。 7. 应用层 应用层是OSI 参考模型的最高层。其功能是实现应用进程之间的信息交换,为操作 系统或网络应用程序提供访问网络服务的接口,通过应用程序之间的交互来完成特定的 网络应用。 在OSI 七层模型中,每一层都为其上一层提供服务,并为其上一层提供接口以便其 访问和调用。不同主机之间的相同层次称为对等层(如主机 A 中的表示层和主机 B 中的 表示层互为对等层,主机 A 中的网络层和主机 B 中的网络层互为对等层)。对等层之间 互相通信需要遵守一定的规则(如通信的内容和方式) , 这套规则称为协议。OSI 七层模 型结构及对等层之间的协议如图5-8所示。 在OSI 参考模型中,当一台主机需要传送用户的数据时,数据首先通过源主机的应 用层接口进入应用层。应用层给数据加上这一层的相关信息作为报头(application header,AH) , 打包形成应用层协议数据单元(protocoldataunit,PDU) , 然后被递交到它 的下一层———表示层。表示层把应用层递交下来的数据包看成一个整体进行封装,加上 表示层的相关信息作为报头(presentationheader,PH) , 然后递交到下一层———会话层。 会话层、传输层、网络层、数据链路层也依次分别给上层递交下来的数据加上自己的报头 (会话层报头SH 、传输层报头TH 、网络层报头NH 、数据链路层报头DH) , 数据链路层还 大学计算机基础 图5-8 OSI七层模型及对等层之间的协议 要给网络层递交的数据加上数据链路层报尾(datalinktermination,DT),形成最后的数 据帧。数据帧在物理层中通过比特流传输到目标主机的物理层上。 当发送的数据帧通过物理层传送到目标主机的物理层时,该主机的物理层把它递交 到上一层———数据链路层。数据链路层负责去掉数据帧的头部(DH)和尾部(DT),同时 进行数据效验,如果数据没有出错,则递交到上一层———网络层。网络层、传输层、会话 层、表示层、应用层也通过类似的工作一次剥除相应的报头信息。最终,原始数据被递交 到目标主机的具体应用程序中。 5.2 TCP/IP参考模型及相关协议 2. OSI参考模型过于庞大和复杂,使用起来并不方便。虽然OSI参考模型在理论上具 有很强的示范性,但事实上TCP/IP参考模型才是真正得到大规模应用的业界标准。 TCP/IP参考模型分为4个层次:网络接口层、网络层、传输层和应用层。 1.网络接口层 这一层也被称为主机-网络层,与OSI参考模型中的物理层和数据链路层相对应。它 负责监视数据在主机和网络之间的交换,并提供给其上层(网络层)一个访问接口,以便在 其上传递IP分组。TCP/IP参考模型本身并未明确定义这一层的协议,其具体的实现方 法根据网络类型不同而不同。地址解析协议(addresresolutionprotocol,ARP)在该层 工作。 2.网络层 网络层也被称为网际互联层,对应OSI参考模型的网络层,主要解决主机到主机的 通信问题,其功能是把数据包分组发往目标网络或主机。 网络层赋予主机一个IP地址来完成对主机的寻址,并为了能够尽快地发送分组,可 能需要沿不同的路径同时进行分组传递。该层有3个主要协议:网际协议(nent itreprtcl,nentgopmaaemetpoooIGMP) IP )、互联网组管理协议(和互联网 oooitrerungnrtcl, 第 5 章计算机网络 56 控制报文协议(treotosaepoooICMP) inentcnrlmegrtcl, 3.传输层 传输层对应OSI参考模型的传输层,其主要功能是保证发送端主机和接收端主机上 的对等实体可以进行会话,为应用层实体提供端到端的通信功能,并保证数据包的顺序传 送及数据的完整性。在传输层定义了两种服务质量不同的协议,即传输控制协议 (transmisioncontrolprotocol,TCP)和用户数据报协议(userdatagramprotocol,UDP )。 TCP提供可靠的面向连接的服务,将一台主机发出的字节流无差错地发往互联网上 的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段(segment)传递给 下层;在接收端,它负责把收到的报文段重组后递交给上层。其数据传输的单位是报 文段。 UDP提供无连接的、无可靠保证的服务,但由于其控制选项较少,具有数据传输过程 中延迟小、数据传输效率高的优点,适用于对可靠性要求不高的数据传输。其数据传输的 单位是数据报(datagram )。 4.应用层 应用层对应OSI参考模型的会话层、表示层、应用层三层,为用户提供所需要的各种 服务。数据信息在这一层以报文(mesae)为单位进行传输。定义在应用层的协议有基 于TCP的文件传送协议(ietasergtcl,远程上机协议(entpooo超 flrnfrpoooFTP )、tlertcl)、 文本传送协议(hypertexttransferprotocol,HTTP)等,也有基于UDP的简单网络管理 协议(simplenetworkmanagementprotocol,SNMP )、网络时间协议(networktime protocol,NTP)等。 TCP/IP参考模型的四层结构及各层相关协议如图5-9所示。 图5-9 TCP/IP参考模型及各层相关协议 5.3 IP地址 2. IP是网络层中的重要协议,是TCP/IP的核心。网络中的每一台主机都拥有一个独 66 大学计算机基础