架构
LoRaWAN终端以扩频调制与网关通信,网关通过 IP 回传至 NS(Network Server),再与应用服务器对接。Class A/B/C 决定下行时隙与功耗。密钥与 Join 流程(OTAA/ABP)需严格管理,防克隆。
与蜂窝对比
免授权频段自建网络灵活,但 QoS 与干扰自担;蜂窝 NB-IoT 由运营商运维。混合网关可同时集成 LoRa 与 4G 回传。
限制
duty cycle 与 packet 大小限制适用区域法规;下行容量有限,不适合视频。
网络规划与网关回传
LoRaWAN 容量受扩频因子、带宽、网关信道与空中占用时间共同约束,规划时要仿真节点密度与冲突概率。网关经以太网或 4G 上云时,NS 与 AS 分离部署便于多租户。漫游与切换在 LoRaWAN 中不同于蜂窝,跨运营商或跨 NS 需事先约定 Join Server 与密钥派生。混合场景下,关键告警可采用 Confirmed 上行并配合重传策略,但会消耗更多 duty cycle。
安全与生命周期
OTAA 使用 AppKey 与网络会话密钥派生,私钥泄露会导致克隆终端;ABP 静态会话在轮换上更困难。应启用帧计数器防重放与版本化根密钥更新。设备回收与二手流通要支持密钥擦除与再注册。与蜂窝模组对比,LoRa 免授权频段易受同频干扰,选址与天线高度对链路预算影响极大,现场勘测不可省略。
工程实践补充
从「LoRaWAN」出发,现场常见问题往往集中在「指标在实验室达标、外场复现困难」。除射频与协议外,还应排查电源地弹、连接器接触与固件竞态。蜂窝侧建议采集 RSRP/SINR、小区重选与 PDP 重建记录;应用侧对重试、幂等与队列持久化要有明确策略。涉及数据安全与合规时,把采集范围、存储位置、保留期限与第三方共享写进隐私与合同附件,避免上线后补洞成本过高。
入网服务器与会话密钥的分工
LoRaWAN把“这只终端是否允许加入”和“这一次空口用哪对会话密钥”拆开。OTAA时,终端用根密钥向Join Server证明身份,网络服务器再下发短期的网络会话密钥和应用会话密钥;网关只转发射频帧,不保存这些密钥。因此网关被搬走,不等于密钥泄漏;根密钥或Join Server的配置泄漏,才会出现克隆终端。ABP跳过入网,会话密钥在生产时写死,现场更换网络服务器时必须逐台改写,否则帧计数器对不上,服务器会把合法报文当成重放丢掉。
协议还规定帧计数器单调增加。终端掉电后若计数器回到旧值,而服务器仍记着更大的值,上行会被静默丢弃,射频层却显示发送成功。这和LoRa调制是否“距离够”无关,是MAC状态不一致。
Class A窗口只跟随上行打开
Class A在每次上行结束后打开两个很短的接收窗口,下行必须赶上其中之一。平台想下发配置,只能等终端下一次自己醒来。Class B用信标对齐额外窗口,Class C几乎一直接收,耗电和网关下行容量都明显上升。选用条件是:能接受“下行跟着上行走”就用Class A;必须在固定节拍下发,且终端能承担同步开销,才考虑Class B;只有供电充足、下行频繁的节点才用Class C。
同一区域的占空比、信道个数和网关八信道规划决定了能容纳多少节点。扩频因子高、确认帧多,单网关的有效容量会急剧下降。确认不是可靠性的免费开关:终端收不到ACK会重传,重传继续占用免授权信道。关键告警可以确认,周期遥测更适合不确认,由应用层用序号判断缺口。网关到网络服务器的回传若中断,空口仍在收包,只是完整性校验和应用解密都还没发生,不能把网关日志里的RSSI当成平台已经入库。
确认重传把区域时间耗尽
容易出错的是所有传感器都开确认上行,并在失败后按最短间隔重试。免授权频段的占空比很快被少数节点用完,其余节点表现为随机丢包。另一类错误是DevEUI、JoinEUI和根密钥在产线重复烧录,两台设备抢同一个计数器,网络侧一会儿接受、一会儿以重放拒绝。多网关重叠时,若不做重复包消除,应用服务器会收到同一载荷的多份拷贝,业务若没有幂等,就会重复动作。
ADR也常被误开。网络服务器根据上行统计建议降低扩频因子,节点若安装在会移动的托盘上,或天线偶尔被遮挡,速率被降下去之后链路突然不够,又要很久才调回来。固定安装、信道稳定的节点才适合把速率自适应交给网络;移动或遮挡多变的节点应锁定一组已知可用的参数,并在应用层限制每日上行条数。
下行窗口的频率还要和地区规定的占空比一起算。网络服务器若对大量节点在同一秒安排下行,网关发射机会把该信道的时间额度用完,随后的确认全部排不上。应用把“已入队”看成“终端已收到”,就会在设备侧留下旧配置。应区分入队、网关已发射、终端已确认三级状态。终端在深睡时听不见第一窗口,第二窗口的速率和信道又可能不同,固件若只打开其中一档,平台显示已发送,设备侧没有任何记录。