温故:

        网络层在OSI七层中为位于第三层,同时也是通信子网的最高层,物理层传输的单位是比特流,数据链路层传输的是数据帧,而网络层的传输单位是数据包,传输层的传输单位是报文。这里还要做一个比较,物理层要解决的问题是创建、维护和释放连接;数据链路层要解决的问题是将不可靠的物理链路改造成无差错的数据链路;而网络层主要解决的问题是选择路径,传输层在这里会使用分流/合流,复用/介复用技术等技术为上层的会话层屏蔽掉这种差异,让上层的会话层对下层的通信子网的差异性“视而不见”,实现端到端之间的建立和维持,而会话层的作用就是对用户之间的会话进行管理,实现数据流同步和重同步。

知新:

        前面的内容中我已经讲到了OSI上三层并不具备传输的功能,他们都是为应用程序服务的。前面我也讲过为什么会有传输层的存在,那么大家在想想为什么要有表示层的存在呢,它的存在意义是什么?之前我已经说过表示层的功能是定义数据格式和加密/解密。所以由此也就能推出为什么要有表示层的存在了,举个例子:我们平时使用的计算机使用的是ASCII码,但是IBM主机使用的却是EBCSIC,再举个例子对于同一个整数,有些机器可能采用2B表示,但有些机器可能采用4B表示,这就像两个都不懂外语的中国人和美国人,二者之间的交流一定是很费劲的。这也就是为什么秦始皇统一六国之后要统一文字,就是为了方便嘛,在这里秦始皇做的统一文字就可以认为是表示层的工作。

一、功能

        要想实现格式转换,它需要具备什么功能呢?可以大概分为以下三点:

        1、语法转换:国际标准化组织定义了一种抽象语法称作标记语法标记1(ANS.1)相应的编码规则,包括三类15种功能单元,其中表示上下文的管理功能单元允许用户选择语法和转换,沟通用户之间的编码规则,以便有一致的格式;

        2、语法选择:根据应用层的协商要求选择合适的上下文,即选择传输语法传送数据;

        3、连接管理:利用会话层服务建立表示连接,管理在这个连接之上的数据传输和同步控制,以及正常或异常的释放这个连接。

计算机网络基础之表示层的功能和服务_网络

二、拓展理解

例子一:

        A电脑用浏览器浏览网站B,在网站B里有一张gif图片,但是A电脑无法识别gif格式的图片,于是在A电脑的浏览器里应该显示这张gif图片的地方会显示为叉叉,原因是网络设备之间传递数据时会有对数据进行封装的过程,接收数据包是一个解封装的过程,从物理层依次解封装至表示层之后,表示层会检查电脑中是否有能识别该gif图片的解码工具,如果有,则将gif图片展现在相应的应用程序中;如果没有,则提示打不开,或显示出一堆乱码。

例子二:

        A电脑浏览B网站,B网站是音乐网站,里面有很多mp3音乐,如果A电脑里没有能够播放mp3的解码器,那么在A电脑里打开B网站上的mp3文件时,会出现“缺少解码器”等相应的提示。如果A电脑安装了mp3音乐的解码器,就可以打开这个mp3音乐了。

例子三:

        A电脑浏览B网站,在B网站的服务器中启用了网页压缩gzip功能,如果A电脑的浏览器无法解压gzip压缩过的网页,那么就无法正常打开B网站。以上是OSI表示层的基本作用,例子只是助于你理解。更深层次的意思,则需要你自己去体会了。

        如果大家对网络的这部分内容感兴趣,请看我的《​​计算机网络基础之应用层​​》