第二章计算机网络体系结构 体系结构是研究系统各部分组成及相互关系的。计算机网络体系结构采用分层结构,定 义和描述了用于计算机及其通信设备之间互连的标准和规则的集合。按照这组规则可以方便 地实现计算机设备之间的数据通信 本章我们主要介绍以下几个问题: ·网络体系结构的基本概念 开放系统互连参考模型(OSI七层模型) TCP/IP体系结构 IEEE802标准系列 2.1网络体系结构的基本概念 2.1.1网络的层次结构 计算机网络是一个涉及通信系统和计算机系统的复杂系统。为了降低系统的设计和实现 的难度,把计算机网络要实现的功能进行结构化和模块化的设计,将整体功能分为几个相对 独立的子功能层次,各个功能层次间进行有机的连接,下层为其上一层提供必要的功能服务。 这种层次结构的设计称为网络层次结构模型。 网络层次结构模型包含两个方面的内容:一是将网络功能分解到若干层次,在每一个功 能层次中,通信双方共同遵守该层次的约定和规程,这些约定和规程称为同层协议;二是层 次之间逐层过渡,上一层向下一层提出服务要求,下一层完成上一层提出的要求。上一层必 须做好进入下一层的准备工作,这种两个相邻层次之间要完成的过渡条件,叫做接口协议 接口协议可以通过硬件实现,也可以采用软件实现,例如,数据格式的变换、地址的映射等 网络层次结构模型的好处是:各层之间相互独立,各层实现技术的改变不影响其他层, 易于实现和维护,有利于促进标准化,为计算机网络协议的设计和实现提供了很大方便 2.1.2网络协议 在网络中包含多种计算机系统,它们的硬件和软件各不相同,要实现共享计算机网络的 资源,以及在网络中交换信息,就需要实现不同系统的实体间的相互通信。这里的实体是指 各种应用程序、文件传送软件、数据库管理系统、电子邮件系统及终端等。系统包括计算机、 终端和各种设备等。一般说来,实体是指能发送和接收信息的任何个体,而系统是物理上明 显的物体,它包括一个或多个实体。两个实体要想实现通信,它们必须具有相同的语言,交 流什么、怎样交流及何时交流等,必须遵守有关实体间某些相互都能接受的一些规则,这些 规则的集合称为协议( Protocol),因此,为进行网络中的数据交换而建立的规则、标准或
第二章 计算机网络体系结构 体系结构是研究系统各部分组成及相互关系的。计算机网络体系结构采用分层结构,定 义和描述了用于计算机及其通信设备之间互连的标准和规则的集合。按照这组规则可以方便 地实现计算机设备之间的数据通信。 本章我们主要介绍以下几个问题: ·网络体系结构的基本概念 ·开放系统互连参考模型(OSI 七层模型) ·TCP/IP 体系结构 ·IEEE802 标准系列 2.1 网络体系结构的基本概念 2.1.1 网络的层次结构 计算机网络是一个涉及通信系统和计算机系统的复杂系统。为了降低系统的设计和实现 的难度,把计算机网络要实现的功能进行结构化和模块化的设计,将整体功能分为几个相对 独立的子功能层次,各个功能层次间进行有机的连接,下层为其上一层提供必要的功能服务。 这种层次结构的设计称为网络层次结构模型。 网络层次结构模型包含两个方面的内容:一是将网络功能分解到若干层次,在每一个功 能层次中,通信双方共同遵守该层次的约定和规程,这些约定和规程称为同层协议;二是层 次之间逐层过渡,上一层向下一层提出服务要求,下一层完成上一层提出的要求。上一层必 须做好进入下一层的准备工作,这种两个相邻层次之间要完成的过渡条件,叫做接口协议。 接口协议可以通过硬件实现,也可以采用软件实现,例如,数据格式的变换、地址的映射等。 网络层次结构模型的好处是:各层之间相互独立,各层实现技术的改变不影响其他层, 易于实现和维护,有利于促进标准化,为计算机网络协议的设计和实现提供了很大方便。 2.1.2 网络协议 在网络中包含多种计算机系统,它们的硬件和软件各不相同,要实现共享计算机网络的 资源,以及在网络中交换信息,就需要实现不同系统的实体间的相互通信。这里的实体是指 各种应用程序、文件传送软件、数据库管理系统、电子邮件系统及终端等。系统包括计算机、 终端和各种设备等。一般说来,实体是指能发送和接收信息的任何个体,而系统是物理上明 显的物体,它包括一个或多个实体。两个实体要想实现通信,它们必须具有相同的语言,交 流什么、怎样交流及何时交流等,必须遵守有关实体间某些相互都能接受的一些规则,这些 规则的集合称为协议(Protocol),因此,为进行网络中的数据交换而建立的规则、标准或 20
第二章计算机网络体系结构 约定即称为网络协议 网络协议一般由语法、语义和时序三要素组成 语法:包括数据与控制信息的结构或格式 语义:包括用于协调同步和差错处理的控制信息; 同步:包括速度匹配和事件实现顺序的详细说明。 2.1.3网络体系结构 计算机网络的层次及各层协议的集合,即是网络体系结构( Architecture)。具体地说, 网络体系结构是关于计算机网络应设置哪几层,每个层次又应提供哪些功能的精确定义。至 于这些功能应如何实现,则不属于网络体系结构部分。换言之,网络体系结构只是从层次结 构及功能上来描述计算机网络的结构,并不涉及每一层硬件和软件的组成,更不涉及这些硬 件和软件本身的实现问题。由此可见,网络体系结构是抽象的、是存在于书面上的对精确定 义的描述。而对于为完成规定功能所用硬件和软件的具体实现问题,则并不属于网络体系结 构的范畴。可见,对于同样的网络体系结构,可采用不同的方法设计出完全不同的硬件和软 件来为相应层次提供完全相同的功能和接口 与这种体系结构密切相关的一个非常重要的问题是关于网络体系结构的标准化。世界上 一些主要的标准化组织在这方面做了卓有成效的工作,研究和制定了一系列有关数据通信和 计算机网络的国际标准。国际标准化组织(IS0)的开放系统互连(OSI)参考模型、国际电 信联合会(ITU,原名为国际电报电话咨询委员会 CCITT)的X系列和V系列建议书、美国电 气电子工程师学会(IEE)的IEEE802局域网协议标准以及美国电子工业协会(EIA)的RS 系列标准等都是著名的国际标准。这些标准的制定为计算机通信和网络技术的应用和发展起 到积极的推动作用 2.2开放系统互连参考模型 2.2.1开放系统互连参考模型的形成 20世纪70年代以来,国外一些主要计算机公司纷纷开展计算机网络研究并相继推出自 己的产品。与此同时,提出了各种各样的网络体系结构和协议。例如,IBM公司的SNA、DEC 公司的DNA等等。网络体系结构出现后,使得一个公司所生产的各种设备都能够很容易地互 连,但如果同时又购买了其他公司的产品,由于网络体系结构的不同,就很难互相连通。然 而全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体 系结构的计算机网络都能互连,国际标准化组织(IS0, International Standard Organization)于1977年成立了专门机构研究网络体系结构与网络协议的国际标准化问题, 经过多年卓有成效的工作,提出了一个试图使各种计算机在世界范围内互连成网的标准框架, 即著名的开放系统互连参考模型(OSI/RM, Open System Interconnection/ Reference model) 简称为0SI。“开放”是指:只要遵循0SI标准,一个系统就可以和位于世界上任何地方的、 也遵循这同一标准的其他任何系统进行通信。“系统”是指在现实的系统中与互连有关的各部
第二章 计算机网络体系结构 约定即称为网络协议。 网络协议一般由语法、语义和时序三要素组成。 语法:包括数据与控制信息的结构或格式; 语义:包括用于协调同步和差错处理的控制信息; 同步:包括速度匹配和事件实现顺序的详细说明。 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
计算机网络技术及应用 分。所以开放系统互连参考模型0SI/RM是个抽象的概念。在1983年形成了开放系统互连基 本参考模型正式文件,即著名的IS07498国际标准。这就是我们平常说的0SI参考模型,也 称0SI七层模型。 由于ISO组织的权威性,使OSI/RM成为广大厂商努力遵循的标准。OSI为连接分布式应 用处理的“开放”系统提供了基础。 2.2.20s参考模型层次划分的原则 计算机网络系统拥有各种不同的功能,根据分而治之的原则,IS0将整个通信功能划分 为七个层次,划分的原则如下。 (1)网络中所有节点都划分为相同的层次结构,每个相同的层次都有相同的功能。 (2)同一节点内各相邻层次之间通过接口协议进行通信 (3)每一层使用下一层提供的服务,并向它的上层提供服务 (4)不同节点的同等层按照协议实现同等层之间的通信 2.2.30S|参考模型的七层结构 0SⅠ参考模型只给出了一些原则性的说明,并不是一个真正具体的网络,它将整个网络 的功能划分为七个层次,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和 应用层,如图2-1所示 系统B 7应用层 应用层协议 应用层 表示层协议 表示层 会话层协这□ 传输层 传输层协议 传输层 网络层 网络层协议 络层 2 数据链路层|4 链路层协议 数据链路层 物理层 物理层协议 物理层 物理介质 图2-10s参考模型 1.0SI参考模型的主要特性 (1)它是一种将异构系统互连的分层结构,提供了控制互连系统交互规则的标准框架; 22
计算机网络技术及应用 分。所以开放系统互连参考模型 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)它定义了一种抽象结构,而并非具体实现的描述 (3)不同系统上的相同层的实体为同等层实体,同等层实体之间通信由该层的协议管理; (4)一个系统内相邻层之间的接口协议定义了基本(原语)操作和低层向上层提供的服务 (5所有提供的公共服务是面向连接的或无连接的数据通信服务; (6)每层完成所定义的功能,修改本层的功能并不影响其他层 2.0SⅠ参考模型的信息流动 在OSI参考模型中,系统A的用户向系统B的用户传送数据时,首先系统A的用户把 需要传输的信息(data)告诉系统A的应用层,并发布命令,然后由应用层加上应用层的头 信息送到表示层,表示层再加上表示层的控制头信息送往会话层,会话层再加上会话层的控 制头信息送往传输层。依此类推,数据报文到达数据链路层,数据链路层加上控制头信息和 尾信息,形成数据帧,最后送往物理层,物理层不考虑信息的实际含义,以比特(bit流(0、 1代码)传送到物理信道(传输介质),到达系统B的物理层,系统B将物理层所接收的比 特流数据送往数据链路层,以此向上层传送,直到传送到应用层,告诉系统B的用户,如图 2-2所示。这样看起来好像是对方应用层直接发送来的信息,但实际上相应层之间的通信是 虚通信,这个过程可以用一个简单的例子来描述。有一封信从最高层向下传,每经过一层就 包上一个新的信封。包有多个信封的信传送到目的站后,从第一层起,每层拆开一个信封后 就交给它的上一层。传到最高层后,取出发信人所发的信交给收信用户。 d系统A data datall 图2-20S|七层模型中各层数据单元的形成及流动 2.2.40S|参考模型各层功能概述 1.物理层( Physical Layer) 物理层是0SI参考模型的最低层,它建立在传输介质基础上,利用物理传输介质为数据 链路层提供物理连接。主要任务是在通信线路上传输数据比特流。此层按照传输介质的电气 或机械特性的不同,传送不同格式的数据,传送数据的单位为bit。 由于在OSI参考模型的七层中,低层直接为其上一层提供服务,所以当数据链路层发出 请求:在两个数据链路实体间要建立物理连接时,物理层应能立即为它们建立相应的物理连 接。当然,如物理连接不再需要时,物理层应立即拆除。 物理层的主要功能是在物理介质上传输二进制数据比特流:提供为建立、维护和拆除物 23
第二章 计算机网络体系结构 ⑵它定义了一种抽象结构,而并非具体实现的描述; ⑶不同系统上的相同层的实体为同等层实体,同等层实体之间通信由该层的协议管理; ⑷一个系统内相邻层之间的接口协议定义了基本(原语)操作和低层向上层提供的服务; ⑸所有提供的公共服务是面向连接的或无连接的数据通信服务; ⑹每层完成所定义的功能,修改本层的功能并不影响其他层。 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) 数据在网络层被转换为数据分组,然后通过路径选择、流量、差错、顺序、进/出路由 等控制,将数据从物理连接的一端传送到另一端,并负责点到点之间通信联系的建立、维护 和结束。它通过执行路由算法,为分组通过通信子网选择最适当的路径,还要执行拥塞控制 与网络互连等功能,是0SI参考模型中最复杂的一层 4.传输层( Transport Layer) 传输层是面向应用的高层和与网络有关的低层协议之间的接口,其下三层与数据传输问 题有关,其上三层与应用问题有关。传输层的目的是提供在不同系统间数据传输服务。在网 内两实体间建立端到端通信信道,提供两端点之间的可靠、透明数据传输:执行端到端差错 检测和恢复、顺序控制和流量控制功能,并管理多路复用。它为会话层提供与网络类型无关 的可靠信息传送机制,它向会话层屏蔽了下层数据通信的细节,是计算机网络通信体系结构 中最关键的一层 5.会话层( Session layer) 会话层负责控制每一站究竟什么时间可以传送与接收数据,为不同用户提供建立会话关 系,并对会话进行有效管理。例如,当许多用户同时收发信息时,该层主要控制、决定何时 发送或接收信息,才不会有“碰撞”发生 6.表示层( Presentation Layer) 表示层是为了在不同系统之间的不同信息表示能够相互理解对方数据的含义以便进行 通信而设置的,它负责将数据转换为发送方和接收方都能识别的格式。另外,表示层还负责 诸如数据压缩和恢复、加密和解密等服务。 7.应用层( Application layer) 应用层是OSI参考模型的最高层,它与用户直接联系,负责网络中应用程序与网络操作 系统之间的联系,包括建立与结束使用者之间的联系,监督并且管理相互连接起来的应用系 统以及所使用的应用资源。例如为用户提供各种服务,包括文件传输、远程登录、电子邮件 以及网络管理等。 在SⅠ七层模型中,每一层都提供一个特殊的网络功能 (1)从功能的角度观察,下面四层(物理层、数据链路层、网络层和传输层)主要提供数 据传输功能,以节点到节点之间的通信为主:上面三层(会话层、表示层和应用层)则以提 供使用者与应用程序之间的处理功能为主。也就是说,下面四层属于通信功能,上面三层属
计算机网络技术及应用 理连接所需的机械、电气和规程方面的特性。 2.数据链路层(Data Link Layer) 在物理层传送的比特流的基础上,数据链路层负责建立相邻节点之间的数据链路,提供 节点之间的可靠的数据传输。这一层将接收到的二进制数据流封装成帧(包含目的地址、源 地址、数据段以及其他控制信息),然后按顺序传输帧,并负责处理接收端发回的确认帧的信 息。 数据链路层的功能还有:通过 CRC 校验等方法,捕获和改正检测到的帧中数据位错误。 这些错误包括传输出错、格式出错以及操作出错,也可能是因为物理连接或相应的数据链路 本身错误所致。如果数据链路层检测出是在发送数据时出错,它将请求发送端重发。 另外,数据链路层还要解决发送和接收双方的速度匹配问题,即流量控制。 3.网络层(Network Layer) 数据在网络层被转换为数据分组,然后通过路径选择、流量、差错、顺序、进/出路由 等控制,将数据从物理连接的一端传送到另一端,并负责点到点之间通信联系的建立、维护 和结束。它通过执行路由算法,为分组通过通信子网选择最适当的路径,还要执行拥塞控制 与网络互连等功能,是 OSI 参考模型中最复杂的一层。 4.传输层(Transport Layer) 传输层是面向应用的高层和与网络有关的低层协议之间的接口,其下三层与数据传输问 题有关,其上三层与应用问题有关。传输层的目的是提供在不同系统间数据传输服务。在网 内两实体间建立端到端通信信道,提供两端点之间的可靠、透明数据传输;执行端到端差错 检测和恢复、顺序控制和流量控制功能,并管理多路复用。它为会话层提供与网络类型无关 的可靠信息传送机制,它向会话层屏蔽了下层数据通信的细节,是计算机网络通信体系结构 中最关键的一层。 5.会话层(Session Layer) 会话层负责控制每一站究竟什么时间可以传送与接收数据,为不同用户提供建立会话关 系,并对会话进行有效管理。例如,当许多用户同时收发信息时,该层主要控制、决定何时 发送或接收信息,才不会有“碰撞”发生。 6.表示层(Presentation Layer) 表示层是为了在不同系统之间的不同信息表示能够相互理解对方数据的含义以便进行 通信而设置的,它负责将数据转换为发送方和接收方都能识别的格式。另外,表示层还负责 诸如数据压缩和恢复、加密和解密等服务。 7.应用层(Application Layer) 应用层是 OSI 参考模型的最高层,它与用户直接联系,负责网络中应用程序与网络操作 系统之间的联系,包括建立与结束使用者之间的联系,监督并且管理相互连接起来的应用系 统以及所使用的应用资源。例如为用户提供各种服务,包括文件传输、远程登录、电子邮件 以及网络管理等。 在 OSI 七层模型中,每一层都提供一个特殊的网络功能。 ⑴从功能的角度观察,下面四层(物理层、数据链路层、网络层和传输层)主要提供数 据传输功能,以节点到节点之间的通信为主;上面三层(会话层、表示层和应用层)则以提 供使用者与应用程序之间的处理功能为主。也就是说,下面四层属于通信功能,上面三层属 24