Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 标准规范 > OSI七层模型详解,OSI七层模型详解及各层的硬件设备有哪些?

OSI七层模型详解,OSI七层模型详解及各层的硬件设备有哪些?

收藏

本作品内容为OSI七层模型详解,格式为 docx ,大小 74854 KB ,页数为 25页

OSI七层模型详解


('第一层物理层OSI模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面PC上插入网络接口卡,你就建立了计算机连网的基础。换言之,你提供了一个物理层。尽管物理层不提供纠错服务,但它能够设定数据传输速率并监测数据出错率。网络物理问题,如电线断开,将影响物理层。(一)物理层的主要功能⑴为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路.⑵传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要.第二层数据链路层数据链路(DataLinkLayer)可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就叫作数据链路.而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,但是并不纠正错误。(一)链路层的主要功能数据链路层是OSI参考模型的第二层,该层解决两个相邻结点之间的通信问题,实现两个相邻结点链路上无差错的协议数据单元传输。数据链路层传输的协议数据单元称为数据帧。所谓链路就是数据传输中任何两个相邻结点间的点到点的物理线路。数据帧通常是由网卡(NIC)产生:上一层的协议数据单元(数据包)传递到NIC后,NIC通过添加头部和尾部将数据打包(封装成帧),如图3-2-6所示;然后数据帧沿着链路再传送至目的结点。数据帧首部和尾部含有对等数据链路进程需要使用的协议信息。头部的信息包括发送结点和接收结点的地址(MAC地址)以及错误校验信息等。数据链路层不关心数据包中包含什么信息,而仅是将其传递到网络中的下一结点。数据链路层的主要功能概括如下:(1)数据链路的管理和物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在局域网中,数据链路层又被划分为逻辑链路控制子层和介质访问控制子层。(2)帧同步帧同步要解决的问题是接收方如何能从收到的比特流中准确地区分出一帧的开始和结束。一般可采用以下方法(目前普遍使用的是后两种):☆字节计数法采用一个特定的字符(例如:SOH)来表示一帧的开始,并以一个专门的字段(Count)来表示帧内的字节数。☆字符填充法采用一些特定的字符来表示一帧的开始和结束。☆比特填充法采用一串特定的比特组合来表示一帧的开始和结束。☆违法编码法采用“违法”的编码来表示一帧的开始和结束。(3)差错控制差错控制是指在数据通信过程中发现能检测或纠正差错,并将差错限制在尽可能小的允许范围内。差错检测可通过差错控制编码来实现的;而差错纠正则通过差错控制方法来实现。详见“差错控制技术”一节中的相关介绍。(4)流量控制如果发送结点的发送能力大于接收结点的接收能力,将导致接收方来不及接收。流量控制所要解决的就是控制发送方的速率,使其不超过接收方所能承受的能力。第三层网络层OSI模型的第三层,其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。由于网络层处理路由,而路由器因为即连接网络各段,并智能指导数据传送,属于网络层。在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。网络层在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括路由选择、拥塞控制和网际互连等。第四层传输层传输层是OSI中最重要,最关键的一层,是唯一负责总体的数据传输和数据控制的一层.传输层提供端到端的交换数据的机制.传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层.(一)传输层端口的概念传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。计算机网络中的资源子网是通信的发起者和接收者,其中的每个设备称为端点;通信子网提供网络中的通信服务,其中的设备称为结点。OSI参考模型中用于通信控制的是下面四层,但它们的控制对象不一样。(二)传输层的基本功能传输层提供了主机应用程序进程之间的端到端的服务,基本功能如下(1)分割与重组数据(2)按端口号寻址(3)连接管理(4)差错控制和流量控制传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。(三)传输层在OSI中的地位和作用传输层是整个协议层次结构的核心,是惟一负责总体数据传输和控制的一层。在OSI七层模型中传输层是负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的高三层之间的中间层。因为网络层不一定保证服务的可靠,而用户也不能直接对通信子网加以控制,因此在网络层之上,加一层即传输层以改善传输质量。传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使系统间高层资源的共享不必考虑数据通信方面和不可靠的数据传输方面的问题。它的主要功能是:对一个进行的对话或连接提供可靠的传输服务,在通向网络的单一物理连接上实现该连接的复用,在单一连接上提供端到端的序号与流量控制、差错控制及恢复等服务。第五层会话层(一)会话层简介设置会话层的目的是管理用户应用进程之间的对话过程,即提供进程间的会话服务。所谓对话(dialogue)即是指本地系统的会话实体与远地对等的会话实体之间交换数据的过程。会话层的主要功能如下:\uf06c会话连接的管理。\uf06c对话管理。对传送的报文划分成对话单元(dialogueunit),在适当的时候中断对话,并在预定的同步点上恢复对话。\uf06c同步管理。在传送的数据流中插入适当的同步点,一旦出现差错,对等的会话服务用户在商定的同步点上恢复对话。\uf06c活动管理。将报文流分成活动(activity)逻辑单元,对用户应用的交互活动过程进行结构化管理,即每一个活动独立于其前、后到达的活动。\uf06c异常情况的处理。在会话期间报告来自下面网络的异常情况,保证在会话连接释放之前所有的数据单元都被应用进程所接收。(二)会话层服务的功能单元会话层服务是定义在ISO8326这一文件中,在1984年完成了最后的标准版本,相应的ITU-T建议书为X.215。ISO8326规定了会话服务三个阶段(连接建立、数据传送和连接释放)的目的,以及服务描述和服务原语等,共规定了21种服务和58条面向连接的服务原语。要想全面实现会话层服务是十分复杂的,而且也无此必要,因为几乎没有一个应用会用到所有的服务。因此ISO8326将若干相关联的服务组成一个功能单元(functionunit),每一个功能单元则提供一种可供选择的工作类型。所需要的功能单元在会话连接建立时协商。目前共定义了12个功能单元,最重要的一个功能单元是核心功能单元,它是最小的功能单元,在任何具体实现中都包含这个核心单元,它包括的服务有:会话连接、正常数据传送、有序释放连接、用户终止连接和提供者终止连接等。单独的核心功能单元对于微型计算机是有用的。为了方便用户从12个功能单元中选择一些合适的功能单元来用,会话服务还定义了3个功能单元子集,作为对特定的具体实现的建议。每个子集包括核心功能以及若干功能单元。这3个子集是:\uf06c基本组合子集BCS(BasicCombinedSubset)。\uf06c基本同步子集BSS(BasicSynchronizationSubset)。\uf06c基本活动子集BAS(BasicActivitySubset)。它是在BCS的基础上增加了活动的管理、用户和服务提供者发出的异常报告等服务,以保证可靠的报文传输,适合于电子邮件方面的应用。表5-1给出了会话层的3个子集和功能单元的关系,表中的√表示某个子集具有这个功能单元。序号功能单元基本组合子集BCS基本同步子集BSS基本活动子集BAS1核心(不可协商)√√√2半双工√√√3全双工√√4特权数据√√5异常报告√6协商释放√7次同步√√8主同步√9重新同步√10加速数据11活动管理√12能力数据交换√表5-1会话层的子集和功能单元的关系在上表中,加速数据功能单元不包含在3个子集之中。值得注意的是,以上划分的三个子集并不能作为会话协商的单位,在建立会话连接时必须单独对各个功能单元进行协商。会话层和传输层有着显著区别:传输协议负责产生和维持在两个端点之间的逻辑连接。会话协议则在上述基本的连接服务的基础上,用增值的办法提供一个用户接口。传输层的服务很简单,就是要提供一个可靠的传输数据的服务。但传输协议是很复杂的,因为要在各种不利的条件下保证传输服务是可靠的。会话层则相反,当发送出一个会话协议数据单元SPDU时,传输层可以保证将它送到对等用户,因此会话协议是非常简单的。然而会话层定义的为数据交换用的各种服务却非常丰富而复杂,可供应用层根据需要从中进行选择。对某个特定的应用来说,某些会话服务就可能不被应用层所选用。(三)对话管理与对话同步在任一种双工方式下进行的数据交换过程,即构成一个对话过程,对数据交换过程(对话过程)的控制称为对话管理。为使对话过程能有条不紊地可靠进行,要求对话双方有同步的措施加以保障,即所谓的对话同步。对话同步是会话服务的重要内容,会话服务提供者允许会话用户在传送的数据中自由设置同步点,并对同步点赋予同步序号,用于识别同步点和实现同步。在会话数据流中插入同步点是为了从错误中恢复,虽然传输层能够从通信错误和子网崩溃中恢复,但不能代替会话层的恢复机制。主次同步点也是有所区别的。第一个区别是它们对数据交换过程的影响不同。第二个区别是对退回过程的影响不同。对话管理和对话同步都是通过使用各种“权标”(token)来完成。权标代表了某种服务的使用权,类似于局域网中使用的令牌,它被动态地分配给某一方的服务用户,以便允许该用户使用会话层的某种服务,它是会话连接上的一种属性。权标的引入是由于会话层内存在着较多的用户交互,要控制和协调这些交互,并保证交互动作的逻辑顺序的正确和避免在数据交换中产生混乱,就需要用权标进行统一管理。会话层共设置了4种权标\uf06c数据权标:在单工或半双工方式下使一个服务用户拥有的数据发送权标记。\uf06c释放权标:使一个服务用户拥有释放会话连接权的标记。\uf06c次同步权标:使一个服务用户拥有使用次同步权的标记,用于控制在对话单元中次同步点的插入。\uf06c主同步/活动权标:使一个服务用于使用主同步权或对话活动权的标记,它用于控制活动的开始与结束,以及控制在一个对话活动中主同步点的插入。建立会话连接时可以就会话中使用哪些权标以及权标的最初持有者进行协商,权标的拥有权可以在两个会话用户之间易手。权标管理功能提供的服务允许一个用户主动交出权标或是向另一个用户索取权标。图9-3就是利用数据权标进行双向交替数据传送的例子。我们知道,网络层和传输层提供两种数据传送功能:正常数据传送和加速数据传送。由于会话数据流具有结构性,所以会话层又增加了特权数据传送功能和能力数据传送功能。正常数据可以采用全双工或半双工方式传送。如果采用半双工方式,则只有持有权标的一方可以发送数据,另一方想发送数据时,可以向对方请求权标(如图9-3所示)。特权数据的发送不需要权标,在图9-3中用户B没有权标也可发送特权数据。这样,特权数据流和正常数据流的混合形成了全双工/半双工的混合操作方式。特权数据流的真正目的是为高层控制报文和网络管理提供途径。所谓能力数据,也用作控制目的,不过是为了会话层本身的控制,例如在会话期间改变会话的功能和参数,与特权数据不同的是它必须完全得到对方的确认。能力数据只能在活动之外(或两个活动之间的间隔内)发出,发送能力数据必须同时持有数据权标、次同步权标和主同步/活动权标。(四)活动管理活动是为了保持进程之间的同步,将所传送的数据流分成不同的逻辑工作块,供会话服务用户识别。在一个会话连接上,某一时刻只能存在一个活动,一个活动可以跨越几个会话连接,即一个活动可以在某个会话连接上中断,而在之后的某一时刻在同一个或在后续某一个连接上恢复,也可以在一个会话连接期间允许有多个顺序的活动。每一个活动由许多对话单元组成。活动与对话单元及同步点等概念的关系如图9-4所示。由图看出,从用户发出会话连接请求开始,到收到连接释放确认为止,是一个会话连接的持续时间。在这期间的数据交换过程可以分成若干个对话活动来完成,而每个活动又由若干个对话单元所组成。活动管理功能是主同步点的一个扩展,它为会话用户提供了可以将整个对话分解成若干离散的活动的方法。每一个活动可以看作是会话用户之间传送数据的一个特定阶段,完成一个活动相当于交换了一个应用协议数据单元APDU,将它作为一个活动来标识则由会话实体来完成。一次会话过程可能比较长,例如在两台计算机之间一次传送多个文件,用户希望知道什么时候一个文件结束,下一个文件开始。为此可以把一个文件的传送组织成一个活动,一个活动就是会话过程中相对独立的一部分。一个活动也可以暂时被中断,成为挂起的活动,例如当一个较长的文件传送时,中途因为紧急情况需要暂时停止,等一会儿再继续传送完成,这时可挂起当前的活动,然后开始一个新的活动,当新的活动结束后再恢复原来被挂起的活动。活动与同步点有密切关系,一个新的活动开始,同步点序号置为1(主同步点),在一个活动内可以设置其他的主同步点或次同步点。因此,一旦一个活动开始,它不可能退回到上一个活动而重新同步。因为会话的双方都必须对一个活动什么时候开始,什么时候结束,都要有一个共同的认识,若两者同时开始设置一个活动就会造成冲突,因此谁能设置活动就必须对权标的控制。活动权标与数据权标不同,但是和主同步权标是同一个。(五)会话服务原语1、会话连接建立原语会话连接的建立过程涉及连接属性的协商,接收方必须应答,表示同意或不同意发送方的建议。四种形式的连接原语(S_CONNECT)具有同样的参数集合,有些参数是可选的,有些参数是必要的,所有参数列于表9-3中,以下将解释这些参数的意义和用法。连接标识由用户选择。主叫方、被叫方和响应者地址就是与会话用户相关联的服务访问点。执行结果表示被叫方对连接请求的反应,可能是下面三个结果之一:接受、会话服务用户拒绝、会话服务提供者拒绝。服务质量是一个参数表,包括残留差错率、时延、吞吐量、优先级和可靠性等,与传输层的QoS类似。会话需求是一个功能单元表。连接的发起者在请求原语中列出一个功能单元表,连接的接受者将在响应原语中列出另一个功能单元表,只有两个表的交集才是协商确定的功能单元,可以在将要建立的会话连接中使用。初始同步点序号是在0到999998区间中的一个整数,这是一个条件参数,仅当使用同步服务时才有意义。类似地,权标的初始分配也是条件参数,当选用了权标控制功能时必须协商谁是权标的最初持有者。这个参数的值在请求/指示原语中可能是“连接请求方”、“连接接受方”或者“由接受方选择”。如果是前两种值,则返回的响应/确认原语中这个参数为空;如果是第三个值,则返回的原语中这个参数可取“连接请求方”或“连接接受方”。用户数据也作为会话连接原语的任选参数,可以携带诸如上层应用实体标题等特别信息。2、置次同步点原语发送用户可以用S_SYNC_MINOR服务原语在数据流中插入次同步点,该原语的参数包括类型、序号和用户数据三个。次同步点的序号由原语中的序号参数指定。次同步点可以是要求确认的或非确认的,由类型参数指明。用户数据参数部分是任选的。不一定每一个次同步点都要确认,否则网络信息流量将会增加很多,所以在多数情况下类型参数的值为非确认的。如果在正常数据流中插入要求确认的次同步点,就形成了要求确认的数据传送服务,可以作为正常数据传送服务的补充功能。主同步点原语与次同步点原语类似,但不包含类型参数,因为主同步点必须是要确认的。3、再同步原语会话用户使用再同步原语把对话过程退回到一个预定的状态,该原语的参数为:再同步类型、同步点序号、权标分配和同步数据。再同步类型可取以下三个值之一:“放弃”(abandon)就是撤消当前的对话,这时其他参数的值就没有意义了;“重启动”(restart)和“设置”(set)都是退回到以前的某个同步点上,但两者有所不同,重启动不能早于最后一次被确认的主同步点,而设置可以适用于任何有效的同步点。再同步请求原语中的权标分配参数可取以下三个值之一:请求方、接受方或由接受方选择,类似于连接请求原语中对应的参数。如果两个用户同时发出再同步请求,其后果将会破坏系统的一致性,所以会话标准中有一些规则来避免这种危险。4、有序释放原语有序释放S_RELEASE原语是核心功能之一,用户可随时用这种原语释放会话连接而不致丢失数据。在有序释放的响应和证实原语中包含结果参数,这个参数的值只有两个值,yes或no,接收方拒绝释放连接的原因只能是请求方没有释放权标。5、异常情况的报告原语对于异常情况的报告有两种处理方法。有时在会话协议实体内产生了不可预料的差错(例如,由于某个协议有差错使得某个用户服务不能完成),这时可由会话协议实体向两个会话用户发出S_P_EXCEPTION_REPORT.indication指示服务原语。另一种情况是会话用户发现的异常情况,例如,用户发现缺乏存储空间或者出现了序号错误的数据。这时用户发出S_U_EXCEPTION_REPORT.request原语,对等用户收到S_U_EXCEPTION_REPORT.indication原语。在这两种情况下,两个会话用户将在双方均同意的先前同步点上继续其对话。(六)会话协议在会话协议的标准中一共定义了36种会话协议数据单元,造成如此多的SPDU的原因在于会话服务的复杂性(有58条服务原语)。而会话协议基本上是直接把会话服务原语映射为会话协议数据单元,用相对简单的传输接口来交换这些原语。通常的协议参数都具有三个特征:类型、长度和值,而且大多数协议的参数长度是固定的,类型由固定的字段表示,因而协议数据单元的格式就很规整而简明。但是在会话协议中,参数的多少变化很大,任选项很多,因此会话协议数据单元的格式就显得比较复杂。为了统一,SPDU的编码规则只有一条,即用类型—长度—值三个字段的级联形式构成一个参数,这三个字段的组合称为参数单元,其中类型就是参数标识符(PI)。整个SPDU的第一个字段是SPDU标识符,第二个字段是SPDU头部的长度,其次是参数部分,最后是数据。这样,具有一个参数单元的SPDU格式如图9-5所示,图中长度字段下面的箭头表示长度统计的范围。另外,一个SPDU可以有多个参数,具有多个参数或没有参数的SPDU格式可仿照图9-5构造。有关的参数可以组成参数组,参数组由参数组标识符(PGI)、参数组长度和一个或多个参数单元组成。(a)和(b)分别是具有一个参数组(含两个参数单元)和两个参数组的SPDU的例子。连接标识符就是参数组的例子,它由三部分组成:主叫方的参照标识符(最大64字节)、公共参照数(比如时间,最大64字节)和附加的参照信息(最大4字节)。这三个部分分别用一个参数单元表示,组成一个参数组。全双工时正常数据传送的三个阶段:第一阶段是建立会话连接。源会话实体收到会话用户发来的S_CONNECT.request原语后,便形成连接SPDU(以CN表示)发送给目标会话实体。当目标方收到该CN后形成S_CONNECT.indication原语传递给目标会话用户。如果同意建立这条会话连接,则目标会话实体收到S_CONNECT.response原语,并向源会话实体发送连接接受SPDU(以AC表示)。这样,当源和目标双方的会话实体交换了CN和AC会话协议数据单元之后,便能建立起一条会话连接。第二阶段进行正常数据传送。在全双工通信方式中,源和目标会话实体可以同时向对方发送数据SPDU(以DT表示)。每当会话实体收到会话用户发来的S_DATA.request原语后,便可发送一个DT。当会话用户数据太长时,可将它分为几段,形成几个DT。对等会话实体收到DT后应向会话用户传递S_DATA.indication原语。与传输层不同的是在数据传送阶段没有设置本层的流量控制机制,但它可利用传输层内的流控机制来间接地控制本层的会话协议数据单元的流量。第三阶段是释放会话连接。当会话实体收到会话用户发来的S_RELEASE.request原语后,应采用有序方式来释放会话连接,它将向目标会话实体发送结束SPDU(以FN表示)。目标会话用户收到S_RELEASE.request后,发出S_RELEASE.response。目标会话实体将发送断开连接SPDU(以DN表示)。以上通过S_RELEASE原语的交互表示了会话连接有序释放的情况。如果在数据传送过程中出现异常情况,任一方会话实体也可不经协商而突然释放连接(对应的服务原语为S_U_ABORT),另一方不能拒绝,这时可能造成数据的丢失。第六层表示层(一)表示层简介OSI/RM中表示层的作用,就是要处理应用数据以什么样的表示形式来进行传送,才能达到任意应用系统之间的信息沟通。这就是表示服务的重要性。具体来说,表示层的作用是对源端内部的数据结构进行编码,形成适合于传送的比特流,到了目的端再进行解码,转换成用户所要求的格式(必须保持数据的意义不变)。至于数据比特流的传送,则由表示层的下面五层提供可靠、透明、按序的数据传送。另外,随着通信网的发展,表示服务也从一开始单纯地进行数据格式的转换,演变成为处理数据的转换、压缩和加密等。需要说明的是,并不是在所有情况下都必须要有表示服务,而且目前在大多数网络系统中不单独存在表示层。表示服务往往与会话服务一起,作为应用层的增值服务的形式,融合在网络应用的软件系统中。(二)表示层的概念与功能各个不同的端系统可能有不同的数据表示:不同的机器字长、不同的浮点数格式以及不同的字符编码等。同一个信息在不同的端系统中会表现为不同的内部形式,显然这些不同的内部数据表示不能直接用于开放系统之间的交换。开放系统之间必须有一种共同的语言作为信息交换的工具。下面我们来说明端系统之间的信息交流工具应该具有什么特点。首先,开放系统之间的交流工具应该与任何实际的系统无关,即具有抽象性。其次,这种交流工具应有很强的表达能力,即使不能应付所有的应用要求,至少也要能适用于绝大多数的应用。最后,这种交流语言要能方便地转变成各种具体形式,既能适合于本地存储所需的形式,又能方便地变换成适合于通信线路传输的字节流形式以发送给远端的机器。表示层要解决的中心问题,就是确定端系统之间的信息交流工具。为了使各个端系统之间交换的信息具有相同的语义,应用层采用了相互承认的抽象语法。抽象语法是应用实体和表示实体之间交接的数据的表现形式。表示层的主要功能(1)传送语法协商。根据应用层的要求协商选择合适的表示上下文,即确定传送语法。(2)语法转换。将抽象语法转换成传送语法,并在对方实现相反的转换。(3)服务映射。把应用层服务,如对话管理(权标管理)、同步控制等请求原语映射到相应的会话服务原语。例如,在两个应用实体之间建立表示连接,选择表示服务功能单元(类似于会话服务功能单元),包含几种表示服务和若干条服务原语;确定已定义表示上下文的初始集;选择所需的会话连接特性等。应用实体可利用表示连接传送多种类型的数据,表示层可提供正常数据、加速数据和能力数据的传送,但不提供流量控制机制。(4)其他功能:\uf06c表示层管理。表示层协议涉及到该层的一些管理活动,如激活连接和差错控制、表示上下文管理等。\uf06c数据压缩。源端表示实体对所传送的数据按某种规则进行压缩,由接收端的对等表示实体进行解压恢复,从而达到节省通信费用、提高传送效率的目的。\uf06c数据加密。源端表示实体采用某种加密算法对所传送的数据进行加密,来提高数据的安全性,接收端的表示实体收到数据后再进行解密。(三)语法转换我们知道,网络中互相通信的计算机系统是有差异的,各自采用的语法会有所不同。某一具体计算机所采用的语法称为局部语法。局部语法的差异决定了同一数据对象在不同的计算机上被表示为不同的比特串,比如高位字节在前或者低位字节在前。当需要把数据从一台计算机传送到另一台计算机时,如果双方之间存在局部语法上的差异,那么为了保证数据语义的正确性,就存在语法转换的必要性。语法转换工作可以由发送方完成,也可以由接收方完成或者由双方协作完成。当语法转换只由某一方完成时,只需要完成一次转换。这种工作方式所带来的问题是执行转换的一方必须精确地知道对方的局部语法,并且还要有进行这种转换的能力。但是由于在网络中各种系统结构、语言及应用的多样性,也即局部语法的种类很多,那么要求任何一台计算机记住所有可能遇到的局部语法并实现转换,显然是不现实的。为此,在OSI/RM的表示层中,采用通信双方经过表示协议的协调,各自完成一次语法转换的方法。这就需要一种标准的语法,即传送语法。发送方把符合自己的局部语法的比特串转换为符合传送语法的比特串,接收方再把符合传送语法的比特串转换为符合自己局部语法的比特串。这样,考虑的问题就是如何来描述局部语法。不同的计算机系统可以有自己特有的局部语法及其描述方法,例如巴科斯范式BNF、语法图等。OSI也提出了一种标准的描述方法,即“抽象语法表示法1”ASN.1(AbstractSyntaxNotationOne),简称抽象语法。它具有类似于面向对象程序设计语言中所提供的类型的机制,可以定义任何复杂结构的数据类型,而不同的数据类型之间还可以有继承关系。OSI/RM应用层就是用这种抽象语法来描述本地应用系统中的局部语法数据的类型的。ASN.1的设计思想是:定义各种应用所需的全部数据结构类型,将其放在一个库中,当某个应用想发送一个数据结构时,可将此数据结构及对应的ASN.1名字传递给表示层。表示层根据ASN.1定义即可知道字段的类型和长度,并知道如何将其编码进行传送。接收端的表示层收到数据结构后,检查其ASN.1的标识即可知道数据结构的类型和长度等,并按照数据结构的描述信息,把接收到的外部格式转换为内部格式,送交应用进程。关于抽象语法,需要说明的有两点。第一,抽象语法是对数据一般结构形式的描述,与现有的高级程序设计语言中的类型说明相似。也就是说,抽象语法是数据描述规范中所采用的、独立于该数据编码技术的规则,同时也不涉及这些数据结构在计算机内如何存储。ASN.1的内容实际上就是规定了各种数据类型及数据对象的一种记法以及相应的语义。第二点,在OSI标准的描述中,认为应用实体交给表示实体的是一个由ASN.1所定义的抽象数据对象,而表示实体所实现的是从这一抽象数据对象到传送语法的转换或者是其逆转换,可参见前面图9-9。这是因为OSI协议的实现者是一些抽象的协议实体,这些协议实体所能处理的只是由ASN.1所描述的抽象数据对象,而“如何将符合ASN.1定义的数据对象表示为符合具体的局部语法的对象”这个问题已经超出了OSI标准化的范围。因此,在OSI标准中,把对等应用实体之间和应用实体与表示实体之间所传送的数据对象,都看成是由ASN.1描述的抽象数据对象。一般地说,一个信息是通过数据类型和数据值来表示的。由于抽象语法只描述了数据所具有的结构和表示形式,并不涉及数据值的表示,所以OSI在ASN.1基础上规定了传送语法,并且定义了一套从ASN.1数据对象到传送语法的编码规则,以便与标准传送语法配合。这称为ASN.1基本编码规则BER(BasicEncodingRule)。在通常情况下,确定了编码规则也就确定了解码规则。ASN.1和BER是为了分别表示传送信息的抽象语法和传送语法而开发的一种手段,两者共同构成了OSI的表示层标准。ASN.1和BER的区别在于,ASN.1是用来定义各种应用协议数据单元APDU的数据类型的工具,是表示服务的一部分。而BER则是用于描述各APDU类型所代表的数据值,它是表示协议的一部分。另外,还应注意的是对应一种抽象语法不止有一种编码规则。例如有时需要加密,有时需要压缩,有时两者都需要,而有时两者都不需要,这些选择可以在表示层内部进行协商,由通信的两个表示实体取得一致。(四)表示上下文表示上下文用来描述抽象语法之间与传送语法之间的映射关系,或者说一个抽象语法和一种所商定的传送语法的组合就是一个表示上下文。假设在某个应用中使用的数据类型为字符串并记为X,这样,如果表示实体在与对等表示实体协商后按ISO646(即ASCⅡ码)对X进行编码,便构成了X/ISO646表示上下文;如果双方协商后确定按EBCDIC码对X进行编码,又构成X/EBCDIC表示上下文。在开放系统之间通信时,目的系统必须知道所接收的数据属于哪一个上下文,方能进行正确的解码。当通信中没有指定表示上下文时,表示实体就使用系统缺省的表示上下文。表示上下文可在建立表示连接时,由双方协商确定,也允许在通信过程中重新定义。对于同一种数据结构类型(抽象语法相同),在不同的时间可能使用不同的传送语法(编码表示不同)。例如有时需要使用加密算法,有时需要使用压缩算法,或者使用其他的冗余编码。所以,在一个表示连接上可以由多个表示上下文。但是,任何时刻只能有一个表示上下文处于活动状态,应用实体可以选择哪个表示上下文处于活动状态。在通信过程中,这种选择和激活表示上下文的控制情况,由表示实体负责通知接收端对等实体,这就是表示层的表示上下文服务功能。在任何时刻,可以通过传送语法的协商来定义多个表示上下文,这些表示上下文就构成了已定义的表示上下文集DCS(DefinedContextSet)。我们采用以下的例子来说明由协商确定表示上下文的过程。例如,源端的表示层连接请求中需要对一组应用协议数据单元APDU-type(1)、APDU-type(2)和APDU-type(3)确定抽象语法(AS)和对应的传送语法(TS)。假设表示层已知道了这些抽象语法,但是,表示层的两个对等实体还要协商用什么样的传送语法。如果共有四种传送语法TS(a)、TS(b)、TS(c)和TS(d)可供选用。于是,源端的应用实体对每一种AS建议了几种TS,希望接收端对等实体至少能支持其中的一种,可表示为如下的形式:(1)APDU-type(1)=AS(1),[TS(a),TS(b),TS(c)](2)APDU-type(2)=AS(2),[TS(a),TS(d)](3)APDU-type(3)=AS(3),[TS(b),TS(c),TS(d)]接收端对等实体对这个请求的响应可能是:(1)APDU-type(1)=AS(1),TS(a)(2)APDU-type(2)=AS(2),TS(d)(3)APDU-type(3)=AS(3),TS(d)这样协商就取得了一致,连接成功地建立。当然也可能接收端认为信息不可读而拒绝建立连接。以上的三个表示上下文合在一起,就构成了已定义的上下文集。DCS是可变的,表示层随时可能增减表示上下文以适应应用层不断变化的要求,表示层提供的这种服务称为上下文管理服务。(五)表示服务原语和协议表示层提供的上下文管理服务是通过一种特别的原语P_ALTER_CONTEXT实现的,而其他服务原语都与会话服务原语类似,且名称也相似,这里限于篇幅不再介绍。为了了解表示层的特点,我们详细地讨论P_ALTER_CONTEXT原语。P_ALTER_CONTEXT服务是应答式服务,用户利用这种服务协商改变已定义的表示上下文集DCS,即可以创建、增加或删除表示上下文。除了连接建立阶段,用户之间的协商只能通过这种原语交互进行。P_ALTER_CONTEXT原语和参数列于表6-4中。P_ALTER_CONTEXT原语参数request表示上下文增加表,表示上下文删除表,用户数据,表示上下文增加结果表(仅用于指示原语)indicationresponse表示上下文增加结果表,表示上下文删除结果表,用户数据confirm表6-4P_ALTER_CONTEXT原语及参数DCS的每一项由一个表示上下文标识符PCI(PresentationContextIdentification)和一个抽象语法名组成。由于PCI要有唯一性,而两个端系统都可能指定PCI,所以为了避免混淆,规定连接的发起端使用奇数号,而接受端使用偶数号。原语中的参数“表示上下文增加表”、“表示上下文删除表”都是由标识符对(PCI,抽象语法名)组成的表,指出发起端期望增减的表示上下文。由响应原语返回的“表示上下文增加/删除结果表”则指明响应端对发起端的每一个提议接受还是拒绝,再拒绝的情况下还要指明是服务用户拒绝还是服务提供者拒绝以及拒绝的原因。与会话层协议一样,表示层协议也分为一些功能单元。核心单元用于建立表示连接、传送数据和释放连接,它总是必备的。另外一个功能单元是上下文管理单元,用于增减已定义的上下文集。还有一个功能单元是上下文恢复单元,当会话连接重新同步时,这个功能单元可以存储上下文信息以备以后恢复。应用层与表示层之间交互服务原语的方法与下面几层的情况是相似的。例如,在表示连接建立后,在传送数据阶段的P_DATA服务原语的交互情况如图9-11所示。当表示层收到应用层的P_DATA.request原语后,要向对等表示实体发出相应的表示协议数据单元PPDU。当PPDU在向下层传递时,由表示实体向会话实体发出相应的数据请求服务原语。这样逐层递交下去。以后通过物理媒体传到目的端,然后逐层上交,最后交付给对等应用实体的是P_DATA.indication原语。图中还指出,在应用层与表示层之间使用的是抽象语法,而在两个表示层之间使用的则是传送语法。第七层应用层(一)应用层简介应用层是OSI/RM中最高的一个功能层,它是开放系统互连环境(OSI环境)与本地系统的操作系统和应用系统直接接口的一个层次。在功能上,应用层为本地系统的应用进程(AP)访问OSI环境提供手段,也是唯一直接给应用进程提供各种应用服务的层次。根据分层原则,应用层向应用进程提供的服务是OSI的所有层直接或间接提供服务的总和。计算机通信网的最终目的是为用户提供一些特定的服务,使得本地系统能与外界系统进行协调合作。为了实现这种协调,应用层一方面为应用进程提供彼此通信的手段,也就是为其创建OSI环境;另一方面,由于各种应用类型的多样性,应用层协议也必定是多种多样的,为了减少应用系统与外界通信的复杂性,在应用层内应配置尽可能多的、公用或专用的应用服务元素ASE(ApplicationServiceElement),提供给应用系统根据需要调用。所谓应用服务元素就是各种应用都需要的功能成分,是应用层的基本构件。(二)应用实体的模型OSI环境解决了应用进程在开放环境下与外界系统的通信行为,但应用系统在本地环境下的进程间交互作用,则是本地操作系统的行为,与OSI的应用层无关。例如,在不同端系统之间传送文件的应用进程,不仅要和用户进行交互以询问所要传送的文件名,还要和文件系统交互以读出(或写入)所要传送的文件。而OSI只关心进程之间的通信行为,因此对应用进程进行抽象,只保留了应用进程中与外界系统交互行为有关的那些部分。这种抽象实际上是对应用进程某种程度上的简化。从原则上讲,简化后的模型应当恰好能够描述和说明这些进程之间的外部交互行为。这种经过抽象后的应用即称为应用实体AE(ApplicationEntity),应用进程必须借助于应用实体、应用协议和表示服务才能交换信息。从另一个角度来说,我们也可以将应用实体看作是应用层在与应用进程交互并提供应用服务时而“创建”的一个进程。(三)概念和术语(1)应用进程AP——一个应用进程包括在主机的操作系统环境中运行的一个或多个应用软件和通信软件。显然,当应用进程在与另一个开放系统进行交互时,总有一部分在OSI环境之外(即与本地其他进程交互的部分,可认为是应用进程的内部交互),而另一部分在OSI环境之中(即与OSI交互的部分,可认为是应用进程的外部交互),前者完成与用户信息加工有关的功能,而后者完成与网络通信有关的功能。在OSI标准中,就把应用进程中与OSI有关的那部分称为应用实体AE,并放在应用层之中,而把与OSI无关的那部分仍称为应用进程,放在应用层之外。(2)应用实体AE——不同的OSI应用被抽象为不同类型的应用实体,应用实体在OSI环境中代表了应用进程与外界进行交互的那部分逻辑抽象。也可理解为OSI环境中的应用进程,这一点在本书的前面章节中并没有明确地进行说明。(3)用户元素UE——它是应用实体中的一个功能部分,也可理解为是应用实体中的应用进程。用户元素与OSI服务具体的应用有关,起到用户的应用进程与OSI应用实体之间的接口的作用,或者可看作是AP在AE中的“代理”。(4)应用服务元素ASE——应用实体之间的通信是多种多样的,对于不同的通信要求或用途,应用实体应提供不同的服务,因此根据不同的通信用途将这些服务划分为一些可标识的功能元素,分别提供某一特定的通信服务,这种可标识的功能元素称为应用服务元素ASE。它是应用实体的主要构成部分,每一个ASE都提供了针对某一应用服务目的而用的OSI能力。所谓应用层协议,就是两个对等AE中的同类ASE之间的交互协议,它们之间交互使用各种应用协议数据单元APDU。对用户的应用进程来说,ASE将表示层及其以下的各层的细节和复杂性都屏蔽掉了。ASE又进一步划分为CASE和SASE,CASE提供对SASE的支持,下面将给出进一步的解释。(5)应用上下文——指在一个应用“联系”(类似于较低层上的“连接”)上,应用实体所使用的应用服务元素的数目和种类,以及对应用服务元素的调用规则。实系统中的任何应用如要访问OSI环境,首先要通过用户元素UE。在实现中,它是一组完成用户应用服务与AE中定义的服务原语之间的映射,从而建立用户的应用进程与应用实体的链接关系的库过程或函数,即所谓的应用编程接口API。(四)应用服务元素ASE在应用层中,最复杂和最特殊的就是它划分出许多的应用服务元素ASE。所谓应用层的标准化,主要也就是指各种ASE的标准化,即把一些应用进程经常使用或可能使用的功能以及实现这些功能所要使用的协议进行标准化。应用服务元素是应用层协议的执行者,例如,在图9-12中,应用层协议1、2、3的执行者分别是ASE1、ASE2、ASE3。这一点在OSI层次结构中是很特殊的。在OSI的其他层次中,协议的执行者是该协议所属层次中的实体,这些实体内部不再划分成更小的单位。然而在应用层中却不同,应用层协议的执行者不再是笼统的应用实体AE,而是它内部所包含的各个应用服务元素ASE。一个ASE通过执行某种应用层协议可以向其服务用户提供某种服务。为了执行协议它也可能需要用到其他ASE所提供的服务。同一个应用实体AE中的各ASE之间互为服务用户,即呈现出相互的依赖关系。因而,一个ASE就应当包括它所需要的服务、所执行的协议和向服务用户所提供的服务这三个部分。正由于ASE是应用层协议的执行者,因此应用层与表示层之间所请求和提供的服务不是发生在表示实体与应用实体AE之间,而是发生在表示实体与ASE之间或者ASE与ASE之间,以及ASE与用户元素UE之间,表现为所交互的服务原语都是指向ASE或由ASE发出的。从程序设计的角度可以把构成AE的各个元素看作是一些模块,而原语的交互则可以采用模块间通信的方法,如子程序调用、中断处理程序以及共享内存等。通过对这些模块的标准化就可以获得标准化的应用服务,这些标准化服务的最终使用者是用户元素UE。UE实际上代表了应用进程中非标准化的模块,通过引入UE可以使得OSI方便地描述服务提供者与服务使用者之间的关系。还需要说明的是,在OSI的第一层到第六层,服务提供者和服务用户之间的接口都与服务访问点相对应,然而在应用层中,由于应用服务元素ASE的引入,在应用实体AE中存在着若干个服务提供者与服务用户的接口。但由于这些接口都只是应用实体的一部分,不需要单独的寻址,因而也就没有必要和服务访问点相连。这样,在应用层和用户进程之间就没有服务访问点,这一点和OSI其他层次中的情况不同。另外,OSI曾把ASE分为两类:(1)各种类型的应用实体都要包含和用到的公用服务元素CASE(CommonASE);(2)某几类特定应用实体才要用到的专用服务元素SASE(SpecificASE)。由于在CASE和SASE之间不容易找到区分它们的客观标准,因此现在OSI的正式标准只使用应用服务元素ASE这一名词。本书中为了说明CASE和SASE之间的区别,仍然采用这两个单独的名词。目前,OSI已定义并标准化了较为完备的CASE集合,它们包括:(1)联系控制服务元素(ACSE):用来管理应用实体之间的联系,ACSE仅和两个SASE间逻辑联系的建立和释放有关。(2)可靠传送服务元素(RTSE):负责两个应用实体之间的信息(APDU)的可靠传送。(3)远程操作服务元素(ROSE):用来发起和管理远地应用实体之间的交互式远程操作,如接收来自远程SASE的结果。(4)托付、并发和恢复(CCR):负责保证分布在网络环境下多个应用进程间可靠地进行协同操作以完成共同任务,以使所有应用和操作中的所有数据保持一致状态。后面将对上述四种为各种应用共同使用的应用服务元素做详细的介绍。关于专用服务元素SASE,每一个都对应于一种特定的应用服务功能。例如OSI的虚拟终端VT服务元素,它是专门服务于应用系统中的远程仿真终端系统的SASE,其对应的基于TCP/IP模型的应用服务元素是远程登录Telnet服务。OSI中的FTAM专用服务元素是专门服务于应用系统中的文件传送系统的,其对应的基于TCP/IP的服务元素是FTP。OSI的MHS专用服务元素则专门服务于应用系统中的电子邮件系统,在TCP/IP模型中对应的服务元素为SMTP(Email)服务。因为实际中的应用还在不断地发展,所以OSI/RM中不可能定义所有的专用服务元素,我们只介绍几个比较重要和实用的专用服务元素,及其与它们相对应的基于TCP/IP协议模型的的应用服务和协议。最后需要指出,虽然应用实体AE是对应用进程的抽象,但是,它和应用进程之间并不是一一对应的关系。一个完成多种功能的应用进程往往需要包含多个不同类型的应用实体。(五)OSI应用层和Internet应用层目前,在OSI应用层中已经制定了许多有用的应用层协议,它们是专用服务元素SASE提供的那些特定应用所需的特殊服务,其中主要有:(1)报文处理系统MHS(MessageHandlingSystem);(2)文件传送、访问和管理FTAM(FileTransfer,AccessandManagement);(3)虚拟终端VT(VirtualTerminal);(4)目录服务DS(DirectoryService);(5)作业传送与操纵JTM(JobTransferandManagement);(6)事务处理TP(TransactionProcessing);(7)远程数据库访问RDA(RemoteDatabaseAccess)等。Internet作为当今最大的、应用最广的计算机通信网,它是基于TCP/IP协议模型的,以Internet的应用层作为网络的面向应用服务的实例,具有重要的实际意义。正如前面所讲述的,Internet的应用层与OSI/RM中的应用层差别很大,它不仅包括了高层中可能的所有功能,而且还延伸到包括本地应用进程本身在内,所以Internet的应用层可以说是OSI/RM的高层与应用系统的融合体。Internet的应用层主要包括了一系列应用系统的服务元素与协议,例如远程登录服务Telnet、文件传送协议FTP、简单邮件传输协议SMTP、简单网络管理协议SNMP、域名系统DNS,以及近期特别流行的环球网(WWW)超文本传输协议HTTP等等。实际上,由这些协议所规范的应用服务与OSI/RM中的专用服务元素之间存在着一定的对应关系,如Telnet与VT、FTP与FTAM、SMTP与MHS、DS与DNS等。因此,在以下的介绍中,我们把OSI/RM中的和基于TCP/IP的具有对应关系的服务与协议组织在一起讨论。',)


  • 编号:1700877715
  • 分类:标准规范
  • 软件: wps,office word
  • 大小:25页
  • 格式:docx
  • 风格:商务
  • PPT页数:74854 KB
  • 标签:

广告位推荐

相关标准规范更多>