第3章 计算机网络体系结构与协议 本章教学目标: (1)认识计算机网络的基本概念。 (2)了解网络结构的分层思想。 第3章 计算机网络体系结构与协议 本章教学目标: (1)认识计算机网络的基本概念。 (2)了解网络结构的分层思想。 (3)理解OSI参考模型概念。 (4)理解TCP/IP参考模型的概念。 (5)重点掌握OSI参考模型的七层结构、功能。 (6)了解TCP/IP协议的由来。
3.1 网络体系结构的基本概念 3.2 ISO/OSI参考模型 3.3 物理层 3.4 数据链路层 3.5 网络层 3.6 传输层 3.7 会话层 3.8 表示层 3.9 应用层 3.10 网络协议 3.11 实训
3.1 网络体系结构的基本概念 所谓的网络体系结构就是为了完成主机之间的通信,把网络结构划分为有明确功能的层次,并规定了同层次虚通信的协议及相邻层次之间的接口与服务。因此,网络的层次结构模型与各层协议和层间接口的集合统称为网络体协结构。 3.1.1 网络结构的分层 3.1.2 层次体系结构
3.1.1 网络结构的分层 建立计算机网络的根本目的是实现数据通信和资源共享,而通信则是实现所有网络功能的基础和关键。对于网络通信的广泛实施,国际标准化组织(ISO)于1977年制定了异种机相互连接的标准ISO/OSI RM参考模型,给网络设计者提供了一个参考规范。在这样的规范下,计算机网络才能发展到今天这样一个结构复杂的、功能强大的庞大系统。
3.1.2 层次体系结构 一个网络协议主要由以下三个要素组成: (1)语法:即数据与控制信息的结构或格式。 (2)语义:即需要发出何种信息、完成何种动作以及做出何种应答。 (3)同步(定时):即事件实现顺序的详细说明。 实际上,我们将网络的功能分解为许多层次,每一个层次都必须解决上面三个问题,而层次之间则有相互服务的关系,下一层对上一层提供“透明”的服务。所以每一层的网络协议是计算机网络中最重要的组成部分。 在体系结构的理解中,有两个概念是非常重要的,它们是协议和协议分层。 1. 协议 2. 协议分层
3.2 ISO/OSI参考模型 3.2.1 OSI参考模型的基本概念 3.2.2 开放系统互连参考模型 3.2.3 OSI中的重要概念和术语
3.2.1 OSI参考模型的基本概念 20世纪70年代中期,网络应用已初具规模,许多公司竟相进行网络产品的开发。但由于采用的网络结构和通信规则不同,使得网络系统不能互相兼容,给用户带来不便。为了规范网络结构规则,国际标准化组织ISO于1984年提出开放互连参考模型,该模型只是对层次划分和各层协议内容作了说明,而不是指某一个具体的网络,这样各设计者可以根据这一标准,设计出符合各自特点的网络。 OSI参考模型是标准化、开放式的计算机网络层次模型。其含义是任何遵守OSI参考模型和有关标准的系统都可以互相连接。在这里“系统”是指计算机、终端或其他外部设备等。 目前用的比较普遍的是两个著名的网络体系结构,一个是国际标准化组织推出的ISO参考模型,一个是工业标准TCP/IP参考模型。
3.2.2 开放系统互连参考模型 OSI体系结构就是OSI参考模型,但不是OSI标准的全部。在OSI中,采用自上而下逐步求精法,形成三级抽象:体系结构、服务定义(service definition)和协议规范(protocol specification)。其中最高一级是约束最少的,然后逐步精细地进行描述,并加上更多约束。下面具体讲一下OSI参考模型,OSI模型是一个分层结构的模型,如图3-1所示。它定义了异种计算机互连标准的主体结构。每一层都有特定的功能,连接了较低层和较高层的服务。 图3-1 OSI参考模型
1. OSI参考模型的基本功能 ISO制定的开放系统互连基本参考模型由七层组成 (1)物理层。 (2)数据链路层。 (3)网络层。 (4)传输层。 (5)会话层。 (6)表示层。 (7)应用层。
2. OSI参考模型的主要特征 (1)OSI/RM定义的是一种抽象结构,它给出的仅是功能上和概念上的标准框架,与具体实现无关。 (2)每层是独立的,完成各自所定义的功能,对某层功能的修改不影响其他层。同一系统内部相邻实体间的接口定义了服务原语以及向上层提供的服务。 (3)不同系统的同层实体间使用该层协议进行通信,只有最底层才发生直接发送数据。 (4)两种不同的协议可能隶属于模型的同一层功能实现。如HDLC和SDLC均归属数据链路层,但它们之间并不能协同工作,只有执行相同协议的实体才能彼此通信。 (5)OSI/RM模型的最大作用是提出了功能划分原则,描述了网络通信所需的各种服务。
3.2.3 OSI中的重要概念和术语 协议与服务的概念表示,如图3-2所示。 图3-2 协议与服务
(1)开放系统互连环境:就是OSI参考模型描述的范围。其中要分清楚实系统环境和网络环境的区别。实系统环境包括计算机和数据通信网,而网络环境则是指数据通信网和计算机内的通信子系统,因此实系统包括了网络环境。 (2)实体:表示可以发送或接受信息的硬件和软件进程。一般实体是一个特定的软件模块。不同子系统中同一层相互交互实体就构成对等实体。 (3)服务:在N层中,两个实体间的通信,使这一层能够向上一层N+1层提供服务,这个服务就称为N层服务。提供N层服务的是N层服务提供者,接受N层服务的是上一层的实体,称为N层服务用户。 (4)协议:是对等实体之间的通信规程,它们之间协议的实现需要低一层的实体提供连接。 (5)服务访问点:同一个系统中相邻两层的实体进行交互的地方就称为服务访问点SAP。实际上是N层实体和N+1层实体的逻辑接口,可以称为接口或者端口,不同于两个设备之间的并行接口和串行接口。
3.3 物理层 物理层是OSI模型的最低层,它向下直接与传输介质相连接,向上相邻且服务于数据链路层。它的作用是在数据链路实体之间合理地通过中间系统,为位传输所需要的物理连接的建立、保持和拆除提供机械、电气、功能和规程特性。物理层所包含的另一个非常重要内容是数据终端设备(DTE)与数据电路终接设备(DCE)之间的连接。 (1)机械特性。 (2)电气特性。 (3)功能特性。 (4)规程特性。
3.3.1 物理层常用的几种标准 1. EIA—232—D 2. RS449 3. X.21建议书
3.3.2 物理层设备与组件 1. 物理层传输主要问题 2. 物理层网络连接设备
1. 物理层传输主要问题 信号的衰减是传输中的第一大问题。原始的比特流信号在传输的过程中越来越弱,导致信号能量无法别识别。产生信号衰减的原因包括介质吸收、反射或散射等,其限制了信号的传输距离,这就是所有传输介质都存在的最大传输距离受限制的原因。当然,不同的传输介质其衰减率不同,其衰减还常常带来信号的变形。所有物理层需要采用放大器和整形的方法来保证信号的准确。 信号在传输过程第二大问题是噪音。噪音只附加在原始信号上所有不期望的信号,也就是干扰。物理线路上的热噪音、线路端接点的近端串扰、交流供电电路中的接地噪声和来自无线干扰、电磁干扰都是产生噪音的原因。这使得接收端无法提取正确的数据。所有我们在物理层采取了一些必要的措施来减少噪声,如抵消、屏蔽。我们使用(signal moise ratio,S/N)来表示噪音对信号的影响程度,信噪比越大信号的质量就越好,所以减少干扰的最终目的是提高信噪比。
2. 物理层网络连接设备 1)中继器 中继器工作在OSI参考模型的物理层上,其功能是对通过物理介质传输时受干扰或衰减的信号进行再生和放大。然后发送到另一电缆段。不同的介质其传输的最大距离都有不同规定。例如,同轴电缆的最大传输距离为500m,非屏蔽双绞线的最大传输距离是100m。如果要“延长”网络的距离,那么就需要安装一个中继器。 2)集线器 集线器实际上是一个多端口的中继器,它工作原理与中继器基本相同。两者的主要区别在于,中继器一般为两个端口,一个接入数据端口;一个进行放大转发端口。而集线器具有多个端口,数据到达一个端口后被转发到其他端口。集线器是对网络集中管理的最小单元。多台计算机连接到一个集线器的网络是一个星型网络,集线器是这个网络的中心。
3.4 数据链路层 3.4.1 数据链路层基本设计内容 3.4.2 二进制同步通信规程 3.4.3 数据链路控制规程 3.4 数据链路层 3.4.1 数据链路层基本设计内容 3.4.2 二进制同步通信规程 3.4.3 数据链路控制规程 3.4.4 数据链路层的设备和组件
3.4.1 数据链路层基本设计内容 网络层调用数据链路层的服务,数据链路层为网络层提供服务,通过网络层与数据链路层之间的接口,以服务原语的形式完成服务的调用与被调用。因而设计数据链路层时必须完成下面几个特定的功能,实现在不太可靠的物理链路上实现可靠的数据传输,为网络层提供高质量的服务。 1. 数据链路的服务 2. 数据成帧 3. 差错检测和校正 4. 差错控制 5. 流量控制
3.4.2 二进制同步通信规程 这里简单介绍两种最常用的用于同步传输的协议: (1)面向字符的“基本型”协议。 3.4.2 二进制同步通信规程 这里简单介绍两种最常用的用于同步传输的协议: (1)面向字符的“基本型”协议。 (2)面向位的“高级数据链路控制规程”(HDLC)。 在异步传输的链路级协议中,可以依照“基本型”协议的控制方法,而对异步传输的链路级协议就比较复杂和高级。在高级数据链路控制规程(HDLC)问世以后,由于面向字符的链路控制规程比高级数据链路控制规程有明显的劣势,因而,面向字符的链路控制规程的地位逐渐被HDLC所取代。
3.4.3 数据链路控制规程 “高级数据链路控制规程”是面向位的通信规程,它出自IBM公司系统网络体系结构所用的链路协议。从70年代初期问世以来,它表现出比面向字符的规程更高的可靠性及高传输效率等优点,所以它越来越受到各方的关注,应用也越来越广泛了。 HDLC的特点有:一是使用固定“封装”式的帧结构和0插入、检出技术来传输数据,实现了数据的透明传输;二是传输方式是面向位的,即任意比特数的任何序列都能以帧的形式传输。它主要由三部分组成:帧结构、规程要素、规程分类。
1. 帧结构 HDLC以帧(frame)作为传输单位,无论信息本身还是控制信息,都用统一的称为标志的8位编码结构来把它打包成一个帧进行传输。一个帧由标志字段F、地址字段A、控制字段C、信息字段I、帧校检序列FCS五个部分构成,所有的收发数据都用这种统一的格式进行传输。还有一种只含有监控序列的帧,这种帧不带信息字段。 2. 帧类别 HDLC协议有三种帧:信息帧(Information)、监控帧(Supervisory)以及无序号帧(Unnumbered)。 3. 规程要素和分类 规程要素是指规程在不同的网络结构中的不同工作方式,同时还包括了由帧控制字段的三种格式所定义的信息帧、监控帧和无编号帧的功能。 网络的链路结构可以分成平衡型和非平衡型两大类,所以HDLC可以有三个子集:正规响应类、异步响应类、平衡异步响应类。
3.4.4 数据链路层的设备和组件 数据链路层的设备主要有交换机,网桥,网卡。 1. 交换机 交换机是工作在数据链路层的网络互连设备。 3.4.4 数据链路层的设备和组件 数据链路层的设备主要有交换机,网桥,网卡。 1. 交换机 交换机是工作在数据链路层的网络互连设备。 2. 网桥 网桥也叫桥接器,也是工作在数据链路层的一种网络互连设备。 3. 网卡 网卡又叫网络接口卡,是连接主机与网络连接的接口设备,网卡的好坏直接影响了网络的性能 。
3.5 网络层 3.5.1 网络层的设计及其实现 3.5.2 路由选择 3.5.3 流量控制 3.5.4 X.25协议
3.5.1 网络层的设计及其实现 网络层描述主机与通信子网的关系。网络层以数据链路层提供的无差错传输为基础,为高层提供两个主机之间的数据传输服务。网络层为传输层提供的服务是通过网络层和传输层之间的接口来实现的,这个接口实质上是网络中的子网边界,除了服务质量外,该接口的服务与通信子网技术(介质)无关。也就是说必须屏蔽有不同传输特性和子网技术所引起的差异,保持网络服务的一致性。 设计一个基本的网络层必须解决数据传输单元分组在通信子网中的路由选择、拥塞控制问题以及多个网络互连的问题,以完成对传输层的服务提供。
1. 主要功能 (1)为传输层提供建立、维持和释放连接的手段,完成路由选择、拥塞控制、差错控制及顺序控制,向传输层报告未恢复的差错网络互连等功能。而这些对传输层来说是完全透明的。 (2)根据传输层要求选择网络服务质量。 (3)提供资源子网主机节点与通信子网间的接口,提供虚电路服务或数据报服务。
2. 服务类型 从OSI参考模型的角度来看,网络层提供两种服务方式:一种是面向连接的虚电路服务;一种是面向无连接的数据报服务。面向无连接服务在通信子网的工作是传输比特流,差错和流量控制就由主机来承担,网络层提供的是发送包原语、接收包原语和少量的其他服务原语。面向无连接服务在通信子网的工作是传输比特流,差错和流量控制就由主机来承担,网络层提供的是发送包原语、接收包原语和少量的其他服务原语。 在OSI标准中,面向连接的服务的标准要比面向无连接的服务标准更多一些。 (1)虚电路服务。 (2)数据报服务。 (3)两者的比较。
3. 网络层的服务原语 OSI为面向连接制定了16条服务原语,对无连接提供了5条服务原语。在面向连接中用于建立和释放连接的服务原语有2组6条,用于数据传送的有3组6条,还有4条重建服务原语。这些服务原语可以归结为两类:需要证实的和不需证实的。
3.5.2 路由选择 在大部分的通信子网中,如果本地端和目的端不在同一个网络中,分组的整个发送过程要经过多次转发,所以存在有路径选择问题。路径选择的算法和它们使用的数据结构是网络层设计的一个主要对象。 通常我们把路由选择算法分为两大类:一类是非自适应路径选择算法,有洪泛法、有选择的洪泛法、固定路由法、随机走动法和分散通信法等策略;另外一类是自适应算法,有孤立的路由选择、分布式路由选择、集中式路由选择和混合式路由选择等策略。 1. 固定式路由选择算法 2. 距离矢量路由选择算法
3.5.3 流量控制 流量就是网络中的通信量,也就是吞吐量。当通信子网中出现了超量的包时,性能就降低,这就是所谓的“交通拥塞”了。 3.5.3 流量控制 流量就是网络中的通信量,也就是吞吐量。当通信子网中出现了超量的包时,性能就降低,这就是所谓的“交通拥塞”了。 拥塞现象的发生和通信子网内传送的分组总数有关,即拥塞控制属于通信子网的全局问题,而流量控制则属于“局部”问题。流量控制是基于平均值的控制,拥塞多是由于某处峰值流量过高而发生。 1. 拥塞控制的基本原理 2. 拥塞控制的方法 3. 拥塞预防的方法
3.5.4 X.25协议 1976年提出的第一层、第二层以及第三层国际标准网络访问协议,多次修改后统称为X.25协议。
3.6 传输层 从网络功能分类,传输层是用于解决传输服务问题;高层协议用于处理应用进程的访问。按控制作用分类,传输层为转送层,起到传输与应用之间的接口作用;高层协议为应用控制层,用于解决应用进程通信问题,是整个七层模式中最重要和最复杂的一层。 3.6.1 传输层的服务和功能 3.6.2 传输层的协议和机制 3.6.3 传输层的差错检测和差错恢复 3.6.4 传输层的流量控制 3.6.5 TCP/IP协议
3.6.1 传输层的服务和功能 两台计算机通过网络进行通信时,实际上是两个程序(或进程)在交换数据。在一台主机内,传输层将数据传给正确的应用程序,它的作用是为本地机和目的机之间提供性能可靠、价格合理的数据传输,而与当前实际使用的网络无关。由于传输层负责通过通信子网的两主机之间的端到端通信,报文在子网中通过时可能会丢失、重组、阻塞或产生较大存储延时,故传输层协议比数据链路层复杂得多。 1. 传输层功能 2. 传输服务和服务原语
3.6.2 传输层的协议和机制 1. 寻址 2. 连接建立 3. 数据传送 4. 连接释放 5. 多路复用
3.6.3 传输层的差错检测和差错恢复 如果网络不可靠,可能会出现重复的分组和不按序到达的分组,这时就要涉及到差错的检测和如何从差错中恢复的问题。 1. TPDU的重传 2. TPDU的放弃 3. TPDU的静止
3.6.4 传输层的流量控制 传输层流量控制与数据链层一样,也是要求软件怎样保证发送方的发送包速度与接收方的处理包速度同步。传输层数据流管理是建立在端对端(进程和进程之间)而不是节到节(计算机和计算机之间)基础上,即传输层控制对等实体之间的数据流动。许多像Internet这样的传输层管理流量控制类似于管理差错控制,也就是说,传输层之间交换确认信息。传输层在交换信息中也要包含流量控制请求。
3.6.5 TCP/IP协议 在传输层有两种主要的协议:面向连接的服务TCP和无连接的协议UDP,TCP协议也叫传输控制协议,是专门设计用在不可靠的网络上提供可靠的端到端的字节流通信的协议。 1. TCP的来源和历史位置 2. TCP协议
3.7 会话层 会话层协调不同主机的进程或应用程序间的连接,是用户和网络的接口。会话层的主要功能是在传输层所提供的服务基础上,为两主机的用户进程建立会话连接,提供会话服务,控制两个实体之间的数据交换以及释放功能。在会话层的服务中,有一点很重要,就是在数据流中插入一系列适当的同步点,所以可在适当的时间中断会话,经过一定时间才可在预先协议的同步点继续会话;又或者当会话发生差错时,就可从双方协议的同步点重新开始会话。如图3-3所示是会话层的工作模型。 图3-3 会话层的工作模型
3.8 表示层 表示层完成网络通信中重复使用的公共功能。它包含网络通信中重复使用的公共函数。表示层为上层用户提供共同需要的数据或信息表示方法的服务。 表示层就是采用抽象的标准方法来定义数据结构,还有采用标准的编码表示形式,使计算机联网交换后能够相互理解数据的值。 1. 语法转换 2. 表示上下文 3. 表示服务原语 4. 抽象语法表示法
3.9 应用层 应用层是OSI结构的最高层,是用户与网络的界面。应用层由用户程序组成,包括与专门用户应用程序相关的所有细节,网络操作系统和应用程序都驻留在该层。 1. 文件传送、访问和管理 2. 电子邮件 3. 虚拟终端 4. 简单网络管理 5. 查询服务和远程作业登录
3.10 网络协议 协议是管理网络如何通信的规则,对网络设备的相互通信指定了标准。 3.10.1 TCP/IP协议 3.10 网络协议 协议是管理网络如何通信的规则,对网络设备的相互通信指定了标准。 3.10.1 TCP/IP协议 3.10.2 IPX/SPX协议 1. IPX协议 2. SPX协议 3.10.3 NetBIOS和NetBEUI协议 3.10.4 AppleTalk协议
3.11 实训 实训目的 实训条件 实训内容
小结 本章对计算机网络的体系结构和网络协议展开了详细的阐述,介绍了开放系统互连参考模型的各个层次的功能和相关协议,并给出了现在流行的协议的工作原理。 在本章第一节首先介绍了网络体系结构的概念,各个分层及其协议的集合。要让读者了解网络的功能分层后,各层次分别负责任务,层次之间如何接口,以及协议如何负责各层的数据传输,从而使整个网络协调工作。 在第二节到第九节具体介绍了开放系统互连模型的各个层次。每一节给出了相关层次的功能和服务,还有必须遵守的规则等。特别是传输层以下的几层,它们负责数据的正确传输,传输媒体和链路规范都非常复杂但也非常关键,因此阐述比较详细,其中的许多协议都被广泛应用着。 最后一节给出了目前所使用的一些典型协议,包括TCP/IP,IPX/SPX等,它们的数据格式和使用范围都有区别。