初识MQTT:为什么 MQTT 是最适合物联网的网络协议?

  • 时间:
  • 浏览:
  • 来源:互联网

0、初始MQTT

  MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种ISO标准的消息传递协议,两位工程师Andy Standford Clark和Arlen Nipper于1999年撰写了该协议的第一个版本,旨在通过不可靠的网络连接传感器。其基于TCP/IP协议,是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
在这里插入图片描述

1、优势

  自开发以来,MQTT就深受物联网设备的喜爱,已发展成为许多IOT系统中使用的关键消息传递协议。MQTT是为大量计算能力有限,且工作在低带宽,不可靠的网络环境下的远程Sensor和设备控制而设计一种轻量级的,灵活的网络协议,故:
●-轻量级使得其可以在严重受限的设备硬件和高延迟/带宽有限的网络上实现;
●-灵活性使其能够为IOT设备和服务多样化的应用场景提供支持的可能。

2、特性

●-使用Publish/Subscribe模型,提供一对多的消息发布。
●-对负载内容屏蔽的消息传输。
●-基于TCP/IP网络连接。
●-有三种消息发布的服务质量:
1)“至多一次”,消息发布完全依赖底层TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。这一种方式主要普通APP的推送,倘若你的智能设备在消息推送时未联网,推送过去没收到,再次联网也就收不到了。
2) “至少一次”,确保消息到达,但消息重复可能会发生。
3) “只有一次”,确保消息到达一次。在一些要求比较严格的计费系统中,可以使用此级别。在计费系统中,消息重复或丢失会导致不正确的结果。这种最高质量的消息发布服务还可以用于即时通讯类的APP的推送,确保用户收到且只会收到一次。
●-小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。
●-使用Last Will和Testament特性通知有关各方客户端异常中断的机制。

3、MQTT如何工作

  MQTT基于Publish/Subscribe模型,由Broker和Client两个元素组成,实现消息的发布者和使用者的分耦
  MQTT系统的核心是名为“Broker”的代理器,其可以接收和传输来自MQTT的消息,当Broker接收到消息时,其可以将消息发送至订阅了该消息Topic的相关客户端。在MQTT协议中,MQTT数据包由:Fixed header ,Variable header, Payload三部分构成。Publish/Subscribe模型允许MQTT客户端一对一,一对多或多对一进行通信。

本文链接http://www.dzjqx.cn/news/show-617057.html