物联网传输协议为什么首选MQTT?
关注、星标公众号,不错过精彩内容
作者:黄工
公众号:strongerHuang
物联网 (IoT) 设备需要连接到互联网,联网的方式有很多种,传输协议也有很多种,为什么MQTT才是物联网的首选传输协议呢?
本文重点讲述MQTT传输协议。
一、关于MQTT
MQTT:Message Queuing Telemetry Transport,消息队列遥测传输。
互联网的基础网络协议是 TCP/IP,MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的。
MQTT由IBM在1999年发布,是一种基于发布/订阅(publish / subscribe)模式的"轻量级"通讯协议,在 2014 年末,它正式成为了一种 OASIS 开放标准,而且在一些流行的编程语言中受到支持(通过使用多种开源实现)。
前面文章《http和tcp/ip的关系和区别》提及了OSI(开放式系统互联),这里MQTT同TCP/IP属于第四层(传输层)。
参考网址:
http://mqtt.org
http://mqtt.p2hp.com
https://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 协议的一个关键特性是发布和订阅模型。与所有消息协议一样,它将数据的发布者与使用者分离。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读:
精选汇总 | 目录 | 搜索
在C中嵌套汇编代码难吗?
http和tcp/ip的关系和区别
关注微信公众号『strongerHuang』,后台回复“1024”,查看更多精彩内容。
长按识别图中二维码关注
物联网传输协议为什么首选MQTT?相关推荐
- 【AIOT】3.5 物联网传输协议介绍
1. 介绍 常见的物联网传输协议 MQTT详细介绍 2. HTTP协议 HTTP协议是Hyper Text Transfer Protocol的缩写 处于OSI模型的应用程序层 通常的场景下,网络防火 ...
- 物联网传输协议总结笔记
在物联网协议中,我们一般分为两大类,一类是传输协议,一类是通信协议.传输协议一般负责子网内设备间的组网及通信:通信协议则主要是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备通过互联网进行 ...
- 【新手上路常见问答】关于物联网传输协议MQTT
1.物联网数据传输的要求是什么? 物联网中的数据传输会面临很多挑战.采集发送数据的终端能耗应该较小,在低带宽和不稳定的网络情况下,需要保证数据的传输是成功的,保证数据不被重复发送,连接断开后可以进行重 ...
- MQTT协议笔记之mqtt.io项目TCP协议支持
前言 MQTT定义了物联网传输协议,其标准倾向于原始TCP实现.构建于TCP的上层协议堆栈,诸如HTTP等,在空间上多了一些处理路径,稍微耗费了CPU和内存,虽看似微乎其微,但对很多处理能力不足的嵌入 ...
- 主流物联网协议选择:MQTT、CoAP 还是 LwM2M?
随着物联网技术的发展与普及,越来越多的智能设备具备了网络连接与数据传输能力.由于物联网场景复杂多样,设备端硬件条件.网络稳定性.流量限制.设备功耗以及设备连接数量等多方面因素造成物联网设备的消息传递与 ...
- 互联网协议 — MQTT 消息队列遥测传输协议
目录 文章目录 目录 MQTT MQTT 的设计原则 MQTT 的实现原理 MQTT 的关键术语 MQTT 的方法 MQTT 报文结构 Linux MQTT Server Android MQTT C ...
- 物联网通讯协议:MQTT,NB-IOT,Zigbee,CoAP,RFID,BLUETOOTH,NFC,4G,HTTP
目录 一.按网络四层协议分类 二.按需要网关来分类 三.NB-IoT,4G对比 四.应用层协议:MQTT和COAP对比 物联网组网技术 WIFI 蓝牙 ZigBee 2G/4G/5G NB-IoT L ...
- 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP
物联网应用层协议选择和分析--MQTT.CoAP .HTTP.XMPP.SoAP MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早 ...
- 物联网流行协议-MQTT
物联网流行协议-MQTT 最近几年年最火热门的几门技术技术莫过于:人工智能,区块链和物联网.今天给大家介绍一个物联网中非常的基础一个常用的流行协议,MQTT. MQTT (Message Queue ...
最新文章
- 操作系统面试知识点总结1
- Java 如何使用radio button保存值
- 从vSphere 5.5升级到6之3-使用VUM升级ESXi
- Cisco PT模拟实验(16) 路由器重分发配置
- logisim输出变成红色的e_新车实拍解析 福特Mustang Mach-E亮点实拍图解
- java对象流读取完毕_从Java 8流中获取具有最大频率的对象
- classes目录绝对路径
- 蓝桥杯历年(省赛)试题汇总及试题详解
- 电摩测试速度什么软件,速度最快的4款新电动车,你更看好谁?为什么呢?
- 什么是多因子量化选股模型?
- ## Python笔记
- 集值映射(set -valued mapping)
- 瑞萨RL78系列单片机报内存溢出故障的解决过程。RA78K0R error E3206: Segment ‘@@CODEL‘ can‘t allocate to memory - ignored
- 几种常见窗函数及其MATLAB实现
- Word怎么生成目录?4个方法快速生成目录!
- i510400和i512400差距
- 实验吧MD5之守株待兔解题思路
- 201671010402-陈靖 实验三 作业互评与改进
- 下载者DownLoader.Win32.Undef分析
- SDI接口详解(先占个坑)
热门文章
- 中国全自动榨汁机行业市场深度分析及发展规划咨询综合研究报告
- Redis daemonize介绍
- 分析称,《华尔街日报》夸大ShapeShift洗钱数额逾600万美元(上篇)
- cross-domin,Domain adaptation 与 Domain generalization学习
- 76个偏门小生意,利润高不起眼的小生意
- EXCEL中与SUM相关的函数
- 朋友圈发图多大不会被压缩_穿衣搭配:会穿衣服和不会穿衣服的女生,差距有多大 ?!...
- 神兵利器 - 在没有任何权限的情况下获取任何 Microsoft Windows 用户密码
- 从git更新代码到本地
- win11新版右键上下文菜单(快捷菜单)