Skip to main content

任务二 表示层11

知识点​

1.表示层是什么​

  • 表示层(Presentation Layer)是 OSI 七层模型中的第 6 层,位于应用层之下、会话层之上。
  • 表示层关心传输信息的语法和语义。
  • 表示层负责网络中数据表示方式的内容,包括:转换(数据格式)、加密、压缩。

示例 场景:计算机A(ASCII编码),计算机B(EBCDIC编码)

  1. 应用层(A):写好报文,内容是HELLO。应用层只管语义,只知道报文含义是“发送HELLO”,直接交给下层。

👉 这一步:应用层写好了报文。 报文在A内部是ASCII编码:48 45 4C 4C 4F。

  1. 如果没有表示层:比特流原样传到B。B的应用层拿到这串编码,在本机EBCDIC编码体系里,48 45 4C 4C 4F并不代表HELLO,对方看不懂。

👉 说明:报文虽然写好了,但对方不能正确理解。

  1. 表示层介入(核心任务) 发送方A的表示层,把本地ASCII编码,转换成网络标准传送语法;接收方B的表示层,再把标准编码转换成本机EBCDIC编码。 最后交给B的应用层时,B的应用层读到HELLO,读懂报文含义。

2.表示层的主要功能是什么​

  • 语法转换:将抽象语法转化为传送语法。涉及内容:代码转换、字符转换、数据格式修改、数据压缩、数据加密
  • 语法协商:协商确定传送语法
  • 连接管理: 管理数据传输和同步控制、终止连接。

1)数据格式转换​

不同计算机体系结构、操作系统、编程语言对数据的表示可能不同。
表示层负责把它们转换成通信双方都能理解的格式。

例如:

  • 整数、浮点数的表示转换
  • 大端序和小端序转换
  • 不同文件格式之间的转换

2)字符编码转换​

常见字符编码包括:

  • ASCII
  • EBCDIC
  • Unicode
  • UTF-8
  • UTF-16
  • GBK

表示层负责字符编码的转换,保证文本不乱码。

3)数据加密与解密​

表示层可以为数据提供保密性,例如在发送前加密,接收后解密。
现实中,TLS/SSL 常被拿来举例,因为它提供加密功能。
但严格说,TLS 在实际协议栈中位于应用层和传输层之间,不完全等同于 OSI 的表示层。

4)数据压缩与解压缩​

为了减少传输数据量,表示层可以对数据进行压缩。
例如:

  • 文本压缩:gzip
  • 图片压缩:JPEG、GIF、PNG
  • 音视频压缩:MPEG、MP3、H.264

因为不同系统的数据表示可能完全不同:

  • 字符编码不同:ASCII、EBCDIC、UTF-8、GBK
  • 字节序不同:大端、小端
  • 文件格式不同:JPEG、PNG、GIF
  • 数据结构表示不同:JSON、XML、ASN.1、Protobuf
  • 安全与效率需求:加密、压缩

如果每个应用层协议都自己处理这些,会非常重复:

  • HTTP 要自己处理编码、压缩、加密
  • SMTP 也要自己处理
  • FTP 也要自己处理
  • 每个 RPC 协议也要自己处理

3.表示层与相邻层的关系是什么​

层次关注点
应用层业务语义和交互规则,如 HTTP 请求网页
表示层数据语法和表示形式,如 UTF-8、JPEG、加密、压缩
会话层对话管理,如建立、维持、同步会话
传输层端到端进程通信,如 TCP/UDP

可以这样理解:

  • 应用层说:“我要发一个网页请求。”
  • 表示层说:“这个请求里的文本用 UTF-8 编码,内容要不要压缩,要不要加密。”
  • 会话层说:“我们之间的对话怎么开始、怎么维持、怎么结束。”
  • 传输层说:“我负责把数据从你的进程送到对方的进程。”

豆包作业​