首页 理论教育 MQTT协议设计原则-物联网操作系统Contiki及应用成果

MQTT协议设计原则-物联网操作系统Contiki及应用成果

时间:2026-01-27 理论教育 小霍霍 版权反馈
【摘要】:MQTT协议是为低带宽、不可靠网络中的远程传感器和控制设备通信设计的协议,它具有以下几项主要特性:使用发布/订阅消息模式,提供一对多的消息发布,以实现与应用程序解耦。这一点与XMPP 协议相似,但是MQTT的信息冗余远小于XMPP协议,因为XMPP使用XML格式文本来传递数据。通知机制,使用Last Will 和Testament 机制通知通信双方异常中断。

由于物联网环境中的大多数设备是资源受限设备,所以MQTT 协议遵循以下设计原则:精简,不添加可有可无的功能;发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;允许用户动态创建主题,零运维成本;把传输量降到最低,以提高传输效率;把低带宽、高延迟、不稳定的网络等因素考虑在内;支持连续的会话控制;理解客户端计算能力可能很低;提供服务质量管理;假设数据不可知,不强求传输数据的类型与格式,保持灵活性。

MQTT协议是为低带宽、不可靠网络中的远程传感器和控制设备通信设计的协议,它具有以下几项主要特性:(1)使用发布/订阅消息模式,提供一对多的消息发布,以实现与应用程序解耦。这一点与XMPP 协议相似,但是MQTT的信息冗余远小于XMPP协议,因为XMPP使用XML格式文本来传递数据。(2)对负载内容屏蔽的消息传输。(3)使用TCP/IP 提供网络连接,主流的MQTT 是基于TCP 连接进行数据推送的,但是同样有基于UDP 的版本,即MQTT-SN。这两种版本由于基于不同的连接方式,优缺点自然也就各有不同,有如下三种消息发布服务质量(QoS):(a)最多传输一次(QoS=0),消息发布完全依赖底层TCP/IP 网络,会发生消息丢失或重复,如图15-1 所示;(b)至少传输一次(QoS=1),会确保消息到达,但消息重复可能会发生,如图15-2;(c)成功传输一次(QoS=2),通过使用四次握手机制确保消息到达。在一些要求比较严格的计费系统中,可以使用此级别。在计费系统中,消息重复或丢失会导致不正确的结果,这种最高质量的消息发布服务还可以用于即时通信类的APP 的推送,确保用户收到且只会收到一次,如图15-3。(4)传输量小,开销很小(固定长度的首部是2 字节),协议交换最小化,以降低网络流量。(5)通知机制,使用Last Will 和Testament 机制通知通信双方异常中断。这里Last Will 是“遗言”机制,用于通知同一主题下的其他设备发送遗言的设备已经断开了连接,Testament 是“遗嘱”机制,功能类似于Last Will。

图示

图15-1 最多传输一次

图示(https://www.xing528.com)

图15-2 至少传输一次

图示

图15-3 成功传输一次

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈