物联网笔记四:物联网网络及协议

1.概要

通信对物联网极为重要。网络技术使得

我们通常认为,网络是由堆栈技术构建的,堆栈底部的技术(比如蓝牙低功耗)与物理连接设备相关,而堆栈中更靠上的技术(比如

在本文中,我将介绍一些被广泛采用的

2.网络标准和技术

开放式系统互联 (OSI) 模型是一种 ISO(国际标准化组织) 标准抽象模型,它描述了一个包含 7 层的协议栈。这些层从上往下依次是:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。TCP/IP 或互联网协议套件支撑着互联网,提供了

 

IOT中常见的通讯协议 iot网络协议_数据

TCP/IP 模型仅包含 4 层,并合并了 OSI 模型的一些层(参见 图 1):

1)网络接入和物理层

这个

2)互联网层

这一层对应于

3)传输层

传输层(OSI 中的第 4 层)专注于端到端通信,提供的特性包括可靠性、避免拥塞,并且保证将包按照被发送的相同顺序送达。出于性能原因,IoT 传输常常采用 UDP(用户数据报协议)。

4)应用层

应用层(OSI 中的第 5、6 和 7 层)负责应用级消息传递。HTTP/S 是互联网上被广泛采用的应用层协议的一个例子。

尽管

3.IoT 网络协议

IoT 中被广泛采用且能归入 TCP/IP 层的一些网络协议如 图 2 所示。

 

IOT中常见的通讯协议 iot网络协议_低功耗_02

IoT 领域正在采用许多新兴且有竞争性的网络技术。许多技术由不同的供应商提供或针对不同的垂直市场,比如家庭自动化、医疗保健或工业 IoT,它们通常为相同的标准协议提供了替代性实现。例如,IEEE 802.15.4 描述了低速率无线个域网 (LR-WPAN) 的工作原理,并且由多种竞争性技术实现,包括 ZigBee、Z-Wave、EnOcean、SNAP 和 6LoWPAN。

例如,用于连接互联网的技术(比如以太网)通常可应用在

网络的结构被称为网络的拓扑结构。IoT 中采用的最常见网络拓扑结构是星型和网状拓扑结构。在星型拓扑结构中,每个

3.1网络接入层和物理层

需要知道的靠近协议栈底部的

(1)LPWAN

低功耗广域网)是一种专为低功耗、长距离无线通信而设计的技术类别,所以它们非常适合用在无线传感器等低功耗

(2)蜂窝技术

LPWAN NB-IoT 和 LTE-M 标准旨在使用现有的蜂窝网络提供低功耗、低成本的 IoT 通信选择。NB-IoT 是这些标准中的最新标准,专注于大量主要在户内的设备之间的长距离通信。LTE-M 和 NB-IoT 是专为 IoT 开发的,但是长距离无线通信中也经常采用现有的蜂窝技术。这些技术包括 2G (GSM),主要用在遗留设备中,该技术目前正被逐渐淘汰,CDMA、3G 和 4G 也是如此。

(3)蓝牙低功耗 (BLE)

BLE 是流行的蓝牙 2.4 GHz 无线通信协议的低功耗版本。它专为短距离(不超过 100 米)通信而设计,通常用在星型配置中,有一个控制多个辅助设备的主要设备。蓝牙跨 OSI 模型的第 1 层 (PHY) 和第 2 层 (MAC) 而运行,如 图 1 所示。BLE 最适合突发性传输少量数据的设备,因为这些设备被设计为在不传输数据时休眠,以节约用电。可穿戴健康和健身跟踪器等个人 IoT 设备常常使用 BLE。

(4)ZigBee

ZigBee 也在 2.4GHz 无线通信频谱上运行,但它的传输距离比 BLE 的最长 100 米更长。与 BLE(270 kbps)相比,它的数据传输速率稍微低一些(最高 250 kbps)。ZigBee 是一种网状网络协议,不同于 BLE,不是所有设备都能在没有突发性传输数据时休眠,这取决于它们在网格中的位置以及是否需要充当网格中的路由器或控制器。ZigBee 专为建筑和家庭自动化应用而设计,比如控制照明。另一种与 ZigBee 紧密相关的技术是 Z-Wave,它也基于 IEEE 802.15.4 MAC。Z-Wave 也是专为家庭自动化而设计,它曾经是一种专用技术,最近才作为一种公共领域规范发布

(5)NFC

近场通信 协议用于非常短距离的通信(最远 4 厘米),比如手持一张 NFC 卡或标签靠近读卡器。NFC 常常用于支付系统,但它对签到系统和工业 IoT 应用中用于跟踪资产的智慧标签也很有用。

(6)RFID

RFID 表示射频识别。RFID 标签存储标识符和数据,并将它们附加到设备上供 RFID 读取器读取。RFID 的典型传输距离小于 1 米。RFID 标签可以采用有源、无源或辅助无源形式。无源标签非常适合没有电池的设备,因为 ID 由读取器被动读取。有源标签会定期广播其 ID,而辅助无源标签在 RFID 读取器出现时会变为有源。Dash7 是一种通信协议,它使用了专为在工业 IoT 应用中使用而设计的有源 RFID,以便执行安全的长距离通信。类似于 NFC,RFID 的典型用例是在零售和工业 IoT 应用中跟踪库存商品。

(7)Wifi

Wifi 是基于 IEEE 802.11a/b/g/n 规范的标准无线网络技术。802.11n 提供了最高的数据吞吐量,但代价是功耗很高,所以出于节能原因,IoT 设备可能仅使用 802.11b 或 g。尽管许多原型和最新一代 IoT 设备中都采用了 wifi,但随着长距离和低功耗解决方案变得更加普遍,wifi 可能会被这些低功耗替代方案所取代。

(8)以太网

以太网采用了

3.2互联网层

互联网层技术(OSI 第 3 层)负责识别和路由数据包。与这层相关且IoT通常采用的技术包括 IPv6、6LoWPAN 和 RPL。

互联网层技术(OSI 第 3 层)负责识别和路由数据包。与这层相关且IoT通常采用的技术包括 IPv6、6LoWPAN 和 RPL。

IPv6

在互联网层,设备由

6LoWPAN

IPv6 低功耗无线个域网 (6LoWPAN) 标准允许在 802.15.4 无线网络上使用 IPv6。6LoWPAN 常常用于无线传感器网络,而且用于家庭自动化设备的 Thread 协议也在 6LoWPAN 上运行。

RPL

互联网层还负责路由。IPv6 低功耗和有损网络路由协议 (RPL) 专为在低功耗网络(比如在 6LoWPAN 上实现的网络)上路由 IPv6 流量而设计。RPL(发音为 “ripple”)被设计用于在受限的网络中路由数据包,比如无线传感器网络,在这些网络中,不是所有设备都始终可达,而且存在很高或无法预测的包丢失量。RPL 能基于动态指标和约束条件(比如最低能耗或延迟)来构建网络中的节点图,从而计算最佳路径。

3.3应用层

HTTP 和 HTTPS 在互联网应用中随处可见,在 IoT 中也是如此,IoT 中广泛部署了 RESTful HTTP 和 HTTPS 接口。CoAP(受限应用协议)就像一种轻量级 HTTP,常常与基于 UDP 的 6LoWPAN 结合使用。MQTT、AMQP 和 XMPP 等消息协议也常常用在 IoT 应用中:

(1)MQTT

消息队列遥测传输 是一种基于发布/订阅的消息协议,专为在低带宽情况下使用而设计,特别适合不可靠网络上的传感器和移动设备。

(2)AMQP

高级消息排队协议 是一种用于面向消息的中间件的开放标准消息协议。很显然,AMQP 由 RabbitMQ 设计。

(3)XMPP

可扩展消息和状态协议 最初是为包括即时消息在内的实时人类间通信而设计的。此协议针对机器间 (M2M) 通信进行了调整,以实现轻量级中间件和路由 XML 数据。XMPP 主要用于智慧家电。

这一层上选择的技术将取决于

4.IoT 网络考虑因素和挑战

考虑在

l 传输距离

l 带宽

l 功耗

l 间歇连通性

l 互操作性

l 安全性

4.1传输距离

网络可通过附加到网络的

(1)PAN(个域网)

PAN 是一种短距离网络,其中的距离是以米为单位来衡量的,比如通过 BLE 与手机上的应用通信的可穿戴健身跟踪器设备。

(2)LAN(局域网)

LAN 是一种短到中等距离的网络,其中的距离最长可达数百米,比如家庭自动化或安装在工厂生产线中的传感器,它们通过 wifi 与安装在同一建筑中的网关设备进行通信。

(3)MAN(城域网)

MAN 是一种长距离(城市级)网络,其中的距离可达数千米,比如通过网状网络拓扑结构相连的遍及全城的智能停车传感器。

(4)WAN(广域网)

WAN 是一种长距离网络,其中的距离可达数千米,比如安装在大型农场中用于监视整个农场上的微气候环境条件的农业传感器。

您的网络应该设计为,从

4.2带宽

带宽,或在特定时间段内能传输的数据量,限制了可从

每个设备生成的数据量

部署在网络中的设备数量

数据是源源不断地发送还是间歇性地突发性发送,因为需要使用可用的带宽来应对高峰时段

您选择的网络协议的包大小应与通常传输的数据大小相匹配。发送填满空数据的包是一种低效操作,但另一方面,将更大的数据块拆分为太多小包也会产生开销。数据传输速率并不总是对称的(也就是说,上传速率可能低于下载速率)。因此,如果设备间存在双向通信,则需要考虑数据传输。无线和蜂窝网络通常具有较低的带宽,所以需要考虑对高数据量应用选择无线技术是否妥当。

另外,考虑是否所有原始数据都需要传输。一个解决方案可能是通过降低采样频率,捕获更少的变量,或者在设备上执行某种过滤来丢弃不重要数据,从而捕获更少的数据。如果在传输数据前对其进行聚合,有助于减少要传输的数据量,但是此过程会影响上游分析的灵活性和粒度。聚合和突发性发送并不总是适合时间敏感或延迟敏感的数据。所有这些技术还会增加

4.3功耗

从设备传输数据会消耗电力,长距离传输数据需要的电力比短距离更多。必须考虑依靠电池运行的设备,以节约用电,从而延长电池寿命和减少操作成本。要延长电池寿命,可以在设备空闲时让其进入休眠模式。一个不错的主意是对设备在不同负载和不同网络条件下的能耗进行建模,确保设备的电源供应和存储容量与使用特定网络技术传输必要数据所需的电量相匹配。

4.4间歇连通性

IoT 设备并不总是处于连接状态。在某些情况下,设备被设计为定期连接,以节省用电或带宽。但是,有时不可靠的网络可能导致设备由于连接问题而掉线。有时会出现服务质量问题,比如处理使用共享频谱的无线网络上的干扰或信道争用。

4.5互操作性

有如此多不同设备连接到

4.6安全性

安全始终是优先考虑事项,所以一定要选择实现端到端安全的网络技术,包括身份验证、加密和开放端口保护。例如,IEEE 802.15.4 包含的一种安全模型提供了许多安全特性,包括访问控制、消息完整性、消息机密性和重放保护,这些特性是由基于此标准的技术(比如 ZigBee)实现的。

(1)身份验证

采用安全协议来支持设备级的网关、用户、应用和服务身份验证。例如,考虑采用

(2)加密

如果使用

(3)端口保护

端口保护确保只有与网关、上游应用或服务通信所需的端口是保持对外部连接开放的。所有其他端口都应被禁用或受防火墙保护。例如,在通用即插即用

5.结束语

选择要采用的

对于基本的家庭自动化项目,电源考虑标准可能不太重要,因为设备很可能直接通过壁式插座供电。带宽限制和连接丢失具有更高的优先级,所以您可以采用

在本文中,我概述了一些最常用于