发布网友 发布时间:2022-03-25 19:20
共1个回答
热心网友 时间:2022-03-25 20:49
国际标准化组织ISO(International Standards Organization)在80年代提出的开放系统互联参考模型OSI(Open System Interconnection),这个模型将计算机网络通信协议分为七层。这个模型是一个定义异构计算机连接标准的框架结构,其具有如下特点:
①网络中异构的每个节点均有相同的层次,相同层次具有相同的功能。
②同一节点内相邻层次之间通过接口通信。
③相邻层次间接口定义原语操作,由低层向高层提供服务。
④不同节点的相同层次之间的通信由该层次的协议管理,
⑤每层次完成对该层所定义的功能,修改本层次功能不影响其它层、
⑥仅在最低层进行直接数据传送。
⑦定义的是抽象结构,并非具体实现的描述。
在OSI网络体系结构中、除了物理层之外,网络中数据的实际传输方向是垂直的。数据由用户发送进程发送给应用层,向下经表示层、会话层等到达物理层,再经传输媒体传到接收端,由接收端物理层接收,向上经数据链路层等到达应用层,再由用户获取。数据在由发送进程交给应用层时,由应用层加上该层有关控制和识别信息,再向下传送,这一过程一直重复到物理层。在接收端信息向上传递时,各层的有关控制和识别信息被逐层剥去,最后数据送到接收进程。
现在一般在制定网络协议和标准时,都把ISO/OSI参考模型作为参照基准,并说明与该参照基准的对应关系。例如,在IEEE802局域网LAN标准中,只定义了物理层和数据链路层,并且增强了数据链路层的功能。在广域网WAN协议中,CCITT的X.25建议包含了物理层、数据链路层和网络层等三层协议。一般来说,网络的低层协议决定了一个网络系统的传输特性,例如所采用的传输介质、拓扑结构及介质访问控制方法等,这些通常由硬件来实现;网络的高层协议则提供了与网络硬件结构无关的,更加完善的网络服务和应用环境,这些通常是由网络操作系统来实现的。 物理层建立在物理通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间透明的比特 (bit) 流传输。只有该层为真实物理通信,其它各层为虚拟通信。物理层实际上是设备之间的物理接口,物理层传输协议主要用于控制传输媒体。
(1)物理层的特性
物理层提供与通信介质的连接,提供为建立、维护和释放物理链路所需的机械的、电气的、功能的和规程的特性,提供在物理链路上传输非结构的位流以及故障检测指示。物理层向上层提供位 (bit) 信息的正确传送。
其中机械特性主要规定接口连接器的尺寸、芯数和芯的位置的安排、连线的根数等。电气特性主要规定了每种信号的电平、信号的脉冲宽度、允许的数据传输速率和最大传输距离。功能特性规定了接口电路引脚的功能和作用。规程特性规定了接口电路信号发出的时序、应答关系和操作过程,例如,怎样建立和拆除物理层连接,是全双工还是半双工等。
(2)物理层功能
为了实现数据链路实体之间比特流的透明传输,物理层应具有下述功能:
①物理连接的建立与拆除
当数据链路层请求在两个数据链路实体之间建立物理连接时,物理层能够立即为它们建立相应的物理连接。若两个数据链路实体之间要经过若干中继数据链路实体时,物理层还能够对这些中继数据链路实体进行互联,以建立起一条有效的物理连接。当物理连接不再需要时,由物理层立即拆除。
②物理服务数据单元传输
物理层既可以采取同步传输方式,也可以采取异步传输方式来传输物理服务数据单元。
③物理层管理
对物理层收发进行管理,如功能的激活 (何时发送和接收、异常情况处理等)、差错控制 (传输中出现的奇偶错和格式错)等。 数据链路层为网络层相邻实体间提供传送数据的功能和过程;提供数据流链路控制;检测和校正物理链路的差错。物理层不考虑位流传输的结构,而数据链路层主要职责是控制相邻系统之间的物理链路,传送数据以帧为单位,规定字符编码、信息格式,约定接收和发送过程,在一帧数据开头和结尾附加特殊二进制编码作为帧界识别符,以及发送端处理接收端送回的确认帧,保证数据帧传输和接收的正确性,以及发送和接收速度的匹配,流量控制等。
(1)数据链路层的目的
提供建立、维持和释放数据链路连接以及传输数据链路服务数据单元所需的功能和过程的手段。数据链路连接是建立在物理连接基础上的,在物理连接建立以后,进行数据链路连接的建立和数据链路连接的拆除。具体说,每次通信前后,双方相互联系以确认一次通信的开始和结束,在一次物理连接上可以进行多次通信。数据链路层检测和校正在物理层出现的错误。
(2)数据链路层的功能和服务
数据链路层的主要功能是为网络层提供连接服务,并在数据链路连接上传送数据链路协议数据单元L-PDU,一般将L-PDU称为帧。数据链路层服务可分为以下三种:
①无应答、无连接服务。发送前不必建立数据链路连接,接收方也不做应答,出错和数据丢失时也不做处理。这种服务质量低,适用于线路误码率很低以及传送实时性要求高的 (例如语音类的)信息等。
②有应答、无连接服务。当发送主机的数据链路层要发送数据时,直接发送数据帧。目标主机接收数据链路的数据帧,并经校验结果正确后,向源主机数据链路层返回应答帧;否则返回否定帧,发送端可以重发原数据帧。这种方式发送的第一个数据帧除传送数据外,也起数据链路连接的作用。这种服务适用于一个节点的物理链路多或通信量小的情况,其实现和控制都较为简单。
③面向连接的服务。该服务一次数据传送分为三个阶段:数据链路建立,数据帧传送和数据链路的拆除。数据链路建立阶段要求双方的数据链路层作好传送的准备;数据传送阶段是将网络层递交的数据传送到对方;数据链路拆除阶段是当数据传送结束时,拆除数据链路连接。这种服务的质量好,是ISO/OSI参考模型推荐的主要服务方式。
(3)数据链路数据单元
数据链路层与网络层交换数据格式为服务数据单元。数据链路服务数据单元,配上数据链路协议控制信息,形成数据链路协议数据单元。
数据链路层能够从物理连接上传输的比特流中,识别出数据链路服务数据单元的开始和结束,以及识别出其中的每个字段,实现正确的接收和控制。能按发送的顺序传输到相邻结点。
(4)数据链路层协议
数据链路层协议可分为面向字符的通信规程和面向比特的通信规程。
面向字符的通信规程是利用控制字符控制报文的传输。报文由报头和正文两部分组成。报头用于传输控制,包括报文名称、源地址、目标地址、发送日期以及标识报文开始和结束的控制字符。正文则为报文的具体内容。目标节点对收到的源节点发来的报文,进行检查,若正确,则向源节点发送确认的字符信息;否则发送接收错误的字符信息。
面向比特的通信规程典型是以帧为传送信息的单位,帧分为控制帧和信息帧。在信息帧的数据字段 (即正文)中,数据为比特流。比特流用帧标志来划分帧边界,帧标志也可用作同步字符。 广域网络一般都划分为通信子网和资源子网,物理层、数据链路层和网络层组成通信子网,网络层是通信子网的最高层,完成对通信子网的运行控制。网络层和传输层的界面,既是层间的接口,又是通信子网和用户主机组成的资源子网的界限,网络层利用本层和数据链路层、物理层两层的功能向传输层提供服务。
数据链路层的任务是在相邻两个节点间实现透明的无差错的帧级信息的传送,而网络层则要在通信子网内把报文分组从源节点传送到目标节点。在网络层的支持下,两个终端系统的传输实体之间要进行通信,只需把要交换的数据交给它们的网络层便可实现。至于网络层如何利用数据链路层的资源来提供网络连接,对传输层是透明的。
网络层控制分组传送操作,即路由选择,拥塞控制、网络互连等功能,根据传输层的要求来选择服务质量,向传输层报告未恢复的差错。网络层传输的信息以报文分组为单位,它将来自源的报文转换成包文,并经路径选择算法确定路径送往目的地。网络层协议用于实现这种传送中涉及的中继节点路由选择、子网内的信息流量控制以及差错处理等。
(1)网络层功能
网络层的主要功能是支持网络层的连接。网络层的具体功能如下:
①建立和拆除网络连接
在数据链路层提供的数据链路连接的基础上,建立传输实体间或者若干个通信子网的网络连接。互连的子网可采用不同的子网协议。
②路径选择、中继和多路复用
网际的路径和中继不同与网内的路径和和中继,网络层可以在传输实体的两个网络地址之间选择一条适当的路径,或者在互连的子网之间选择一条适当的路径和中继。并提供网络连接多路复用的数据链路连接,以提高数据链路连接的利用率。
③分组、组块和流量控制
数据分组是指将较长的数据单元分割为一些相对较小的数据单元;数据组块是指将一些相对较小的数据单元组成块后一起传输。用以实现网络服务数据单元的有序传输,以及对网络连接上传输的网络服务数据单元进行有效的流量控制,以免发生信息堵塞现象。
④差错的检测与恢复
利用数据链路层的差错报告,以及其他的差错检测能力来检测经网络连接所传输的数据单元,检测是否出现异常情况。并可以从出错状态中解脱出来。
(2)数据报和虚电路
网络层中提供两种类型的网络服务,即无连接服务和面向连接的服务。它们又被称为数据报服务和虚电路服务。
①数据报 (Datagram)服务
在数据报方式,网络层从传输层接受报文,拆分为报文分组,并且独立地传送,因此数据报格式中包含有源和目标节点的完整网络地址、服务要求和标识符。发送时,由于数据报每经过一个中继节点时,都要根据当时情况按照一定的算法为其选择一条最佳的传输路径,因此,数据报服务不能保证这些数据报按序到达目标节点,需要在接收节点根据标识符重新排序。
数据报方式对故障的适应性强,若某条链路发生故障,则数据报服务可以绕过这些故障路径而另选择其他路径,把数据报传送至目标节点。数据报方式易于平衡网络流量,因为中继节点可为数据报选择一条流量较少的路由,从而避开流量较高的路由。数据报传输不需建立连接,目标节点在收到数据报后,也不需发送确认,因而是一种开销较小的通信方式。但是发方不能确切地知道对方是否准备好接收、是否正在忙碌,故数据报服务的可靠性不是很高。而且数据报发送每次都附加源和目标主机的全网名称降低了信道利用率。
②虚电路 (Virtue Circuit) 服务
在虚电路传输方式下,在源主机与目标主机通信之前,必须为分组传输建立一条逻辑通道,称为虚电路。为此,源节点先发送请求分组Call-Request,Call-Request包含了源和目标主机的完整网络地址。Call-Request途径每一个通信网络节点时,都要记下为该分组分配的虚电路号,并且路由器为它选择一条最佳传输路由发往下一个通信网络节点。当请求分组到达目标主机后,若它同意与源主机通信,沿着该虚电路的相反方向发送请求分组Call-Request给源节点,当在网络层为双方建立起一条虚电路后,每个分组中不必再填上源和目标主机的全网地址,而只需标上虚电路号,即可以沿着固定的路由传输数据。当通信结束时,将该虚电路拆除。
虚电路服务能保证主机所发出的报文分组按序到达。由于在通信前双方已进行过联系,每发送完一定数量的分组后,对方也都给予了确认,故可靠性较高。
③路由选择
网络层的主要功能是将分组从源节点经过选定的路由送到目标节点,分组途经多个通信网络节点造成多次转发,存在路由选择问题。路由选择或称路径控制,是指网络中的节点根据通信网络的情况 (可用的数据链路、各条链路中的信息流量),按照一定的策略 (传输时间最短、传输路径最短等)选择一条可用的传输路由,把信息发往目标节点。
网络路由选择算法是网络层软件的一部分,负责确定所收到的分组应传送的路由。当网络内部采用无连接的数据报方式时,每传送一个分组都要选择一次路由。当网络层采用虚电路方式时,在建立呼叫连接时,选择一次路径,后继的数据分组就沿着建立的虚电路路径传送,路径选择的频度较低。
路由选择算法可分为静态算法和动态算法。静态路由算法是指总是按照某种固定的规则来选择路由,例如,扩散法、固定路由选择法、随机路由选择法和流量控制选择法。动态路由算法是指根据拓扑结构以及通信量的变化来改变路由,例如,孤立路由选择法、集中路由选择法、分布路由选择法、层次路由选择法等 从传输层向上的会话层、表示层、应用层都属于端一端的主机协议层。传输层是网络体系结构中最核心的一层,传输层将实际使用的通信子网与高层应用分开。从这层开始,各层通信全部是在源与目标主机上的各进程间进行的,通信双方可能经过多个中间节点。传输层为源主机和目标主机之间提供性能可靠、价格合理的数据传输。具体实现上是在网络层的基础上再增添一层软件,使之能屏蔽掉各类通信子网的差异,向用户提供一个通用接口,使用户进程通过该接口,方便地使用网络资源并进行通信。
(1) 传输层功能
传输层独立于所使用的物理网络,提供传输服务的建立、维护和连接拆除的功能;选择网络层提供的最适合的服务。传输层接收会话层的数据,分成较小的信息单位,再送到网络层,实现两传输层间数据的无差错透明传送。
传输层可以使源与目标主机之间以点对点的方式简单地连接起来。真正实现端一端间可靠通信。传输层服务是通过服务原语提供给传输层用户(可以是应用进程或者会话层协议),传输层用户使用传输层服务是通过传送服务端口TSAP实现的。当一个传输层用户希望与远端用户建立连接时,通常定义传输服务访问点TSAP。提供服务的进程在本机TSAP端口等待传输连接请求,当某一节点机的应用程序请求该服务时,向提供服务的节点机的TSAP端口发出传输连接请求,并表明自己的端口和网络地址。如果提供服务的进程同意,就向请求服务的节点机发确认连接,并对请求该服务的应用程序传递消息,应用程序收到消息后,释放传输连接。
传输层提供面向连接和无连接两种类型的服务。这两种类型的服务和网络层的服务非常相似。传输层提供这两种类型服务的原因是因为,用户不能对通信子网加以控制,无法通过使用通信处理机来改善服务质量。传输层提供比网络层更可靠的端一端间数据传输,更完善的查错纠错功能。传输层之上的会话层、表示层、应用层都不包含任何数据传送的功能。
(2)传输层协议类型
传输层协议和网络层提供的服务有关。网络层提供的服务于越完善,传输层协议就越简单,网络层提供的服务越简单,传输层协议就越复杂。传输层服务可分成五类:
0类:提供最简单形式的传送连接,提供数据流控制。
1类:提供最小开销的基本传输连接,提供误差恢复。
2类:提供多路复用,允许几个传输连接多路复用一条链路。
3类:具有0类和1类的功能,提供重新同步和重建传输连接的功能。
4类:用于不可靠传输层连接,提供误差检测和恢复。
基本协议机制包括建立连接、数据传送和拆除连接。传输连接涉及四种不同类型的标识:
用户标识:即服务访问点SAP,允许实体多路数据传输到多个用户。
网络地址:标识传输层实体所在的站。
协议标识:当有多个不同类型的传输协议的实体,对网络服务标识出不同类型的协议。
连接标识:标识传送实体,允许传输连接多路复用。 会话是指两个用户进程之间的一次完整通信。会话层提供不同系统间两个进程建立、维护和结束会话连接的功能;提供交叉会话的管理功能,有一路交叉、两路交叉和两路同时会话的3种数据流方向控制模式。会话层是用户连接到网络的接口。
(1)会话层的主要功能
会话层的目的是提供一个面向应用的连接服务。建立连接时,将会话地址映射为传输地址。会话连接和传输连接有三种对应关系,一个会话连接对应一个传输连接;多个会话连接建立在一个传输连接上;一个会话连接对应多个传输连接。
数据传送时,可以进行会话的常规数据、加速数据、特权数据和能力数据的传送。
会话释放时,允许正常情况下的有序释放;异常情况下由用户发起的异常释放和服务提供者发起的异常释放。
(2)会话活动
会话服务用户之间的交互对话可以划分为不同的逻辑单元,每个逻辑单元称为活动。每个活动完全独立于它前后的其他活动,且每个逻辑单元的所有通信不允许分隔开。
会话活动由会话令牌来控制,保证会话有序进行。会话令牌分为四种,数据令牌、释放令牌、次同步令牌和主同步令牌。令牌是互斥使用会话服务的手段。
会话用户进程间的数据通信一般采用交互式的半双工通信方式。由会话层给会话服务用户提供数据令牌来控制常规数据的传送,有数据令牌的会话服务用户才可发送数据,另一方只能接收数据。当数据发完之后,就将数据令牌转让给对方,对方也可请求令牌。
(3)会话同步
在会话服务用户组织的一个活动中,有时要传送大量的信息,如将一个文件连续发送给对方,为了提高数据发送的效率,会话服务提供者允许会话用户在传送的数据中设置同步点。一个主同步点表示前一个对话单元的结束及下一个对话单元的开始。在一个对话单元内部或者说两个主同步点之间可以设置次同步点,用于会话单元数据的结构化。当会话用户持有数据令牌、次同步令牌和主同步令牌时就可在发送数据流中用相应的服务原语设置次同步点和主同步点。
一旦出现高层软件错误或不符合协议的事件则发生会话中断,这时会话实体可以从中断处返回到一个已知的同步点继续传送,而不必从文件的开头恢复会话。会话层定义了重传功能,重传是指在已正确应答对方后,在后期处理中发现出错而请求的重传,又称为再同步。为了使发送端用户能够重传,必须保存数据缓冲区中已发送的信息数据,将重新同步的范围*在一个对话单元之内,一般返回到前一个次同步点,最多返回到最近一个主同步点。 应用层作为用户访问网络的接口层,给应用进程提供了访问OSI环境的手段。
应用进程借助于应用实体 (AE)、实用协议和表示服务来交换信息,应用层的作用是在实现应用进程相互通信的同时,完成一系列业务处理所需的服务功能。当然这些服务功能与所处理的业务有关。
应用进程使用OSI定义和通信功能,这些通信功能是通过OSI参考模型各层实体来实现的。应用实体是应用进程利用OSI通信功能的唯一窗口。它按照应用实体间约定的通信协议 (应用协议),传送应用进程的要求,并按照应用实体的要求在系统间传送应用协议控制信息,有些功能可由表示层和表示层以下各层实现。
应用实体由一个用户元素和一组应用服务元素组成。用户元素是应用进程在应用实体内部,为完成其通信目的,需要使用的那些应用服务元素的处理单元。实际上,用户元素向应用进程提供多种形式的应用服务调用,而每个用户元素实现一种特定的应用服务使用方式。用户元素屏蔽应用的多样性和应用服务使用方式的多样性,简化了应用服务的实现。应用进程完全独立于OSI环境,它通过用户元素使用OSI服务。
应用服务元素可分为两类,公共应用服务元素 (CASE)和特定应用服务元素 (SASE)。公共应用服务元素是用户元素和特定应用服务元素公共使用的部分,提供通用的最基本的服务,它使不同系统的进程相互联系并有效通信。它包括联系控制元素、可靠传输服务元素、远程操作服务元素等;特定应用服务元素提供满足特定应用的服务。包括虚拟终端、文件传输和管理、远程数据库访问、作业传送等。对于应用进程和公共应用服务元素来说,用户元素具有发送和接收能力。对特定服务元素来说,用户元素是请求的发送者,也是响应的最终接收者。