当前位置: 首页 >应用方案 >科普视频 >

已经有MQTT协议了,为什么还存在MQTT-SN?



在本次视频中,我们将了解一个鲜为人知的MQTT变体,称为MQTT-SN。MQTT-SN(MQTT for Sensor Network)协议是MQTT协议的传感器版本。

MQTT已经是一个高度优化的轻量级协议,功耗和带宽已经很小了,为什么MQTT-SN还存在呢?要回答这个问题,只有一个字:钱!具体地说,是在MQTT上运行的大型无线物联网网络的运营成本。

在现实生活中,有数千甚至数百万无线物联网客户端与代理进行交互,产生和传输大量数据,正因如此,许多物联网项目因不可预测的运营成本而失败。最重要的是,电力成本和不可靠数据成本等因素可能会使MQTT网络成本失控。所以MQTT被进一步修改以降低功耗,减少有效负载大小,并添加备用功能,MQTT-SN就这样产生了。

MQTT-SN的通信方式与MQTT非常相似,但MQTT-SN是针对低功耗、电池驱动、处理存储受限的设备、不支持TCP/IP协议栈网络的电子器件而量身定制的。MQTT-SN使用与MQTT相同的发布-订阅模型。主要区别是MQTT-SN减少消息有效负载大小并使用UDP作为传输协议而不是TCP。传输协议的更改意味着不需要永久连接。

我们看看MQTT-SN系统架构,MQTT-SN由3个部分组成。

MQTT-SN客户端

MQTT-SN网关

MQTT-SN转发器

MQTT-SN网关是一个转换层,承担MQTT-SN和MQTT协议之间的转换工作。可单独存在,也可以被集成到MQTT服务器中。MQTT-SN网关有两种类型:透明网关和聚合网关。透明网关会为每一个客户端都建立一个TCP连接到MQTT服务器的通道,这样会较为耗费网关网络资源,但模型简单。聚合网关,顾名思义,这个网关不仅负责翻译,还负责客户端消息的收集、过滤和处理。聚合网关只建立一条TCP连接通道到MQTT服务器上,所有的客户端共享一个通道。

再看看MQTT-SN转发器,如果网关未直接连接到同一网络,客户端无法直接与MQTT-SN网关通信时,需要使用转发器。转发器封装MQTT-SN消息转发给网关,解封来自网关的消息发送给客户端。网关不能够篡改原始数据。

本期视频到此结束了,欢迎大家在评论区留言讨论!


https://www.wjx.cn/jq/84863372.aspx