0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网传输协议MQTT的优势

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-01-09 14:46 次阅读

物联网IoT) 设备需要连接到互联网,联网的方式有很多种,传输协议也有很多种,为什么MQTT才是物联网的首选传输协议呢?

本文重点讲述MQTT传输协议。

一、关于MQTTMQTT:Message Queuing Telemetry Transport,消息队列遥测传输。

互联网的基础网络协议是 TCP/IP,MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的。

MQTT由IBM在1999年发布,是一种基于发布/订阅(publish / subscribe)模式的“轻量级”通讯协议,在 2014 年末,它正式成为了一种 OASIS 开放标准,而且在一些流行的编程语言中受到支持(通过使用多种开源实现)。

前面文章《http和tcp/ip的关系和区别》提及了OSI(开放式系统互联),这里MQTT同HTTP属于第七层(应用层)。

参考网址:

http://mqtt.orghttp://mqtt.p2hp.comhttps://www.ibm.com/developerworks/cn/iot/https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html

二、MQTT特点

MQTT特点:

开放消息协议,简单易实现

发布订阅模式,一对多消息发布

消息QoS支持,可靠传输保证

基于TCP/IP网络连接,提供有序,无损,双向连接。

1字节固定报头,2字节心跳报文,最小化传输开销和协议交换,有效减少网络流量。

设计规范:

由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则:

精简,不添加可有可无的功能;

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

把传输量降到最低以提高传输效率;

把低带宽、高延迟、不稳定的网络等因素考虑在内;

支持连续的会话控制;

理解客户端计算能力可能很低;

提供服务质量管理;

发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;

假设数据不可知,不强求传输数据的类型与格式,保持灵活性。

三、物联网为何首选MQTT

1.为何选择 MQTT

MQTT 是一种轻量级的、灵活的网络协议,致力于为 IoT 开发人员实现适当的平衡:

这个轻量级协议可在严重受限的设备硬件和高延迟/带宽有限的网络上实现。

它的灵活性使得为 IoT 设备和服务的多样化应用场景提供支持成为可能。

为了了解为什么 MQTT 如此适合 IoT 开发人员,我们首先来分析一下为什么其他流行网络协议未在 IoT 中得到成功应用。

2.为什么不选择其他众多网络协议

大多数开发人员已经熟悉 HTTP Web 服务。那么为什么不让 IoT 设备连接到 Web 服务?设备可采用 HTTP 请求的形式发送其数据,并采用 HTTP 响应的形式从系统接收更新。这种请求和响应模式存在一些严重的局限性:

A.HTTP 是一种同步协议。客户端需要等待服务器响应。Web 浏览器具有这样的要求,但它的代价是牺牲了可伸缩性。在 IoT 领域,大量设备以及很可能不可靠或高延迟的网络使得同步通信成为问题。异步消息协议更适合 IoT 应用程序。传感器发送读数,让网络确定将其传送到目标设备和服务的最佳路线和时间。

B.HTTP 是单向的。客户端必须发起连接。在 IoT 应用程序中,设备或传感器通常是客户端,这意味着它们无法被动地接收来自网络的命令。

HTTP 是一种 1-1 协议。客户端发出请求,服务器进行响应。将消息传送到网络上的所有设备上,不但很困难,而且成本很高,而这是 IoT 应用程序中的一种常见使用情况。

C.HTTP 是一种有许多标头和规则的重量级协议。它不适合受限的网络。

出于上述原因,大部分高性能、可扩展的系统都使用异步消息总线来进行内部数据交换,而不使用 Web 服务。事实上,企业中间件系统中使用的最流行的消息协议被称为 AMQP(高级消息排队协议)。但是,在高性能环境中,计算能力和网络延迟通常不是问题。AMQP 致力于在企业应用程序中实现可靠性和互操作性。它拥有庞大的特性集,但不适合资源受限的 IoT 应用程序。

除了 AMQP 之外,还有其他流行的消息协议。例如,XMPP(Extensible Messaging and Presence Protocol,可扩展消息和状态协议)是一种对等即时消息 (IM) 协议。它高度依赖于支持 IM 用例的特性,比如存在状态和介质连接。与 MQTT 相比,它在设备和网络上需要的资源都要多得多。

那么,MQTT 为什么如此轻量且灵活?因为MQTT 协议的一个关键特性是发布和订阅模型。与所有消息协议一样,它将数据的发布者与使用者分离。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2909

    文章

    44625

    浏览量

    373219
  • 传输协议
    +关注

    关注

    0

    文章

    78

    浏览量

    11449
  • MQTT协议
    +关注

    关注

    0

    文章

    97

    浏览量

    5365
收藏 人收藏

    评论

    相关推荐

    MQTT联网云平台有什么功能

    关键作用。MQTT联网云平台基于MQTT协议,为联网
    的头像 发表于 10-09 14:15 268次阅读

    联网行业中MQTT通信协议详解以及使用

    联网、小型设备、移动应用等方面有较广泛的应用。 二 MQTT协议特点 MQTT是一个基于 客户端-服务器 的消息发布/订阅
    的头像 发表于 09-20 17:08 1434次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>行业中<b class='flag-5'>MQTT</b>通信<b class='flag-5'>协议</b>详解以及使用

    MQTT协议网关的工作原理及功能特性

    的数据传输。本文将详细探讨 MQTT协议网关 的工作原理、功能特性及其在联网应用中的重要作用。 一、M
    的头像 发表于 09-18 17:00 489次阅读
    <b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>网关的工作原理及功能特性

    MQTT联网平台和网关有什么功能

    联网(IoT)迅速发展的今天,MQTT(Message Queuing Telemetry Transport)作为一种轻量级的通信协议,以其高效、可靠的特点,在
    的头像 发表于 08-22 14:19 275次阅读

    MQTT网关:联网中的关键桥梁

    基于发布/订阅模式的轻量级通信协议,特别适用于低带宽、不稳定网络环境下的数据传输MQTT网关则是连接物联网设备与消息代理服务器之间的桥梁,通过它,
    的头像 发表于 08-22 14:15 401次阅读
    <b class='flag-5'>MQTT</b>网关:<b class='flag-5'>物</b><b class='flag-5'>联网</b>中的关键桥梁

    MQTT联网平台是什么

    MQTT联网平台是一种软件平台,它基于MQTT(Message Queuing Telemetry Transport,消息队列遥测传输
    的头像 发表于 07-18 14:22 591次阅读

    MQTT联网网关是什么

    Queuing Telemetry Transport,消息队列遥测传输)是一种轻量级的发布/订阅模式的消息传输协议,特别适合于低带宽、不稳定网络环境中的
    的头像 发表于 07-18 14:17 523次阅读
    <b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>网关是什么

    一文了解联网通信协议MQTT如何助力无线模块广泛连接

    引言:随着联网技术的飞速发展,无线模块在连接各种智能设备、实现数据交互中扮演着至关重要的角色。为了有效满 足联网通信的多样化需求,一种轻量级、高效且可靠的消息
    的头像 发表于 06-07 16:10 1146次阅读
    一文了解<b class='flag-5'>物</b><b class='flag-5'>联网通信协议</b>之<b class='flag-5'>MQTT</b>如何助力无线模块广泛连接

    [天拓四方]4G MQTT网关在联网应用中的优势探讨

    随着联网(IoT)技术的飞速发展,各种设备和系统之间的互联互通变得日益重要。MQTT(Message Queuing Telemetry Transport)作为一种轻量级的发布/订阅消息
    的头像 发表于 05-28 17:22 482次阅读

    MQTT联网平台是什么?MQTT联网平台的功能

    ,易于实现,因此广泛应用于受限的环境,如机器与机器的通信(M2M)以及物联网环境(IoT)。 MQTT联网平台通过提供一种标准化的协议和平
    的头像 发表于 04-01 10:20 733次阅读

    MQTT联网平台实现设备连接与安全加密

    随着工业联网(IIoT)的不断发展,越来越多的应用场景采用MQTT作为工业联网通信的轻量级消息传输
    的头像 发表于 03-19 10:25 617次阅读
    <b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>平台实现设备连接与安全加密

    MQTT和Modbus的联网网关协议的区别分析

    MQTT和Modbus的联网网关协议区别分析 MQTT(Message Queuing Telemetry Transport)与Modbus是两种广泛应用在
    的头像 发表于 03-18 16:50 821次阅读
    <b class='flag-5'>MQTT</b>和Modbus的<b class='flag-5'>物</b><b class='flag-5'>联网网关协议</b>的区别分析

    MQTT协议网关解决方案设计与实施

    的主要功能包括协议转换、消息过滤、安全认证、负载均衡等,以确保消息的可靠传输和系统的稳定运行。随着联网技术的快速发展,MQTT
    的头像 发表于 03-11 14:07 500次阅读

    mqtt协议与终端监测设备结合

    mqtt协议与终端监测设备结合 摘要: MQTT是一个基于客户端-服务器的消息发布/订阅传输协议, 优点是轻量,简单,开放和易于实现的,这样
    的头像 发表于 01-30 13:13 396次阅读
    <b class='flag-5'>mqtt</b><b class='flag-5'>协议</b>与终端监测设备结合

    MQTT联网平台是什么?MQTT联网平台的功能有哪些

    ,易于实现,因此广泛应用于受限的环境,如机器与机器的通信(M2M)以及物联网环境(IoT)。 MQTT联网平台通过提供一种标准化的协议和平
    的头像 发表于 01-24 09:23 1151次阅读