浅析物联网标准协议之MQTT

MQTT(Message Queuing Telemetry Transport 消息队列遥测传输协议)是一种客户机服务器发布/订阅消息传递传输协议,它重量轻、开放、简单、设计简单、易于实现。虽然HTTP是网页的史诗标准,不过机器之间(Machine-to-Machine,M2M)的大规模沟通,之前的请求/回答(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。所以,MQTT已然是物联网不可或缺的标准协议。

浅析物联网标准协议之MQTT

MQTT的特性使其非常适合在许多情况下使用,包括受限的环境,如机器间通信(M2M)和物联网(IoT)环境。

该协议在TCP/IP或其他提供有序、无损、双向连接的网络协议上运行,它的功能包括:

– 使用发布/订阅消息模式,提供一对多的消息分发和应用程序解耦。

– 与负载内容无关的消息传递传输。

– 消息传递的三种服务质量:

  • “最多一次”,根据操作环境的最大努力传递消息。可能会发生消息丢失。例如,这个级别可以用于环境传感器数据,在这些数据中,一个单独的读数是否丢失并不重要,因为下一个读数很快就会发布。
  • “至少一次”,确保消息到达,但可能发生重复。
  • “恰好一次”,确保消息准确到达一次。例如,在计费系统中,重复或丢失的消息可能导致不正确的收费,可以使用此级别。

– 最小化传输开销和协议交换,减少网络流量。

– 异常断开时通知相关方的机制。

客户:

使用MQTT的程序或设备,客户端总是建立到服务器的网络连接,它可以

  • 发布其他客户可能感兴趣的应用程序消息。
  • 订阅它感兴趣接收的请求应用程序消息。
  • 取消订阅以删除对应用程序消息的请求。
  • 断开与服务器的连接。

服务器:

在发布应用程序消息的客户端和已订阅的客户端之间充当中介的程序或设备,一个服务器

  • 接受来自客户端的网络连接。
  • 接受客户端发布的应用程序消息。
  • 处理来自客户端的订阅和退订请求。
  • 转发与客户端订阅匹配的应用程序消息。

应用程序消息:

MQTT协议为应用程序跨网络传输的数据。当MQTT传输应用程序消息时,它们具有相关的服务质量和主题名称。

订阅:

订阅包括主题筛选器和最大QoS。订阅与单个会话关联。一个会话可以包含多个订阅。会话中的每个订阅都有不同的主题筛选器。

会话:

客户机和服务器之间的有状态交互。有些会话仅在网络连接期间持续,有些会话可以跨越客户机和服务器之间的多个连续网络连接。

主题名称:

附加到应用程序消息的标签,该消息与服务器已知的订阅相匹配。服务器向具有匹配订阅的每个客户机发送应用程序消息的副本。

主题过滤:

订阅中包含的一种表达式,表示对一个或多个主题感兴趣。主题筛选器可以包含通配符。

MQTT控制包:

通过网络连接发送的信息包。MQTT规范定义了14种不同类型的控制包,其中一种(发布包)用于传递应用程序消息。

相关新闻

联系我们

028-83268936
17780592430

在线咨询:点击这里给我发消息

邮件:11953460@qq.com

工作时间:周一至周五,9:00-18:00,节假日休息

QR code