使用 IEEE 802.15.4 和 6LoWPAN 构建可靠的物联网网络
工业物联网以大规模分布式传感器/控制网络为基础,可以在无人值守的情况下运行数月至数年,且功耗极低。此类网络的特征行为需要使用无线技术在短距离内实现非常短的消息流量突发,通常被描述为低速率无线个域网 (LR-WPAN)。我们保持数据帧较短,以减少无线电干扰迫使需要重新传输的可能性。其中一种 LR-WPAN 方法使用 IEEE 802.15.4 标准。这描述了工业控制和自动化应用中经常使用的物理层和媒体访问控制,称为监控和数据采集 (SCADA)。
图1.IEEE 802.15.4帧格式在物联网中,本地“边缘”设备(通常是传感器)收集数据并将其发送到数据中心(“云”)进行处理。将数据传输到云端需要使用标准 IP 协议栈进行通信。这可以通过将边缘设备通过互联网直接连接到数据中心来完成——“云模型”。或者,我们可以从边缘设备与称为边界网关的收集点进行通信,将数据从那里中继到数据中心——“雾模型”。
本文将介绍 IEEE 802.15.4 网络的特性,特别是互联网工程任务组 (IETF) 基于低功耗无线个域网 (6LoWPAN) 的 IPv6 实现。该实现同时支持云模型和雾模型。
IEEE 802.15.4 PHY 层
IEEE 802 标准系列分为多个任务组,包括 802.3(以太网)和 802.11(Wi-Fi)以及 802.15(无线 PAN)。特别是,IEEE 802.15.4(简称 15.4)由任务组 4 负责,该任务组负责协议的各种特性,包括射频频谱和物理层。 15.4 标准已扩展到包括射频识别 (RFID) PHY、超宽带 (UWB) PHY,并且还作为车对车和车对路边通信的可能解决方案进行讨论。
802.15.4 仅解决物理 (PHY) 和媒体访问控制 (MAC) 层 — 在 OSI 网络模型中的第一层和第二层。它将上层留给实现者。在第三层及以上,有大量的产品,包括 Zigbee、Z-Wave、Thread 和 6LoWPAN。其中每一个都实现了 OSI 协议模型的其余部分,以提供路由和发现等服务以及用户应用程序的 API。
图 2. 拓扑选项一般来说,15.4 支持 20 Kbit/s、40 Kbit/s、100 Kbit/s(即将)和 250 Kbit/s 的数据传输速率。基本框架假设 250 Kbit/s 的传输范围为 10 米。甚至可以实现更低的数据速率,以进一步限制功耗。尽管采用 10 米(32 英尺)范围规范,但在 2.4GHz ISM 频段中,IEEE 802.15.4 无线电的典型可实现范围约为室内 100 英尺,室外约为 200 – 300 英尺。在 sub-GHz 频率中,该协议的实际实施已在 900 MHz ISM 频段中使用适当的天线在超过 6.5 公里(4 英里)的范围内得到验证。
在物理层,IEEE 802.15.4 管理射频收发器和通道选择,以及能量和信号管理设施。目前定义了六个 PHY,具体取决于所需的频率范围和数据性能。其中四个使用直接序列扩频(DSSS)跳频技术。线性调频扩频 (CSS) 用于超宽带 (UWB) 和 2450 MHz 频段。并行序列扩频 (PSSS) 仅适用于欧洲 868 MHz 频段中的混合二进制/幅移键控调制技术。
15.4 的帧大小为 133 字节,包括 PHY、MAC 和数据有效负载。该帧的格式如图1所示。通过保持帧相对较短,我们可以限制传输所需的时间,同时限制工业设备正常运行时产生无线电干扰的可能性。
IEEE 802.15.4 MAC 层
IEEE 802.15.4 MAC 层(OSI 模型第二层 — 数据链路层)负责:
- 加入和退出 PAN;
- 用于信道访问的具有冲突避免功能的载波侦听多路访问 (CSMA-CA);
- 保证时隙 (GTS) 传输;
- 在两个对等 MAC 实体之间建立可靠的链路;
- 协调器的信标传输;
- 与信标同步。
此外,MAC层支持使用AES-128加密算法的对称加密。还有基于 SHA 的哈希值和访问控制列表的选项,以限制敏感信息传输到特定节点或链接。最后,MAC 计算帧接收之间的新鲜度检查,以帮助最大限度地减少可能通过迂回路径传输的旧帧延迟传递到上层协议的可能性。
节点类型和网络拓扑
图 3. IPv6 标头的 IP 标头压缩IEEE 802.15.4 标识了两种不同类型的网络节点:精简功能设备 (RFD) 和全功能设备 (FFD)。 FFD 可以与其他 FFD 或 RFD 通信,甚至可以创建自己的网络。然而,RFD 只能与 FFD 通信。这意味着导致两种可能的网络拓扑的层次结构:星形拓扑或点对点拓扑(例如网状)。这些如图 2 所示。
星形拓扑是最容易实现且成本最低的,它只需要单个 FFD。其余设备可以是 RFD 或 FFD,具体取决于实施方式。星形拓扑的缺点是协调器代表单点故障。这可能会导致网络完全故障,除了最简单的应用程序之外,在所有应用程序中都应该避免这种情况。
网状拓扑的使用提供了多个冗余通信路径,以确保消息的传递。当以网状模式运行时,网络本质上是一个临时的、自组织的实体。因此,尽管射频传播特性(例如多路径或树叶影响)发生变化,但仍可以继续连接。网状拓扑的使用还提供了移动节点,例如工业机器人中的节点。 “有损网格”是指并非所有链路都是可靠的,因此使用更高层路由协议根据任何给定时间点的连接性重新路由消息流量。
IPv6
由于 IPv4 地址空间的耗尽,人们对过渡到 IPv6 非常感兴趣,IPv6 提供第三层(网络)和第四层(传输)并位于 MAC 层之上。通常,IPv6 使用 40 字节标头并提供 128 位地址空间,甚至可以处理物联网连接设备的最大估计。
图 4. 具有 6LoWPAN 模块的 Raspberry Pi 边界路由器然而,当与 AES-128 加密开销相结合时,使用默认大小的 IPv6 标头将只为帧中的用户有效负载留下 33 个字节。 IP 报头压缩 (IPHC) 的引入就是为了解决这个问题。这可以将 IPv6 标头的大小减少到仅 10 个字节,其中包括 Internet 遍历的路由。该IPHC如图3所示。
这种位于 15.4 PHY 和 MAC 层之上的 IPv6、IPHC 和标准 TCP/UDP 的组合就是所谓的 6LoWPAN。当与 POSIX 风格的套接字结合使用时,开发人员可以使用普通的 Internet 协议在世界任何地方进行端到端数据包传送。
为物联网实施 6LoWPAN
6LoWPAN 有许多现有的实现。其中之一是 sub-GHz 6LoWPAN,用于目前在住宅用功率计中实施的高级计量基础设施 (AMI)。这些仪表为公用事业公司提供了一种读取和控制整个电网用电量的方法。他们依靠有损网状路由设施来确保仪表测量的传送,而不受多路径或雨雪等大气影响的影响。
6LoWPAN 代码大小适中。典型的实现约为 30KB,通常直接在 Texas Instruments、Silicon Labs 等公司的无线电中实现。这种方法在传感器微控制器和无线电之间提供了 UART 式接口,从而将协议开销卸载到无线电单元。
另外,许多操作系统(例如 Linux)已经在许多无线电平台上实现了 6LoWPAN。这允许使用基于 Linux 的边界网关,通过强化内核、下一代防火墙等使用雾模型为边缘设备提供安全性。边界网关还可用于提供数据过滤和压缩,以降低总体通信成本。
由于 6LoWPAN 与普通互联网协议兼容,因此开发人员可以自由地利用 MQTT、CoAP 和 HTTP 等更高级别的协议来进行应用程序之间的通信。在南向侧连接到 6LoWPAN 并在北向侧连接到标准 IPv4 或 IPv6 的边界路由器可以轻松提供从内部 6LoWPAN 数据包格式到标准 IPv6 或通过 NAT64 到标准 IPv4 的网络地址转换 (NAT) 自动转换。这使得边缘设备的寻址对云和开发人员完全透明。图 4 显示了基于 Raspberry Pi 并附加 6LoWPAN 模块的边界路由器。
摘要
物联网的核心在于连接性,IEEE 802.15.4 标准提供了一种理想的实现方法——在有损网格中低功耗运行。在 IEEE 802.15.4 之上使用 6LoWPAN 可以提供安全、透明的云连接,并通过提供标准 IP 兼容协议和随时可用的库,显着减轻开发人员和系统设计人员的负担。
本文由 PTR Group(弗吉尼亚州阿什本)首席技术官/首席科学家 Mike Anderson 撰写。欲了解更多信息,请点击此处。
传感器