物联网网络和消息协议概述

你好,哈布罗维特人! 俄罗斯第一家在线课程物联网开发人员 十月在 OTUS 推出。 该课程现已开放报名,我们将继续与您分享有用的材料。

物联网网络和消息协议概述

物联网(IoT,Internet of Things)将建立在家庭/办公室和互联网当前使用的现有网络基础设施、技术和协议之上,并将提供更多功能。

本指南的目的是提供物联网网络和应用协议的简要概述。

笔记。 你必须有知识 网络技术基础.

物联网网络

物联网将在现有的 TCP/IP 网络上运行。

TCP/IP 使用四层模型,每层都有特定的协议。 厘米。 了解 TCP/IP 4 层模型 (我们理解TCP/IP的四层模型)。

下图显示了当前使用的协议和最有可能用于物联网的协议的比较。

物联网网络和消息协议概述

图表注释:

  1. 字体大小表明该协议的受欢迎程度。 例如,左边的 IPv4 更大,因为它在现代互联网上更流行。 然而,右侧较小,因为 IPv6 预计将在物联网中更流行。

  2. 并未显示所有协议。

  3. 大多数更改发生在渠道(级别 1 和 2)和应用程序级别(级别 4)。

  4. 网络和传输层可能保持不变。

链路层协议

在数据链路层(Data Link),需要将设备相互连接起来。 例如,它们可以在本地网络(本地网络)中距离很近,也可以彼此相距很远:在城市(城域网)和全球网络(广域网)中。

目前,在这个级别上,家庭和办公网络(LAN)使用以太网和Wi-Fi,移动网络(WAN)使用3G / 4G。 然而,许多物联网设备的功耗较低,例如传感器,仅由电池供电。 在这些情况下,以太网不适合,但可以使用低功率 Wi-Fi 和低功率蓝牙。

虽然现有的无线技术(Wi-Fi、蓝牙、3G/4G)将继续用于连接这些设备,但也值得关注专门为物联网应用设计的新技术,这些技术可能会越来越受欢迎。

其中:

  • BLE – 低功耗蓝牙

  • LoRaWAN - 长距离广域网

  • 西格福克斯

  • LTE-M

文章中对它们进行了更详细的描述。 物联网无线技术概述 (无线物联网技术概述)。

网络层

在网络层(Networking),从长远来看,协议将占据主导地位 IPv6。 IPv4不太可能被使用,但它可能在早期阶段发挥作用。 大多数家庭物联网设备(例如智能灯泡)目前都使用 IPv4。

传输层 

在传输层(Transport),互联网和万维网以TCP为主。 它用于 HTTP 和许多其他流行的 Internet 协议(SMTP、POP3、IMAP4 等)。

我预计 MQTT 将成为消息传递的主要应用层协议之一,目前使用 TCP。

然而,在未来,由于开销较低,我预计 UDP 在物联网中会变得更加流行。 可能更广泛 MQTT-SN,通过 UDP 运行。 参见对比文章 TCP与UDP .

应用层和消息传递协议

IoT 协议的重要特征:

  • 速度——每秒传输的数据量。

  • 延迟是发送消息所需的时间。

  • 功耗。

  • 安全性。

  • 软件的可用性。

目前,该级别积极使用两种主要协议:HTTP 和 MQTT。

HTTP 可能是 Web (WWW) 底层这一级别中最著名的协议。 它对于物联网仍然很重要,因为它用于 REST API——Web 应用程序和服务之间交互的主要机制。 然而,由于开销较高,HTTP 不太可能成为主要的物联网协议,尽管它仍将在互联网上广泛使用。

MQTT(消息队列遥测传输)由于其轻便性和易用性已成为物联网中的主要消息传递协议。 看文章 MQTT 初学者简介 (针对初学者的 MQTT 介绍)。

IoT 的 HTTP 和 MQTT 比较

MQTT 正在迅速成为物联网应用的事实上的标准。 这是因为与 HTTP 相比,它的轻便性和速度以及它是一对多协议而不是一对一 (HTTP) 的事实。

如果在开发时可用,许多现代 Web 应用程序会很乐意使用 MQTT 而不是 HTTP。

一个很好的例子是向多个客户端发送信息,例如火车/公共汽车/飞机的到达和出发。 在这种情况下,像 HTTP 这样的一对一协议会产生大量开销,并给 Web 服务器带来大量负载。 扩展这些 Web 服务器可能很困难。 通过 MQTT,客户端连接到代理,可以轻松添加代理以实现负载平衡。 观看有关它的视频教程 通过 MQTT 重新发布 HTML 数据(航班到达示例) 和文章 物联网中的 MQTT 与 HTTP.

其他消息传递协议

HTTP 并不是为 IoT 应用程序设计的,但正如前面提到的,由于其在物联网应用中的广泛使用,它将在一段时间内得到广泛使用。 API.

几乎所有 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

添加评论