MQTT 协议已成为物联网数据传输的标准,因为它具有以下优势:1、轻量、高效;2、可扩展;3、可靠;4、安全;5、得到良好的支持。MQTT 是一种基于标准的消息传递协议或规则集,用于机器对机器的通信。
一、MQTT 协议的优势
MQTT 协议已成为物联网数据传输的标准,因为它具有以下优势:
1、轻量、高效
IoT 设备上的 MQTT 实施需要最少的资源,因此它甚至可以用于小型微控制器。例如,最小的 MQTT 控制消息可以少至两个数据字节。MQTT 消息的标头也很小,因此您可以优化网络带宽。
2、可扩展
MQTT 实施需要最少的代码,在操作中消耗的功率非常少。该协议还具有支持与大量物联网设备通信的内置功能。因此,您可以实施 MQTT 协议来连接数百万台此类设备。
3、可靠
许多 IoT 设备通过低带宽、高延迟的不可靠蜂窝网络连接。MQTT 具有内置功能,可减少 IoT 设备重新连接云所需的时间。它还定义了三种不同的服务质量级别,以确保 IoT 用例的可靠性——最多一次(0)、至少一次(1)和恰好一次(2)。
4、安全
MQTT 使开发人员可以轻松地使用现代身份验证协议(例如 OAuth、TLS1.3、客户管理的证书等)加密消息并对设备和用户进行身份验证。
5、得到良好的支持
几种语言(如 Python)对 MQTT 协议的实施提供广泛的支持。因此,开发人员可以在任何类型的应用程序中以最少的编码快速实现它。
二、什么是 MQTT over WSS
MQTT over WebSockets (WSS) 是一种 MQTT 实施,用于将数据直接接收到 Web 浏览器中。MQTT 协议定义了一个 JavaScript 客户端来为浏览器提供 WSS 支持。在这种情况下,该协议照常工作,但它向 MQTT 消息添加了额外标头以支持 WSS 协议。您可以将其视为包装在 WSS 信封中的 MQTT 消息负载。
三、MQTT 的安全性
MQTT 通信使用 SSL 协议来保护物联网设备传输的敏感数据。您可以使用 SSL 证书和/或密码在客户端和代理之间实施身份、身份验证和授权。MQTT 代理通常使用其密码以及分配给每个客户端的唯一客户端标识符来对客户端进行身份验证。在大多数实施中,客户端使用证书或 DNS 代码来对服务器进行身份验证。您还可以使用 MQTT 来实施加密协议。
四、MQTT 与 REST
MQTT 不支持 REST。表征状态转移(REST)是一种网络通信的架构方法,它使用消息发送者和接收者之间的请求-响应模式进行通信。相比之下,MQTT 在应用层使用发布/订阅的通信模型,需要一个常设的 TCP 连接以推送的方式传输消息。但是,MQTT 版本 5 添加了一个新的请求/响应方法,以类似于 REST 的方式运行,其中,发布者可以附加一个特殊的响应主题,接收者将处理并生成适当的响应。
以上就是关于MQTT 协议的优势、什么是 MQTT over WSS、MQTT 的安全性以及MQTT 与 REST 的全部内容了,希望对你有所帮助。