首页
搜索
历史搜索
搜索发现
首页 > 新闻中心 > 技术应用

mqtt协议详解:mqtt需要遵循的设计原则

2022-12-10 09:33:51| 来源:聚英电子| | 0

  许多小型合作5g工业互联网应用互联网推进伙伴可能听说过术语mqtt协议,但有多少小型合作伙伴知道mqtt是如何产生的?让我们今天来了解一下。

  Mqtt(消息队列遥测传输)是一种基于发布/订阅模式的“轻量级”通信协议。该协议建立在TCP/IP协议之上,由IBM于1999年发布。mqtt的最大优点是,它可以用很少的代码和有限的带宽为连接的远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通信协议,它广泛应用于物联网、小型设备、移动应用等领域。

  

mqtt协议详解


  Mqtt是一种基于客户机-服务器的消息发布/订阅传输协议。Mqtt协议轻量级、简单、开放且易于实现。这些特点使其具有广泛的适用性。在许多情况下,包括受限环境,如机器对机器(M2M)通信和物联网(IOT)。它已广泛应用于通过卫星链路的通信传感器、偶尔的拨号医疗设备、智能家居和一些小型设备。

  Mqtt是一种基于客户机-服务器的消息发布/订阅传输协议。Mqtt协议轻量级、简单、开放且易于实现。这些特点使其适用范围广泛,包括受限环境,如机器对机器(M2M)通信和物联网(IOT)。它已广泛应用于卫星链路通信传感器、偶尔使用的拨号医疗设备、智能家居和一些小型设备。

  mqtt(消息队列遥测传输)体系结构的一个关键方面涉及在数据更改时使用中间服务器从连接的设备收集数据。然后,它将这些数据点发布到从订阅者收集特定数据源的其他系统或应用程序。由于订阅系统或应用程序不直接连接到它们监视的设备,因此mqtt消息传递结构本质上提供了某种级别的安全性。

  然而,与任何安全措施一样,将该设备与订阅设备系统分离并不能解决所有潜在的网络安全问题。除了服务器提供的直接断开连接外,mqtt基础设施还支持多种使用广泛使用的互联网安全方法的选项,如在线银行中使用的、由NIST(国家标准与技术研究所)推荐的方法。

  cirruslink总裁兼首席技术官、mqtt联合创始人阿伦·尼珀(Arlennipper)表示,mqtt边缘和企业客户端使用相同的安全模型。“每个人都使用传输层安全性(TLS)和来自证书颁发机构(CA)的安全证书凭据,通过TCP/IP网络启动出站连接,”他说。

  由于mqtt服务器在企业服务总线中提供消息传递机制,nipper指出mqtt服务器“必须符合3.1.1oasis标准。”cirruslink为此提供了mqtt分发服务器和chariotmqtt服务器。该公司还为多个mqtt服务器冗余提供chariotmqtt服务器,并为本地或云连接应用程序提供更多连接的客户端。

  由于物联网的环境非常特5g工业互联网应用互联网推进殊,

  mqtt需要遵循以下设计原则:

  精简和不增加可有可无的功能,

  发布/订阅(Pub/sub)模式,以促进传感器之间的消息传输,

  允许用户动态创建主题,零运维成本,

  将传输容量降至最低,以提高传输效率,

  考虑了低带宽、高延迟、网络不稳定等因素,

  支持连续会话控制,

  了解客户机的计算能力可能非常低,

  提供服务质量管理,

  假设数据未知,则不需要传输数据的类型和格式来保持灵活性。

  MQTT协议优点

  1.MQTT的独特功能是每个消息头都可以缩短为2个字节。对于HTTP,为每个新请求消息重新建立HTTP连接会产生可观的开销。 MQ和MQTT使用的持久连接可以大大减少这种开销;

  2.包容不稳定的网络,MQTT和MQ可以从诸如断开连接之类的故障中恢复,无需进一步的代码要求。但是,HTTP本身无法实现此目标,并且客户端必须重试编码,这会增加身份问题;

  3.低功耗MQTT专为低功耗目标而设计。HTTP设计未考虑此因素,这会增加功耗;

  4.在连接数百万个客户端的情况下,在HTTP堆栈中维护数百万个并发连接,需要大量工作才能提供支持。尽管这种支持是可行的,但大多数商业产品都经过优化以处理此订单上的持久连接。 IBM提供了IBM MessageSight,这是一种单机架安装服务器,已经过测试,可以通过MQTT处理多达一百万个并发设备。相反,MQ不是为许多同时进行的客户设计的;

  5.推送通知。能够及时向客户发送通知,以常规的轮询或推送方法。从电池、系统负载、带宽而言,推送是最佳解决方案;

  6.客户端平台的差异。 HTTP和MQTT客户端都在许多平台上实现。 MQTT的简单性可帮助以最少的努力在其他客户端上实施MQTT;

  7.防火墙容错能力。某些公司防火墙将出站连接限制到某些预定义的端口,这些端口通常仅限于HTTP(端口80),HTTPS(端口443)等,HTTP在这种情况下显然可以工作。 MQTT封装在WebSockets连接中,并显示为HTTP升级请求,因此可以在这种情况下运行;

  什么是 MQTT - MQTT 的用例

  · 汽车

  BMW Mobility Services(汽车共享应用)已经使用 HiveMQ 和 MQTT 超过 4 年。HiveMQ 支持超过 80,000 个并发连接的软件客户端,每分钟生成超过 90,000 条消息。BMW Mobility Services 使用 HiveMQ 作为内部消息总线,在后端微服务之间移动数据。

  · 后勤

  Matternet 正在制造无人机,以减少在医院和测试实验室之间运输医疗样本所需的时间。通过使用 HiveMQ,Matternet 可以实时跟踪航班状态。MQTT 消息通过运行在 Matternet 平台上的 HiveMQ 传输。这些消息在飞行期间在无人机之间发送到着陆站。

  · 制造业

  MQTTRoute 是一个传输消息的平台,Celikler Holding 使用它来监控多个发电厂的发电量。MQTT 的使用提供了发电厂之间的安全通信。

  · 消费产品

  CASO Design 打造智能厨房电器。例如,CASCO WineComfort Smart,一款酒柜,保证了葡萄酒的品质。该应用程序会在几秒钟内监控并报告任何错误消息,例如,如果温度发生任何变化,您将收到通知。通过这种方式,它可以确保葡萄酒储存在合适的条件下。


联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400