MQTT-SN 的体系结构如图15-8 所示,有三种MQTT-SN 组件:MQTT-SN客户端、MQTT-SN 网关和MQTT-SN 转发器。 MQTT-SN 客户端使用MQTTSN 协议通过MQTT-SN 网关将自身连接到MQTT 服务器。MQTT-SN 网关可以与MQTT 服务器集成,也可以不集成。在独立网关的情况下,MQTT 服务器和MQTT-SN 网关之间使用MQTT 协议,其主要功能是MQTT 协议和MQTT-SN 协议之间的转换。
图15-8 MQTT-SN结构
如果网关没有直接连接到他们的网络,MQTT-SN 客户端也可以通过转发器访问网关。转发器简单地封装它在无线侧接收的MQTT-SN 帧,不改变其内容并将它们转发给网关,在相反的方向上,它解封装从网关接收的帧,并将它们发送给客户端,也不改变接收到的帧。
根据网关在MQTT 和MQTT-SN 之间执行协议转换的方式,我们可以区分两种类型的网关,即透明网关和聚合网关,参见图15-9,下面对它们进行解释。
(www.xing528.com)
图15-9 透明网关和聚合网关
透明网关:对于每个连接的MQTT-SN 客户端,透明网关将建立并维护与MQTT 服务器的MQTT 连接,该MQTT 连接是为客户端和服务器之间的端到端并且几乎透明的消息交换专门保留的。网关和服务器之间将存在与连接到网关的MQTT-SN 客户端一样多的MQTT 连接,透明网关将在两个协议之间执行“语法”转换。由于MQTT-SN 客户端和MQTT 服务器之间的所有消息交换都是端到端的,因此服务器实现的所有函数和特性都可以提供给客户端。
聚合网关:聚合网关将只与服务器建立一个MQTT 连接,而不是为每个连接的客户端建立MQTT 连接。MQTT-SN 客户端和聚合网关之间的所有消息交换在网关处结束,然后网关决定将哪些信息进一步提供给服务器。尽管其实现比透明网关的实现更复杂,但是对于具有大量安全关联SAs 的无线传感器网络而言,聚合网关可能是有帮助的,因为它减少了服务器必须同时支持的MQTT连接的数量。
尽管透明网关的实现与聚合网关的实现相比更简单,但它要求MQTT 服务器为每个活动客户端支持单独的连接,一些MQTT 服务器实现可能会对它们支持的并发连接数施加限制。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。