2-L6-表示层
一、L6 表示层是什么目录一、L6 表示层是什么二、L6 的功能和特性三大功能OSI 7498 给的标准定义三个特性三、L6 专业术语 专有名词表 术语表 重点挑讲 4 个1. 抽象语法 vs 传输语法2. TLSL6 的门面担当3. MIME表示协商的现实例子4. ASN.1 BER/DER补充TLS介绍一、TLS 是什么定位 来龙去脉版本演进二、TLS 的四个作用1️⃣ 机密性 —— 别人看不懂2️⃣ 完整性 —— 数据中途被改能发现3️⃣ 身份认证 —— 你连的确实是 google.com不是伪装的4️⃣ 密钥协商 —— 双方算出同一个会话密钥且不希望服务器私钥泄露就连累历史会话三、TLS 协议的内部结构四子协议四、TLS 的几个常见工程扩展纯介绍不深—OSI 第 6 层它解决的核心问题是“发送端和接收端对’数据的样子’理解不一致”——字节序不同、编码不同、加密没商量好L7 直接解析就炸。所以 L6 不关心这坨数据是 GET 还是 POST、是邮件还是网页那是 L7只关心数据在线上长什么样、到了对面能不能原样还原。类比收口一下前三层L4 传输层管送到可靠/不可靠端口寻址L5 会话层管对话怎么组织建/断/续/令牌L6 表示层管数据怎么表示编码/加密/压缩二、L6 的功能和特性三大功能OSI 7498 给的标准定义1. 语法转换Syntax Transformation不同机器字节序大端/小端、字符集ASCII/EBCDIC/UTF-8、数据结构描述方式不一样L6 负责把发送端的抽象数据翻译成线上通用字节流对面 L6 再翻回来。例x86 是小端网络协议全是大端网络字节序所以有了htons/htonl/ntohs/ntohl——这四个函数本质就是 L6 语义。2. 数据加密与解密对 L7 下来的数据做加密对面 L6 解密后再上交 L7。加密/解密动作本身不关心上层是 HTTP 还是 FTP 还是 SMTP——这也是为什么 TLS 被归到 L6它是最纯的 L6 协议。3. 数据压缩与解压减少传输量gzip/deflate/brotli 都属这类。早期 SSL 是先压再加密后来出了 CRIME 攻击TLS 1.3 直接砍掉压缩——所以这功能现在基本只剩应用层自己压HTTPContent-EncodingL6 本身不怎么动了。三个特性特性说明透明性​L7 不感知下面有没有加密/转码L6 对 L7 是透明的当然 TLS 例外L7 得配合 ALPN 啥的但理论上透明上下文协商​会话建立时 L6 先商量咱俩用啥编码、啥加密套件、啥压缩TLS ClientHello 里的 cipher suites 就是这语义与 L7 强耦合​现实里数据表示和数据语义分不开HTTP 既要管 GET 也要管Content-Type所以 TCP/IP 把 L6L7 合并了L6 独立存在的意义主要靠 TLS 撑着三、L6 专业术语 专有名词表 术语表类别术语是否重点一句话核心协议​TLS / SSL⭐⭐⭐L6 的门面加密认证完整性HTTPS⭐⭐HTTP(L7) TLS(L6)编码/序列化​ASN.1⭐⭐抽象语法定义证书/SNMP 用BER / DER⭐⭐ASN.1 的传输编码DER 是证书用的严格版XDR略Sun RPC 的序列化老字符编码​ASCII / EBCDIC / UTF-8 / Unicode略跨机字符表示概念知道就行压缩​gzip / deflate / brotli⭐HTTP Content-Encoding 那堆表示协商​MIME (Multipurpose Internet Mail Extensions)⭐⭐Content-Type; charset这套最初为邮件设计HTTP 继承概念对​抽象语法 vs 传输语法⭐⭐⭐L6 教材最爱考的一对接口概念​表示上下文Presentation Context⭐L6 协商这次会话用哪种抽象语法哪种传输语法的统称 重点挑讲 4 个1. 抽象语法 vs 传输语法抽象语法“我要传一个整数 65535 字符串 ‘hello’”——这是语义描述跟字节怎么排无关传输语法按某种规则编码成线上字节比如 ASN.1DERTLS 证书里就是02 03 00 FF FF ...L6 的本分L7 给抽象语法 → L6 转传输语法发出去 → 对面 L6 转回抽象语法 → 交 L7。 映射到现代协议更好懂Protobuf 的.proto文件 抽象语法protobuf wire format 传输语法。gRPC 整套就是 L6 思维只是没单独抽一层。2. TLSL6 的门面担当严格说 OSI 里 L6 应该只加密不关心业务TLS 完美符合协商加密套件AES-256-GCM? ChaCha20?密钥交换ECDHE对称加密 AEAD 完整性证书链校验PKITLS 之上可以跑 HTTP→HTTPS、FTP→FTPS、SMTP→STARTTLS——这就是 L6 跟业务解耦的体现。后面你切安全视角TLS 握手、证书、Heartbleed/POODLE 全是这层的戏。3. MIME表示协商的现实例子最早为邮件设计Content-Type: text/plain; charsetus-ascii被 HTTP 全盘继承Content-Type: application/json; charsetutf-8 ← charset 是 L6编码application/json 是 L7语义 Content-Encoding: gzip ← 压缩L6一个 Header 里 L6L7 叠着正好解释为啥 TCP/IP 把这两层合并——现实里表示和语义拆不开。4. ASN.1 BER/DERASN.1 怎么描述数据抽象语法INTEGER { 65535 }BER 怎么编码成字节传输语法变长 tag-length-value 结构DER BER 的一个严格子集证书强制用保证同一数据只有一种编码方便签名校验补充TLS介绍一、TLS 是什么定位 来龙去脉TLSTransport Layer Security传输层安全 在可靠传输TCP之上、应用层HTTP/FTP/SMTP…之下插的一层安全子协议负责把 L7 的明文数据加密 → 完整性保护 → 交给 TCP 发出去对面对等层解密后上交 L7。 OSI 里归L6 表示层加密表示协商是 L6 本职TCP/IP 四层里它算应用层里抠出来的一块因为 TCP/IP 没 L6。版本演进版本年份状态SSL 2.01995Netscape已废弃SSL 3.01996已废弃POODLETLS 1.01999RFC 2246SSL 3.0 的小改已基本淘汰TLS 1.12006RFC 4346淘汰TLS 1.22008RFC 5246当前主力但新系统建议 1.3TLS 1.32018RFC 8446重设计砍掉大量旧特性浏览器/合规里 TLS 1.0/1.1 已经全禁了现在生产看 1.2 1.3。二、TLS 的四个作用1️⃣ 机密性 —— 别人看不懂实现握手阶段协商出会话密钥→ 之后应用数据用对称加密算AES-GCM、ChaCha20-Poly1305为什么不用非对称直接加密数据非对称太慢只用来协商对称密钥后面全走对称TLS 1.2 支持 AES-128-GCM、AES-256-GCM、ChaCha20-Poly1305 等2️⃣ 完整性 —— 数据中途被改能发现实现TLS 1.2 老套件HMAC-SHA256 单独算 MAC拼在密文后TLS 1.2 AEAD 套件 / TLS 1.3 全量AEAD 模式GCM/ChaCha20-Poly1305加密完整性一步出不用单独 MAC3️⃣ 身份认证 —— 你连的确实是 google.com不是伪装的实现X.509 证书 PKI 信任链服务器握手时发证书含公钥 域名 有效期 CA 签名客户端内置 ~100-200 个根 CA 公钥沿根 CA → 中间 CA → 服务器证书验签名可选双向认证客户端也发证书银行/U盾/企业内网场景一般 Web 只验服务器4️⃣ 密钥协商 —— 双方算出同一个会话密钥且不希望服务器私钥泄露就连累历史会话实现密钥交换算法RSATLS 1.2 可选客户端生成 pre-master → 用服务器证书 RSA 公钥加密 → 服务器私钥解。简单但无前向保密DHE / ECDHETLS 1.2 推荐TLS 1.3 强制双方临时 DH 参数交换 → 算共享秘密。服务器长期私钥只用来签名 DH 参数不用来解密私钥日后泄露也破不了历史会话 → 这叫前向保密 PFS三、TLS 协议的内部结构四子协议很多人以为 TLS “握手 加密”其实它内部是四个子协议叠在一起┌─────────────────────────────────────┐ │ 应用数据 (HTTP/FTP/SMTP...) ← L7 │ │ ───────────────────────────────── │ │ TLS 握手协议 (Handshake) │ ← 协商版本/套件/密钥/证书 │ TLS 记录协议 (Record) │ ← 分片(≤16KB)/加密/MAC/组装 │ TLS 变更密码规格 (ChangeCipherSpec) │ ← 从此刻起切新密钥 │ TLS 警报协议 (Alert) │ ← 报错 Warning/Fatal │ ───────────────────────────────── │ │ TCP ← L4 │ └─────────────────────────────────────┘记录协议Record是真正的搬运工L7 数据下来 → 按 ≤16KB 分片 → 压缩TLS 1.3 已砍→ 加密MAC → 前加 5 字节 Record 头类型/版本/长度→ 交 TCP握手协议只在建连阶段跑跑完后就退休后面全是 Record 搬应用数据ChangeCipherSpec告诉对面我这边已经把密钥切过去了下一刀开始加密Alert出错时发比如bad_certificate、handshake_failure、close_notify四、TLS 的几个常见工程扩展纯介绍不深扩展名干什么SNI (Server Name Indication)ClientHello 里明文说我要连 www.google.com——一台服务器挂多个 HTTPS 虚拟主机时必须否则服务器不知道发哪张证书ALPN (Application-Layer Protocol Negotiation)协商TLS 里面跑啥 L7最常见h2vshttp/1.1让服务器不用先解密就知道是不是 HTTP/2OCSP Stapling服务器把我证书没被吊销的证明(OCSP 响应)顺便夹在握手发客户端不用自己再去 CA 查Session ID / Session Ticket会话复用——第二次连不用重新握手Session ID 靠服务端缓存Session Ticket 靠服务端发个加密 ticket 客户端存着重连带 ticket 上来 →1-RTT 甚至 0-RTT

相关新闻

深入解析TI DDR2/mDDR控制器:复位、VTP校准与初始化实战

深入解析TI DDR2/mDDR控制器:复位、VTP校准与初始化实战

1. 项目概述:深入理解DDR2/mDDR内存控制器的核心机制在嵌入式系统开发中,尤其是基于德州仪器(TI)这类高性能处理器的设计中,外部存储器的稳定性和性能至关重要。DDR2和Mobile DDR(mDDR)作为曾经…

2026/9/24 15:37:20 阅读更多 →
TI EMAC接收缓冲区描述符深度解析:从DMA原理到驱动实践

TI EMAC接收缓冲区描述符深度解析:从DMA原理到驱动实践

1. 项目概述与核心价值 在嵌入式网络设备开发,尤其是基于TI Sitara系列或类似架构的处理器时,网络性能的优化往往是决定产品成败的关键。CPU资源宝贵,如果让它在每个网络数据包的搬运上都亲力亲为,系统很快就会不堪重负。这时&…

2026/9/25 3:31:33 阅读更多 →
国内外常见的SRM供应商管理系统有哪些?

国内外常见的SRM供应商管理系统有哪些?

在中大型实体企业供应链数字化过程中,采购协同平台的选型直接关系到未来数年的业务弹性、数据资产安全及长期运营成本。采购数据涉及物料配额、核心成本结构与供应商报价,是企业的核心资产。 当SaaS模式无法满足数据合规、本地化部署或复杂异构系统对接的…

2026/9/24 10:29:03 阅读更多 →

最新新闻

Moto CodeBuild 模拟实战:在测试中 Mock AWS CodeBuild 项目与构建 API

Moto CodeBuild 模拟实战:在测试中 Mock AWS CodeBuild 项目与构建 API

Mock测试 【免费下载链接】moto A library that allows you to easily mock out tests based on AWS infrastructure. 项目地址: https://gitcode.com/gh_mirrors/mo/moto 点击查看 免费下载 本篇技术指南围绕 moto 仓库中 CodeBuild 服务文档 展开,系统…

2026/9/25 3:31:50 阅读更多 →
并行加法器 vs 先行进位加法器:进位延迟、关键路径与工程实现

并行加法器 vs 先行进位加法器:进位延迟、关键路径与工程实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 3:31:50 阅读更多 →
grammars-v4 中 R 语言 ANTLR 语法解析指南:掌握 RFilter 换行符预处理机制

grammars-v4 中 R 语言 ANTLR 语法解析指南:掌握 RFilter 换行符预处理机制

编程语言编译器开发工具 【免费下载链接】grammars-v4 Grammars written for ANTLR v4; expectation that the grammars are free of actions. 项目地址: https://gitcode.com/gh_mirrors/gr/grammars-v4 点击查看 免费下载 导读 在 grammars-v4 仓库的 r 目录下&…

2026/9/25 3:31:50 阅读更多 →
VoltAgent 接入 Deep Infra:使用 `deepinfra/<model>` 模型路由打通低成本高性能推理

VoltAgent 接入 Deep Infra:使用 `deepinfra/<model>` 模型路由打通低成本高性能推理

人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆 【免费下载链接】voltagent AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework 项目地址: https://gitcode.com/gh_mirrors/vo/voltagent 点击查看 免费下载 De…

2026/9/25 3:31:50 阅读更多 →
用 ANTLR v4 解析 Scala 3:grammars-v4 中 Scala3 语法的设计、覆盖率与已知限制

用 ANTLR v4 解析 Scala 3:grammars-v4 中 Scala3 语法的设计、覆盖率与已知限制

编程语言编译器开发工具 【免费下载链接】grammars-v4 Grammars written for ANTLR v4; expectation that the grammars are free of actions. 项目地址: https://gitcode.com/gh_mirrors/gr/grammars-v4 点击查看 免费下载 本文面向需要为 Scala 3 构建词法/语法分…

2026/9/25 3:31:50 阅读更多 →
Java工业物联网IOT驱动包:统一Modbus-TCP、Bacnet与OPC-UA协议接入

Java工业物联网IOT驱动包:统一Modbus-TCP、Bacnet与OPC-UA协议接入

简介:这份基于Java的物联网IOT通用驱动包设计源码,面向中高级Java开发者与系统集成商,解决Modbus-TCP、Bacnet、OPC-UA等多协议设备接入问题,封装为SDK形式,可直接嵌入业务系统。压缩包共76个文件,约1.73MB…

2026/9/25 3:30:49 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →