表示层

第六层:表示层
   
      它包含了处理网络应用程序数据格式的协议。表示层位于应用层的下面和会话层的上面,它从应用层获得数据并把它们格式化以供网络通信使用。该层将应用程序数据 排序成一个有含义的格式并提供给会话层。这一层也通过提供诸如数据加密的服务来负责安全问题,并压缩数据以使得网络上需要传送的数据尽可能少。许多常见的 协议都将这一层集成到了应用层中,例如,NetWare的IPX/SPX就为这两个层次使用一个NetWare核心协议,TCP/IP也为这两个层次使用 一个网络文件系统协议。

      表示层位于OSI参考模型的第六层。它的低五层用于将数据从源主机传送到目的主机,而表示层则要保证所传输的数据经传 送后其意义不改变。表示层要解决的问题是:如何描述数据结构并使之与机器无关。在计算机网络中,互相通信的应用进程需要传输的是信息的语义,它对通信过程 中信息的传送语法并不关心。表示层的主要功能是通过一些编码规则定义在通信中传送这些信息所需要的传送语法。从OSI开展工作以来,表示层取得了一定的进 展,ISO/IEC 8882与8883分别对面向连接的表示层服务和表示层协议规范进行了定义。表示层提供两类服务:相互通信的应用进程间交换信息的表示方法与表示连接服 务。

表示服务的三个重要概念是:语法转换、表示上下文与表示服务原语。我们将主要讨论语法转换与表示上下文这两个概念。
1.语法转换:
人 们在利用计算机进行信息处理时要将客观世界中的对象表示成计算机中的数据,为此引入数据类型的概念。任何数据都具有两个重要特性,即值(value)与类 型(type)。程序设计人员可利用某一类型上所定义的操作对该类型中的数据对象进行操作。例如,对于整数类型的数据可以进行加、减、乘、除操作,对于集 合类型的数据可以进行与、或、非等操作。但是从较低层次看,任何类型的数据最终都将被表示成计算机的比特序列。一个比特序列本身并不能说明它自己所能表示 的是哪种类型的数据。对比特序列的解释会因计算机体系结构、程序设计语言,甚至于程序的不同而有所不同。这种不同归结为它们所使用的"语法"的不同。在计 算机网络中,相互通信的计算机常常是不同类型的计算机。不同类型的计算机所采用?语法"是不同的。对某一种具体计算机所采用的语法称之为"局部语法" (local syntax)。局部语法的差异决定了同一数据对象在不同计算机中被表示为不同的比特序列。为保证同一数据对象在不同计算机中语义的正确性,必须对比特序 列格式进行变换,把符合发送方局部语法的比特序列转换成符合接收方局部语法的比特序列,这一工作称之为语法变换。OSI 设置表示层就是要提供这方面的标准。表示层采用两次语法变换的方法,即由发、收双方表示层实体协作完成语法变换,为此它定义了一种标准语法,即传送语法 (transfer syntax)。发送方将符合自己局部语法的比特序列转换成符合传送语法的比特序列;接收方再将符合传送语法的比特序列转换成符合自己局部语法的比特序 列。

2.表示上下文:
两台计算机在通信开始之前要先协商这次通信中需要传送哪种类型的数据,通过这一协商过程,可以使通信双方的表 示层实体准备好进行语法变换所需要的编码与解码子程序。由协商过程所确定的那些数据类型的集合称之为"表示上下文"(presentation context)。表示上下文用于描述抽象语法与传送语法之间的映像关系。
同时,对同样的数据结构,在不同的时间,可以使用不同的传送语法, 如使用加密算法、数据压缩算法等。因此在一个表示连接上可以有多个表示上下文,但是只能有一个表示上下文处于活动状态。应用层实体可以选择哪种表示上下文 处于活动状态,表示层应负责使接收端知道因应用层工作环境变化而引起的表示上下文的改变。在任何时刻可以通过传送语法的协商定义多个表示上下文,这些表示 上下文构成了定义的上下文集DCS(Defined Context Set)。  

本文链接:https://my.lmcjl.com/post/5902.html

展开阅读全文

4 评论

留下您的评论.