LoRaWAN 针对受限的 LoRa 物理层进行了优化,但是网关在将 LoRaWAN 帧中继到网络服务器或从网络服务器中继时会增加自己的开销,并且还有与网关的操作和维护相关的流量。
我们可以预期每个 LoRaWAN 数据包有什么样的开销(即在 LoRaWAN 的空中帧大小之上),以及与网关维护相关的每月流量有多少?这是否可以针对受限/昂贵的回程(如卫星或蜂窝)进行调整?
LoRaWAN 针对受限的 LoRa 物理层进行了优化,但是网关在将 LoRaWAN 帧中继到网络服务器或从网络服务器中继时会增加自己的开销,并且还有与网关的操作和维护相关的流量。
我们可以预期每个 LoRaWAN 数据包有什么样的开销(即在 LoRaWAN 的空中帧大小之上),以及与网关维护相关的每月流量有多少?这是否可以针对受限/昂贵的回程(如卫星或蜂窝)进行调整?
事实上,在蜂窝回程的情况下,拥有优化信令开销的网关-LNS 回程是节省 OPEX 的关键。它甚至对于卫星回程连接至关重要。
Actility 的 ThingPark LRR(LRR 代表 Long Range Relay,这是 ThingPark 平台中数据包转发器的名称)旨在优化 GW-NS 回程流量。以下是主要的相关功能:
为了最大限度地减少卫星连接的回程开销,通过优化设置保持活动周期和其他特定于应用程序的计时器 - 我们测量了每月内务流量减少到 50 MB/月(包括安全 IPSec 隧道开销,但不包括 LoRaWAN交通)。将紧凑的二进制编码 + NwkID 过滤与这种优化的内务管理开销相结合,应该会产生少于 400MB 的月流量,但确切的流量当然取决于 LoRaWAN 的流量。
与使用 JSON 或类似文本格式的 GW 到 LNS 回程协议相比,预计减少 30 倍。
除了网络设备生成的流量之外,还有其他几个流量组件会在网关的回程连接上产生负载。完整列表如下:
一个 8 通道网关一天可以转发的 LoRaWAN 帧的实际最大数量约为 100k。如果我们假设每个 UL 帧触发一个 ~0.5kByte 回程消息,它会导致 1.5Gbyte/Month 流量和 ~5kBit/s 平均数据速率。
OSS 流量(心跳、警报、配置)将增加额外约 50 MB/月的上行链路流量,而远程软件更新可能需要约 100 MB 的下行链路数据。
根据我的经验,我几乎看不到在一个月内产生超过 1 GB 流量的网关。大多数具有 3G/4G 回程的网关都可以通过 1Gbit/Month 数据计划连接。唯一的例外是我们在一个月内执行多个软件更新。
如果回程是一种昂贵的资源或真正的瓶颈(例如:卫星回程),那么我们需要配置我们的网关,使其不会产生任何不是绝对必要的流量:
这可能取决于用于回程的协议。我从来不进入细节,但我如果一些是最肯定不会感到惊讶很多chattier比其他人。
以TTN 网站上显示的示例为例,该帧通过原始 Semtech UDP 协议发送,该协议发送类似 JSON 的数据:
{
"rxpk": {
"tmst":20900514000,
"chan":2,
"rfch":0,
"freq":866.349812,
"stat":1,
"modu":"LORA",
"datr":"SF7BW125",
"codr":"4/6",
"rssi":-35,
"lsnr":5,
"size":23,
"data":"AMy7qgAAAAAATYMmmnj6AADl6YP1Jrw"
}
}
原始数据(经过 base64 解码后)为 21 字节。整个 JSON 数据为 258 字节。即使您删除了仍然是 191 字节的空白。再加上一些 IP 和 UDP 标头,您可能非常接近 x10 因素。
其他协议不那么冗长(并且可读性较差),使用协议缓冲区,这可能会大大减少因素(可能是 x2?)。但另一方面,由于运营商协议(gRPC 或 MQTT)、加密(TLS)的使用,它们可能会引入额外的开销。如果配置不当,单独的 TLS 可能是一个杀手。
它还可能取决于许多网络设置(例如,包括 ADR 的使用)以及网络密度(这应该会影响中继每个上行链路的网关数量)。
这当然不算数:
即使您没有任何流量,所有这些都会发生。但是它们可以进行相当多的调整。例如,以太网连接的网关可以每 5 分钟轮询一次,而卫星连接的网关可以每隔几小时轮询一次(甚至完全依赖于对从网关接收到的流量的观察,但这实际上只能让您打开/关闭地位)。