你好,哈布罗维特人!
物联网(IoT,Internet of Things)将建立在家庭/办公室和互联网当前使用的现有网络基础设施、技术和协议之上,并将提供更多功能。
本指南的目的是提供物联网网络和应用协议的简要概述。
笔记。 你必须有知识
物联网网络
物联网将在现有的 TCP/IP 网络上运行。
TCP/IP 使用四层模型,每层都有特定的协议。 厘米。
下图显示了当前使用的协议和最有可能用于物联网的协议的比较。
图表注释:
-
字体大小表明该协议的受欢迎程度。 例如,左边的 IPv4 更大,因为它在现代互联网上更流行。 然而,右侧较小,因为 IPv6 预计将在物联网中更流行。
-
并未显示所有协议。
-
大多数更改发生在渠道(级别 1 和 2)和应用程序级别(级别 4)。
-
网络和传输层可能保持不变。
链路层协议
在数据链路层(Data Link),需要将设备相互连接起来。 例如,它们可以在本地网络(本地网络)中距离很近,也可以彼此相距很远:在城市(城域网)和全球网络(广域网)中。
目前,在这个级别上,家庭和办公网络(LAN)使用以太网和Wi-Fi,移动网络(WAN)使用3G / 4G。 然而,许多物联网设备的功耗较低,例如传感器,仅由电池供电。 在这些情况下,以太网不适合,但可以使用低功率 Wi-Fi 和低功率蓝牙。
虽然现有的无线技术(Wi-Fi、蓝牙、3G/4G)将继续用于连接这些设备,但也值得关注专门为物联网应用设计的新技术,这些技术可能会越来越受欢迎。
其中:
-
BLE – 低功耗蓝牙
-
LoRaWAN - 长距离广域网
-
西格福克斯
-
LTE-M
文章中对它们进行了更详细的描述。
网络层
在网络层(Networking),从长远来看,协议将占据主导地位
传输层
在传输层(Transport),互联网和万维网以TCP为主。 它用于 HTTP 和许多其他流行的 Internet 协议(SMTP、POP3、IMAP4 等)。
我预计 MQTT 将成为消息传递的主要应用层协议之一,目前使用 TCP。
然而,在未来,由于开销较低,我预计 UDP 在物联网中会变得更加流行。 可能更广泛
应用层和消息传递协议
IoT 协议的重要特征:
-
速度——每秒传输的数据量。
-
延迟是发送消息所需的时间。
-
功耗。
-
安全性。
-
软件的可用性。
目前,该级别积极使用两种主要协议:HTTP 和 MQTT。
HTTP 可能是 Web (WWW) 底层这一级别中最著名的协议。 它对于物联网仍然很重要,因为它用于 REST API——Web 应用程序和服务之间交互的主要机制。 然而,由于开销较高,HTTP 不太可能成为主要的物联网协议,尽管它仍将在互联网上广泛使用。
MQTT(消息队列遥测传输)由于其轻便性和易用性已成为物联网中的主要消息传递协议。 看文章
IoT 的 HTTP 和 MQTT 比较
MQTT 正在迅速成为物联网应用的事实上的标准。 这是因为与 HTTP 相比,它的轻便性和速度以及它是一对多协议而不是一对一 (HTTP) 的事实。
如果在开发时可用,许多现代 Web 应用程序会很乐意使用 MQTT 而不是 HTTP。
一个很好的例子是向多个客户端发送信息,例如火车/公共汽车/飞机的到达和出发。 在这种情况下,像 HTTP 这样的一对一协议会产生大量开销,并给 Web 服务器带来大量负载。 扩展这些 Web 服务器可能很困难。 通过 MQTT,客户端连接到代理,可以轻松添加代理以实现负载平衡。 观看有关它的视频教程
其他消息传递协议
HTTP 并不是为 IoT 应用程序设计的,但正如前面提到的,由于其在物联网应用中的广泛使用,它将在一段时间内得到广泛使用。
几乎所有 IoT 平台都支持 HTTP 和 MQTT。
然而,还有其他协议值得考虑。
协议
-
MQTT -(消息队列遥测传输)。 使用 TCP/IP。 发布-订阅模型需要消息代理。 -
空气质量计划 -(高级消息队列协议)。 使用 TCP/IP。 发布者-订阅者和点对点模型。 -
行动计划 -(受限应用协议)。 使用UDP。 专为 IoT 设计,使用 HTTP 中的请求-响应模型。RFC 7252 . -
DDS -(数据分发服务)
在这
然而,回想起来,在互联网的早期,后来占据主导地位的 HTTP 协议只是众多协议中的一种。
尽管 HTTP 最初并不是为文件和电子邮件传输而设计的,但如今它已用于两者。
我预计物联网中的消息传递协议也会发生同样的情况:大多数服务将使用一种主要协议。
下面的 Google 趋势图表显示了 MQTT、COAP 和 AMQP 的受欢迎程度在过去几年中发生了怎样的变化。
Google 趋势概述
平台的协议支持
-
微软Azure - MQTT、AMQP、HTTP 和 HTTPS -
AWS - MQTT、HTTPS、基于 Websocket 的 MQTT -
IBM Bluemix - MQTT、HTTPS、MQTT
-
物联网 — MQTT、HTTPS、MQTT、AMQP
总结
大多数更改发生在渠道(级别 1 和 2)和应用程序级别(级别 4)。
网络和传输层可能保持不变。
在应用程序层,物联网组件将使用消息传递协议。 虽然我们仍处于物联网开发的早期阶段,但很可能有一个或两个消息传递协议会脱颖而出。
在过去的几年里,MQTT 已经成为最流行的,我现在关注的正是它。
HTTP 也将继续使用,因为它已经很好地内置到现有的物联网平台中。
就这样。 我们邀请您报名参加有关该主题的免费演示课程
“用于向设备快速发出命令的聊天机器人” .
阅读更多:
来源: habr.com