很多人在搭建 LoRaWAN 项目时,最常问的一个问题是:网关和服务器到底有什么区别?看起来都在转发数据,可职责其实完全不同。

一个完整的 LoRaWAN 系统,通常分为四层:终端、网关、网络服务器和应用平台。搞清楚每个角色的分工,后面聊覆盖、容量、平台选型和运维,思路都会清晰很多。
终端:只管“喊一嗓子”
终端就是部署在现场的各种传感器和设备,比如温湿度传感器、水表、烟感、门磁等。它们负责采集数据,打包成 LoRa 无线信号发送出去。
这类设备最大的特点就是功耗极低,一节电池能用很久。但它只管发信号,不关心数据最终怎么到达业务系统。
网关:LoRa 与 IP 网络之间的“翻译官”
网络服务器才是协议层面的核心。它负责入网认证、会话密钥管理、数据解密、设备管理、重复包过滤、上下行调度,以及判断应该通过哪个网关把指令发回终端。
说得直白一点:网关只管“传”,服务器才管“认”和“解”。
应用平台:离业务最近的那一层应用平台更贴近业务:展示数据、触发告警、生成报表、下发控制命令,或者把数据接入企业内部系统。

一个完整的 LoRaWAN 系统,通常可以分成四层:终端、网关、网络服务器和应用平台。终端只负责采集和发射,比如温湿度传感器、水表、烟感、门磁等,它们把现场数据打包成 LoRa 无线信号发出去。终端一般功耗很低,电池供电时可以工作很久,但它并不负责把数据直接送到业务系统。
网关的作用,是在空中“听到”这些 LoRa 信号,然后把收到的无线数据转发到服务器。它一边面对 LoRa 终端,一边连接以太网、4G 或 Wi-Fi 等 IP 网络,所以它不是普通路由器,而更像是 LoRa 终端和 IP 网络之间的桥。
网络服务器才是 LoRaWAN 协议的大脑。它负责入网认证、会话密钥管理、数据解密、设备管理、重复包过滤、上下行调度,以及判断应该通过哪个网关给终端下发数据。应用平台则更贴近业务:展示数据、触发告警、生成报表、下发控制命令,或者把数据接入企业内部系统。
网关通常不理解业务数据很多人会有这个疑问:网关收到传感器数据,是不是就能知道温度是多少、水表读数是多少?
答案是:通常不能。
LoRaWAN 网关更多是在做协议帧的转发,它不一定——也通常不需要——理解业务载荷里面的内容。真正判断数据来自哪个设备、用什么密钥解密、是否有效、是否重复的,都是网络服务器。
这也是为什么同一个网关可以服务很多终端。对网关来说,空中出现的 LoRa 数据帧只要符合接收条件,它就能收到并上报。至于这些数据属于谁、该不该进应用平台、需不需要触发告警,全部由服务器和应用系统继续处理。

LoRaWAN 有个很巧妙的设计:上行数据不需要终端先指定发给哪个网关。终端发射信号后,只要附近多个网关都能“听”到,它们就可能同时把同一条数据转发给网络服务器。
这样做的好处很明显:覆盖更灵活,系统可靠性更高。即使某个网关信号不太好,另一个位置更好的网关也能收到。
但这也带来了一个新问题:服务器会收到多份看起来相同的数据。网络服务器会根据设备标识、帧计数、时间戳、信号质量等信息进行去重,最终只把有效的那一份交给应用平台。下行时,服务器还会结合网关在线状态、链路质量和接收窗口,决定通过哪个网关把指令发回终端。

所以理解 LoRaWAN 网关时,最关键的是:网关不是业务系统,也不是普通路由器,而是连接 LoRa 无线世界和 IP 网络世界的桥。终端负责采集和发射,网关负责接收和转发,服务器负责协议和调度,应用平台负责业务展示与处理。把这条链路分清楚,后续讨论覆盖、容量、平台选型、私有化部署和运维问题,就会清晰很多。
