1. MQTT简介
MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议)是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
MQTT最大优点在于,作为一种低开销、低带宽占用的即时通讯协议,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。使其在物联网、小型设备、移动应用等方面有较广泛的应用。
TCP/IP参考模型可以分为四层:应用层、传输层、网络层、链路层。TCP和UDP位于传输层,应用层常见的协议有HTTP、FTP、SSH等。**MQTT**协议运行于**TCP****之上,属于应用层协议,**因此只要是支持TCP/IP协议栈的地方,都可以使用MQTT。
2. MQTT特性
- 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
- 对负载内容屏蔽的消息传输;
- 使用
TCP/IP提供网络连接; - 小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量;
- 使用
LastWill和Testament特性(最后遗嘱)通知有关各方客户端异常中断的机制。
3. MQTT术语
3.1 应用消息ApplicationMessage
MQTT协议通过网络传输应用数据;- 应用消息通过
MQTT传输时,它们有关联的服务质量(QoS)和主题(Topic)。
3.2 客户端Client
使用MQTT的程序或设备。客户端总是通过网络连接到服务端。它可以:
- 发布应用消息给其它相关的客户端;
- 订阅以请求接受相关的应用消息;
- 取消订阅以移除接受应用消息的请求;
- 从服务端断开连接。
3.3 服务端Server
一个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介。它可以:
- 服务端接受来自客户端的网络连接;
- 接受客户端发布的应用消息;
- 处理客户端的订阅和取消订阅请求;
- 转发应用消息给符合条件的已订阅客户端。
3.4 订阅Subscription
- 订阅包含一个主题过滤器(
TopicFilter)和一个最大的服务质量(QoS)等级; - 订阅与单个会话(
Session)关联; - 会话可以包含多于一个的订阅。会话的每个订阅都有一个不同的主题过滤器。
3.5 主题名TopicName
- 附加在应用消息上的一个标签,服务端已知

本文介绍了一种轻量级的消息队列遥测传输协议MQTT,详细解析了其工作原理、特性及应用场景。涵盖主题管理、消息服务质量、保留消息与最后遗嘱等功能。
最低0.47元/天 解锁文章
7万+

被折叠的 条评论
为什么被折叠?



