第1章 计算机网络概论 第1章 计算机网络概论 本章主要介绍计算机网络的概念、演变和发展、组成 与功能、类别、计算机网络的体系结构以及发展趋势。 通过本章学习,可以了解(或掌握): z计算机网络的概念; z计算机网络的发展历程; z计算机网络的组成、功能和类别; z计算机网络的体系结构; z计算机网络的发展趋势。 1.1 计算机网络发展概述 从20世纪50年代开始发展起来的计算机网络技术,随着计算机技术和通信技术的 飞速发展而进入了一个崭新的时代。信息技术的迅猛发展,使得计算机网络技术面临新 的机遇和挑战,同时也将促进计算机网络技术的进一步发展。 1.1.1 计算机网络 计算机网络是现代计算机技术和通信技术密切结合的产物,是随着社会对信息共享和 信息传递的要求而发展起来的。所谓计算机网络是指利用通信设备和线路将地理位置不同 的功能独立的多个计算机系统互联起来,以功能完善的网络软件,如网络通信协议、信息 交换方式以及网络操作系统等,实现网络中信息传递和资源共享的系统。这里所谓功能独 立的计算机系统,一般是指有中央处理器(central processing unit,CPU)的计算机。 1.1.2 计算机网络的演变和发展 计算机网络的发展过程经历了从简单到复杂,从单机到多机,由终端与计算机之间 的通信到计算机与计算机之间直接通信的演变过程。至今其发展可以概括为5个阶段或 者说5代。 计算机网络技术及应用 第2版 4 图1.2中的接口报文处理机(interface message processor,IMP)专门负责通信处理, 类似于现在的交换机。此外,在美国的ARPANET中开始把整个计算机网络划分成两部 分:各用户计算机(包括服务器)划分成“资源子网”,因为所有资源均存储在这些计 算机上;而用于构建计算机网络通信平台的各IMP以及所连接的传输线路共同构成“通 信子网”。用户不仅可共享通信子网中的线路和网络设备资源,还可以共享资源子网中 其他用户计算机上的硬件/软件资源。 特别应指出的是,1964年美国的巴兰(Baran)提出了“存储-转发”(store-and- forward),1966年英国的戴维斯(D.Davies)提出了“分组”(Packet)的概念,这对计 算机网络的发展具有里程碑意义。1971年投入运行的美国ARPANET第一次采用了分 组交换技术,计算机网络的发展也由此进入了一个崭新的纪元。第二代计算机网络的既 分散(从地理位置上来讲)又统一(从服务功能上来讲)的多主机计算机网络,使得整 个计算机网络的性能大大提高,不会因为中央主机故障而使整个网络系统瘫痪。另外, 可以将第一代计算机网络中的单一中央主机的负载分配到第二代计算机网络的多个计算 机主机上,大大提高了计算机网络系统的响应性能。 3. 标准化网络(1984—1991年) 第三代计算机网络是标准化网络。20世纪70年代中期,计算机网络开始向体系结 构标准化的方向迈进,即正式步入网络标准化时代。为了适应计算机向标准化方向发展 的要求,国际标准化组织(International Organization for Standardization, ISO)于1977 年成立了计算机与信息处理标准化委员会(TC97)下属的开放系统互联分技术委员会 (SC16),开始着手制定开放系统互联的一系列国际标准。经过几年卓有成效的工作,1984年ISO正式颁布了一个开放系统互联参考模型的国际标准ISO 7498。模型分为7 个层次,有时也被称为ISO 7层参考模型。从此网络产品有了统一的标准,此外这也促 进了企业的竞争,尤其为计算机网络向国际标准化方向发展提供了重要依据。 20世纪80年代,随着微型机的广泛使用,局域网获得了迅速发展。美国电气电子 工程师学会(Institute of Electrical and Electronics Engineers, IEEE)为了适应微型机、个 人计算机(personal computer, PC)以及局域网发展的需要,于1980年2月在旧金山 成立了IEEE 802局域网络标准委员会,并制定了一系列局域网络标准。从1980年至 今,802委员会已相继发布了环形网、总线型网、令牌环网、光纤网、宽带网、城域网 (metropolitan area network,MAN)和无线局域网(wireless local area network,WLAN) 等局域网标准。这些标准绝大部分后来被ISO正式认定为局域网的国际标准。标准化 网络结构示意图如图1.3所示。 计算机网络技术及应用 第2版 呼叫控制分离、呼叫与承载分离的网络;是基于统一协议和基于分组的网络,是高智能 化、高实时性、高安全性和高扩展性的网络。 目前可以看到NGN的一些特征:如三网融合,即电信网、广播电视网、计算机网 相融合;新的革命性技术广泛应用,如物联网、虚拟化、大数据、云计算等的应用。其 中云计算和物联网可能是将来彻底改变目前计算机网络格局和应用的两大技术。对此, 后面章节还要论及,此处不再赘述。 1.2 计算机网络的组成与功能 1.2.1 计算机网络的组成要素 计算机网络由计算机网络硬件系统和计算机网络软件系统两大要素组成。计算机网 络硬件系统包括计算机设备、网络设备、通信线路。计算机网络软件系统包括网络操作 系统、网络应用软件、网络通信协议。 1. 计算机网络硬件系统 (1)计算机设备。计算机设备是网络中使用的各种计算机,如PC、笔记本电脑、 平板电脑、具有上网功能的智能手机,甚至是一个很小的摄像头(可监测当地天气或交 通情况,并在互联网上实时发布);也可以是充当服务器的小型机、中型机,甚至是昂 贵的大型机、巨型机等。 (2)网络设备。网络设备与通信线路(即传输介质)相连一起构成整个计算机网络 的框架。最基本的网络设备就是安装在每台PC和服务器上的网卡,包括有线网卡和无 线网卡,还有用于连接这些计算机的交换机(早期的中继器、网桥和集线器现在已基本 不用或很少用了)、无线接入点(wireless access point,WAP)、用于连接不同网络的路 由器、网关,用于连接安全防护的设备,如防火墙、入侵检测系统(intrusion detection system,IDS)、入侵防御系统(intrusion prevention system,IPS),用于远程广域网连接 的各种调制解调器、宽带远程接入服务器(broadband remote access server, BRAS)、光 端机(也称光纤收发器)等。 (3)通信线路。通信线路可以是物理有形的,如同轴电缆、双绞线、光缆(也称光 纤)等,还可以是无形的,如各种无线通信中的通信线路,它其实就是各种肉眼看不见 的各种电磁波。第4章将具体介绍计算机网络硬件系统,这里不再赘述。 2. 计算机网络软件系统 (1)网络操作系统。网络操作系统是安装在PC、服务器、交换机、路由器、防火 墙等所有设备上的软件,常用的网络操作系统有Windows类操作系统、UNIX系统、 计算机网络技术及应用 第2版 1. 网络的边缘部分 网络的边缘部分就是连接在互联网上的所有主机(host),或称端系统(end system)。 这些主机各式各样,可以是普通的PC,包括笔记本电脑或平板电脑,以及智能手机, 甚至微小的网络摄像头,也可以是小型机、中型机、大型机等。主机的拥有者可以是 个人,也可以是单位,如企业、机关、学校等,也可以是互联网服务提供者(Internet service provider,ISP),即ISP不仅提供服务,还可以拥有若干主机。网络的边缘 部分的主机使用网络的核心部分提供的服务,于是相互之间便可通信并交换或共享 信息。 网络的边缘部分主机之间的通信通常又分为两大类:客户机/服务器模式(client/ server,C/S)(见6.2.3节)和对等模式(peer to peer)(见1.3.5节)。 2. 网络的核心部分 网络的核心部分是互联网中最复杂的部分,它的功能是向网络的边缘部分中的大 量主机提供连通性,使任何一台主机都能够与其他主机通信。在网络的核心部分起特 殊作用的是网络设备路由器(router),它是一种专用计算机(但不叫主机)。路由器 通过光缆将核心部分中的网络互联起来,实现分组交换或包交换(packet switching)。 它转发收到的分组交换,这是网络的核心部分最重要的功能。分组交换将在第2章 介绍。 1.2.3 计算机网络的功能 计算机网络的主要目标是实现资源共享,其主要功能如下。 1. 数据通信 该功能用于实现计算机与计算机之间的数据传输,这是计算机网络最基本的功 能,也是实现其他功能的基础。为实现数据传输,数据通信功能包含以下6项具体 内容。 (1)连接的建立和拆除。为使网络中源主机和目的主机进行通信,通常应先在它 们之间建立连接,即建立一条由源主机到目标主机之间的逻辑链路,通信结束时拆除 连接。 (2)数据传输控制。在通信双方建立起连接后,即可传输用户数据。为使用户数据 能正确传输,必须为数据配上报头,其中含有用于控制数据传输的信息,如目的主机地 址、源主机地址、报文序号等。此外,传输控制还应对传输中出现的异常情况进行及时 处理。 (3)差错检测。数据在网络中传输时,难免会出现差错。为减少错误,网络中必须 9 具有差错控制设施,既可检错,又可纠错。 (4)流量控制。数据在网络中传输时,应控制源主机发送数据流的速率,使之 与目的主机接收数据流的速度相匹配,以保证目的主机能及时接收和处理所接收的数 据流。否则,可能使接收方缓冲区中的数据溢出而丢失,严重时可能导致网络拥挤和 死锁。 (5)路由选择。网络中,由源站到目的站通常有多条路径。路由选择指按一定策 略,如传输路径最短、传输时延最小或传输费用最低等为被传输的报文选择一条最佳传 输路径。 (6)多路复用。为提高传输线路利用率,通常都采用多路复用技术,即将一条 物理链路虚拟为多条虚链路,使一条物理链路能为多个“用户对”同时提供信息传输 功能。 上述主要内容将在第2章中详细讨论。 2. 资源共享 计算机网络中的资源可分为数据、软件、硬件3类。相应地,资源共享也可分为以 下3类。 (1)数据共享。当今数据资源的重要性越来越大。前面提到的网络边缘主机之间通 信的C/S模式中,客户机通常是桌面PC、移动PC和智能手机等,而服务器通常是更 为强大的机器,用于存储和发布Web页面、流视频、中继电子邮件等。目前,大部分 提供搜索结果、电子邮件、Web页面和视频的服务器都属于大型数据中心。例如,谷歌 公司(Google)拥有50~100个数据中心,其中15个大型数据中心都有10万台以上 的服务器,其存储的数据等资源可被全世界网络用户所使用。 (2)软件共享。通过计算机网络,可实现各种操作系统及其应用软件、工具软件、 数据库管理软件和各种互联网信息服务的共享。共享软件允许多个用户同时调用服务器 中的各种软件资源,并能保持数据的完整性和一致性。用户可以通过C/S或浏览器/服 务器(browser/server, B/S)模式,使用各种类型的网络应用软件,共享远程服务器上 的软件资源。 (3)硬件共享。为发挥巨型机和特殊外围设备的作用,并满足用户的要求,计算 机网络也应具有硬件资源共享的功能。例如,某计算机系统A由于无某种特殊外围设 备而无法处理某些复杂问题时,它可将处理问题的有关数据连同有关软件,一起传送 至拥有这种特殊外围设备的系统B,由系统B利用该硬件对数据进行处理,处理完成 后再把有关软件及结果返回系统A。此外,用户可共享网络打印机、共享磁盘、共享 CPU等。 计算机网络技术及应用 第2版 3. 负荷均衡和分布处理 (1)负荷均衡。负荷均衡是指网络中的工作负荷均匀地分配给网络中的各个计算机 系统。当网络上某台主机的负载过重时,通过网络和一些应用程序的控制和管理,可以 将任务交给网上其他的计算机处理,由多台计算机共同完成,起到负荷均衡的作用。 (2)分布处理。分布处理对一个作业的处理可分为3个步骤:提供作业文件,对作 业进行加工处理,把处理结果输出。在单机环境下,上述3步都在本地计算机系统中进 行。在网络环境下,根据分布处理的需求,可将作业分配给其他计算机系统进行处理, 以提高系统的处理能力,高效地完成一些大型应用系统的程序计算以及大型数据库的访 问等。 4. 提高系统的安全可靠性 计算机通过网络中的冗余部件可大大提高系统的可靠性,例如在工作过程中,一台 机器出了故障,可以使用网络中的另一台机器;网络中一条通信线路出了故障,可以取 道另一条线路,从而提高了网络整体系统的可靠性。 1.3 计算机网络的类别 为了对计算机网络有更进一步的认识,可以从不同的角度,如网络拓扑结构、网络 控制方式、网络作用范围、通信传输方式、网络配置、使用范围、物理通信媒体、通信 速率、数据交换方式、传输信号类型和网络操作系统等对计算机网络进行分类。 1.3.1 按网络拓扑结构分类 拓扑结构一般是指点和线的几何排列或组成的几何图形。计算机网络的拓扑结构是 指一个网络的通信链路和节点的几何排列或物理布局图形。链路是网络中相邻两个节点 之间的物理通路,节点是指计算机和有关的网络设备,甚至是一个网络,这是抽象原理 的应用。按拓扑结构,计算机网络可分为以下5类。 1. 星形网络 中央 节点 图1.6 星形网络拓扑结构 星形拓扑是以中央节点为中心,并与各节点连接组成 的,各节点与中央节点通过点到点的方式连接。其拓扑结构 如图1.6所示,中央节点执行集中式控制策略,因此中央节 点十分复杂,负担要比其他各节点重得多。现有的数据处理 和语音通信的信息网大多采用星形网络。传统的专用小交换 机(private branch exchange,PBX),即电话交换机就是星形 网络结构的典型实例。 在星形网络中任何两个节点要进行通信都必须经过中央节点。因此,中央节点的主 要功能如下:当要求通信的站点发出请求后,中央节点的控制器要检查中央节点是否有 空闲的通路,被叫设备是否空闲,从而决定是否能建立双方的物理连接;在两台设备通 信过程中要维持这一通路;当通信完成或者不成功要求拆线时,中央节点应能拆除上述 通道。 由于中央节点要与多机连接,线路较多,为便于集中连线,可采用集线器(hub) 或交换机(switch)作为中央节点。hub工作在开放系统互连参考模型(open system interconnect,OSI/RM)的第一层,是一种物理层的连接设备,主要起信号的再生转发 功能,通常有8个以上的连接端口。每个端口之间电路相互独立,某一端口的故障不会 影响其他端口状态,可以同时连接粗缆、细缆和双绞线。交换机工作在OSI/RM的第二 层,功能比集线器更强。星形网络是目前广泛使用的局域网之一。 星形网络的特点是:网络结构简单,便于管理;控制简单,建网容易;网络延迟时 间较短,误码率较低;网络线路共享能力差;线路利用率不高;中央节点负荷较重。 2. 树形网络 … … ……… … 图1.7 树形网络拓扑结构 在实际建造一个大型网络时,往往是采用 多级星形网络,即将多级星形网络按层次方式 排列而形成树形网络,其拓扑结构如图1.7所 示。由图1.7可见,树形拓扑以其独特的特点而 与众不同:具有层次结构。中国传统的电话网络 即采用树形结构,其由多级星形网构成。互联网 (Internet)从整体上看也采用树形结构。位于树 形结构不同层次的节点具有不同的地位,而且节 点既可以是一台机器,也可以是一个网络。在互联网中,树根对应于最高层APRANET 主干或NSFNET主干,中间节点对应于自治系统,一组自治管理的网络;叶节点对应 于最底层的局域网。不同层次的网络管理、信息交换等问题上都是不平等的。 图1.8所示为某大学校园网子网(商学院网络)的拓扑结构示意图,其为典型的树 形网络。图中校园网内含一级交换机、路由器和服务器等设备。 树形网络的主要特点是:结构比较简单,易于扩展,成本低。在网络中,任意两个 节点之间没有回路,每个链路都支持双向传输。网络中节点扩充方便灵活,寻找链路路 径比较方便。但在这种网络系统中,除叶节点及其相连的链路外,任何一个节点或链路 产生的故障都会影响整个网络。树形拓扑结构是目前企、事业单位局域网中应用最广泛 的拓扑结构。 息被该节点的环路接口所接收,并继续流向下一环路接口,一直流回到发送该信息的环 路接口为止。 图1.9 总线型网络拓扑结构 图1.10 环形网络拓扑结构 环形网络的主要特点是:信息在网络中沿固定方向流动,两个节点间有唯一的通 路,因而大大简化了路径选择的控制;某个节点发生故障时,可以自动旁路,可靠性较 高;信息是串行穿过多个节点环路接口,当节点过多时,网络响应时间会变长,但当网 络确定时,其延时固定,实时性强。 环形网络也是微机局域网使用的拓扑结构之一。 5. 网状网络 网状网络拓扑结构如1.1节图1.2所示,其中的通信子网即为网状拓扑结构。 网状网络是广域网中常采用的一种网络形式,是典型的点到点结构。虽然点到点信 道可能会浪费一些信道带宽,但是用带宽换取了信道访问控制的简化。在长距离信道上 一旦发生信道访问冲突,控制起来十分困难。而在这种点到点的拓扑结构中,没有信道 竞争,几乎不存在信道访问控制问题。除了网状网络采用点到点的结构外,上面介绍的 星形网络、某些环网,尤其是广域环网,也采用点到点的结构。在树形网络中,如果每 一个节点都是一台机器,则上下层节点之间的信道也采用点到点的结构。总线型网络、 局域环网是广播型结构,即网络中所有主机共享一条信道,某主机发出的数据,所有其 他主机都可能收到。在广播信道中,由于信道共享而引起信道访问冲突,因此信道访问 控制是首先要解决的问题。 网状网络的主要特点是:①网络可靠性高,一般通信子网任意两个节点之间,存 在着两条或两条以上的通信路径。这样,当一条通信路径发生故障时,还可以通过另一 条通信路径把信息送到目的节点。②可扩充性好,该网络无论是增加新功能,还是要将 另一台新的计算机入网,以形成更大或更新的网络时,都比较方便;网络可建成各种形 状,采用多种通信信道,多种数据速率。 以上介绍了5种基本的网络拓扑结构,以此为基础,还可以构造出一些复合型的网 络拓扑结构。例如,中国教育和科研计算机网(CERNET)可认为是网状网络、树形网 计算机网络技术及应用 第2版 络等网络的复合。其主干网为网状结构,连接的每一所大学大多是树形结构。早期的中 国教育科研计算机网主干网拓扑结构示意图如图1.11所示。 至英国 To U.K 至美国 To U.S.A 至日本 To Japan 全国网络中心 对外出口 主干网 地区网 乌鲁木齐 拉萨 西宁 哈尔滨 长春 呼和浩特 石家庄银川 兰州 北京沈阳 上海 南京 西安 成都 武汉 广州 太原 郑州 济南 天津 青岛 合肥 南昌 杭州 福州 台北 厦门 深圳南宁 桂林 重庆 贵阳 长沙 昆明 海口 香港 大连 图1.11 早期的中国教育科研计算机网主干网拓扑结构示意图 1.3.2 按网络控制方式分类 按网络所采用的控制方式,计算机网络可分为集中式计算机网络和分布式计算机网络。 1. 集中式计算机网络 这种网络的处理和控制功能都高度集中在一个或少数几个节点上,所有的信息流都 必须经过这些节点之一。因此,这些节点是网络的处理和控制中心,其余的大多数节点 则只有较少的处理和控制功能。星形网络和树形网络都是典型的集中式计算机网络。集 中式计算机网络的主要优点是实现简单,其网络操作系统很容易从传统的分时操作系统 经适当扩充改造而成,故早期的计算机网络都属于集中式计算机网络,目前仍广泛采 用。其缺点是实时性差,可靠性低,缺乏较好的可扩充性和灵活性。应当指出,20世 纪80年代所推出的大量商品化的局域网中,用于提供网络服务和网络控制功能的软件 主要驻留在网络服务器上,因而也把它们归于集中式控制网络,但它们具有分布处理 功能。 2. 分布式计算机网络 在这种网络中,不存在一个处理和控制中心,网络中任一节点都至少和另外两个节 点相连接,信息从一个节点到达另一个节点时,可能有多条路径。同时,网络中各个节 点均以平等地位相互协调工作和交换信息,并可共同完成一个大型任务。分组交换网、 网状网络属于分布式计算机网络。这种网络具有信息处理的分布性、可靠性、可扩充性 及灵活性等一系列优点。因此,它是网络发展的方向。目前,大多数广域网中的主干网 采用分布式控制方式,并采用较高的通信速率,以提高网络性能;对于大量非主干网, 为了降低建网成本,则可采取集中控制方式。 1.3.3 按网络作用范围分类 按网络作用范围,计算机网络可分为个人区域网、局域网、城域网、广域网和互联 网5类。 1. 个人区域网 个人区域网(personal area network, PAN)是指将个人使用的电子设备(如鼠标、 键盘、打印机、平板电脑、便携电脑以及智能手机等)通过有线和(或)无线技术连接 起来的小范围网络。个人区域网也称个域网。当全部采用无线技术将属于个人使用的 电子设备连接起来时,则称为无线个人区域网(wireless personal area network, WPAN), 不需要使用接入点(access point, AP)。这种无线网络就是蓝牙(bluetooth),目前整个 网络的直径为10m左右。 WPAN与WLAN不一样。WPAN是以个人为中心的一个小网络,实际上它是一种 低功率、小范围、低速率和低价格的电缆替代技术,但使用方便。而WLAN则是同时 为多用户服务的一个大功率、中等范围和高速率的局域网。 2. 局域网 局域网是最常见的计算机网络,其分布范围小,一般直径小于10km,一方面容易 管理与配置;另一方面容易构成简洁规整的拓扑结构。局域网还具有速度快,延迟小 等特点,使之得到了广泛应用。一般企业内部网、校园网等都是典型的局域网。局域 网中的类型和规范较多,目前主流的局域网是以太网(ethernet)和WLAN。以太网中 计算机网络技术及应用 第2版 又有许多规范,如10Mbit/s标准以太网、100Mbit/s快速以太网、1Gbit/s千兆以太网、 10Gbit/s万兆以太网和100Gbit/s 10万兆以太网。此外,局域网以前还有IBM令牌网(传 输速率仅为16Mbit/s)、光纤分布式数据接口(fiber distributed data interface,FDDI)网(最 高传输速率可达100Mbit/s)、异步传输方式(asynchronous transfer mode,ATM)网(最 高传输速率可达1Gbit/s)。 3. 城域网 城域网规模局限在一座城市的范围之内,辐射的地理范围从几十千米至数百千米。 MAN基本上是局域网的延伸,像是一个大型的局域网,通常使用与局域网相似的技 术,但是在传输介质和布线结构方面牵涉范围较广。例如,涉及大型企业、机关、公司 和社会服务部门的计算机联网需求,以及实现大量用户的多媒体信息,如声音方面包含 语音和音乐,图形方面包含动画和视频图像,文字方面包含电子邮件及超文本网页等。 MAN列为单独一类,主要是因为有一个可实施的标准,即一般采用IEEE 802.6。它通 常采用异步传输技术作为骨干网传输技术,不过目前光纤技术也在MAN中得到了广泛 使用。MAN通常为一个或几个组织所有,更多的是为公众提供公共服务,如城市银行 系统、城市消防系统、城市邮政系统、城市有线电视广播网络等。 多年来,局域网和广域网一直是网络的热点。局域网是组成其他两种类型网络的基 础,MAN一般都连入广域网。每个主机通过路由器连接到局域网上。 4. 广域网 广域网(wide area network,WAN)又称远程网,其分布范围广,网络本身不具备 规则的拓扑结构。由于速度慢,延迟大,入网站点无法参与网络管理,所以,它要包含 复杂的互联设备,如交换机、路由器等,由它们负责重要的管理工作,而入网站点只负 责收发数据。 由上可见,广域网与局域网除在分布范围上的区别外,局域网一般不具有像路由器 那样的专用设备,不存在路由选择问题;局域网具有规则的拓扑结构,广域网则没有。 广域网采用点到点的传输方式,并且几乎都使用存储转发技术。 中国公用分组交换数据通信网(ChinaPAC),中国公用数字数据网(ChinaDDN), 国家公用信息通信网[又称金桥网(ChinaGBN)],中国教育和科研计算机网(CERNET) 以及覆盖全球的互联网均是广域网。 5. 互联网 互联网是全球最大的网络,是广域网中的一种,也是最大的广域网,由众多网络相 互连接而成。其前身是ARPANet,采用TCP/IP协议簇进行通信。按工作方式,它由网 络的边缘部分和网络的核心部分两部分组成。网络的边缘部分主要是主机、存储数据和 软件,并进行信息处理。网络的核心部分主要是通信线路(光缆)和路由器,路由器按 存储转发方式进行分组交换。 应注意的是,互联网的规模越来越大,上网的人数越来越多,主机的数量爆发式地 增长。全世界超过50%的人通过手机和计算机(俗称电脑)成为互联网的网民。以我 国为例,截至2021年12月,已有10.32亿人是互联网的网民,互联网普及率达73.0%。 早些年,接入互联网的主机主要是传统的桌面PC和服务器。而近年来,逐渐扩展到了 各式各样的计算机和其他设备,如便携机、平板电脑、智能手机、电视、游戏机、摄像 头、温度调节装置、家用电器、手表、眼镜、汽车运输控制系统等。目前,全世界已超 过250亿台设备与互联网连接。特别是随着物联网的发展,接入互联网的设备将会大规 模地增加。未来人们将能“随时随地”连接互联网等网络,享受多种多样的服务。 第6章将对互联网进行详细介绍。 1.3.4 按通信传输方式分类 如前所述,计算机网络常见的拓扑结构有总线型、星形、树形、环形和网状5类。 不同拓扑结构的信道访问技术、性能、设备开销等各不相同,分别适用于不同的场合。 尽管不同的信道拓扑结构差别明显,但总结起来可以分为两类:点到点(point-to-point) 信道和广播(broadcasting)信道,信息只能沿着其中一种信道传播。因此,按通信传播 方式可将计算机网络分为两类。 1. 点到点传播型网 网络中的每两台主机、两台节点交换机之间或主机与节点交换机之间都存在一条 物理信道,机器(包括主机和节点交换机)沿某信道发送的数据只有信道另一端的唯 一一台机器能收到。在这种点到点的拓扑结构中,没有信道竞争,几乎不存在访问控 制问题。绝大多数广域网都采用点到点的拓扑结构,网状网络是典型的点到点拓扑结 构。此外,星形结构、树形结构,某些环形网,尤其是广域环形网,也是点到点的拓扑 结构。 广域网之所以都采用点到点信道,是用带宽来换取信道访问控制的简化,以防止发 生访问冲突。在长距离信道上一旦发生信道访问冲突,控制起来将十分困难。 2. 广播型网 在广播型结构中,所有主机共享一条信道,某主机发出的数据,其他主机都能收 到。在广播信道中,由于信道共享而引起信道访问冲突,因此信道访问控制是要解决的 关键问题。广播型结构主要用于局域网,不同的局域网技术可以说是不同的信道访问控 制技术。广播型网的典型代表是总线型网,局域环形网、微波、卫星通信网也是广播型 计算机网络技术及应用 第2版 网。局域网线路短,传输延迟小,信道访问控制相对容易,因此以额外的控制开销换取 信道的利用率,从而降低整个网络成本。 1.3.5 按网络配置分类 这主要是对C/S模式的网络进行分类。按网络配置的不同,可将计算机网络分为对 等网、单服务器网和混合网。几乎所有这种模式的网络都是这三种网络中的一种。 网络中的服务器是指向其他计算机提供服务的计算机,如文件服务器、Web服务器、 E-mail服务器等。工作站是请求和接收服务器提供服务的计算机。 1. 对等网 如果在网络系统中,每台机器既是服务器,又是工作站,则这个网络系统就是对等 网,也称同类网(peer to peer network,P2P)。在该网中,每台计算机都可以共享其他 任何计算机的资源。 P2P技术是近年被业界广泛重视并迅速发展的一项技术,它是现代网络技术和分布 式计算技术相结合的产物,是一种网络结构的思想,与目前网络中占据主导地位的C/S 模式的一个本质区别,是网络结构中不再有中心节点,所有用户都是平等的伙伴。 目前,P2P技术的应用非常广泛,如应用于文件共享类软件:Napster、BitTorrent; 通信类软件:Skype、QQ、MSN Message、Google Talk;多媒体传输类软件:PPLive、 AnySee;共享类软件:OceanStore、Tapestry、Pastry;分布式计算类软件:GPU、 SETI@home;协同类软件:Groove;搜索引擎类软件:Pandango等。使用纯P2P技术 的网络系统有比特币网络、Gnutella等。关于P2P技术及其应用将在6.6.4节中阐述。 2. 单服务器网 单服务器网是指只有一台机器作为整个网络的服务器,其他机器全部都是工作站。 在这种网络中,每个工作站在网中的地位是一样的,并都可以通过服务器享用全网的 资源。 3. 混合网 如果网络中的服务器不止一个,同时每台工作站不是都可以当作服务器来使用,那 么这个网就是混合网。混合网与单服务器网的差别在于网中不仅仅是只有一个服务器, 而且每个工作站不能既是服务器又是工作站。 由于混合网中服务器不止一个,因此它避免了在单服务器网上工作的各工作站完全 依赖于一个服务器。当服务器发生故障时,全网都处于瘫痪状态。所以,对于一些大型 的、信息处理工作繁忙的和重要的网络系统,均采用混合网系统。 1.3.6 按使用范围分类 按网络使用范围,计算机网络可分为公用网和专用网。 1. 公用网 公用网是由我国政府出资建设,由工业和信息化部统一进行管理和控制的网络。它 由若干路由器和交换机互联而成,主要用于连接各专用网,但也可连接端点用户设备。 公用网一般以单模光纤作为传输线路。公用网络中的传输和交换装置可以租给按电信部 门规定缴纳费用的任何机构部门使用。ChinaPAC、ChinaDDN等均是公用网络。企业或 校园等局域网可以通过公用网连接到互联网。公用网又分为公用电话交换网(PSTN)、 公用数据网(PDN)、数字数据网(DDN)和综合业务数字网(ISDN)等类型。 2. 专用网 专用网是由某个部门或企、事业单位自行组建,不允许其他部门或单位使用。如中 国金融信息网、邮政绿网等。专用网也可以租用电信部门的传输线路。专用网络根据网 络环境又可细分为部门网络、企业网络和校园网等。 (1)部门网络(department network)。部门网络又称为工作组级网络,它是局限于 一个部门的局域网,一般供一个分公司、处(科)或课题组使用。这种网络通常由若干 工作站点、服务器和共享打印机组成。部门网络规模较小且技术成熟,管理简单。在大 型企业和校园中,通常包含多个部门网络,并通过交换机等互联。部门网络和部门网络 之间遵循80/20原则:部门网络中的信息业务流局限于部门内部流动的约占80%,而部 门之间的业务流约占20%。 (2)企业网络(enterprise-wide network)。企业网络通常高层为用于互联企业内部 各个部门网络的主干网,而低层则是各个部门或分支机构的部门网络。中型企业通常位 于一幢大楼或一个建筑群中,而大型企业往往由分布在不同城市的分公司或分厂组成。 所以企业网络不仅规模大,而且还可能具有多种类型的网络、品种繁多的网络硬件设备 和网络软件。企业主干网中关键部件多采用容错技术。企业网络还必须配备经验丰富的 专职网络管理人员。 (3)校园网(campus network)。校园网通常利用主干网络将院系、行政、后勤、图 书馆和师生宿舍等多个局域网连接起来。大部分校园网都有一个网络中心负责管理与运 行维护。我国高等院校都已建成了各自的校园网。 1.3.7 其他分类方式 除了上述分类方法外,计算机网络还可以采用下述分类方式。 (1)按网络传输信息采用的物理信道来分类,可分为有线网络和无线网络,而且两 计算机网络技术及应用 第2版 者还可细分。 (2)按通信速率来分类,可分为低速网络(数据速率在1.5Mbit/s以下的网络系统)、 中速网络(数据速率在1.5~50Mbit/s的网络系统)、高速网络(数据速率在50Mbit/s 以上的网络系统)。 (3)按数据交换方式分类,可分为线路交换网络、报文交换网络、分组交换网络、 ATM等。 (4)按传输的信号分类,可分为数字网和模拟网。 (5)按采用的网络操作系统分类,可分为Windows NT网、Windows Server网、 UNIX网和Linux网等。 1.4 计算机网络的体系结构 在计算机网络系统中,由于计算机类型、通信线路类型、连接方式、同步方式和 通信方式等的不同,给网络各节点间的通信带来诸多问题。由于不同厂家不同型号的计 算机通信方式各有差异,所以通信软件需根据不同情况进行开发。特别是异型网络的互 联,它不仅涉及基本的数据传输,同时还涉及网络的应用和有关服务,应做到无论设备 内部结构如何,相互都能发送可以理解的信息,因此这种真正以协同方式进行通信的任 务是十分复杂的。要解决这个问题,势必涉及通信体系结构设计和各个厂家共同遵守约 定标准的问题,这也即计算机网络的体系结构和协议问题。 为了对体系结构与协议有一个初步了解,先分析一下实际生活中的邮政系统,其如 图1.12所示。人们平时写信时,都有个约定,即信件的格式和内容。一般必须采用双 方都懂的语言文字和文体,开头是对方称谓,最后是落款等。这样,对方在收到信后才 能读懂信里的内容,知道是谁写的,什么时候写的等。信写好之后,必须将信件用信封 封装并交由邮局寄发。寄信人和邮局之间也要有约定,这就是规定信封写法并贴邮票。 邮局收到信后,首先进行信件的分拣和分类,然后交付有关运输部门进行运输,如航空 信交付民航、平信交铁路或公路运输部门等。这时,邮局和运输部门也要有约定,如到 站地点、时间、包裹形式等。信件送到目的地后进行相反的过程,最终将信件送到收信 人手中。由上可知,邮政系统可分为三层,而且上下层之间,同一层之间均有约定,亦 即协议。这里的分层与协议,也即体系结构的基本含义。计算机网络中的通信也与邮政 系统类似,首先将其分解为不同的层次,不同的层次完成相应的职能,然后层与层之间 通过事先规定好的约定进行交互,从而完成整个通信任务。上述邮政系统的例子中涉及 两个重要的概念,即体系结构与协议,下面进行介绍。 运输部门间约定 用户 (收信人) 用户间约定 邮局间约定 用户子系统 邮政子系统 运输子系统 用户/运输 部门约定 运输部门运输部门 邮局邮局 用户 (写信人) 用户/邮局 约定 图1.12 邮政系统分层模型 1.4.1 网络系统的体系结构 1. 层次结构 人类的思维能力不是无限的,如果同时面临的因素太多,就不可能做出精确的思 维。处理复杂问题的一个有效方法,就是用抽象和层次的方式去构造和分析。同样,对 于计算机网络这类复杂的大系统,亦可如此。如图1.13所示,可将一个计算机网络抽 象为若干层。其中,第n层是由分布在不同系统中的处于第n层的子系统构成。 第n层 第n-1层 第2层 第1层 物理媒体 第n层协议 第2层协议 第1层协议 第n-1层协议 机器A 第n层 第n-1层 第2层 第1层 机器B……… 图1.13 网络层次结构 在采用层次结构的系统中,其高层仅是利用其较低层次的接口所提供的服务,而不 需了解其较低层次实现该服务时所采用的算法和协议;其较低层次也仅仅是使用从高层 传送来的参数。这就是层次间的无关性。这种无关性使得一个层次中的模块可用一个新 模块取代,只要新模块与老模块具有相同的服务和接口,即使它们执行完全不同的算法 和协议也无妨。 计算机网络技术及应用 第2版 通过抽象和层次的方法可以使每一层实现一种相对独立的功能,因而可将一个难以 处理的复杂问题分解为若干容易处理的较小问题。由于各层之间相对独立,因此每层的 灵活性较高,易于实现和维护,而且每层都可以采用最合适的技术来实现。 2. 服务、接口与协议 下面介绍网络层次结构中的3个重要概念:服务、接口和协议,旨在更好地理解这 三者之间的关系,从而深入地理解层与层之间的关系。 服务是计算机网络层次结构中一个非常重要的概念,指网络中的各层向上一层提供 的一组操作,也就是从上一层的角度来看,下一层所能完成的工作。服务定义了能够为 上层完成的操作,但丝毫未涉及这些操作是如何完成的。 接口是网络相邻两层之间的边界,它定义较低层向较高层提供的原始操作和服务。 一方面,相邻层通过它们之间的接口交换信息;另一方面,高层通过接口来使用下一层 所提供的服务。 计算机之间的通信是在不同系统上的实体之间进行的。这里的实体泛指可以发送或 接收信息的任何对象,例如终端、应用程序、通信进程等;这里的系统是指计算机、终 端等具有一个以上实体的物理设备。对等层(即同级层)中进行通信的一对实体称为对 等实体。在计算机网络中,为了能在两个实体间正确地传递信息,必须在有关信息传输 顺序、信息格式和信息内容等方面有一组约定或规则,这组约定或规则即网络协议。网 络协议由3个要素组成。 (1)语义。语义是对构成协议的协议元素含义的解释,即“讲什么”。不同类型的 协议元素规定了通信双方所要表达的不同内容。例如,在基本型数据链路控制协议中, 规定协议元素SOH的语义表示传输的报文报头开始,协议元素ETX的语义表示传输的 报文正文结束。 (2)语法。语法是指用于规定将若干协议元素组合在一起来表达一个更完整的内 容时所应遵循的格式,或者对所表达内容的数据结构形成的一种规定,即“怎么讲”。 例如,在传输一份数据报文时,可用适当的协议元素和数据,按照图1.14的格式来表 达,其中SOH、ETX如上所述,HEAD表示报头,STX表示正文开始,TEXT是正文, BCC是校验码。 SOHHEADSTXTEXTETXBCC 图1.14 语法格式示意图 (3)规则。规则规定事件的执行顺序,即“顺序控制”。例如,在双方通信时,首 先由源站发送一份数据报文,如果目的站收到的是正确的报文,就应遵循协议规则, 利用协议元素肯定应答(acknowledgement,ACK)来回答对方,以使源站知道其所 发出的报文已被正确接收;如果目的站收到的是错误的报文,便应按规则用否定认可 (negative acknowledgement,NAK)元素做出回答,以要求源站重发刚刚发过的报文。 由上可见,网络协议实质上是实体间通信时所使用的一种语言。在层次结构中,每一层 都可能有若干个协议,当同层的两个实体间相互通信时,必须满足这些协议。 服务、接口和协议三者之间的相互关系可以用面向对象的程序语言中的类来说明。 接口就相当于一个类,服务是这个类中所提供方法的种类,而协议则是方法的具体实 现。综上,高层通过接口来调用低层所提供的服务,服务通过低层的协议来具体实现。 3. 网络体系结构 网络体系结构是指对计算机网络及其部件所完成功能的一组抽象定义,是描述计算 机网络通信方法的抽象模型结构,一般是指网络的层次及其协议的集合。具体而言是关 于计算机网络应设置哪几层,每层应提供哪些功能的精确定义。至于这些功能应如何实 现,则不属于网络体系结构部分。也就是说,网络体系结构只是从层次结构及功能上来 描述计算机网络的结构,并不涉及每一层硬件和软件的组成,更不涉及这些硬件和软件 本身的实现问题。由此可见,网络体系结构是抽象的,是书面上的对精确定义的描述。 而对于为完成规定功能所用硬件和软件的具体实现问题,则并不属于网络体系结构的范 畴。对于同样的网络体系结构,可采用不同的方法设计出完全不同的硬件和软件来为相 应层次提供完全相同的功能和接口。 1.4.2 网络系统结构参考模型ISO/OSI 1. 有关标准化组织 1974年,美国IBM公司公布了世界上第一个SNA,凡是遵循SNA的网络设备都 可以很方便地进行互连。此后,许多公司也纷纷建立起自己的网络体系结构,这些体系 结构大同小异,都采用了层次技术,只是各有特点,以适合于本公司生产的网络设备及 计算机互连。网络体系结构的提出,大大推动了计算机网络的发展。 但是,随着计算机网络技术的发展,网络形式呈现多样化、复杂化的特点,人们也 提出了很多问题,其中最突出的问题是不同体系结构的网络很难互连起来(即所谓的异种 机连接问题)。为了更加充分地发挥计算机网络的效益,应当让不同厂家生产的计算机网 络设备能够相互通信,于是越来越需要制定国际范围的标准,以使计算机网络尽可能地遵 循统一的体系结构标准。若干标准化组织促进了通信标准的开发,下面简要介绍5个标准 化组织:美国国家标准学会、国际电信联盟、电子工业协会、IEEE和国际标准化组织。 (1)美国国家标准学会(American National Standard Institute,ANSI)设计了ASCII 代码组,它是一种广泛使用的通信标准代码。 计算机网络技术及应用 第2版 (2)国际电信联盟(International Telecommunications Union,ITU)有3个主要部门: 无线通信部门(ITU-R)、电信标准化部门(ITU-T)和开发部门(ITU-D)。1953—1993 年,ITU-T被称为CCITT(国际电报电话咨询委员会)。 (3)电子工业协会(Electronic Industries Association,EIA)是美国的电子厂商组织, 最为人们熟悉的EIA标准之一是RS-232接口,这一通信接口允许数据在设备之间交换。 (4)IEEE建立了电子工业标准,IEEE下设一些标准组织(或工作组),每个工作 组负责标准的一个领域,工作组802设置了网络设备和如何彼此通信的标准。 (5)国际标准化组织(ISO)开发了开放系统互连(open system interconnection, OSI)网络结构模型,模型定义了用于网络结构的7个数据处理层。网络结构是在发送 设备和接收设备间进行数据传输的一种组织方案。 2. 开放系统互联参考模型的制定 1977年3月,国际标准化组织的技术委员会TC97成立一个新的技术分委员会 SC16专门研究“开放系统互联”,并于1983年提出了开放系统互联参考模型,即著名 的ISO 7498国际标准(我国相应的国家标准是GB 9387),记为OSI/RM(open systems interconnection/reference model)或者ISO/OSI/RM。通常人们也称它为OSI参考模型, 简称OSI。开放系统互联的目的是使世界范围内的应用系统能够开放式(而不是封闭式) 地进行信息交换。 所谓“开放”是指只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、 也遵循着同一标准的其他任何系统进行通信。这一点类似世界范围的电话系统和邮政系 统,这两个系统都是开放系统。 所谓“系统”,本来是指按一定关系或规则工作在一起的一组物体或一组部件。但 是在OSI术语中,“系统”则有其特殊的含义。我们用“真实系统”(real system)表示 在现实世界中能够进行信息处理或信息传递的自治整体,它可以是一台或多台计算机以 及和这些计算机相关的软件、外围设备、终端、操作员、信息传输手段等的集合。若这 种真实系统在和其他真实系统通信时遵守OSI标准,则这个真实系统即称为开放真实 系统。但是,一个开放式系统的各种功能并不一定都与互联有关。在开放系统互联参考 模型中的系统,只是在开放式系统中与互联有关的各部分。为方便起见,我们就将这部 分称为开放系统。所以,开放系统和开放系统互联参考模型一样,都是抽象的概念。 在OSI标准的制定过程中,所采用的方法是将整个庞大而复杂的问题划分为若干 较容易处理的范围较小的问题,即前面提到的分层的体系结构方法。在OSI标准中,问 题的处理采用了自上而下的逐步求精。先从最高一级的抽象开始,这一级的约束很少。 然后逐渐更加精细地进行描述,同时加上越来越多的约束。 3. 开放系统互联参考模型的七层体系结构 OSI 7层模型从低层到高层分别为物理层、数据链路层、网络层、运输层、会话层、 表示层和应用层,其体系结构及协议如图1.15所示。通常将运输层及以上称为高层, 其以下称为低层。该模型中每一层的功能是独立的,它利用其下一层提供的服务并为其 上一层提供服务。服务是指下一层向上一层提供的通信功能和层间的会话规定,一般用 通话原语实现,并通过层间接口由下层向上层提供,而与其他层的具体实现无关。 OSI 7层模型中每个层次接收到上层传递来的数据后都要进行封装,即将本层次的 控制信息加入数据单元的头部,部分层次还要将校验和信息附加到数据单元的尾部。模 型中对等层之间传送的数据单位称为该层的协议数据单元。当数据到达接收端时,每一 层读取相应的控制信息,根据控制信息中的内容向上层传递数据单元并解封封装,即 在向上层传递之前去掉本层的控制头部信息和尾部信息(如果有)。逐层执行这个过 程,直至将对端应用层产生的数据发送给本端相应的应用进程(process,即正在运行的 程序)。 子 网 内 部 协 议 运输层协议 转换节点 网络层 数据链路层 物理层 网络层 数据链路层 物理层 网络层协议 数据链路层 协议 物理层协议 转换节点 会话层协议 表示层协议 应用层协议 报文 报文 报文 报文 分组 帧 比特 协议数据 单元 通信子网 表示层 会话层 运输层 网络层 数据链路层 物理层 应用层 系统2 表示层 会话层 运输层 网络层 数据链路层 物理层 应用层 系统17654321 图1.15 OSI网络系统结构参考模型及协议 计算机网络技术及应用 第2版 1)物理层 物理层是OSI参考模型中的第一层,也是最底层。它包括物理连接的媒介,如线 缆连接器等。 物理层的功能就是为数据链路层提供一个物理连接,规定物理接口的机械、电气功 能和规程特性,以便透明地传送比特流,尽可能屏蔽具体传输介质和物理设备的差异。 在物理层传输数据的单位是比特。 在此,“透明”表示某一个实际存在的事物看起来却好像不存在一样。而“透明地 传送比特流”表示经实际电路传送后的比特流没有发生变化,即发送方发送“1”,接收 方所接收到的是“1”;发送方发送“0”,接收方所接收到的是“0”。因此,对于对传 送比特流来说,这个电路似未对其产生影响,像是不存在的。也就是说,这个电路对该 比特流来说是透明的。 为了达到以上目标,物理层需要完成以下功能:在数据终端设备(data terminal equipment,DTE)和数据电路端设备(data circuit-terminal equipment,DCE)的接口处 提供数据连接;在设备间提供控制信号和时钟信号,用以同步数据流和规定比特传输速 率;提供机械连接器,以完成匹配。 DTE是指所有与网络端口相连的用户设备,包括简单终端、智能终端、异步和同 步终端等。而DCE是指模拟网中的调制解调器或数字网中的数据服务单元和信道服务 单元。 2)数据链路层 (1)数据链路层的功能。数据链路层是OSI参考模型的第二层,它介于物理层与 网络层之间。尽管物理设备之间的电气信号可以传输,但由于传输媒体本身的特性(如 信号衰减)以及外部因素(如干扰信号等)的影响,使得线路上传输的信号可能产生差 错,因此设立数据链路层的主要目的是建立和管理节点间的链路,通过各种控制协议将 一条原始的、有差错的物理线路变为对网络层无差错的数据链路。为了实现这个目的, 数据链路层必须执行链路管理、帧传输、流量控制、差错控制等功能。 数据链路层通常又分为介质访问控制(medium access control,MAC)和逻辑链路 控制(logical link control,LLC)两个子层。MAC子层的主要任务是解决共享型网络中 多用户对信道竞争的问题,完成网络介质的访问控制。LLC子层的主要任务是建立和 维护网络连接,执行差错校验、流量控制和链路控制。 数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到 上一层;同样,也将来自上层的数据帧拆装成位流形式的数据转发到物理层;另外,还 负责处理接收端发回的确认帧的信息,以提供可靠的数据传输。 在此需要提到“帧”这个重要的概念。在数据链路层,数据传输的单位为帧 (frame)。帧是数据的逻辑单位,被称为数据链路协议数据单元,每一帧包括一定数 量的数据和一些必要的控制信息。为了进一步说明帧的概念,首先要明白何谓报文 (message)。简单地说,一个报文就是由若干字符组成的完整信息。在传输过程中,先 把报文分块,每个块上加一定的信息,这样的代码块称为包或分组(packet)。在传输 这些包时,为了实现差错控制,还要加上一层“封皮”。这层“封皮”分为首尾两部分, 而包就在中间,形象地说,加了“封皮”的包称为帧。在这里可以打个比方,帧就是一 本书,书的封面(分前后两页)就是“封皮”。这本书除封面以外的东西称为“包”。当 帧进行传输时,包的内容不变,而“封皮”用过后就被取消。也就是说,在进行另外一 个包的传输时,又要重新组合成一个新的帧来进行传输。 在传送数据时,若接收节点检测到所传数据中有差错,就要通知发送方重发这一 帧,直到这一帧正确无误地到达接收节点。由于数据链路层中的帧包括控制信息,即同 步信息、地址信息、差错控制以及流量控制信息等,因此,数据链路层就把一条有可能 出差错的数据链路,转换成让网络层向下看起来好像是一条不出差错的链路。 (2)几种常用的数据链路层协议。数据链路层协议分为面向字符型和面向比特型 两类。随着计算机通信的发展,面向字符型的协议逐渐暴露出通信线路利用率低,数据 传输不透明,系统通信效率低,只适合停等协议与半双工方式等弱点。因此,1974年 IBM公司推出了面向比特型的同步数据链路控制(synchronous data link control,SDLC) 协议,ANSI将SDLC修改为高级数据通信控制协议(advanced data communications control protocol,ADCCP)作为国家标准。而ISO将修改后的SDLC称为高级数据链路 控制(high-level data link control,HDLC),并将它作为国际标准ISO 3309。在此,有 必要对HDLC、串行线路国际协议(serial line IP,SLIP)和PPP进行简要介绍,它们 是互联网中使用的数据链路层协议。 在OSI参考模型中,数据链路层采用的是HDLC协议,HDLC帧结构如图1.16所示。 F01111110ACIN位 FCS16位 F01111110 标志字段地址字段控制字段信息字段帧校验序列字段标志字段 图1.16 HDLC帧结构 从图1.16中可以看出,HDLC帧是由标志字段等6个字段构成,其简要说明如下。 标志字段F:帧首尾均有一个由固定比特序列01111110组成的帧标志字段F,其作 用主要有两个:帧起始终止定界符和帧比特同步。 地址字段A:在非平衡结构中,帧地址字段总是写入从站地址;在平衡结构中,帧 地址字段填入应答站地址,全1地址为广播地址。按照协议规定,地址字段可以按8比 特的整数倍扩展。 计算机网络技术及应用 第2版 控制字段C:是HDLC帧的关键字段,HDLC中的许多重要功能均靠控制字段来 实现。控制字段表示帧类型、帧编号、命令和控制信息,其可将HDLC划分为信息帧 (I)、监控帧(S)和无编号帧(U)。 信息字段I:信息字段可以是任意的比特序列组合,其长度通常不大于256字节。 帧校验字段:FCS字段为帧校验序列,HDLC采用CRC循环冗余码进行校验。 HDLC的控制过程包括3个阶段。 第一阶段:建立数据链路连接阶段。当网络层向数据链路层发出连接请求后,链路 层的发送端向接收端发出置正常响应模式的无编号帧,若接收端准备就绪,则发出无编号 确认响应帧予以确认,这也就是表示同意建立数据链路连接,此时,数据链路就建好了。 第二阶段:传送数据阶段。链路连接建立好后,发送端开始按照某种流量控制策略 发送信息帧。例如,采用滑动窗口进行流量控制,则发送端可连续发送多个信息帧。接 收端收到信息帧后,通过校验序列来检验接收的数据是否正确。若数据正确,则由接收 端向发送端发出确认监控帧,否则发出否认帧,而接收端将对出错的帧进行重传,如此 循环直到数据发送完毕。 第三阶段:拆除数据链路连接。全部数据发送完毕,网络层发出断链请求,链路层 的发送端收到请求后,向接收端发出拆除连接无编号帧。接收端收到连接无编号帧后, 发出无编号帧作为响应。此后,从接收端开始向发送端方向,沿数据链路依次拆除各数 据链路连接。 另外两种常使用的数据链路层协议是SLIP和PPP,它们是用户接入互联网时所采 用的数据链路层协议。SLIP是一个在串行线路上对IP分组进行封装的简单的面向字符 的协议,用以使用户通过电话线和调制解调器接入互联网。SLIP主要用于低速串行线 路中的交互性业务,它不能进行差错检测,仅支持IP,并且数据传输效率较低。为了 改进SLIP,人们制定了PPP。它所起的作用与OSI/RM中的数据链路层一致,可以完 成链路的操作、维护和管理功能,并且在设计时考虑了与常用的硬件兼容,支持任何种 类的DTE-DCE接口。运行PPP只需要提供全双工的电路以实现双向的数据传输,它对 数据传输速率没有太严格的限制,故能适用多种远程接入的情形。PPP灵活的选项配置、 多协议的封装机制、良好的选项协商机制以及丰富的认证协议,使得它在远程接入技术 中得到了广泛的应用。 3)网络层 (1)网络层简介。数据链路层虽然提供了理论上的可靠传输服务,但这种服务仅发 生在相邻的两个节点之间,如交换机对交换机之间以及用户终端与交换机之间的通信服 务等。但是用户的数据传输主要发生在端到端之间,也即用户之间的通信可能需要经过 多条链路,并由多个中继节点,如交换机、路由器等,负责数据传输和转发。因此,网 络层就是通过路由选择算法,为数据传输选择最合适的路径,从而实现通信双方在整个 网络系统内的连接。 在OSI 7层模型中,网络层是第3层,同时也是通信子网的最高层。网络层的任务 就是选择合适的路由,使发送端的运输层所传下来的分组信息能够正确无误地按照地址 找到目的地,并交付给相应接收端的运输层,即完成网络的寻址功能。在这一层,数据 的单位称为数据包或数据分组。 (2)网络层的功能及服务。网络层的主要功能可以归纳为以下5点。 ① 提供路由选择。网络层利用各种路由算法,使得中继节点能够根据数据分组中的 地址信息和依据某种策略做出决策,尽快地转发收到的数据分组,使得用户的数据能尽 快地穿越网络,送往目的地。路由选择是网络层的一大特征,也是网络层的内在能力。 ② 提供有效的分组传输,包括顺序编号和分组的确认。网络层利用分组技术,可 以根据不同的网络情况将用户数据组装成适合网络传输的数据分组,使得用户数据能够 在不同的网络中传输。 ③ 流量控制。网络层的流量控制对进入分组交换网的通信量加以一定的控制,以 防因通信量过大而造成通信子网性能的下降。 ④ 将若干逻辑信道复用到一个单一的数据链路上。网络层提供了复用/解复用功能, 利用复用/解复用技术,可以使得多对用户的数据交织在同一条数据链路上进行传输。 ⑤ 提供交换虚电路和永久虚电路的连接。为了完成上述功能,网络层提供面向连 接和面向无连接的两种服务。 所谓面向连接服务是指数据传输过程可以被分成连接的建立、数据传输与拆除连 接3个阶段。在这种传输过程中,首先需要建立连接通路,然后数据沿着所建立好的链 路按照顺序依次传送到接收端,接收端无须对所接收的信息进行排序。该方式可靠性比 较高,常用于数据传输量比较大的场合。但是,由于存在着建立和拆除连接的过程,因 此,传输效率不高。 面向无连接服务的最大特点是无须在传输数据前建立一条链路,当然也就不存在拆 除链路的过程。要传送的分组将携带对方的目的地址而自找路由,因此到达接收端,信 息分组可能是无序的,必须由接收端进行排序。这种方式传输效率较高。 应指出的是,面向连接服务的具体实现即是2.7节中所述的虚线路传输分组交换; 面向无连接服务的具体实现也即2.7节中所述的数据报分组交换。 4)运输层 运输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分 割成若干分组,然后交给网络层进行传输。运输层是计算机网络协议分层中的最关键一 层,该层以上各层将不再管理信息传输问题。运输层也称为传输层、传送层等。 计算机网络技术及应用 第2版 (1)运输层简介。网络层虽然实现了通信主机端与端之间的数据交换,然而实际上 通信的是两个主机中的两个应用进程。另外,尽管第3层可实现数据在一定程度上的可 靠传输,但仍存在着其自身所不能解决的传输错误。因此,运输层负责将数据可靠地传 送到相应的端口,包括处理差错控制和流量控制等问题,保证报文的正确传输。 运输层位于OSI 7层参考模型中的会话层和网络层之间。从其所处的位置来看,运 输层是OSI参考模型中比较特殊的一层,同时也是整个网络体系结构中十分关键的一 层。从通信和信息处理的角度看,运输层是承上启下的一层,其属于面向通信部分的最 高层和信息处理部分的最低层。运输层在使用通信网络提供的数据传输服务的基础上, 为高层提供了应用程序到应用程序的可靠通信服务,其对高层屏蔽了通信网络的差异 性,弥补了通信网络的不足,运输层在网络层的基础上为高层提供“面向连接”和“面 向无连接”两种服务;低于运输层的各层不必再关心数据的产生和使用等问题,只注重 数据的传输即可。由图1.15可以看出,运输层只存在于通信子网之外的端系统(即主 机)之中,工作在网络层及以下各层的网络设备是没有运输层的。运输层的数据单元是 报文。 (2)运输层的功能和服务。运输层的主要功能可以归纳为以下6点。 ① 复用和分用。一个主机可能同时运行着多个进行通信的应用程序,例如,同时 打开了多个网页和进行多个文件的下载,这时每个进行通信的应用进程通过不同的端口 与运输层交换数据。每个进程都通过各自分配的端口将数据交给运输层,然后共用IP 将数据发送到各自的目的主机,从而实现了多个进程对传输协议的复用。而在目的主机 上,运输层将收到的IP分组重新组合成报文后,根据报文首部中的目的端口分别交付 给各个目的进程,从而实现了传输协议对多个应用进程的分用。 ② 数据分段。应用进程可能陆续产生很多数据,运输层对上层的数据进行分组, 形成若干报文段,以报文段为传送单位分别通过网络传输给接收应用进程。 ③ 提供端到端的面向连接的通信。运输层在网络层提供的不可靠的端到端传输功 能的基础上,提供可靠的端到端的传输服务。这一点类似于数据链路层,只不过数据链 路层是作用于相邻的节点之间的传输通路,而运输层是作用于通信主机端与端之间的传 输通路。 ④ 流量控制。任何接收端在接收数据、缓存数据和处理数据时都有一定的时间和 能力限制,为了避免因接收端来不及处理接收的数据而产生数据丢失,运输层对发送主 机端的数据速度进行了控制。这与数据链路层对数据进行流量控制不同,运输层实现流 量控制是由主机实现的,而数据链路层对数据进行流量控制则是由通信子网中的网络设 备实现的。 ⑤ 差错控制。运输层的差错控制也是在端到端的主机上进行的。 ⑥ 拥塞控制。运输层提供了拥塞控制手段,使通信进程以网络能够允许的速度发 送数据,从而避免了网络拥塞的发生。 另外,有必要对端口稍加解释,端口是用来唯一标识某主机中的各个进程的,通过 共同使用端口和地址可以实现不同主机的应用进程之间的互相通信。 5)会话层 运输层提供的服务可以保证用户数据按照用户的要求从网络的一端传输到另一端, 剩下的问题是用户如何控制信息的交互过程,例如,数据交换的时序以及如何保证数据 交换的完整性等。另外,网络应当提供什么样的功能来协助用户管理和控制用户之间的 信息交换,从而进一步满足用户应用的要求也是需要考虑的。 会话层又称会晤层,其位于运输层之上,由于利用了运输层提供的服务,使得两 个会话实体之间不需要考虑它们之间相隔多远、使用了什么样的通信子网等网络通信细 节,而可以进行透明的、可靠的数据传输。当两个应用进程进行相互通信时,希望有一 个作为第三者的进程能组织它们之间的通话,协调它们之间的数据流,以便于应用进程 专注于信息交互,而设立会话层就是为了达到以上目的。从OSI参考模型来看,会话 层之上的各层面向应用,会话层之下的各层面向网络通信,会话层则是应用程序和网络 之间的接口,向两个实体的表示层提供建立和使用连接的方法。 会话层协议定义了会话层内部对等会话实体间进行通信所必须遵守的规则,而这些 规则说明了一个系统中的会话实体怎样与另一个系统中的对等实体交换信息,以提供会 话服务。会话层的主要功能是向会话的应用进程之间提供会话组织和同步服务,对数据 的传输提供控制和管理,协调会话过程,为表示层实体提供更好的服务。 6)表示层 由于不同的计算机系统可能采用了不同的信息编码,例如,PC通常采用 ASCII 码, 而 IBM主机通常采用广义二进制编码的十进制交换码(extended binary coded decimal interchange code,EBCDIC)编码,并且可能具有不同的信息描述和表示方法。例如, 对于同样一个整数,有些计算机可能采用2字节表示,而另一些计算机可能采用4字节 等。如果不加处理,不同的信息描述将导致通信的计算机系统之间无法正确地识别信 息,正如汉语是一种描述事物的语言,但是未必所有的人都可以理解。 表示层主要解决异种计算机系统之间的信息表示问题,屏蔽不同系统在数据表示方 面的差异。解决信息表示的方法是定义一种公共的语法表示方法,并在信息交换时进行 本机语法和公共语法之间的转换,从而使通信的计算机之间能够正确地识别信息,真正 达到信息交互的目的。这种方法类似于人类信息交流时惯于采用的方法,例如不同国别 的交谈者在一起交谈时常常选择英语作为公共语言,并依靠翻译完成本地语言和英语的 转换。 计算机网络技术及应用 第2版 7)应用层 应用层是计算机网络可向最终用户提供应用服务的唯一窗口,其目的是支持用户联 网的应用要求。由于用户的要求不同,应用层含有支持不同应用的多种应用实体,提供 多种应用服务。在OSI/RM中,这些应用服务被称为应用服务元素,包括电子邮件、文 件传输、虚拟终端等。应用层以下各层通过应用层向应用进程提供服务,因此,应用层 向应用进程提供的服务是OSI所有层服务的总和。 为了对OSI/RM有更深刻的理解,表1.1给出了两个主机用户A和B对应各层之间 的通信联系以及各层操作的简单含义。 表1.1 主机间通信以及各层操作的简单含义 主机HA 控 制 类 型 对等层协议规定的通信联系 简 单 含 义 数 据 单 位 主机HB 应用层 进程控制 用户进程之间的用户信息交换 做什么 用户数据 应用层 表示层 表示控制 用户数据可以编辑、交换、扩 展、加密、压缩或重组为会话 信息 对方看起来像 什么 会话报文 表示层 会话层 会话控制 建立和终止会话,如会话失败 应有秩序地恢复或关闭 轮到谁讲话和 从何处讲 会话报文 会话层 运输层 运输控制 会话信息经过传输系统发送, 保持会话信息的完整 对方在何处 会话报文 运输层 网络层 网络控制 通过逻辑链路发送报文组,会 话信息可以分为几个分组发送 走哪条路可到 达该处 分组 网络层 数据链路层 链路控制 在物理链路上发送帧及应答 每一步应该怎 样走 帧 数据链路层 物理层 物理控制 建立物理线路,以便在线路上 发送位 对上一层的每 一步怎样利用 物理媒体 位(比特) 物理层 OSI参考模型设计是为了解决通信网络的标准化问题,只要都支持OSI模型,两个 互不兼容的端系统就能互相通信。从逻辑上讲,发送端的某应用程序通过应用层提供的 接口将数据交给应用层,再加上该层的控制信息后传给表示层;表示层如法炮制,给数 据加上本层的控制信息后,再传给会话层;以此类推,每一层都将收到的数据加上本层 的控制信息传给下一层;最后到达物理层时,数据通过实际的物理媒体传送到接收端。 接收端则执行与发送端相反的操作,即接收端系统由下往上,根据每层的控制信息执行 某一特定的操作后,然后将该控制信息去掉,并把余下的数据提交给上一层,这一过程 一直继续到应用层最终得到数据,并送给接收端相应的应用程序。这两个通信的应用程 序以及网络节点中的各个对等层,都好像是在直接进行通信;但事实上,所有的数据都 被分解为比特流,并由物理层实现传输。 需要明确的是OSI参考模型只是一个理论模型,是一个用来制定标准的标准,到 目前为止,在实际中并不存在一个通信网络系统完全与之符合。但是OSI参考模型在 计算机网络的发展过程中起到了重要的指导作用,为理解网络的体系结构提供了重要的 思考方式,也为今后计算机网络技术朝标准化、规范化方向发展提供了参考依据。 1.4.3 TCP/IP模型 1. TCP/IP简介 互联网是由成千上万个不同类型的工作站、服务器以及路由器、交换机、网关、通 信线路连接而组成的超大型网络,因此解决不同网络、不同类型设备之间的信息交换和 资源共享是成功构建互联网的关键,而TCP/IP正是打开这把“关键”锁的钥匙。 TCP/IP是在美国国防部资助的项目ARPANet上所使用的协议。20世纪70年代初, 美国国防部为了实现异种网络间的互联,投入大量的资金进行不同网络之间互联的研发 工作,并于1974年由鲍勃·凯恩与温登·泽夫合作提出了TCP/IP构想,到20世纪70 年代末,TCI/IP体系结构和协议规范基本成熟。TCP/IP使用的范围很广,是目前异种 网络通信中使用的唯一协议体系,成功地解决了不同网络硬件设备、不同厂商产品和不 同操作系统之间的相互通信问题,从而成为互联网的核心协议,也因此成为目前事实上 的国际标准和工业标准。 TCP/IP并不是单纯的两个协议,而是一组通信协议的集合,包含了100多个协 议。由于传输控制协议(transmission control protocol,TCP)和互联网协议(Internet protocol,IP)是TCP/IP中最重要的两项协议,因此通常就用TCP/IP来代表整个通信 协议的集合。TCP/IP体系结构是指根据TCP/IP中各协议在通信过程中所完成的功能而 划分的一种层次结构,TCP/IP体系结构也可以称为TCP/IP模型。 2. TCP/IP模型的层次结构 TCP/IP模型是一个4层结构,从下到上依次是网络接口层、网络互联层、传输层 和应用层。 (1)网络接口层。TCP/IP与各种网络的接口称为网络接口层,其是TCP/IP模型的 最底层,然而它实际上在TCP/IP模型中并没有具体定义。该层的主要功能是传输经网 络互联层处理过的信息,并提供主机与实际网络的接口,即负责从网络互联层接收IP 分组并将IP分组封装成适合于不同网络传输要求的数据帧,然后通过物理网络发送出 去,或者从低层物理网络上接收数据帧,抽出IP分组并交给网络互联层。 主机与实际网络具体的接口关系由实际网络的类型决定,例如可以是以太网、 FDDI、X.25和ATM等。因此,网络接口层与网络的物理特性无关这一特性充分体现 计算机网络技术及应用 第2版 了TCP/IP模型的灵活性以及TCP/IP网络的异构性。 (2)网络互联层。网络互联层是TCP/IP模型的第二层,它的主要功能是负责相邻 节点之间的数据传送。具体可以分为3方面:①处理来自传输层的报文发送请求,首先 将报文封装为IP分组,然后选择通往目的节点的路径,最后将IP分组交给适当的网络 接口;②处理接收到的IP分组,首先对IP分组进行合法性检查,然后进行路由选择, 若该IP分组已到达目的节点,则将IP分组的报头去掉,将余下的数据部分交给相应的 传输层,若该IP分组仍未到达目的地节点,则转发该IP分组;③处理网络的路由选择、 流量控制和拥塞控制等问题。 完成网络互联层以上功能的协议是互联网控制报文协议(Internet control message protocol,ICMP)、地址解析协议(address resolution protocol,ARP)和反向地址解析协 议(reverse address resolution protocol,RARP)。 ① IP。互联协议是网络互联层的重要协议,它的主要功能是实现无连接的IP分组 和IP分组的路由选择。当IP分组传送到目的主机后,不予回送确认,也不保证分组正 确进行,不进行流量控制和差错控制,这些功能将由传输层的TCP完成。由于IP所面 对的是一个由多台路由器和物理网络所组成的复杂网络,而且每台路由器可能连接不止 一个物理网络,每个物理网络可能连接多个主机。因此,IP的任务是提供一个虚构的 网络,找到下一台路由器和物理网络,把IP分组从源端无连接地、逐步地传送到目的 主机,这就是IP分组的路由选择功能。另外,由于不同的物理网络对所传输的数据帧 的长短要求不一样,所以IP需要对传输层所传来的报文进行适当分组。 ② ICMP。IP的路由选择主要由路由器负责,无须主机参与处理,而实际情况却有 可能出现种种差错和故障,如线路不通、主机断链、超过生存时间、主机或路由器发 生拥塞等。ICMP则专门用来处理差错报告和控制,它能由出错设备向源设备发送出错 报文和控制报文,源设备接到该报文后,由ICMP软件确定错误类型或重发数据报的策 略。ICMP报文不是一个独立的报文,而是封装在IP分组中。ICMP提供的服务有测试 目的地的可达性和状态、报文不可达的目的地、数据报的流量控制和路由器路由改变请 求等,另外ICMP也用来报告拥塞。ICMP将IP作为它的传输机制,这样看起来似乎 ICMP成了IP的高层协议,其实ICMP只是IP实现的一个必要部分。 ③ ARP。在局域网中所有站点共享通信信道,是通过使用每个站点唯一的物理地 址MAC来确定报文的发往目的地,但仅通过IP地址并不能计算出MAC地址,ARP 的任务就是查找与给定IP地址相对应的主机的网络物理地址。ARP通过采用广播消息 的方法,从而获取网上IP地址所对应的MAC地址。 ④ RARP。RARP主要解决网络物理地址MAC到IP地址的转换。RARP也采用广 播消息的方法来获得特定硬件MAC地址相对应的网上IP地址。RARP对于在系统引导 时无法知道自己互联网地址的站点来说就显得十分重要了。 (3)传输层。传输层位于TCP/IP模型的第三层,它的主要功能是为源节点和目的 节点的两个应用进程之间提供可靠的端到端的数据传输。为保证数据传输的可靠性,传 输层协议规定在接收端进行差错检验和流量控制。另外,传输层还要解决不同应用程序 的标记问题,因为在一般的通用计算机中,常常是多个应用程序同时访问互联网。为了 区别各个应用程序,传输层在每一个报文中增加了识别源端和目的端应用程序的标记。 为了完成以上功能,传输层提供了两个端到端的协议:TCP和用户数据报协议(user datagram protocol,UDP)。 ① TCP。TCP是一个面向连接的协议,为网络提供具有有序可靠传输能力的全双 工虚电路服务。TCP允许从一台主机发出的消息无差错地发往互联网上的其他主机,它 把经应用层传送来的报文分成报文段并传给网络互联层。在接收端,TCP接收进程把收 到的报文段再组装成报文后,再将报文交给应用层。TCP的功能包括为了取得可靠的传 输而进行的分组丢失检测,对收不到确认或者出错的信息自动重传,以及处理延迟的重 复数据报等。此外,TCP还能进行流量控制和差错控制。 TCP进行报文交换的过程如下:建立连接、发送数据、发送确认、通知窗口大小, 最后在数据帧发送完毕后关闭连接。由于TCP在发送数据时,报头包含控制信息,所 以发送下一帧数据时,可以同时对前一帧数据进行控制和确认信息。 ② UDP。UDP是一个不可靠的、无连接的传输层协议,它将可靠性问题交给应用 程序解决。UDP主要面向请求/应答式的交易型应用,这些交易往往只有一来一回两次 报文交换,如果像TCP那样建立连接和撤销连接,那么开销是很大的。这种情况下使 用UDP就非常有效。另外,UDP也应用于那些可靠性要求不高,但要求网络延迟较小 的场合,如语音和视频数据的传送。 (4)应用层。应用层是TCP/IP模型的最高层,它是TCP/IP系统的终端用户接口, 是专门为用户应用服务的。TCP/IP模型的应用层包括所有的高层协议。互联网上早期 的应用层协议有远程登录协议(Telnet)、FTP和简单邮件传送协议(simple mail transfer protocol,SMTP)等,其中Telnet协议允许用户登录到远程系统并访问远程系统的资源, 并且像远程机器的本地用户一样访问远程系统,FTP提供在两台机器之间进行有效的数 据传送的手段,SMTP用于电子邮件的传送。随着互联网上应用不断地涌现,许多新的 应用层协议也应运而生,如域名服务(domain name service,DNS)、网络新闻传输协议 (network news transfer protocol,NNTP)和超文本传送协议(hyper text transfer protocol, HTTP)等。 TCP/IP模型中各层的主要协议如图1.17 所示。 计算机网络技术及应用 第2版 FTPSMTPDNSHTTPTCPUDPIPICMPARPRAMP 以太网FDDIX.25ATM 应用层 传输层 网络互联层 网络接口层 … … 图1.17 TCP/IP模型各层主要协议 1.4.4 OSI协议参考模型与TCP/IP模型的比较 OSI参考模型与TCP/IP模型有很多相似之处,它们各层次功能之间存在着一定 的对应关系。TCP/IP模型的网络接口层大致对应于OSI参考模型的物理层和数据链路 层,该层主要处理数据的格式化,以及将数据传输到通信线路上;TCP/IP模型的网络 互联层大致对应于OSI参考模型的网络层,该层主要处理信息的路由及主机地址解析; TCP/IP模型的传输层大致对应于OSI参考模型的运输层,该层主要负责提供流量控制、 差错控制和排序等服务;TCP/IP模型的应用层大致对应于OSI参考模型的应用层、表 示层和会话层,该层主要向用户提供各种应用服务。图1.18显示了这种对应关系。 OSI参考模型 7 应用层 6 表示层 5 会话层 4 运输层 3 网络层 2 数据链路层 1 物理层 TCP/IP模型 应用层(各种应用 层协议,如Telnet、 FTP、SMTP等) 传输层(TCP或UDP) 网络层 网络接口层 图1.18 OSI参考模型与TCP/IP模型各层的对应关系 除了这些基本的相似之处外,两个模型也存在很多的差别。 (1)OSI参考模型明确区分了服务、接口和协议3个主要概念,但是TCP/IP模型 最初并没有对其进行严格区分。因此,OSI参考模型中的协议比TCP/IP模型中的协议 具有更好的隐蔽性并且更容易被替换。 (2)OSI参考模型并不是基于某个特定的协议集而设计的,因此它更具有通用性。 而TCP/IP模型正好相反,先有协议,模型只是对已有的协议的描述,因而协议与模型 配合得很好;但TCP/IP模型的问题在于其不适合于其他协议,因此,TCP/IP模型不适 合于描述其他非TCP/IP网络。 (3)OSI参考模型在网络层提供面向连接和无连接的通信服务,但在传输层仅有面 向连接的通信服务。而TCP/IP模型在网络层只有一种无连接的通信服务,而在传输层 提供了面向连接和无连接的通信服务。 (4)OSI参考模型有7层,而TCP/IP模型只有4层。 综上,OSI参考模型可以很好地对计算机网络进行描述,但由于协议出现的时机不 当以及协议本身难于实现等问题使得该参考模型并未流行起来。而TCP/IP模型是对现 有协议的一个归纳和总结,由于其容易实现和被生产厂商广泛接受,故其已成为事实上 的网络参考标准。 1.5 计算机网络的发展趋势 本节简要回顾计算机网络的发展历程,分析计算机网络未来发展的需求。基于需求 探讨计算机网络面临的重大技术挑战及相应的研究问题,据此拟提出计算机网络的发展 趋势和相关的技术制高点。 1.5.1 计算机网络发展的简要回顾 计算机网络诞生50多年来,国内外学者、研究机构、企业和各国政府对计算机网 络的理论、技术及建立做了大量的工作。 1969年底,美国国防部研制并建成ARPANet,标志着计算机网络的诞生。1980年 代初,ISO制定了一系列国际标准,奠定了互联网的雏形。20世纪90年代,许多国家 将信息高速公路作为国家战略,从而极大地推动了计算机网络技术的发展,使其发展 和应用进入了崭新的阶段。21世纪以来,高速通信网络技术、无线网络、移动互联网、 云计算、智能终端、网络和信息安全技术的大力发展,已将计算机与网络融为一体,体 现了“网络就是计算机”。当下流行的云计算、物联网、智慧城市、大数据、人工智能 以及区块链等新技术,都是建立在互联网之上,依托其支撑来实现。在应用上,“互联 网+”已辐射到经济社会发展的多个领域。 1.5.2 计算机网络发展的新需求 国家经济社会的发展对计算机网络提出了新的需求,驱动着计算机网络的飞速发 展。计算机网络未来发展的新需求似可归纳为以下四类。 1. 全息通信 以全息通信为代表的全息远程会议、远程故障诊断和维修等新兴沉浸式网络应用, 对网络体系结构和能力提出了重大挑战。全息应用带宽需求为每秒Tbit级;时延需求 计算机网络技术及应用 第2版 为亚毫秒级;全息数据流内并行流为上千条级。以面向2030年的全息全感业务为例, 真人级全息通信是对现实视觉的完整重构。如果用全息记录真人大小或70英寸左右的 电视屏幕大小,则单个数据流所需的动态传输数据量约为1.9Tbit/s,时延为1~5ms。 2. 时间约束 在工业互联网等大型应用场景中,快速反应与时间体验是重要因素。超低时延是 上述应用的共性需求,有些工业应用的闭环控制往返时延是毫秒级的,有些是亚毫秒级 的,有些是微秒级的。未来工业连接需要提供的传送服务不仅要求是确定的、及时的, 更应是准时的。工业从自动化到数字化、网络化和智能化,逐渐向虚拟世界与现实世界 融合的方向发展,形成数字孪生世界,需要从应用的视角同步不同来源的数据。为此, 应十分重视时间约束(time-engineered application)。 3. 网络内部机制智能化 未来网络必将向复杂系统方向发展,面对不同的应用场景,对网络服务的需求也会 不同。网络流量控制、调度和拥塞控制等机制以及路由算法等,均需根据场景的实际情 况进行优化。通过将机器学习和知识图谱等人工智能技术引入网络,可以对用户需求、 网络资源以及网络威胁等多维主客观要素进行表示、学习,并在提炼获取知识的基础 上,实现决策推理,以及动态调整重构网络。 4. 多维度传感 未来的全方位感知服务将极大增强虚拟服务的便利性和体验性,除了声音、图片和 视频等听觉、视觉外,可能还有嗅觉、味觉甚至触觉。新形态的体验将带来不少挑战。 触觉、味觉及嗅觉如何实现远程感知?声音和光是波的传送,没有化学反应,而味觉和 嗅觉更接近感觉和情感,有直接的“化学”反应。而触觉对网络要求较高,需要毫秒级 延迟,并无传输丢包。 1.5.3 计算机网络研究的问题 上述发展需求使计算机网络面临重大的技术挑战,为此应研究如下科学问题以及相 应的内容。 1. 高智能化 高智能化是首要的挑战和核心。随着物联网、大数据和人工智能技术的快速发展 和加速融合,智能物联网的应用正逐步融入国家重大需求和民生的各个领域,如智慧城 市、智能制造和社会治理等。通过各种传感器联网实时采集各类数据,如环境数据、运 行数据、业务数据和监测数据等;然后在终端设备、边缘设备或云端通过数据挖掘和机 器学习来进行智能化处理和理解,如智能感知、目标识别、预测预警以及智能决策等, 为用户提供综合、智能、易用和个性化的服务。高智能化的科学问题是人机物融合完成 感知任务的问题,相应的研究内容如临境自然交互、人机协同感知和人机智能演进等。 2. 高实时性 高实时性也是互联网面临的一个重要挑战,如远程手术要求网络时延必须小于200ms, 敏感车联网要求控制时延必须小于10ms。特别是军事和工业控制等应用,缺乏实时性 将导致严重的后果和损失。如2009—2013年,因为网络传输延时,美国路基导弹防御 系统三次拦截试验均未成功。同时,网络延时的增加还可能使互联网内容提供商蒙受巨 大的利润损失。高实时性的科学问题是如何实现竞争资源的实时传输控制,相应的研究 内容是扩展安全的分级实时传输控制理论和协同机理。 3. 高安全性 网络安全影响到国家安全。高安全性是计算机网络应用的基础。新一代互联网应该 在开放、简单和共享为宗旨的技术优势基础上,建立完备的安全保障体系。从网络体系 结构设计出发,保证网络信息的真实性和可追溯性,进而提供安全可信的网络服务。高 安全性的科学问题是如何解决互联网体系结构安全可信基础的缺失,实现开放网络环境 中的跨域可信访问。相应的研究内容是地址身份结合的网络可信访问体系和行为感知。 更重要的是,应建立一个安全可信的新型网络体系结构。 4. 高扩展性 高扩展性是计算机网络应对未来更高要求的保证。新一代互联网应该从以连接计算 机系统为主,扩展到连接所有可以连接的电子设备,即接入的终端设备种类和数量将更 多、网络规模更大和应用更广泛。扩展性既为网络空间编址和路由带来了新的挑战,也 为发展带来了机遇,高扩展性的科学问题实际上是超大空间的高效路由寻址问题。相应 的研究内容包括多维分级的大规模编址以及路由的理论与方法。 1.5.4 计算机网络的未来方向 结合计算机网络未来发展的需求和问题,讲解计算机网络未来发展的趋势。 1. 触觉互联网 触觉互联网由德国德累斯顿工业大学(Dresden University of Technology)教授 Gerhard Fettweis提出。它可以实现远程的触觉感受,从而实现对各类对象的远程控制 与服务。触觉互联网需要低延迟、高可靠性和高安全性等能力。它的提出依赖于5G技 术、虚拟现实、增强现实、新型网络技术、人工智能和触觉感知等技术的不断发展。 2018年,IEEE成立了触觉互联网工作组,该工作组提出了触觉互联网的基本特征,即 “实时感知”和“同步控制”。 计算机网络技术及应用 第2版 触觉互联网定义了一个具备低时延、高安全性和高可靠性的基础通信网络,它是未 来网络发展的主要方向。它的提出为自动驾驶和远程医疗等应用提供了更好的支撑。 触觉互联网的实现还存在诸多技术难点。首先,在网络架构上,如何在当前海量数 据场景下,通过网络架构技术的不断创新实现业务的低时延需求。其次,实现触觉的精 密化与数字化。触觉精密化是指复制人体皮肤敏感性,如何实现对人体皮肤触感的复制 并进行数字化,这是一项极具挑战性的工作。最后,实现安全与隐私。由于当前互联网 的开放性,如何保障网络的高安全性与用户隐私一直是研究者们探索的方向。 2. 量子互联网 2018年,荷兰代尔夫特理工大学(Technische Universiteit Delft)教授Stephanie Wehner等在《科学》(Science)上发表综述文章,将量子互联网的发展划分为6个阶段。 2019年,美国能源部组织了量子网络研讨会,根据有无使用量子中继,将量子通信网 络划分为量子局域网、量子广域网和量子互联网三个发展阶段。2020年7月,美国能 源部发布量子互联网国家战略蓝图,对照现有TCP/IP栈的5层结构,期望建立纠缠网 络协议栈。物理层主要研究量子信息处理器或者量子计算机,数据链路层主要通过超导 或者光量子实现节点的互联,网络层侧重于采用量子存储器实现量子纠缠的高效制备和 分发,在传输层与经典网络协同工作,在应用层开展分布式量子信息应用。 量子纠缠网络的代表性成果是,2020年9月,英国布里斯托大学和利兹大学、奥 地利科学院与我国国防科技大学等研究机构合作实现8节点无可信中继量子网络。不同 于目前点对点可信中继的量子通信网络,该研究实现了城域范围内无可信中继的量子纠 缠分发网络,具备拓展为更大规模量子通信网络的潜力,从而为用户提供服务。 代尔夫特理工大学QuTech研究组在域间量子纠缠网络研究方面的工作具有代表性。 他们于2016年主导成立了欧洲量子互联网联盟,2019年在SIGCOMM会议上发布了 量子网络链路层协议,2020年介绍了其软件定义量子网络架构,2021年完成了3节点 量子网络实验。在2019年发布的量子网络链路层协议中,QuTech研究组基于他们设计 实现的金刚石色心纠缠源,将金刚石中一个碳原子替换为氮原子,经过操作可以在原子 自旋和激发的光子之间实现纠缠,节点间通过贝尔态测量等方法可以实现多节点间的量 子纠缠关联。2021年QuTech研究组在Science上发表的实验文章,指出已完成了两个 演示工作:一是在3节点间建立GHZ态(greenberger-horne-zeilinger),实现纠缠关联。 二是采用Bob节点作为纠缠交换节点,实现Alice和Charlie之间的跨域纠缠互联。 在量子存储与量子中继方面,2021年4月中国科技大学将光存储时间由分钟级提 升至1小时,并在同年6月基于吸收型量子存储器实现了多模式量子中继,为构建高宽 带远距离量子网络奠定了基础,表明量子存储与量子中继逐步走向实用化。 量子互联网未来的发展主要是两方面:一是量子组网技术本身在域内开展确定性纠 缠网络研究,同时提升量子存储性能,实现跨域量子互联。二是量子互联网已经可以支 撑开展端到端量子安全通信、量子时间同步、分布式量子传感和分布式量子计算研究, 旨在促进量子信息技术的全面升级。 3. 太赫兹互联网 太赫兹波是位于毫米波和红外光波之间的电磁波,其频率范围是0.1~10THz。太 赫兹波拥有无线通信低频段波无法超越的优势: (1)载波频率高,可以支持数十到上百Gbit/s的数据传输速率。 (2)太赫兹波穿透性好,光子能量低、安全性好,可无损检测。 (3)太赫兹波覆盖多数物质的特征谱。 太赫兹通信方面,目前国际上的研究主要以高载波频率和高带宽作为牵引。日本在 太赫兹技术的应用上走在了世界前列。如日本大阪大学和日本电报电话公司(NTT)曾 在2008年北京奥运会上展示了120GHz载波频率的太赫兹无线通信技术。日本岐阜大 学和软银、日本情报通信研究机构以及俄罗斯托木斯克理工大学等组成的世界级团队于 2021年2月宣布,研究团队利用比手机镜头孔还小的微型天线,成功进行了300GHz 频带太赫兹无线通信。 太赫兹波独有的优势使太赫兹通信成为星间大容量互联互通的候选核心技术之一, 能够解决现有空间微波通信带宽不大、速率不高的问题。同时,由于太赫兹天线的高定 向性,可以解决卫星间激光通信组网困难和远距离跟瞄问题。 太赫兹互联网络技术将太赫兹点对点通信技术扩展至多节点组网。由于太赫兹波独 有的物理特性,以致实现太赫兹互联网技术面临一系列技术挑战:一是高频、大带宽,100GHz以上的频率、Tbit/s级别的超高速率,需要提升分组交换能力,设计面向大容 量网络中的拥塞控制技术。二是传输高损耗,太赫兹波在大气中传输衰减严重、信道利 用率低、重传概率高,为实现远距离组网,需要研制高效介质访问控制方法和协同中继 技术进行转发传输。三是定向窄波束,区别于具有广播特性的传统无线网络,太赫兹组 网需攻克定向窄波束的捕捉与跟踪技术、空间多址接入、节点快速发现和控制技术。 太赫兹互联网应用前景广阔。首先,太赫兹通信技术被公认为是6G的关键技术之 一,有望在下一代通信网络中实现宽带太赫兹通信。其次,太赫兹互联网技术在特定领 域的超宽带高速传输具有重要的应用价值。目前,国内外对太赫兹组网技术的研究仍处 于起步阶段。 综上,量子互联网和太赫兹互联网等前沿技术的攻关,有望实现网络技术的颠覆 性突破。而触觉互联网将使人和机器能够在移动中和特定空间通信范围内实时地与其环 计算机网络技术及应用 第2版 境进行交互,从而改变工业生产、学习和工作方式。这些前沿趋势,不仅是计算机网络 未来发展的制高点,也是引领其高质量发展的可能突破点,抑或成为经济社会发展的创 新极。 本章小结 本章概述了计算机网络的发展过程,对其发展的5个阶段做了简要回顾,并对各 个阶段的特点做了分析。接着介绍了计算机网络的组成和功能,分析了计算机网络的构 成要素,从宏观角度分析了计算机网络的组成,并重点讨论了计算机网络的类别,其中 对按计算机网络的拓扑结构分类、网络控制方式分类、网络作用范围分类、通信传输方 式分类、网络配置分类和使用范围分类做了详细论述,深入探讨了计算机网络的体系结 构。最后对计算机网络的发展趋势做了简要介绍。 思考题 1.1 什么是计算机网络?计算机网络与分布式系统有什么区别和联系? 1.2 简述计算机网络的发展阶段。 1.3 计算机网络由哪几部分构成?各部分的构成要素是什么? 1.4 计算机网络有哪些功能? 1.5 按拓扑结构,计算机网络可分为哪几类?各有何特点? 1.6 按通信传输方式,计算机网络可分为哪几类?各有何特点? 1.7 计算机网络中为什么要引入分层的思想? 1.8 简述服务、接口、协议的概念。它们之间的联系与区别是什么? 1.9 什么是计算机网络的体系结构? 1.10 简述OSI七层参考模型结构,并说明各层的主要功能是什么? 1.11 在ISO/OSI中,“开放”是什么含义? 1.12 在ISO/OSI中,“透明”是什么含义? 1.13 说明HDLC帧的结构,各字段的功能是什么? 1.14 简述TCP/IP模型,各层的主要功能是什么? 1.15 简述IP的主要功能。 1.16 TCP与UDP之间的差别是什么? 1.17 指出ISO/OSI七层参考模型与TCP/IP模型之间的异同之处? 1.18 结合自己的体会,论述计算机网络的发展趋势。