MQTT 协议精讲 · 第 2 章 控制报文通用格式


文档摘要

MQTT 协议精讲 · 第 2 章 控制报文通用格式 章节摘要:第 1 章认识了 14 种报文的名字,本章拆开它们的"通用骨架"。所有 MQTT 控制报文都由三段组成——固定报头(所有报文必有)、可变报头(部分报文有)、有效载荷(部分报文有)。本章重点讲透固定报头里的类型字段、标志位与剩余长度变长编码——这是协议里最容易被写错的编码细节;随后讲可变报头里的报文标识符(Packet Identifier) 分配规则,它是 QoS 1/2 可靠投递的编号基础。本章共 3 节,学完即可读懂第 3 章任何一张报文格式图。 解剖坐标 本章是全协议的"格式地基",第 3 章每个报文都按本章的三段式框架展开。

MQTT 协议精讲 · 第 2 章 控制报文通用格式

章节摘要:第 1 章认识了 14 种报文的名字,本章拆开它们的"通用骨架"。所有 MQTT 控制报文都由三段组成——固定报头(所有报文必有)、可变报头(部分报文有)、有效载荷(部分报文有)。本章重点讲透固定报头里的类型字段标志位剩余长度变长编码——这是协议里最容易被写错的编码细节;随后讲可变报头里的报文标识符(Packet Identifier) 分配规则,它是 QoS 1/2 可靠投递的编号基础。本章共 3 节,学完即可读懂第 3 章任何一张报文格式图。

解剖坐标

本章是全协议的"格式地基",第 3 章每个报文都按本章的三段式框架展开。

学习目标

阅读完本章,你应当能够:

  1. 说出 MQTT 控制报文的三段式结构,以及每段"哪些报文有、哪些没有"。
  2. 解释固定报头首字节的布局:高 4 位报文类型 + 低 4 位标志位。
  3. 手写剩余长度的变长编码/解码算法,并算出给定长度(如 321)的编码结果。
  4. 说出哪些报文需要报文标识符、哪些不需要,以及标识符的分配与重用规则。
  5. 知道报文标识符的 1~65535 取值范围与"零值非法"约束。

子章节导航

01 报文的三个组成部分

固定报头 / 可变报头 / 有效载荷三段的职责边界,以及 14 种报文"哪段有、哪段没有"。

02 固定报头:类型、标志与剩余长度

首字节布局、14 种报文的标志位约束(PUBREL 与 SUBSCRIBE 的 0010 之谜)、剩余长度 1~4 字节变长编码的编解码算法与取值范围。

03 可变报头与报文标识符

报文标识符的用途、需要它的 9 种报文、分配/重用/零值禁止的硬性规则,以及客户端与服务端独立编号的原因。

前置知识与后续延伸

前置知识:第 1 章第 2 节(14 种报文家族);十六进制数与位运算基础(高位/低位、与/或运算)。

后续延伸:第 3 章逐个报文套用本章格式;第 4 章解释报文标识符如何在 QoS 流程中配合重发与去重。


发布者: 作者: 灏天文库 转发
评论区 (0)
U