资源预览内容
第1页 / 共75页
第2页 / 共75页
第3页 / 共75页
第4页 / 共75页
第5页 / 共75页
第6页 / 共75页
第7页 / 共75页
第8页 / 共75页
第9页 / 共75页
第10页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十三章第十三章 运输层及高层运输层及高层本章主要内容本章主要内容n13.1 13.1 运输层运输层n13.2 13.2 会晤层会晤层n13.3 13.3 表示层表示层n13.4 13.4 应用层应用层nOSIOSI参考模型中第一层至第四层称为低层,参考模型中第一层至第四层称为低层,第五层至第七层称为高层。第五层至第七层称为高层。低层主要解决可靠运输问题,高层主要解决信低层主要解决可靠运输问题,高层主要解决信息可懂问题。息可懂问题。运输层是低层与高层协议的界面,是低层协议运输层是低层与高层协议的界面,是低层协议中唯一属于端到端层,在整个协议中占据重要中唯一属于端到端层,在整个协议中占据重要位置位置n本章主要讨论运输层,对高层协议作整体本章主要讨论运输层,对高层协议作整体介绍。介绍。13.1 运输层运输层n13.1.1 OSI运输服务原语运输服务原语n13.1.2 OSI运输协议运输协议n13.1.3 运输层的连接管理运输层的连接管理n13.1.4 运输层协议实现运输层协议实现n运输层的服务用户为会晤层实体。运输层的服务用户为会晤层实体。n运输层的目的运输层的目的利用网络层提供的服务,向用户提供有效、可利用网络层提供的服务,向用户提供有效、可靠和价格合理的运输服务。靠和价格合理的运输服务。n运输层服务运输层服务面向连接的服务面向连接的服务向用户提供连接的建立、维持和释放。向用户提供连接的建立、维持和释放。无连接的服务无连接的服务与网络层的无连接服务相似。与网络层的无连接服务相似。n网络层与运输层本质上都有相同的寻址方网络层与运输层本质上都有相同的寻址方式和流控方式。式和流控方式。n运输层的必要性运输层的必要性由于用户无法对子网加以控制,因此他们不能由于用户无法对子网加以控制,因此他们不能通过换用更好的路由器或增强数据链路层的纠通过换用更好的路由器或增强数据链路层的纠错能力来解决网络服务质量低劣的问题,唯一错能力来解决网络服务质量低劣的问题,唯一可行的办法就是在网络层上再加上一层来改善可行的办法就是在网络层上再加上一层来改善服务质量,因此传输层的存在使传输服务比网服务质量,因此传输层的存在使传输服务比网络层的服务可靠得多。络层的服务可靠得多。13.1.1 OSI运输服务原语运输服务原语nOSI运输服务原语提供面向连接和无连接服务使运输服务原语提供面向连接和无连接服务使用。见表用。见表13.1。n运输层与网络层的区别运输层与网络层的区别网络层网络层网络服务趋向于将实际网络提供的服务模型化,由网络服务趋向于将实际网络提供的服务模型化,由于网络会丢失数据分组或自发地发于网络会丢失数据分组或自发地发N_RESET服务服务原语。因此网络服务就为用户提供了一种处理数据原语。因此网络服务就为用户提供了一种处理数据确认和确认和N_RESET服务原语的方式。服务原语的方式。网络服务的用户是运输层。网络服务的用户是运输层。运输层运输层运输层不涉及数据确认和运输层不涉及数据确认和N_RESET服务原语。运服务原语。运输层的目标是在不可靠网络上为用户提供一个可靠输层的目标是在不可靠网络上为用户提供一个可靠的服务。的服务。运输层的用户是会晤层或其他的应用程序。运输层的用户是会晤层或其他的应用程序。n一般来说,在一个运输连接终端上发出一一般来说,在一个运输连接终端上发出一个服务原语会在另一个运输连接终端上产个服务原语会在另一个运输连接终端上产生结果。图生结果。图13.1表示在正常情况下表示在正常情况下OSI原原语的应用。语的应用。n图图13.1(a)说明正常连接建立过程。)说明正常连接建立过程。n图图13.1(b)目的端用户拒绝连接请求。)目的端用户拒绝连接请求。n图图13.1(c)和()和(d)普通数据和加速数据)普通数据和加速数据的传输过程。的传输过程。n图图13.1 (e)正常释放过程。)正常释放过程。n传输层服务访问点的状态转移传输层服务访问点的状态转移传输层服务访问点的状态传输层服务访问点的状态状态状态1:空闲(:空闲(IDLE),尚未建立连接或正在试图建立连接。),尚未建立连接或正在试图建立连接。在此状态下可以发出在此状态下可以发出T_CONNECT请求或收到请求或收到T_CONNECT指示。指示。状态状态2:出向连接期,已发出:出向连接期,已发出T_CONNECT.request,而尚,而尚未收到远端同层实体的应答。未收到远端同层实体的应答。状态状态3:入向连接期,已收到:入向连接期,已收到T_CONNECT.indication,但,但尚未决定是接受或拒绝。尚未决定是接受或拒绝。状态状态4:数据运输就绪,已经建立连接,可以运输数据。:数据运输就绪,已经建立连接,可以运输数据。n图图13.2说明说明空闲状态到数据传输就绪状态有两条途径:空闲状态到数据传输就绪状态有两条途径:1-2-4;1-3-4。实际上就是主呼方和被呼方状。实际上就是主呼方和被呼方状态转换路径。态转换路径。空闲状态反映没有运输连接,是任一顺序的起空闲状态反映没有运输连接,是任一顺序的起始和最终状态,一旦再次进入该状态运输连接始和最终状态,一旦再次进入该状态运输连接就被释放。就被释放。在连接建立或数据运输阶段的任一时刻,都能在连接建立或数据运输阶段的任一时刻,都能发起连接释放过程,在建立阶段中,不能发起发起连接释放过程,在建立阶段中,不能发起除连接释放以外的其他任何过程。除连接释放以外的其他任何过程。13.1.2 OSI运输协议运输协议n运输服务是通过两运输实体间的运输协议运输服务是通过两运输实体间的运输协议来实现的。来实现的。n运输协议需要解决差错控制、排序和流控运输协议需要解决差错控制、排序和流控问题。问题。n运输层与数据链路层的区别运输层与数据链路层的区别首先,数据链路层不必给出目的地址,因为只有一个首先,数据链路层不必给出目的地址,因为只有一个终端与它相连,而在运输层,则必须给出目的地址。终端与它相连,而在运输层,则必须给出目的地址。其次,数据链路层连接较为简单,另一端总是存在或其次,数据链路层连接较为简单,另一端总是存在或不存在;而传输层连接建立过程要复杂的多。不存在;而传输层连接建立过程要复杂的多。第三,数据链路层物理媒体没有存储能力,而通信子第三,数据链路层物理媒体没有存储能力,而通信子网中存在潜在的存储能力,这就要求在运输层使用特网中存在潜在的存储能力,这就要求在运输层使用特殊的协议。殊的协议。最后,数据链路层最多有一条连接,而运输层中会出最后,数据链路层最多有一条连接,而运输层中会出现大量动态的连接,这要求运输实体与数据链路层采现大量动态的连接,这要求运输实体与数据链路层采用不同的管理方法。用不同的管理方法。n运输层的主要功能是针对用户要求来弥补网络层运输层的主要功能是针对用户要求来弥补网络层服务不足,因此用户要求的运输层协议的类型与服务不足,因此用户要求的运输层协议的类型与服务有关。服务有关。n网络层服务分类网络层服务分类A类服务类服务 表示能提供完善的网络服务。分组的丢失、表示能提供完善的网络服务。分组的丢失、重复以及网络的重置等情况很少出现。由于网络的服重复以及网络的重置等情况很少出现。由于网络的服务质量已经很高,因此在其上运行的运输协议很简单。务质量已经很高,因此在其上运行的运输协议很简单。B类服务类服务 单个分组很少丢失,但网络层会因为内部拥单个分组很少丢失,但网络层会因为内部拥挤、硬件故障、软件错误而不时地发出挤、硬件故障、软件错误而不时地发出N_RESET原语,原语,这需要运输层来弥补。这需要运输层来弥补。C类服务类服务 网络服务是不可靠的服务,只能提供单纯无网络服务是不可靠的服务,只能提供单纯无连接服务的广域网。连接服务的广域网。nOSI根据不同的网络服务类型,将运输层根据不同的网络服务类型,将运输层协议分为五类。协议分为五类。TP0 它为每个提出请求的传送连接建立一个它为每个提出请求的传送连接建立一个网络连接。运输层依靠网络层对数据提供正确网络连接。运输层依靠网络层对数据提供正确的传送,只提供建立和释放连接的机构,运输的传送,只提供建立和释放连接的机构,运输层不进行排序和流控。层不进行排序和流控。TP1 如果某一给定传送连接受到如果某一给定传送连接受到N_RESET的的影响,传送连接两端的两个传送实体要做一次影响,传送连接两端的两个传送实体要做一次同步,然后从中断处开始继续运行。同步,然后从中断处开始继续运行。1类运输类运输协议不提供任何差错控制和流量控制。协议不提供任何差错控制和流量控制。nTP2 使用使用A类网络服务,允许两个或多个类网络服务,允许两个或多个传送连接向同一网络连接发数据(多路复传送连接向同一网络连接发数据(多路复用),这在某些情况下可以降低用户的费用),这在某些情况下可以降低用户的费用。用。nTP3 既可以采用多路复用,也可以从既可以采用多路复用,也可以从N_RESET中恢复,它还使用显式流控。中恢复,它还使用显式流控。nTP4 最为复杂,它必须能处理分组的丢失、最为复杂,它必须能处理分组的丢失、重复、残缺分组、重复、残缺分组、N_RESET以及网络服务以及网络服务遗留下来的其他所有差错。遗留下来的其他所有差错。n传输协议的选择传输协议的选择由运输实体在建立连接时确定。由运输实体在建立连接时确定。连接发起者在连接发起者在T_CONNECT.request原语中可以建原语中可以建议自己希望的类型,或提出运输层服务质量议自己希望的类型,或提出运输层服务质量(QoS)的参数表。)的参数表。连接请求响应者可以从连接请求者提供的表中选择连接请求响应者可以从连接请求者提供的表中选择可接收的服务质量或协议类。可接收的服务质量或协议类。如果连接请求提供的选择均不可接受,就拒绝连接。如果连接请求提供的选择均不可接受,就拒绝连接。不同的应用对不同的应用对QoS有不同的要求,即使是同样的网有不同的要求,即使是同样的网络服务,也可能要求不同的运输服务类别。络服务,也可能要求不同的运输服务类别。n服务质量(服务质量(QoS)选择)选择传输服务用户传输服务用户1 1传输服务用户传输服务用户2 2传输实体传输实体1 1传输实体传输实体2 2Q4Q0Q1Q0Q3Q0Q4Q0Q2Q0Q4Q0Q0:Q0:最低的最低的QoS;QoS;Q1:Q1:传输服务用户传输服务用户1 1所希望的所希望的QoS;QoS;Q2:Q2:传输实体传输实体1 1所希望的所希望的QoS;QoS;Q3:Q3:传输实体传输实体2 2所希望的所希望的QoS;QoS;Q4:Q4:传输服务用户传输服务用户2 2所希望的所希望的QoS;QoS;通常,通常,Q1Q2Q3Q4Q0Q1Q2Q3Q4Q0图图13-3-1 13-3-1 传输服务质量协商过程传输服务质量协商过程n首先,传输服务用户首先,传输服务用户1向传输实体发送请求向传输实体发送请求建立连接,它的服务质量包括它希望的值建立连接,它的服务质量包括它希望的值Q1和最小可接受的值和最小可接受的值Q0;n第二,传输实体第二,传输实体1不能提供不能提供Q1的服务,而的服务,而能提供高于能提供高于Q0的服务的服务Q2,因此传输实体,因此传输实体1向传输实体向传输实体2建立请求时,其服务质量取为建立请求时,其服务质量取为Q2和最小可接受的值和最小可接受的值Q0;n第三,传输实体第三,传输实体2不能提供不能提供Q2,但能提供,但能提供高于高于Q0的服务质量的服务质量Q3,因此它向传输服,因此它向传输服务用户务用户2发送连接建立指示中的服务质量为发送连接建立指示中的服务质量为Q3和最小可接受的值和最小可接受的值Q0;n第四,传输服务用户第四,传输服务用户2不能处理不能处理Q3的服务的服务质量,而只能处理高于质量,而只能处理高于Q0的的Q4,因此它,因此它向传输实体向传输实体2发送了可接受的值发送了可接受的值Q4和最小和最小接受值接受值Q0;n第五,传输实体第五,传输实体2反馈给传输实体反馈给传输实体1可接受可接受的值的值Q4和最小可接受的值和最小可接受的值Q0;n第六,传输实体第六,传输实体1向传输服务用户向传输服务用户1发送可发送可接受的值接受的值Q4和最小可接受的值和最小可接受的值Q0。 这样经过协商,服务质量这样经过协商,服务质量Q4被确定,被确定,那么在整个连接存在期间服务质量保持不那么在整个连接存在期间服务质量保持不变。变。13.1.3 运输层的连接管理运输层的连接管理n13.1.3.1 寻址寻址n13.1.3.2 建立连接建立连接n13.1.3.3 释放连接释放连接n13.1.3.4 连接管理的其他方面连接管理的其他方面n链路层在物理层上运行,终端间直接有物链路层在物理层上运行,终端间直接有物理通道连接,一条链路对应一个终端,因理通道连接,一条链路对应一个终端,因此寻址容易。此寻址容易。n运输层在网络层上运行,必须给出目的实运输层在网络层上运行,必须给出目的实体的显式地址才行,在运输层,连接的建体的显式地址才行,在运输层,连接的建立、释放和一般性管理与链路级相比复杂立、释放和一般性管理与链路级相比复杂得多。得多。13.1.3.1 寻址寻址n当应用程序希望与一个远程应用程序建立当应用程序希望与一个远程应用程序建立连接时,它必须指定与哪个应用程序相连。连接时,它必须指定与哪个应用程序相连。这就产生了寻址问题。这就产生了寻址问题。n一般的方法采用传输服务访问点一般的方法采用传输服务访问点TSAP,网,网络层中类似的端点为络层中类似的端点为NSAP。nTSAP位于运输层之上,位于运输层之上, NSAP位于网络层位于网络层之上。之上。n寻址示例寻址示例主机主机B上的时间查询服务进程将自己连到上的时间查询服务进程将自己连到122号号TSAP上;上;主机主机A上的应用程序想知道现在的时间,于是发送一个上的应用程序想知道现在的时间,于是发送一个T_CONNECT请求,将请求,将6设为源地址,将设为源地址,将122设为目的设为目的地址;地址;A运输实体在本机和运输实体在本机和B机上选择一个机上选择一个NSAP,并建立网,并建立网络连接;络连接;通过该连接,传输层的连接请求数据单元,然后通过该连接,传输层的连接请求数据单元,然后B机传机传送实体发送实体发T_CONNECT.indication,如连在,如连在122号号TSAP上的计时服务器同意,就建立运输连接。上的计时服务器同意,就建立运输连接。13.1.3.2 建立连接建立连接n由于网络内可能丢失、存储和出现重复分由于网络内可能丢失、存储和出现重复分组,运输层应能识别并处理这些数据。组,运输层应能识别并处理这些数据。n删除过时的在网内徘徊的分组,如果能确删除过时的在网内徘徊的分组,如果能确保任何一个分组在子网的存留时间都不超保任何一个分组在子网的存留时间都不超过某个限定时间,问题就在某种程度上获过某个限定时间,问题就在某种程度上获得解决。得解决。n采用以下技术之一,可以将分组的生命期采用以下技术之一,可以将分组的生命期限制在一个已知的最大值内。限制在一个已知的最大值内。子网受限设计;子网受限设计;包括防止分组进入回路以及限制时延不超过可能最包括防止分组进入回路以及限制时延不超过可能最长的路径时延。长的路径时延。在每个分组内设计一个站段计数器;在每个分组内设计一个站段计数器;在每次分组转发时使站段计数器加在每次分组转发时使站段计数器加1,数据链路层,数据链路层将丢弃那些站段计数器超过某个特定值的分组。将丢弃那些站段计数器超过某个特定值的分组。为每个分组加上时间戳。为每个分组加上时间戳。时间戳要求路由器的时钟同步,而同步是一项任务时间戳要求路由器的时钟同步,而同步是一项任务繁重的工作。繁重的工作。nTomlinson三次握手方法三次握手方法主机主机1发出连接请求时,选择一个序号发出连接请求时,选择一个序号x并向主并向主机机2发送一个包含该序号的连接请求发送一个包含该序号的连接请求TPDU;主机主机2回应一个接受连接的回应一个接受连接的TPDU,确认,确认x并申并申明自己所选用的初始序号为明自己所选用的初始序号为y;最后,主机最后,主机1在其发送的第一个数据在其发送的第一个数据TPDU中中确认主机确认主机2所选的初始序号。所选的初始序号。n如图如图13.6(a)所示。)所示。n异常情况处理(一)异常情况处理(一)出现延迟的重复控制出现延迟的重复控制TPDU时(图时(图13.6 (b))第一个第一个TPDU是来自一个已经释放连接的延迟重复是来自一个已经释放连接的延迟重复的连接请求,该的连接请求,该TPDU在主机在主机1毫不知晓的情况下到毫不知晓的情况下到达主机达主机2;主机主机2通过向主机通过向主机1发送一个接受连接发送一个接受连接TPDU来响应来响应该该TPDU,而该接受连接,而该接受连接TPDU的目的是要证实主的目的是要证实主机机1是否确实试图建立一个新的连接。是否确实试图建立一个新的连接。当主机当主机1拒绝接受连接请求时,主机拒绝接受连接请求时,主机2就放弃该连接。就放弃该连接。n异常情况处理(二)异常情况处理(二)当一个延迟的当一个延迟的CR和一个对和一个对ACC的确认并存于的确认并存于子网中时(图子网中时(图13.6(C))主机主机2受到一个延时的受到一个延时的CR并作了确认的应答;并作了确认的应答;当第当第2个延时的个延时的TPDU到达主机到达主机2时,主机根据其确时,主机根据其确认号判断出是一个过时的重复认号判断出是一个过时的重复TPDU;主机主机1对主机对主机2的确认应答回连接拒绝的确认应答回连接拒绝TPDU。13.1.3.3 释放连接释放连接n连接释放的方式连接释放的方式非对称释放非对称释放相互连接的传输用户中的任一方都能执行相互连接的传输用户中的任一方都能执行DISCONNECT原语,传输实体发送释放连接的原语,传输实体发送释放连接的TPDU,一旦该,一旦该TPDU到达,连接即被释放。到达,连接即被释放。对称释放对称释放连接的每一方相互独立。当一方执行了连接的每一方相互独立。当一方执行了DISCONNECT原语后,它就不再发送数据,但仍原语后,它就不再发送数据,但仍然能够接收对方的数据。在这种模式下,只有当连然能够接收对方的数据。在这种模式下,只有当连接的双方都执行了接的双方都执行了DISCONNECT原语时,才能释原语时,才能释放。放。13.1.3.4 连接管理的其他方面连接管理的其他方面n其他方面包括流控、多路复用以及崩溃恢其他方面包括流控、多路复用以及崩溃恢复等问题。复等问题。n网络崩溃是指在通信期间网络层发出网络崩溃是指在通信期间网络层发出N_RESET。n运输层在面临网络崩溃时必须能够从崩溃运输层在面临网络崩溃时必须能够从崩溃前状态恢复。前状态恢复。n运输层处理整个通信子网的问题,因此其运输层处理整个通信子网的问题,因此其连接管理非常复杂。连接管理非常复杂。13.1.4 运输层协议实现运输层协议实现n13.1.4.1 运输层的事件状态表运输层的事件状态表n13.1.4.2 任务间的排队结构任务间的排队结构13.1.4.1 运输层的事件状态表运输层的事件状态表n事件状态表事件状态表是协议实体的一种描述方法。是协议实体的一种描述方法。它定义了所有可能的入向事件它定义了所有可能的入向事件/现在状态的现在状态的组合、相应的出向事件以及新状态。组合、相应的出向事件以及新状态。n为了便于表示,在事件为了便于表示,在事件-状态表中以各种状态表中以各种缩写名来代表各事件、状态、动作前提及缩写名来代表各事件、状态、动作前提及动作。动作。n表表13.3列出了运输实体在连接建立阶段的列出了运输实体在连接建立阶段的事件事件状态表中所用的各缩写名及其含义。状态表中所用的各缩写名及其含义。n子表子表4中前提是一个布尔变量,中前提是一个布尔变量,它和对应入它和对应入向事件的参数值及自动机的一个或多个状向事件的参数值及自动机的一个或多个状态变量有关态变量有关,它表示动作前提,通常用,它表示动作前提,通常用P表表示。示。n表表13.4 为连接建立期的事件为连接建立期的事件状态表。表状态表。表中每一项指明了实际的出向事件及其新状中每一项指明了实际的出向事件及其新状态的组合,表中的空白项为错误条件。态的组合,表中的空白项为错误条件。13.1.4.2 任务间的排队结构任务间的排队结构n从软件设计的角度看,一个完整的通信子从软件设计的角度看,一个完整的通信子系统是由一个任务模块及完成本地管理和系统是由一个任务模块及完成本地管理和定时功能的附加任务来实现,如图定时功能的附加任务来实现,如图13.7所所示。示。n任务间通过一组先进先出的排队或邮箱相任务间通过一组先进先出的排队或邮箱相互通信。任务间的通信由该进程子系统的互通信。任务间的通信由该进程子系统的本地实时操作系统内核管理。该内核还处本地实时操作系统内核管理。该内核还处理任务调度、中断处理等功能。理任务调度、中断处理等功能。n通常一个有效的入向事件的出现会导致协通常一个有效的入向事件的出现会导致协议实体产生一个协议数据单元议实体产生一个协议数据单元PDU。nPDU在某一个层间接口以出向事件的形式在某一个层间接口以出向事件的形式输出。同时还伴随自动机状态的变化以及输出。同时还伴随自动机状态的变化以及某个特定的内部动作等。某个特定的内部动作等。n编写运输实体程序是一个困难而精细的工编写运输实体程序是一个困难而精细的工作,为了减少出错机会,常将协议的状态作,为了减少出错机会,常将协议的状态表示为有限状态机。表示为有限状态机。n事件控制块(事件控制块(ECB)任何一个协议层是借助于该层的服务原语与相任何一个协议层是借助于该层的服务原语与相邻的层进行通信的。邻的层进行通信的。每个服务原语及其参数首先是以确定的格式在每个服务原语及其参数首先是以确定的格式在一个缓冲器中形成,此形式的格式称为事件控一个缓冲器中形成,此形式的格式称为事件控制块(制块(ECB)。)。通常每一个原语参数的数目和类型不相同,但通常每一个原语参数的数目和类型不相同,但为了避免各原语需要不同的数据结构,一般每为了避免各原语需要不同的数据结构,一般每协议层只有一种数据结构(协议层只有一种数据结构(ECB)。)。nECB基本结构基本结构在在ECB的头有一个原语类型字段,后面再跟以的头有一个原语类型字段,后面再跟以附加字段,包含该服务原语的所有参数集。附加字段,包含该服务原语的所有参数集。当层间传送原语时,发送任务在当层间传送原语时,发送任务在ECB的头指明的头指明所传原语的类型,以后接收任务以此可以确定所传原语的类型,以后接收任务以此可以确定要求的出向事件过程,因此仅写出与它相关的要求的出向事件过程,因此仅写出与它相关的参数。参数。典型的典型的ECB结构如图结构如图13.8所示。所示。nECB使用方式(一)使用方式(一)当任务启动时,任务向本地操作系统内核请求当任务启动时,任务向本地操作系统内核请求一个以一个以ECB地址指针作为参数的任务间通信原地址指针作为参数的任务间通信原语,就可以在层间传送服务原语了。语,就可以在层间传送服务原语了。内核将该指针插入相应层间队列的末尾排队。内核将该指针插入相应层间队列的末尾排队。当位于排队队首时,运行的任务首先读出该指当位于排队队首时,运行的任务首先读出该指针,并进而出理入向事件。针,并进而出理入向事件。通常导致一个通常导致一个PDU、建立一个符合一定格式的建立一个符合一定格式的ECB,并送至一个输,并送至一个输出队列。出队列。nECB使用方式(二)使用方式(二)当多个服务同时发生时,一个最简单的办法是当多个服务同时发生时,一个最简单的办法是对应每一个访问点设置一组队列。对应每一个访问点设置一组队列。由于每一层都要访问由于每一层都要访问ECB和相应的和相应的UDB,因此,因此将其说明为全局的数据结构。将其说明为全局的数据结构。当系统第一次初始化时,就会为每一层建立一当系统第一次初始化时,就会为每一层建立一个个ECB池和池和UDB池,指向这些缓存器的指针被池,指向这些缓存器的指针被连接起来形成一个空闲表。每当要求一个新的连接起来形成一个空闲表。每当要求一个新的缓存器时,就以此空闲表获得一个空闲缓存器缓存器时,就以此空闲表获得一个空闲缓存器指针,当完成任务后,再返回给空闲表。指针,当完成任务后,再返回给空闲表。13.2 13.2 会晤层会晤层n会晤层、表示层和应用层一起构成了会晤层、表示层和应用层一起构成了OSI参考模型的高层。参考模型的高层。n低层涉及的是可靠的通信,高层与提供面低层涉及的是可靠的通信,高层与提供面向用户的服务有关。向用户的服务有关。n高层利用由运输层提供的无差错的信道,高层利用由运输层提供的无差错的信道,增加一些若干应用都需要的功能,以免在增加一些若干应用都需要的功能,以免在编写各应用程序时在各自的程序中重复实编写各应用程序时在各自的程序中重复实现这些功能。现这些功能。n会晤层的主要功能是给用户提供一个建立会晤层的主要功能是给用户提供一个建立连接或会晤以及在其上按次序传送数据处连接或会晤以及在其上按次序传送数据处理的方法。理的方法。n会晤层和运输层连接非常相似,但会晤层会晤层和运输层连接非常相似,但会晤层有自己的特点,正是有了这些特点,有必有自己的特点,正是有了这些特点,有必要在运输层上建立一个会晤层。要在运输层上建立一个会晤层。n会晤层特点(一)会晤层特点(一)建立运输连接建立运输连接会晤层的连接需要运输层连接的支持,会晤连接和会晤层的连接需要运输层连接的支持,会晤连接和运输连接之间的关系称为映射;运输连接之间的关系称为映射;为了提高可靠性,可让一个会晤层连接跨接几个运为了提高可靠性,可让一个会晤层连接跨接几个运输连接。输连接。允许连续的几次会晤前后连续使用同一运输连接。允许连续的几次会晤前后连续使用同一运输连接。n会晤层特点(二)会晤层特点(二)会晤和运输的释放方式不同会晤和运输的释放方式不同运输层通信双方都可以立即释放连接,会造成数据运输层通信双方都可以立即释放连接,会造成数据的丢失,故称为随意释放;的丢失,故称为随意释放;会晤层的释放采取一种协商释放或有序释放,即释会晤层的释放采取一种协商释放或有序释放,即释放请求发送后并不导致连接马上释放,仍可以继续放请求发送后并不导致连接马上释放,仍可以继续接收数据,直到得到对方的确认后为止。接收数据,直到得到对方的确认后为止。n会晤层特点(三)会晤层特点(三)半双工方式半双工方式在会晤连接中,除全双工操作外,半双工也用得很在会晤连接中,除全双工操作外,半双工也用得很多。多。半双工方式采用数据令牌。采用该方式,双方必须半双工方式采用数据令牌。采用该方式,双方必须通过协商首先决定哪一方先获得令牌,只有持有令通过协商首先决定哪一方先获得令牌,只有持有令牌的用户才能运输数据,另一方必须保持接收的状牌的用户才能运输数据,另一方必须保持接收的状态。态。加速数据传送不需要令牌。加速数据传送不需要令牌。n会晤层特点(四)会晤层特点(四)同步同步当发生错误和出现不符合协议的事件时,同步功能当发生错误和出现不符合协议的事件时,同步功能可让会晤实体返回一个已知状态。可让会晤实体返回一个已知状态。运输层只能屏蔽通信错误,而不能从高层错误中恢运输层只能屏蔽通信错误,而不能从高层错误中恢复。后者必须附加一层才能解决。复。后者必须附加一层才能解决。n会晤层特点(五)会晤层特点(五)活动管理和异常报告活动管理和异常报告会晤层的活动管理允许用户把要传的信息分成若干会晤层的活动管理允许用户把要传的信息分成若干个活动。个活动。各活动可以独立地进行处理,在各活动处理中间甚各活动可以独立地进行处理,在各活动处理中间甚至可以做其他事情。至可以做其他事情。为了避免通信双方同时希望开始各自的活动,活动为了避免通信双方同时希望开始各自的活动,活动控制也采用了令牌管理机构。控制也采用了令牌管理机构。会晤层的另一个功能是具有报告意外错误的机构。会晤层的另一个功能是具有报告意外错误的机构。ISO公布的会晤层标准是公布的会晤层标准是ISO8326和和8327。ITU公布的对应标准是公布的对应标准是X.215、X.225和和T62。13.3 13.3 表示层表示层n13.3.1 数据表示数据表示n13.3.2 数据压缩数据压缩n表示层和仅处理自源端到目的端有序比特表示层和仅处理自源端到目的端有序比特运输的低运输的低5层不同,它的主要功能是要保持层不同,它的主要功能是要保持所传输信息的含义。所传输信息的含义。n各种计算机有自己内部的数据表达法,因各种计算机有自己内部的数据表达法,因此需要通过转换和协定来保证不同的计算此需要通过转换和协定来保证不同的计算机的相互理解。机的相互理解。n表示层的任务表示层的任务是将结构化的数据从发方机器内部格式进行编是将结构化的数据从发方机器内部格式进行编码,使之成为适于传输的比特流,然后在目的码,使之成为适于传输的比特流,然后在目的端将其解码为所需的数据表示。端将其解码为所需的数据表示。n表示层的主要功能表示层的主要功能为用户提供执行会晤层服务原语的手段;为用户提供执行会晤层服务原语的手段;提供描述复杂数据结构的方法;提供描述复杂数据结构的方法;管理当前所需的数据结构集;管理当前所需的数据结构集;数据内部形式与外部形式的转换。数据内部形式与外部形式的转换。13.3.1 数据表示数据表示n数据表示的必要性数据表示的必要性目前不同的计算机有不同的内部数据表示法。目前不同的计算机有不同的内部数据表示法。ASCII码码 用于大多数小型机、微机和主机上。用于大多数小型机、微机和主机上。EBCDIC码码 用于用于IBM的大型机上。的大型机上。对同样的数据,即使所接收的数据正确无误,对同样的数据,即使所接收的数据正确无误,由于数据内部格式不同,必然导致在不同机器由于数据内部格式不同,必然导致在不同机器上的最终输出结果不同。上的最终输出结果不同。解决该问题的方法是在某处作格式转换,在接解决该问题的方法是在某处作格式转换,在接收方或双方的数据表示都与某种网络标准格式收方或双方的数据表示都与某种网络标准格式相转换。相转换。n数据结构的表示、编码、运输及解码的关键是有数据结构的表示、编码、运输及解码的关键是有一种标准的描述数据结构的方法。一种标准的描述数据结构的方法。nISO提出了这样一种表示法,称为抽象语表示法,提出了这样一种表示法,称为抽象语表示法,或简称或简称ASN.1。后缀。后缀1指明这是第一个标准化了指明这是第一个标准化了的表示法。的表示法。nASN.1在在ISO.8824中定义。中定义。nISO8825标准规定了把标准规定了把ASN.1数据结构编码为适数据结构编码为适用于传输的比特流的规则,比特流的格式成为运用于传输的比特流的规则,比特流的格式成为运输语法(输语法(Transfer syntax)。)。13.3.2 数据压缩数据压缩n数据压缩技术广泛用于节省内存、磁盘及数据压缩技术广泛用于节省内存、磁盘及磁带机空间。对用户来说,数据压缩一般磁带机空间。对用户来说,数据压缩一般可降低通信费用。可降低通信费用。n通道上的数据组成通道上的数据组成通道上传送的数据可看成是一序列符号:通道上传送的数据可看成是一序列符号:S1,S2,Sn,这些符号通常是在一个符号集,这些符号通常是在一个符号集中取值的。中取值的。这些符号集可以是比特集,或十进制数字集这些符号集可以是比特集,或十进制数字集0,1,2,9,或字母集,或字母集A,B,C,Z。n数据压缩的方法数据压缩的方法符号集的有穷性符号集的有穷性例如图书馆馆藏书目假设一本书的书名长度为例如图书馆馆藏书目假设一本书的书名长度为20个字符,则个字符,则用用ASCII码表示要用码表示要用140位,一种数据压缩的方法就是先给每位,一种数据压缩的方法就是先给每本书一个编号,目前世界上最大的图书馆藏书约为本书一个编号,目前世界上最大的图书馆藏书约为226册,就册,就是说只用是说只用26以下的位数便可完成编号,这样一来,书名的数以下的位数便可完成编号,这样一来,书名的数据就从据就从140位减为位减为26位甚至更少。位甚至更少。符号使用的相对频度符号使用的相对频度用短代码代表常用符号,用长代码代表不常用符号,这是一用短代码代表常用符号,用长代码代表不常用符号,这是一种常用的数据压缩方法。种常用的数据压缩方法。上下文依赖编码上下文依赖编码例如电视编码,在大多数情况下,当前帧几乎与前一帧相同。例如电视编码,在大多数情况下,当前帧几乎与前一帧相同。因此如果每台电视机能安装一个帧存储器,那么只需传送当因此如果每台电视机能安装一个帧存储器,那么只需传送当前帧与前一帧不同的像素即可形成当前的帧,达到数据压缩前帧与前一帧不同的像素即可形成当前的帧,达到数据压缩的目的。的目的。13.4 13.4 应用层应用层n13.4.1 文件传送、访问和管理文件传送、访问和管理n13.4.2 虚拟终端虚拟终端n应用层是由用户程序组成,直接与应用相应用层是由用户程序组成,直接与应用相关。关。n对某些使用非常广泛的应用(如文件传输、对某些使用非常广泛的应用(如文件传输、电子邮件等),为了避免每个公司都去研电子邮件等),为了避免每个公司都去研制自己的文件传输或电子邮件等应用协议,制自己的文件传输或电子邮件等应用协议,人们制定了标准,以期在尽可能多的情况人们制定了标准,以期在尽可能多的情况下所有用户都是使用同一协议。下所有用户都是使用同一协议。13.4.1 文件传送、访问和管理文件传送、访问和管理n文件服务器的关键思想是虚拟文件库,即一个抽文件服务器的关键思想是虚拟文件库,即一个抽象的文件服务器。象的文件服务器。n虚拟文件库为用户提供一个标准化接口,并且提虚拟文件库为用户提供一个标准化接口,并且提供了一组用户可以执行的标准操作。供了一组用户可以执行的标准操作。n由于虚拟文件库接口的标准化,就使应用软件可由于虚拟文件库接口的标准化,就使应用软件可以访问并传送远程文件,而不必了解各种互不兼以访问并传送远程文件,而不必了解各种互不兼容文件服务器的细节。容文件服务器的细节。nOSI的文件传送、访问和管理(的文件传送、访问和管理(FTAM)模型的)模型的基础是虚拟文件库。通过软件来完成虚拟文件库基础是虚拟文件库。通过软件来完成虚拟文件库和实际文件库间的映射。和实际文件库间的映射。nFTAM标准为标准为ISO 8571。13.4.2 虚拟终端虚拟终端n由于历史原因,国际市场上已经存在各种各样的由于历史原因,国际市场上已经存在各种各样的互不兼容的终端。这一历史事实加上各厂家谁也互不兼容的终端。这一历史事实加上各厂家谁也不想改动自己的产品,使得终端标准化成为不可不想改动自己的产品,使得终端标准化成为不可能。能。n解决该问题的办法是定义一个解决该问题的办法是定义一个虚拟终端虚拟终端。虚拟终端实际上是一个表示实际终端抽象状态的抽象虚拟终端实际上是一个表示实际终端抽象状态的抽象数据结构。数据结构。键盘和计算机都使用这个数据结构,数据结构的当前键盘和计算机都使用这个数据结构,数据结构的当前状态反映在显示器上。状态反映在显示器上。计算机可以通过查询这个抽象的数据结构以发现数据计算机可以通过查询这个抽象的数据结构以发现数据输入,并能改变这个抽象数据结构使输出出现在显示输入,并能改变这个抽象数据结构使输出出现在显示屏上。屏上。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号