16 MQTT协议分析
16.1 mqtt协议介绍
16.1.1 概述
MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。
16.1.2 特点
a) 开放消息协议,简单易实现
b) 发布订阅模式,一对多消息发布
c) 基于TCP/IP网络连接
d) 1字节固定报头,2字节心跳报文,报文结构紧凑
e) 消息QoS支持,可靠传输保证
16.1.3 应用
MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域。
a) 物联网M2M通信,物联网大数据采集
b) Android消息推送,WEB消息推送
c) 移动即时消息,例如Facebook Messenger
d) 智能硬件、智能家具、智能电器
e) 车联网通信,电动车站桩采集
f) 智慧城市、远程医疗、远程教育
g) 电力、石油与能源等行业市场
16.2 mqtt协议报文格式组成
16.2.1 mqtt控制报文结构
MQTT 协议通过交换预定义的 MQTT 控制报文来通信。 这一节描述这些报文的格式。MQTT 控制报文由三部分组成,如下图:

16.2.2 mqtt固定报头
每个 MQTT 控制报文都包含一个固定报头, 固定报头的格式如下图:
