第二章 计算机网络体系结构 体系结构是研究系统各部分组成及相互关系的。计算机网络体系结构采用分层结构,定 义和描述了用于计算机及其通信设备之间互连的标准和规则的集合。按照这组规则可以方便 地实现计算机设备之间的数据通信。 本章我们主要介绍以下几个问题: ·网络体系结构的基本概念 ·开放系统互连参考模型(OSI七层模型) ·TCP/IP体系结构 ·IEEE802标准系列 2.1 网络体系结构的基本概念 2.1.1 网络的层次结构 计算机网络是一个涉及通信系统和计算机系统的复杂系统。为了降低系统的设计和实现 的难度,把计算机网络要实现的功能进行结构化和模块化的设计,将整体功能分为几个相对 独立的子功能层次,各个功能层次间进行有机的连接,下层为其上一层提供必要的功能服务。 这种层次结构的设计称为网络层次结构模型。 网络层次结构模型包含两个方面的内容:一是将网络功能分解到若干层次,在每一个功 能层次中,通信双方共同遵守该层次的约定和规程,这些约定和规程称为同层协议;二是层 次之间逐层过渡,上一层向下一层提出服务要求,下一层完成上一层提出的要求。上一层必 须做好进入下一层的准备工作,这种两个相邻层次之间要完成的过渡条件,叫做接口协议。 接口协议可以通过硬件实现,也可以采用软件实现,例如,数据格式的变换、地址的映射等。 网络层次结构模型的好处是:各层之间相互独立,各层实现技术的改变不影响其他层, 易于实现和维护,有利于促进标准化,为计算机网络协议的设计和实现提供了很大方便。 2.1.2 网络协议 在网络中包含多种计算机系统,它们的硬件和软件各不相同,要实现共享计算机网络的 资源,以及在网络中交换信息,就需要实现不同系统的实体间的相互通信。这里的实体是指 各种应用程序、文件传送软件、数据库管理系统、电子邮件系统及终端等。系统包括计算机、 终端和各种设备等。一般说来,实体是指能发送和接收信息的任何个体,而系统是物理上明 显的物体,它包括一个或多个实体。两个实体要想实现通信,它们必须具有相同的语言,交 流什么、怎样交流及何时交流等,必须遵守有关实体间某些相互都能接受的一些规则,这些 规则的集合称为协议(Protocol),因此,为进行网络中的数据交换而建立的规则、标准或 20 第二章 计算机网络体系结构 约定即称为网络协议。 网络协议一般由语法、语义和时序三要素组成。 语法:包括数据与控制信息的结构或格式; 语义:包括用于协调同步和差错处理的控制信息; 同步:包括速度匹配和事件实现顺序的详细说明。 2.1.3 网络体系结构 计算机网络的层次及各层协议的集合,即是网络体系结构(Architecture)。具体地说, 网络体系结构是关于计算机网络应设置哪几层,每个层次又应提供哪些功能的精确定义。至 于这些功能应如何实现,则不属于网络体系结构部分。换言之,网络体系结构只是从层次结 构及功能上来描述计算机网络的结构,并不涉及每一层硬件和软件的组成,更不涉及这些硬 件和软件本身的实现问题。由此可见,网络体系结构是抽象的、是存在于书面上的对精确定 义的描述。而对于为完成规定功能所用硬件和软件的具体实现问题,则并不属于网络体系结 构的范畴。可见,对于同样的网络体系结构,可采用不同的方法设计出完全不同的硬件和软 件来为相应层次提供完全相同的功能和接口。 与这种体系结构密切相关的一个非常重要的问题是关于网络体系结构的标准化。世界上 一些主要的标准化组织在这方面做了卓有成效的工作,研究和制定了一系列有关数据通信和 计算机网络的国际标准。国际标准化组织(ISO)的开放系统互连(OSI)参考模型、国际电 信联合会(ITU,原名为国际电报电话咨询委员会CCITT)的X系列和V系列建议书、美国电 气电子工程师学会(IEEE)的IEEE802局域网协议标准以及美国电子工业协会(EIA)的RS 系列标准等都是著名的国际标准。这些标准的制定为计算机通信和网络技术的应用和发展起 到积极的推动作用。 2.2 开放系统互连参考模型 2.2.1 开放系统互连参考模型的形成 20世纪70年代以来,国外一些主要计算机公司纷纷开展计算机网络研究并相继推出自 己的产品。与此同时,提出了各种各样的网络体系结构和协议。例如,IBM公司的SNA、DEC 公司的DNA等等。网络体系结构出现后,使得一个公司所生产的各种设备都能够很容易地互 连,但如果同时又购买了其他公司的产品,由于网络体系结构的不同,就很难互相连通。然 而全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体 系结构的计算机网络都能互连,国际标准化组织(ISO,International Standard Organization)于1977年成立了专门机构研究网络体系结构与网络协议的国际标准化问题, 经过多年卓有成效的工作,提出了一个试图使各种计算机在世界范围内互连成网的标准框架, 即著名的开放系统互连参考模型(OSI/RM,Open System Interconnection/Reference Model), 简称为OSI。“开放”是指:只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、 也遵循这同一标准的其他任何系统进行通信。“系统”是指在现实的系统中与互连有关的各部 21 计算机网络技术及应用 分。所以开放系统互连参考模型OSI/RM是个抽象的概念。在1983年形成了开放系统互连基 本参考模型正式文件,即著名的ISO7498国际标准。这就是我们平常说的OSI参考模型,也 称OSI七层模型。 由于ISO组织的权威性,使OSI/RM成为广大厂商努力遵循的标准。OSI为连接分布式应 用处理的“开放”系统提供了基础。 2.2.2 OSI参考模型层次划分的原则 计算机网络系统拥有各种不同的功能,根据分而治之的原则,ISO将整个通信功能划分 为七个层次,划分的原则如下。 ⑴网络中所有节点都划分为相同的层次结构,每个相同的层次都有相同的功能。 ⑵同一节点内各相邻层次之间通过接口协议进行通信。 ⑶每一层使用下一层提供的服务,并向它的上层提供服务。 ⑷不同节点的同等层按照协议实现同等层之间的通信。 2.2.3 OSI参考模型的七层结构 OSI参考模型只给出了一些原则性的说明,并不是一个真正具体的网络,它将整个网络 的功能划分为七个层次,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和 应用层,如图2-1所示。 系统A 系统B 7 应用层协议 接口协议 6 表示层协议 5 会话层协议 4 传输层协议 3 网络层协议 2 链路层协议 1 物理层协议 图2-1 OSI参考模型 应用层 数据链路层 表示层 会话层 传输层 网络层 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 物理层 物 理 介 质 1.OSI参考模型的主要特性 ⑴它是一种将异构系统互连的分层结构,提供了控制互连系统交互规则的标准框架; 22 第二章 计算机网络体系结构 ⑵它定义了一种抽象结构,而并非具体实现的描述; ⑶不同系统上的相同层的实体为同等层实体,同等层实体之间通信由该层的协议管理; ⑷一个系统内相邻层之间的接口协议定义了基本(原语)操作和低层向上层提供的服务; ⑸所有提供的公共服务是面向连接的或无连接的数据通信服务; ⑹每层完成所定义的功能,修改本层的功能并不影响其他层。 2.OSI参考模型的信息流动 在OSI参考模型中,系统A的用户向系统B的用户传送数据时,首先系统A的用户把 需要传输的信息(data)告诉系统A的应用层,并发布命令,然后由应用层加上应用层的头 信息送到表示层,表示层再加上表示层的控制头信息送往会话层,会话层再加上会话层的控 制头信息送往传输层。依此类推,数据报文到达数据链路层,数据链路层加上控制头信息和 尾信息,形成数据帧,最后送往物理层,物理层不考虑信息的实际含义,以比特(bit)流(0、 1代码)传送到物理信道(传输介质),到达系统B的物理层,系统B将物理层所接收的比 特流数据送往数据链路层,以此向上层传送,直到传送到应用层,告诉系统B的用户,如图 2-2所示。这样看起来好像是对方应用层直接发送来的信息,但实际上相应层之间的通信是 虚通信,这个过程可以用一个简单的例子来描述。有一封信从最高层向下传,每经过一层就 包上一个新的信封。包有多个信封的信传送到目的站后,从第一层起,每层拆开一个信封后 就交给它的上一层。传到最高层后,取出发信人所发的信交给收信用户。 图2-2 OSI七层模型中各层数据单元的形成及流动 2.2.4 OSI参考模型各层功能概述 1.物理层(Physical Layer) 物理层是OSI参考模型的最低层,它建立在传输介质基础上,利用物理传输介质为数据 链路层提供物理连接。主要任务是在通信线路上传输数据比特流。此层按照传输介质的电气 或机械特性的不同,传送不同格式的数据,传送数据的单位为bit。 由于在OSI参考模型的七层中,低层直接为其上一层提供服务,所以当数据链路层发出 请求:在两个数据链路实体间要建立物理连接时,物理层应能立即为它们建立相应的物理连 接。当然,如物理连接不再需要时,物理层应立即拆除。 物理层的主要功能是在物理介质上传输二进制数据比特流;提供为建立、维护和拆除物 23 计算机网络技术及应用 理连接所需的机械、电气和规程方面的特性。 2.数据链路层(Data Link Layer) 在物理层传送的比特流的基础上,数据链路层负责建立相邻节点之间的数据链路,提供 节点之间的可靠的数据传输。这一层将接收到的二进制数据流封装成帧(包含目的地址、源 地址、数据段以及其他控制信息),然后按顺序传输帧,并负责处理接收端发回的确认帧的信 息。 数据链路层的功能还有:通过CRC校验等方法,捕获和改正检测到的帧中数据位错误。 这些错误包括传输出错、格式出错以及操作出错,也可能是因为物理连接或相应的数据链路 本身错误所致。如果数据链路层检测出是在发送数据时出错,它将请求发送端重发。 另外,数据链路层还要解决发送和接收双方的速度匹配问题,即流量控制。 3.网络层(Network Layer) 数据在网络层被转换为数据分组,然后通过路径选择、流量、差错、顺序、进/出路由 等控制,将数据从物理连接的一端传送到另一端,并负责点到点之间通信联系的建立、维护 和结束。它通过执行路由算法,为分组通过通信子网选择最适当的路径,还要执行拥塞控制 与网络互连等功能,是OSI参考模型中最复杂的一层。 4.传输层(Transport Layer) 传输层是面向应用的高层和与网络有关的低层协议之间的接口,其下三层与数据传输问 题有关,其上三层与应用问题有关。传输层的目的是提供在不同系统间数据传输服务。在网 内两实体间建立端到端通信信道,提供两端点之间的可靠、透明数据传输;执行端到端差错 检测和恢复、顺序控制和流量控制功能,并管理多路复用。它为会话层提供与网络类型无关 的可靠信息传送机制,它向会话层屏蔽了下层数据通信的细节,是计算机网络通信体系结构 中最关键的一层。 5.会话层(Session Layer) 会话层负责控制每一站究竟什么时间可以传送与接收数据,为不同用户提供建立会话关 系,并对会话进行有效管理。例如,当许多用户同时收发信息时,该层主要控制、决定何时 发送或接收信息,才不会有“碰撞”发生。 6.表示层(Presentation Layer) 表示层是为了在不同系统之间的不同信息表示能够相互理解对方数据的含义以便进行 通信而设置的,它负责将数据转换为发送方和接收方都能识别的格式。另外,表示层还负责 诸如数据压缩和恢复、加密和解密等服务。 7.应用层(Application Layer) 应用层是OSI参考模型的最高层,它与用户直接联系,负责网络中应用程序与网络操作 系统之间的联系,包括建立与结束使用者之间的联系,监督并且管理相互连接起来的应用系 统以及所使用的应用资源。例如为用户提供各种服务,包括文件传输、远程登录、电子邮件 以及网络管理等。 在OSI七层模型中,每一层都提供一个特殊的网络功能。 ⑴从功能的角度观察,下面四层(物理层、数据链路层、网络层和传输层)主要提供数 据传输功能,以节点到节点之间的通信为主;上面三层(会话层、表示层和应用层)则以提 供使用者与应用程序之间的处理功能为主。也就是说,下面四层属于通信功能,上面三层属 24 第二章 计算机网络体系结构 于处理功能。 ⑵从网络产品的角度观察,对于局域网来说,最下面三层(物理层、数据链路层和网络 层)直接做在网卡上,其余的四层则由网络操作系统来控制。 2.3 TCP/IP体系结构 OSI参考模型试图达到一种理想境界,即全世界的计算机网络都遵循这统一的标准,因 而所有的计算机都能方便的互连和交换数据,然而由于OSI标准制定周期太长、协议实现过 分复杂及OSI的层次划分不太合理等原因。当到了20世纪90年代初期,虽然整套的OSI标 准都已制定出来,但当时的Internet已抢先在全世界覆盖了相当大的范围,因此网络体系结 构得到广泛应用的并不是国际标准的OSI,而是应用在Internet上的非国际标准的TCP/IP 体系结构。这样,TCP/IP就称为事实上的国际标准。 TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网际 协议,它源于ARPANET网,现在已成为Internet互联网的通信协议。TCP/IP成功地解决了 不同网络之间难以互连的问题,实现了异构网的互连。我们提到的TCP/IP并不一定是指TCP 和IP这两个具体的协议,而是表示Internet所使用的体系结构或是指整个TCP/IP协议族。 TCP/IP参考模型分为4层:应用层、传输层、网际层和主机至网络层。图2-3给出了 TCP/IP与OSI体系结构的对比。 图2-3 TCP/IP分层结构与OSI的对照关系 1.主机至网络层 主机至网络层(网络接口层)是TCP/IP模型的最低层,它对应OSI的物理层和数据链 路层。TCP/IP并没有定义具体的该层协议。它负责网际层与硬件设备间的联系,指出主机必 须使用某种协议与网络相连。 2.网际层 它是整个体系结构的关键部分,其功能是使主机可以将分组发往任何网络并使分组独立 地传向目的主机(可能经由不同的网络)。这些分组到达的顺序和发送的顺序可能不同,因此 如果要求按顺序发送和接收时,高层必须对分组排序。 网际层定义的正式分组格式和协议是IP协议(Internet Protocol)。网际层的功能就 25 计算机网络技术及应用 是把IP分组发送到应该去的地方。分组路由和避免拥塞是网际层主要解决的问题,所以, TCP/IP的网际层和OSI的网络层在功能上非常相似。 3.传输层 传输层解决的是计算机程序到程序之间的通信问题,即通常所说的“端到端”的通信。 它的功能是使源端和目的端主机上的对等实体可以进行会话,和OSI的传输层一样,传输层 定义了两个端到端的协议。第一个是传输控制协议TCP(Transmission Control Protocol), 它是一个面向连接的协议,允许从一台机器发出的字节流无差错地发往互联网上的其他机器。 它把输入的字节流分成报文段并传给网际层。在接收端,TCP接收进程把收到的报文再组装 成字节流传送给应用层。TCP同时要完成流量控制功能,以避免快速发送方向低速接收方发 送过多报文而使接收方无法处理。 第二个协议是用户数据报协议UDP(User Datagram Protocol),它是一个不可靠的、无 连接协议。一些只包含简单查询和应答的应用适合使用UDP数据报服务,因为数据报服务不 用建立和结束虚拟通道,因而不会有额外的建立和终止虚拟通道的花销。UDP是一种简单的 协议机制,通信开销小,效率高,比较适用于快速递交比准确递交更重要的应用程序,如传 输语音或影像。 TCP是一个可靠的协议,因为它有差错检查和握手确认来保证数据完整地到达目的地。 UDP则不能保证数据报的接收顺序同发送顺序相同,甚至不能保证它们是否全部到达。 4.应用层 应用层提供一组常用的应用程序给用户,应用程序和传输层协议相配合,完成发送或接 收数据。每个应用程序都有自己的数据格式,它可以是一系列报文或字节流,但不管采用哪 种格式,都要将数据传送给传输层以便交换。 应用层包含所有的高层协议,如文件传输协议FTP、电子邮件协议SMTP、超文本传输协 议HTTP等。 2.4 计算机局域网协议 在定义和制定局域网协议时,一方面要参考ISO/OSI参考模型的原则,并尽可能与之靠 近,以便引用广域网中较成熟的技术和经验,并简便地把LAN连接到WAN上;另一方面还必 须结合LAN的特点,防止LAN协议不必要的复杂化,并能很好地满足LAN应用的需要。 从总体上看,局域网协议较为简单,一般仅有二层或三层。物理层与OSI定义的类似, 国际标准化组织已经对物理介质、附属设备和层间接口做了定义说明。由于局域网多采用广 播通信技术,需要很好地解决信道争用问题,故数据链路层的一些细节问题与OSI定义的不 同。OSI的第三层网络层主要解决路径选择问题,由于局域网没有路由问题,一个节点发出 的信息其他节点都可以收到,而且只有一条公共信道,所以局域网一般不设该层,OSI网络 层的其他功能合并到数据链路层。对于第四到第七层,局域网系统没有明确的定义,故高层 仍用OSI的协议标准,多把其他高层作为一层来处理。 国际上研究局域网协议标准的机构主要有美国电气与电子工程师协会计算机局域网标 准化委员会(简称IEEE802委员会)、欧洲计算机制造厂商协会(ECMA)和国际电工委员会 26 第二章 计算机网络体系结构 (IEC),其中最有影响的是IEEE802委员会,该委员会专门从事局域网的标准化研究工作, 并形成了IEEE802标准系列。IEEE802标准已被美国国家标准局(ANSI)接收为美国国家标 准,1984年3月被ISO作为国际标准,称为ISO8802。 2.4.1 IEEE802标准简介 在ISO/OSI参考模型中,其低三层协议是依赖具体网络的,计算机局域网是一种具体的 网络,共享信道是它的特性。遵循ISO/OSI参考模型的原则,IEEE802系列标准协议主要解 决局域网低三层的功能,其对应的LAN/RM如图2-4所示。 网际层 LLC子层 MAC子层 物理层 图2-4 LAN/RM IEEE802标准的物理层处理机械、电气、功能和规程等方面的特性,其功能主要有:对 信号的编码和译码、生成和去掉用于同步的前导码以及发送和接收比特流,提供建立、维护 和断开物理连接的物理实施。 局域网拓扑结构简单,共享传输介质,在任意两个节点之间都有唯一的路由,所以网络 层不存在路由选择问题,其他的功能如流量控制、寻址、差错控制等功能可由数据链路层完 成,因此,IEEE802标准不单独设立网络层。但考虑到多个IEEE802局域网需要互连,IEEE802 在LLC之上设立了网际层。 在ISO/OSI参考模型中,数据链路层的功能简单,它只负责把数据从一个节点可靠地传 输到相邻的节点。但在局域网中,多个站点共享传输介质,在节点间传输数据之前必须首先 解决由哪个设备使用传输介质,因此数据链路层要有介质访问控制功能。由于介质的多样性, 所以必须提供多种介质访问控制方法。为此IEEE802标准把数据链路层划分为两个子层:逻 辑链路控制(LLC)子层和介质访问控制(MAC)子层。LLC子层负责向网际层提供服务(一 种是无连接的服务;一种是面向连接的服务。其中,面向连接的服务能够提供可靠的通信), 它提供的主要功能是寻址、差错控制和流量控制等;MAC子层的主要功能是控制对传输介质 的访问,不同类型的LAN,需要采用不同的控制法。并且在发送数据时负责把数据组装成带 有地址和差错校验段的帧,在接收数据时负责把帧拆封,执行地址识别和差错校验。LLC子 层和MAC子层的功能分工使得LLC对各种物理介质的访问在MAC子层完全透明,即各种MAC 子层与LLC子层的界面是一致的。换句话说,LLC子层协议独立于各种LAN的MAC子层和物 理层协议。 2.4.2 IEEE802标准系列 对于使用不同传输介质的不同局域网,IEEE局域网标准委员会分别制定了不同的标准, 适用于不同的网络环境,这些标准如表2-1所示。 27 计算机网络技术及应用 表2-1 IEEE802标准系列 标 准 职 责 标 准 职 责 IEEE802.1 网络互操作与网络互连 IEEE802.7 宽带局域网络标准 IEEE802.2 逻辑链路控制子层协议 IEEE802.8 光纤局域网络标准 IEEE802.3 CSMA/CD及100 BASE-X IEEE802.9 综合话音数据局域网 IEEE802.4 令牌总线网 IEEE802.10 LAN的安全性技术 IEEE802.5 令牌环网 IEEE802.11 无线网络标准 IEEE802.6 城域网(MAN)标准 IEEE802.12 100 VG-AnyLAN 这些标准在物理层和MAC子层有区别,但在逻辑链路控制子层(LLC)是兼容的。 IEEE802.1:LAN体系结构及网络互连标准,负责处理802其他各标准间的互操作性、网 络互连及系统管理等。 IEEE802.2:逻辑链路控制(LLC)子层协议,负责向网际层提供数据的准确无误地传输。 IEEE802.3:定义使用CSMA/CD协议和总线拓扑的网络,采用载波监听多路访问控制方 法和物理技术规范。对802.3标准的一项补充是Grand Junction Network公司向IEEE提交 的100 BASE-X(快速以太网)建议。 IEEE802.4:定义了一种使用宽频带或单信道媒体的令牌总线拓扑网络。运用这种拓扑, 在网络负荷量大的情况下,网络性能将优于CSMA/CD网络。 IEEE802.5:规定了令牌环网的拓扑,在这种拓扑结构中,电缆形成一个闭合的环。此 网络标准的每个环网最多可以连接250个节点,数据传输速率为4Mb/s或16Mb/s。当节点接 收到一个令牌帧时,它才对环网具有访问权,才能发送信息。 IEEE802.6:针对城域网提出了一种快速而经济的LAN方案。该方案采用了西澳大利亚 大学建议的分布式队列双总线技术。 IEEE802.7:用于宽频带传输网,负责制定使用宽频带技术及其安装方法的网络标准。 IEEE802.8:用在光纤电缆网中,作为802.3~802.5这几种标准中定义的电缆的替代标 准。 IEEE802.9:用在数据和语音综合网中。其目标是建立一种与ISDN和802.2技术标准相 兼容的标准。 IEEE802.10:负责处理局域网中诸如加密和与OSI参考模型相兼容的安全结构问题。 IEEE802.11:处理无线网络的安全及网络协议和接口标准问题。 IEEE802.12:解决使用需求优先协议和四重信号法的100Mb/s以太网标准。 IEEE802标准与OSI参考模型之间的关系如图2-5所示。 28 第二章 计算机网络体系结构 OSI/RM 其 他 高 层 网络层 IEEE802.1 网际层 IEEE802.2 LLC子层 数 据 链路层 IEEE 802.3 IEEE 802.4 IEEE 802.5 IEEE 802.6 IEEE 802.7 IEEE 802.8 … MAC子层 物理层 CSMA/CD 介质 Token-Bus 介质 Token-Ring 介质 MAN 介质 宽带 电缆 光纤 电缆 物理层 图2-5 OSI参考模型与IEEE802标准之间的关系 习 题 二 1.什么是网络协议?网络协议的要素有哪些? 2.计算机网络体系结构的概念? 3.OSI参考模型包括哪些层次?各层次的主要功能是什么? 4.OSI参考模型存在哪些不足?为什么TCP/IP参考模型成为了事实上的国际标准? 5.TCP/IP参考模型分为哪些层次?各层次的功能是什么? 6.IEEE802委员会针对哪一种网络制定了哪些通信标准?并画出它们之间的关系图? 7.试说明LAN标准的特点?为什么要将数据链路层分为两个子层? 8.在IEEE802标准中,MAC子层协议主要用于解决什么问题?LLC子层协议又提供哪些 功能和服务? 9.著名的网络标准化组织有哪些? 29