第2章计算机网络体系结构 第2章 计算机网络体系结构 基本要求:掌握OSI/RM的层次结构、各层的PDU单元,掌握服务、接口和协议的概 念,掌握TCP/IP的层次结构:理解网络分层的作用:了解OSI/RM和TCPP模型的 区别。 本章难点:服务、接口和协议的概念 教学时数和实验:4学时,无实验 2.1计算机网络体系结构概述 在上一章中,我们对计算机网络作了概述。在本章中,我们将首先为同学们建立起关 于计算机网络体系结构的概念,然后介绍两个重要的计算机网络体系结构模型:ISO/OSI 参考模型和TCPP模型。 2.1.1为什么要建立计算机网络体系结构 为了能够使不同地理分布、且功能相对独立的计算机之间实现资源共享,计算机网络 系统需要涉及和解决许多复杂的问题,包括信号传输、差错控制、寻址、数据交换和提供 用户接口等一系列问题。计算机网络体系结构是我们为简化这些问题的研究、设计与实现 而抽象出来的一种结构模型。 结构模型有多种,如平面模型、层次模型和网状模型等,对于复杂的计算机网络系统, 般采用层次模型。在层次模型中,往往将系统所要实现的复杂功能分化为若干个相对简 单的细小功能,每一项分功能以相对独立的方式去实现。这样就有助于我们将复杂的问题 简化为若干个相对简单的问题,从而达到分而治之、各个击破的目的。就好比生产汽车, 从用户需求开始到汽车整机下线洗及需求分析、图纸设计、零部件生产和整机装配等众多 问题,如果不把这些问题进行一定的划分并实施人员分工的话,那么整个汽车生产过程将 会变得非常复杂甚至是混乱,所以几乎所有的汽车生产厂商都会将汽车生产的复杂过程分 解为几个相对简单的部分,并由不同的部门或人员去完成相应的工作。例如,由市场调查 与预测部门去完成关于用户对汽车性能、外观和价格等方面的需求分析:设计部门根据市 场调查与预测部门所递交的需求分析结果确定新车型,并产生新车型的设计图纸:零部件 生产部门根据设计部门所提供的设计图纸进行零部件生产:整机装配部门负责将有关的零 部件装配成汽车整机,最后完成一辆汽车的生产
第 2 章 计算机网络体系结构 1 第2章 计算机网络体系结构 基本要求:掌握 OSI/RM 的层次结构、各层的 PDU 单元,掌握服务、接口和协议的概 念,掌握 TCP/IP 的层次结构;理解网络分层的作用;了解 OSI/RM 和 TCP/IP 模型的 区别。 本章难点:服务、接口和协议的概念 教学时数和实验:4 学时,无实验 2.1 计算机网络体系结构概述 在上一章中,我们对计算机网络作了概述。在本章中,我们将首先为同学们建立起关 于计算机网络体系结构的概念,然后介绍两个重要的计算机网络体系结构模型:ISO/OSI 参考模型和 TCP/IP 模型。 2.1.1 为什么要建立计算机网络体系结构 为了能够使不同地理分布、且功能相对独立的计算机之间实现资源共享,计算机网络 系统需要涉及和解决许多复杂的问题,包括信号传输、差错控制、寻址、数据交换和提供 用户接口等一系列问题。计算机网络体系结构是我们为简化这些问题的研究、设计与实现 而抽象出来的一种结构模型。 结构模型有多种,如平面模型、层次模型和网状模型等,对于复杂的计算机网络系统, 一般采用层次模型。在层次模型中,往往将系统所要实现的复杂功能分化为若干个相对简 单的细小功能,每一项分功能以相对独立的方式去实现。这样就有助于我们将复杂的问题 简化为若干个相对简单的问题,从而达到分而治之、各个击破的目的。就好比生产汽车, 从用户需求开始到汽车整机下线涉及需求分析、图纸设计、零部件生产和整机装配等众多 问题,如果不把这些问题进行一定的划分并实施人员分工的话,那么整个汽车生产过程将 会变得非常复杂甚至是混乱,所以几乎所有的汽车生产厂商都会将汽车生产的复杂过程分 解为几个相对简单的部分,并由不同的部门或人员去完成相应的工作。例如,由市场调查 与预测部门去完成关于用户对汽车性能、外观和价格等方面的需求分析;设计部门根据市 场调查与预测部门所递交的需求分析结果确定新车型,并产生新车型的设计图纸;零部件 生产部门根据设计部门所提供的设计图纸进行零部件生产;整机装配部门负责将有关的零 部件装配成汽车整机,最后完成一辆汽车的生产
2 计算机网络基础 2.1.2计算机网络的分层模型 将上述分层的思想或方法运用于计算机网络中,就产生了计算机网络的分层模型。在 实施网络分层时要依据以下原则: ●根据功能进行抽象分层,每个层次所要实现的功能或服务均有明确的规定。 。每层功能的选择应有利于标准化。 ●不同的系统分成相同的层次,对等层次具有相同功能。 ·高层使用下层提供的服务时,下层服务的实现是不可见的 ●层的数目要适当。层次太少功能不明确,层次太多体系结构过于庞大。 +1层协议 实体长 +1层 >实体 N+L层 N层协议 N层 实体 实体 N层 接节 “接行 N-1层 实体长 -1层协议 >实体 N1层 图2.1网络分层模型的示意图 图2.1给出了计算机网络分层模型的示意图,该模型将计算机网络中的每台机器抽象为 若干层((layer), 每层实现 一种相对独立的功能。分层模型涉及下面 些重要的术语 ·实体与对等实体 每一层中,用于实现该层功能的活动元素被称为实体(entity),包括该层上实际存在的 所有硬件与软件,如终端、电子邮件系统、应用程序、进程等。 不同机器上位于同一层次、完成相同功能的实体被称为对等(peer to peer)实体。 ·协议 为了使两个对等实体之间能够有效地通信,对等实体需要就交换什么信息、如何交换 信息等问题制定相应的规则或进行某种约定。这种对等实体之间交换数据或通信时所必须 遵守的规则或标准的集合称为协议(protocol)。 协议由语法、语义和语序三大要素构成。语法包括数据格式、信号电平等:语义指协议 语法成分的含义 包括协调用的控制信息和差错管理:语序包括时序控制和速度匹配关系。 ·服务与接口 在网络分层结构模型中,每一层为相邻的上一层所提供的功能称为服务。N层使用N- 层所提供的服务,向N+1层提供功能更强大的服务。N层使用N1层所提供的服务时并不 需要知道N-】层所提供的服务是如何实现的,而只需要知道下一层可以为自己提供什么样 的服务,以及通过什么形式提供。N层向N+1层提供的服务通过N层和N+1层之间的接口 来实现。接口定义下层向其相邻的上层提供的服务及原语操作,并使下层服务的实现细节 对上层是透明的。就好比上面汽车生产的例子中,制造工程师并不关心汽车图纸是怎样设 计出来的,他们只关心能否得到一份可用于进行零部件生产的图纸以及通过什么渠道获得
2 计算机网络基础 2.1.2 计算机网络的分层模型 将上述分层的思想或方法运用于计算机网络中,就产生了计算机网络的分层模型。在 实施网络分层时要依据以下原则: ● 根据功能进行抽象分层,每个层次所要实现的功能或服务均有明确的规定。 ● 每层功能的选择应有利于标准化。 ● 不同的系统分成相同的层次,对等层次具有相同功能。 ● 高层使用下层提供的服务时,下层服务的实现是不可见的 ● 层的数目要适当。层次太少功能不明确,层次太多体系结构过于庞大。 实体 实体 实体 实体 实体 实体 N+1层 N+1层 N层 N层 N-1层 N-1层 N+1层协议 N层协议 N-1层协议 接口 接口 接口 接口 图 2.1 网络分层模型的示意图 图 2.1 给出了计算机网络分层模型的示意图,该模型将计算机网络中的每台机器抽象为 若干层(layer),每层实现一种相对独立的功能。分层模型涉及下面一些重要的术语。 ● 实体与对等实体 每一层中,用于实现该层功能的活动元素被称为实体(entity),包括该层上实际存在的 所有硬件与软件,如终端、电子邮件系统、应用程序、进程等。 不同机器上位于同一层次、完成相同功能的实体被称为对等(peer to peer)实体。 ● 协议 为了使两个对等实体之间能够有效地通信,对等实体需要就交换什么信息、如何交换 信息等问题制定相应的规则或进行某种约定。这种对等实体之间交换数据或通信时所必须 遵守的规则或标准的集合称为协议(protocol)。 协议由语法、语义和语序三大要素构成。语法包括数据格式、信号电平等;语义指协议 语法成分的含义,包括协调用的控制信息和差错管理;语序包括时序控制和速度匹配关系。 ● 服务与接口 在网络分层结构模型中,每一层为相邻的上一层所提供的功能称为服务。N 层使用 N-1 层所提供的服务,向 N+1 层提供功能更强大的服务。N 层使用 N-1 层所提供的服务时并不 需要知道 N-1 层所提供的服务是如何实现的,而只需要知道下一层可以为自己提供什么样 的服务,以及通过什么形式提供。N 层向 N+1 层提供的服务通过 N 层和 N+1 层之间的接口 来实现。接口定义下层向其相邻的上层提供的服务及原语操作,并使下层服务的实现细节 对上层是透明的。就好比上面汽车生产的例子中,制造工程师并不关心汽车图纸是怎样设 计出来的,他们只关心能否得到一份可用于进行零部件生产的图纸以及通过什么渠道获得
第2章计算机网络体系结构 这份图纸。 2.1.3关于网络分层模型的一个类比 为了帮助同学们更好地理解上面所介绍的实体、协议、服务、接口等概念,我们以如 图2.2所示的邮政系统为例来说明这个问题。假设处于A地的用户A要给处于B地的用户 B发送信件,则在信件传递的整个过程中,主要涉及到用户、邮局和运输部门三个层次。用 户A写好信的内容后,将它装在信封里并投入到邮筒里交由邮局A寄发,邮局收到信后 首先进行信件的分拣和整理,然后装入一个统一的邮包交付A地运输部门进行运输,如航 空信交民航部门,平信交铁路或公路运输部门等:B地相应的运输部门得到装有该信件的货 物箱后,将邮包从其中取出,并交给B地的邮局,B地的邮局将信件从邮包中取出投到用 户的信箱中,从而用户B收到了来自用户A的信件。 在这过程中,写信人和收信人都是最终用户,处于整个邮政系统的最高层:邮局处于 用户的下一层,是为用户服务的,对于用户来说,他只需知道如何按邮局的规定将信件内 容装入标准信封并投入邮局设置的邮筒就行了,而无需知道邮局是如何实现寄信过程的, 这个过程对用户来说是透明的。运输部门是为邮局服务的,并且负责实际的邮件的运送, 处于整个邮政系统的最底层。邮局只需将装有信件的邮包送到运输部门的货物运输接收窗 口,而无需操心邮包作为货物是如何到达异地的。在此邮筒就相当于邮局为用户提供服务 的接口,而运输部门的货物运输接收窗口则相当于运输部门为邮局提供服务的接口。 地 B地 用户间约定 用户/邮局约定 小信 邮局问约定 邮局A 邮局B 邮局/运输部门约定 个邮包 运输部门间约定 运输部门 运输部门 货物箱 图22邮政系统模型 另外,写信人与收信人、本地邮局和远地邮局、本地运输部门和远地运输部门则构成 了邮政系统分层模型中不同层上的对等实体。为了能将信件准确地由发信人送达收信人, 对等实体之间必须有一些约定或惯例。例如,写信时必须采用双方都懂的语言文字和文体 开头是对方称谓,最后是落款等。这样,对方收到信后才可以读懂信的内容,知道是谁写 的,什么时候写的等等。同样地,邮局之间要就邮戳的加盖、邮包格式等制定统一的规则 而运输部门之间也会就货物运输制定有关的航运规定。这些规则或约定就相当于网络分层 模型中的协议。从这里可以看出,协议是“水平的”,是控制对等实体间通信的规则:服务
第 2 章 计算机网络体系结构 3 这份图纸。 2.1.3 关于网络分层模型的一个类比 为了帮助同学们更好地理解上面所介绍的实体、协议、服务、接口等概念,我们以如 图 2.2 所示的邮政系统为例来说明这个问题。假设处于 A 地的用户 A 要给处于 B 地的用户 B 发送信件,则在信件传递的整个过程中,主要涉及到用户、邮局和运输部门三个层次。用 户 A 写好信的内容后,将它装在信封里并投入到邮筒里交由邮局 A 寄发,邮局收到信后, 首先进行信件的分拣和整理,然后装入一个统一的邮包交付 A 地运输部门进行运输,如航 空信交民航部门,平信交铁路或公路运输部门等;B 地相应的运输部门得到装有该信件的货 物箱后,将邮包从其中取出,并交给 B 地的邮局,B 地的邮局将信件从邮包中取出投到用 户的信箱中,从而用户 B 收到了来自用户 A 的信件。 在这过程中,写信人和收信人都是最终用户,处于整个邮政系统的最高层;邮局处于 用户的下一层,是为用户服务的,对于用户来说,他只需知道如何按邮局的规定将信件内 容装入标准信封并投入邮局设置的邮筒就行了,而无需知道邮局是如何实现寄信过程的, 这个过程对用户来说是透明的。运输部门是为邮局服务的,并且负责实际的邮件的运送, 处于整个邮政系统的最底层。邮局只需将装有信件的邮包送到运输部门的货物运输接收窗 口,而无需操心邮包作为货物是如何到达异地的。在此邮筒就相当于邮局为用户提供服务 的接口,而运输部门的货物运输接收窗口则相当于运输部门为邮局提供服务的接口。 用户A (写信人) 邮局A 运输部门 用户B (收信人) 邮局B 运输部门 用户间约定 邮局间约定 运输部门间约定 用户/邮局约定 邮局/运输部门约定 信 邮包 货物箱 A地 B地 信 邮包 图 2.2 邮政系统模型 另外,写信人与收信人、本地邮局和远地邮局、本地运输部门和远地运输部门则构成 了邮政系统分层模型中不同层上的对等实体。为了能将信件准确地由发信人送达收信人, 对等实体之间必须有一些约定或惯例。例如,写信时必须采用双方都懂的语言文字和文体, 开头是对方称谓,最后是落款等。这样,对方收到信后才可以读懂信的内容,知道是谁写 的,什么时候写的等等。同样地,邮局之间要就邮戳的加盖、邮包格式等制定统一的规则, 而运输部门之间也会就货物运输制定有关的航运规定。这些规则或约定就相当于网络分层 模型中的协议。从这里可以看出,协议是“水平的”,是控制对等实体间通信的规则;服务
4 计算机网络基础 是“垂直的”,是通过层间接口由下层向上层提供的。 从上述关于邮政系统的类比中我们还可以发现,尽管对收信人来说,信是来自于写信 人,但实际上这封信在A地历经了由用户→邮局→运输部门的过程,在B地则历经了从运 输部门→邮局)用户的过程。类以地,网络分层结构模型中的数据的传输,也不是直接从 发送方的最高层到接收方的最高层。在发送方,每一层都把协议数据交给它的下一层,直 到最下层:在接收方,则由最下层开始一层一层地往上送至最高层。在发送方由上而下的 过程中,每一层为了实现本层的功能都要加上相应的控制信息,从而被传输的数据在形式 上是战来越有杂:而到了接收方,在自下而上的时程中,每一层都要卸下在发送方对层 所加上的那些控制信息。就如同信件到了本地邮局要装入邮包中,邮包到了本地运输部门 要装入货运箱中,而一旦到达远端的运输部门,则要将邮包重新从货运箱中取出交给远端 邮局,而远端邮局要将信件重新从邮包中取出交给用户。计算机网络中分别将发送方和接 收方所历经的这种过程称为数据封装和数据拆封。 2.1.4计算机网络体系结构 引入分层模型后,我们将计算机网络系统中的层、各层中的协议以及层次之间接口的 集合称为计算机网络体系结构。但是,即使是遵循了前面所提到的网络分层原则,不同的 网络组织机构或生产厂商所给出计算机网络体系结构也不一定是相同的,关于层的数量、 各层的名称、内容与功能都可能会有所不同。 在计算机网络的发展历史中,曾出现过多种不同的计算机网络体系结构,其中包括BM 公司在1974年提出的SNA(系统网络结构)模型、DEC公司于1975年提出的DNA(分布 型网络的数字网络体系)模型等。这些由不同厂商自行提出的专用网络模型,在体系结构 上差异很大 至相互之间互不相容,更谈不上将运用不同厂商 产品的网络相互连 起宋 以构成更大的网络系统。体系结构的专用性实际上代表了一种封闭性,尤其在上个世纪7心 年代末至80年代初,一方面是计算机网络规模与数量的急剧增长,另一方面是许多按不同 体系结构实现的网络产品之间难以进行互操作,严重阻碍了计算机网络的发展。于是关于 计算机网络体系结构的标准化工作被提上了有关国际标准组织的议事日程。 2.2ISO/OSl网络参考模型 1979年,国际标准化组织(IS0)成立了一个分委员会来专门研究一种用于开放系统的 计算机网络体系结构,并于I983年正式提出了开放式系统互连OSl(Open System Interconnection)参考模型,简称OSI/RM。这是一个定义连接异种计算机的标准体系结构, 所谓开放是指任何计算机系统只要遵守这一国际标准,就能同其他位于世界上任何地方的、 也遵守该标准的计算机系统进行通信。 2.2.1IS0/Sl七层模型 ISO/OSI参考模型是一种将异构系统互连的分层结构,它定义了一种抽象结构,而并非
4 计算机网络基础 是“垂直的”,是通过层间接口由下层向上层提供的。 从上述关于邮政系统的类比中我们还可以发现,尽管对收信人来说,信是来自于写信 人,但实际上这封信在 A 地历经了由用户Æ邮局Æ运输部门的过程,在 B 地则历经了从运 输部门Æ邮局Æ用户的过程。类似地,网络分层结构模型中的数据的传输,也不是直接从 发送方的最高层到接收方的最高层。在发送方,每一层都把协议数据交给它的下一层,直 到最下层;在接收方,则由最下层开始一层一层地往上送至最高层。在发送方由上而下的 过程中,每一层为了实现本层的功能都要加上相应的控制信息,从而被传输的数据在形式 上是越来越复杂;而到了接收方,在自下而上的过程中,每一层都要卸下在发送方对等层 所加上的那些控制信息。就如同信件到了本地邮局要装入邮包中,邮包到了本地运输部门 要装入货运箱中,而一旦到达远端的运输部门,则要将邮包重新从货运箱中取出交给远端 邮局,而远端邮局要将信件重新从邮包中取出交给用户。计算机网络中分别将发送方和接 收方所历经的这种过程称为数据封装和数据拆封。 2.1.4 计算机网络体系结构 引入分层模型后,我们将计算机网络系统中的层、各层中的协议以及层次之间接口的 集合称为计算机网络体系结构。但是,即使是遵循了前面所提到的网络分层原则,不同的 网络组织机构或生产厂商所给出计算机网络体系结构也不一定是相同的,关于层的数量、 各层的名称、内容与功能都可能会有所不同。 在计算机网络的发展历史中,曾出现过多种不同的计算机网络体系结构,其中包括 IBM 公司在 1974 年提出的 SNA(系统网络结构)模型、DEC 公司于 1975 年提出的 DNA(分布 型网络的数字网络体系)模型等。这些由不同厂商自行提出的专用网络模型,在体系结构 上差异很大,甚至相互之间互不相容,更谈不上将运用不同厂商产品的网络相互连接起来 以构成更大的网络系统。体系结构的专用性实际上代表了一种封闭性,尤其在上个世纪 70 年代末至 80 年代初,一方面是计算机网络规模与数量的急剧增长,另一方面是许多按不同 体系结构实现的网络产品之间难以进行互操作,严重阻碍了计算机网络的发展。于是关于 计算机网络体系结构的标准化工作被提上了有关国际标准组织的议事日程。 2.2 ISO/OSI 网络参考模型 1979 年,国际标准化组织(ISO)成立了一个分委员会来专门研究一种用于开放系统的 计算机网络体系结构,并于 1983 年正式提出了开放式系统互连 OSI(Open System Interconnection)参考模型,简称 OSI/RM。这是一个定义连接异种计算机的标准体系结构, 所谓开放是指任何计算机系统只要遵守这一国际标准,就能同其他位于世界上任何地方的、 也遵守该标准的计算机系统进行通信。 2.2.1 ISO/OSI 七层模型 ISO/OSI 参考模型是一种将异构系统互连的分层结构,它定义了一种抽象结构,而并非
第2章计算机网络体系结构 具体实现的描述。OSI参考模型如图2.3所示,由下而上共有七层,分别为物理层、数据链 路层、网络层、传输层、会话层、表示层、应用层,也被依次称为O$第一层、第二层、… 第七层。 主机X 主机Y 应用层协议 应用层 应用层 APDU 接口 表示层协议 表示层 表示层 PPDU 接口 会话层协议 会话层 会话层 SPDU 接口 传输层协议 传输层 传输层 分段 接口 网络层协议 网络层 网络层 分组 接口1 数据链路层协议 数据链路层 数据链路层 接 物理层 物理媒介.… 物理层 比特流 图2.3IS0/0SI七层模型 2.2.2各层功能简介 1.物理层(Physical Laver) 物理层位于OS参考模型的最低层,它直接面向原始比特流的传输。为了实现原始比 特流的物理传输,物理层必须解决好包括传输介质、信道类型、数据与信号之间的转换、信号 传输中的衰减和噪声等在内的一系列问题。另外,物理层标准要给出关于物理接口的机械、 电气、功能和规程特性,以便于不同的制造厂家既能够根据公认的标准各自独立地制造设 备,又能使各个厂家的产品能够相互兼容 2.数据链路层(Data Link Layer) 在物理层发送和接收数据的过程中,会出现一些物理层自己不能解决的问题。例如 当两个节点同时试图在一条线路上发送数据时该如何处理?节点如何知道它所接收的数据 是否正确?如果噪声改变了一个分组的目标地址,节点如何察觉它丢失了本应收到的分组 呢?这些都是数据链路层所必须负责的工作。 数据链路层涉及相邻节点之间的可靠数据传输,数据链路层通过加强物理层传输原始
第 2 章 计算机网络体系结构 5 具体实现的描述。OSI 参考模型如图 2.3 所示,由下而上共有七层,分别为物理层、数据链 路层、网络层、传输层、会话层、表示层、应用层,也被依次称为 OSI 第一层、第二层、……、 第七层。 应用层 表示层 会话层 传输层 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 APDU PPDU SPDU 分段 分组 帧 比特流 主机X 主机Y 网络层 数据链路层 物理层 应用层协议 表示层协议 会话层协议 传输层协议 网络层协议 数据链路层协议 物理媒介 接口 接口 接口 接口 接口 接口 图 2.3 ISO/OSI 七层模型 2.2.2 各层功能简介 1.物理层(Physical Layer) 物理层位于 OSI 参考模型的最低层,它直接面向原始比特流的传输。为了实现原始比 特流的物理传输,物理层必须解决好包括传输介质、信道类型、数据与信号之间的转换、信号 传输中的衰减和噪声等在内的一系列问题。另外,物理层标准要给出关于物理接口的机械、 电气、功能和规程特性,以便于不同的制造厂家既能够根据公认的标准各自独立地制造设 备,又能使各个厂家的产品能够相互兼容。 2.数据链路层(Data Link Layer) 在物理层发送和接收数据的过程中,会出现一些物理层自己不能解决的问题。例如, 当两个节点同时试图在一条线路上发送数据时该如何处理?节点如何知道它所接收的数据 是否正确?如果噪声改变了一个分组的目标地址,节点如何察觉它丢失了本应收到的分组 呢?这些都是数据链路层所必须负责的工作。 数据链路层涉及相邻节点之间的可靠数据传输,数据链路层通过加强物理层传输原始