物联网技术 2022年 / 第4期
740 引 言
物联网正在改变我们的生活和工作方式,并已渗透到各个领域,如环境监测、能源开发、交通管理、健康监护等。到2025年,预计我国物联网连接数将达到80.1亿[1]。物联网的迅速发展离不开低功耗广域网(Low Power Wide Area Network, LPWAN )技术的进步。LPWAN 以其通信距离长、传输功耗低等特点,已经成为实现物联网海量连接的重要推力。而LoRaWAN (Long Range Wide Area Network, LoRaWAN )作为LPWAN 的一员,凭借低成本、高灵敏度、自适应数据速率等特性,在多种产业(智慧农业、智慧消防、智慧家居等)中发挥出独特优势[2-4]。
虽然现有的工作已经对LoRaWAN 物理层调制技术和媒体接入控制(Media Access Control, MAC )层
进行了大量研究,但对于LoRaWAN 协议栈的设计与实现较少有人关注[5-8]。由于目前比较成熟的开源协议栈—ChirpStack [9]无法适应复杂多样的应用场景,在实际部署中,往往需要开发人员依照LoRaW AN 协议自主设计并实现协议栈,而了解其核心结构与各部分功能对构建高效、稳定、兼容的协议栈至关重要。
本文详细分析了LoRaWAN 协议族(LoRaWAN 协议标准[10]、LoRaWAN 后端接口标准[11]、LoRaWAN 区域参数标准[12])以及实际应用中的开源协议栈,希望能为LoRaWAN 及其协议栈的后续研究、开发提供参考。
1 LoRa 调制技术、LoRaWAN 协议标准
1.1 LoRa 调制技术
LoRa 作为物理层实现方式,属于扩频调制技术的一种,
由Semtech 公司在Chirp 扩频调制的基础上研发并申请专 利
[13]。该技术运行在非授权频段,可通过降低数据速率提高接收灵敏度,使接收端信号功率在低于噪声功率的情况下仍可成功解调,由此在传输距离、传输功耗和传输效率之间作出取舍。除此之外,LoRa 技术使用正交扩频因子实现了可变的数据速率,以适应不同的应用环境。1.2 LoRaWAN 协议标准
LoRaWAN 是建立在物理层LoRa 调制之上的一种网络协议标准,该协议定义了媒体接入、帧格式、消息供应和管理、
安全机制、设备管理等标准[10]。LoRaWAN 协议标准的软件实现称为LoRaWAN 协议栈,目前比较成熟的开源协议栈有ChirpStack 。
LoRaWAN 网络的基本结构由终端设备、网关、网络服务器和应用服务器组成,如图1所示。终端设备和网关形成了单跳星形拓扑结构,网关作为终端设备和网络服务器之间的透明中继。网络服务器负责MAC 层数据处理,并充当在终端设备和应用服务器上运行的应用程序之间的门户。
图1 LoRaWAN 网络结构
LoRaWAN 标准定义了A 类、B 类和C 类三种支持双向通信的终端设备,以适应不同的应用场景:
A 类:该类设备上行传输后会开启2个短暂的下行接收
韦福鹤,朱 珠,曾艳文,刘守印
(华中师范大学 物理科学与技术学院,湖北 武汉 430079)
摘 要:
LoRaWAN 作为低功耗广域网中广泛使用的协议之一,对其物理层和链路层的研究已日趋完善,与之相比,关于协议栈系统架构的研究较少,并且开源的LoRaWAN 协议栈无法适应多种多样的应用场景,不利于LoRaWAN 的实际应用与推广。文章以LoRaWAN 标准协议族和开源协议栈为基础,分析了协议栈的核心结构与层间接口,并总结出其中主要构件的具体工作流程。文章旨在通过对LoRaWAN 协议栈系统架构的分析,阐明其部署过程中应实现的接口功能与基本结构,为开发适配于不同应用场景的LoRaWAN 协议栈提供参考。
关键词:
LoRaWAN ;协议栈;层间接口;基本结构;工作流程;实现方式中图分类号:TP31;TN915 文献标识码:A 文章编号:
2095-1302(2022)04-0074-05收稿日期:2021-06-18 修回日期:2021-07-20
2022年 / 第4期 物联网技术
75
ahcC 类:该类设备除在上行传输时关闭接收机外,其余时间始终处于接收状态。C 类设备功耗最高,但下行传输时延最低,适合实时性较高的应用。
LoRaWAN 协议标准规定实际部署中协议栈应至少支持A 类设备,因B 、C 两类设备除接收时隙不同外,其余配置均与A 类设备类似,所以本文仅分析LoRaWAN 协议栈ChirpStack 的A 类设备。
快速翻译
2 协议栈核心结构与层间接口
2.1 核心结构
考虑到协议栈的设计与实现,LoRaWAN 协议增加了后端接口标准[11]。网络结构相应增加了入网服务器,如图2所示。入网服务器的功能为管理终端设备的入网过程。LoRaWAN 协议定义了2种设备激活方式,分别为个性化激活(Activation by Personalization, ABP )和空中激活(Over-the-Air Activation, OTAA )。ABP 方式无需入网,设备启动后可直接与网络通信,安全性较低。与之相反,OTAA 设备启动后需要通过网络服务器与入网服务器通信,交换设备标识与密钥,实现激活。随后入网服务器将生成的对应密钥(后续通信中使用)分别发送至网络服务器与应用服务器。LoRaWAN 协议推荐使用安全性较高的OTAA 方式,防止恶意攻击,因此入网服务器是协议栈中不可或缺的部分。
图2 LoRaWAN 协议栈系统结构
网络服务器在协议栈中还负责多项关键任务:设备地址检查、帧计数器检查、回复确认(Acknowledgment, ACK )、数据速率自适应、推送应用层数据到应用服务器、调度应用层下行数据、推送入网与重入网请求到入网服务器等,这些功能使得网络服务器成为协议栈的核心。2.2 层间接口
为介绍方便,此处将OSI 七层协议体系结构简化为五层模型,后者的应用层对应于前者的应用层、会话层、表示层[14]。相对于五层模型,LoRaWAN 协议定义了网络的物理层(LoRa
图3 LoRaWAN 分层模型
在实际应用中,终端设备(End Device, ED )上的应用层并非直接与应用服务器(Application Server, AS )的应用层通信,而是经过网关(Gateway, GW )中继、网络服务器(Network Server, NS )的校验与转发,最后到达AS 。期间要经历若干接口,比如ED 到GW 的空中接口,以及GW 到NS 、NS 到AS 的传输层接口。ED 与NS 之间的LoRaWAN MAC 接口如图4所示。因此,合理设计各接口与其功能有利于协议栈的稳定运行。由于物理层的LoRa 调制由Semtech 公司开发并申请专利,在此不做讨论,仅分析LoRaWAN MAC/链路层及以上层间接口的功能。
(1)ED-NS :在LoRaWAN 网络中,GW 起透明中继的作用,因此其上未部署LoRaWAN MAC ,即ED 的MAC 与NS 直接交互。此接口用来完成ED 与NS 之间MAC 命令和数据负载的解析。
(2)GW-NS :
GW 使用LoRa 物理层与ED 通信,其与NS 之间的通信通过传输层协议完成,比如用户数据报协议(Ur Datagram Protocol, UDP )、传输控制协议(Transmission Control Protocol, TCP )等,此接口的作用为GW 与NS 之间消息透传,同时还要考虑NS 对不同传输层协议的支持。(3)NS-AS :
此接口支持NS 与AS 间应用层消息和NS 元数据(终端设备地址、端口号、时间戳等)的传递。(4)AS-JS :此接口用来支持JS 向AS 传输应用层会话密钥。
(5)NS-JS :此接口用来完成OTAA 设备的入网过程,
期间JS 需要与NS 交换终端设备标识、入网编号等信息。(6)AS-ED :此接口支持ED 上的应用层与AS 交互,包括对应用层数据的解析以及应用层指令下发等。
西瓜的拼音3 协议栈接口实现与构件工作流程
由于LoRaWAN 的开源特性,其协议栈中的构件有多种实现方式,并由多方组织开发和维护。因此,合理设计协议栈的层间接口与构件的工作流程对屏蔽不同实现方式之间的差异起到重要作用。本文在分析LoRaWAN 协议族以及开源LoRaWAN 协议栈的基础上,给出了层间接口的实现方式以及构件的工作流程。LoRaW AN 网络接口实现方式如图5所示。
requirement
物联网技术 2022年 / 第4期
76图5 LoRaWAN 网络接口实现方式阖家欢乐的意思
NS 兼具LoRaWAN MAC 层解析与传输层转发的功能,
后者依赖前者的处理结果,为协议栈设计与NS 的性能优化造成了困难。为了使两部分功能分离,提高NS 效率,增加网桥(Gateway Bridge, GB )作为GW 与NS 间的中间件[9]
。GB 同样部署于NS 之上,属于NS 的一部分,其作用为将来自GW 的MAC 负载进行预处理,并分类上传 至NS 。
3.1 接口实现方式
(1)GW-NS :此接口在增加GB 作为中间件后,分为GW-GB 和GB-NS 两部分,前者可以使用UDP 协议,后者可以使用消息队列遥测传输(Message Queuing Telemetry Transport, MQTT )协议。实际应用中往往有多个GW 连接至同一GB ,如果每次通信都需要建立连接则耗费GB 较多资源,使用无连接的UDP 协议可以避免这一问题,快速完成数据上传[9]。MQTT 协议是一种轻量级,基于发布/订
阅模式的通信协议,可以实现应用程序解耦,允许一个NS 订阅多个GW 的消息发布,无需与某一GW 绑定,从而提高NS 的资源利用率,同时提高协议栈的实时性[15]。
(2)NS-JS 、AS-JS :
这2个接口涉及网络传输,主要传输内容为LoRaWAN 会话密钥,需要较高的安全性,又因数据量较小,可以使用HTTPS 协议。
(3)NS-AS :
此接口消息多为应用层数据,传输量较大,可以使用谷歌远程过程调用(Google Remote Procedure Call, gRPC )协议,该协议传输延迟小,支持身份验证,适用于
单一NS 连接多个AS 的情景,既可以提高安全性,又能满足高并发、低延时的传输要求[16]。
(4)其他接口:
其他接口不涉及网络传输,只需实现对应功能即可。需要注意的是,LoRaWAN MAC 接口在设计时应兼容较低版本协议。3.2 构件工作流程3.2.1 网桥工作流程
网桥作为网关和网络服务器间的中转站,将UDP 包与MQTT 消息相互转换,其工作流程也围绕此功能展开。网桥在功能上分为三部分,分别为UDP 后端模块、推送模块与MQTT 订阅/发布模块,如图6所示。对于上行数据,若UDP 后端模块中不同类型的LoRaWAN MAC 帧回复ACK ,表示终端设备接收到下行数据,通过进程间通信方式(此处为管道)送入推送模块对应的进程中,该进程随后将MAC 帧通过MQTT 模块发布;与之相反,对于下行数据,MQTT 模块从网络服务器订阅对应主题,随后通过管道送入推送模块的进程中,交由UDP 后端发送至网关。每种类型的MAC 帧分别使用不同进程处理,可以避免堵塞;而同类型的MAC 帧使用管道与推送进程通信,可以防止因前一帧数据尚未推送完成而导致当前帧丢失的情况。
图4 LoRaWAN 分层通信
图6 网桥工作流程
2022年 / 第4期 物联网技术
烟台英语翻译
77
由于终端设备的消息以广播的形式发出,因此可能出现多个网关上传同一消息的情况,此时网络服务器需要根据信号质量选择最优网关与终端设备通信。所以,除完成基本的LoRaWAN MAC 处理之外,网络服务器还应具有选择合适网关的功能。
3.2.3 应用服务器工作流程
应用服务器在LoRaWAN 协议中未给出标准定义,本文根据网络服务器的对应接口,结合应用层的基本功能将其分为3个基础模块:上行数据处理模块、下行数据处理模块与应用程序接口(Application Programming Interface, API )服务器,如图8所示。
上行数据处理模块包括应用数据、网关状态、ACK Error 处理进程;下行数据处理模块负责将应用层的下行数据推送给网络服务器,经由其调度后下发至终端设备。两种数据处理模块均通过API 服务器与用户交互,由于应用服务器的功能因应用类型不同差异较大,在此不给出各模块的具体处理过程。
3.2.4 入网服务器工作流程
除以上3个构件外,入网服务器也是LoRaWAN 协议
栈中的重要部分,但其工作流程较为单一,主要负责管理OTAA 设备的入网过程,如图9所示
。
图8
应用服务器工作流程
图9 入网服务器工作流程
入网服务器在接收到来自网络服务器的设备入网请求后,首先校验设备标识与DevNonce (在同一设备标识下单
相关的事务,LoRaWAN 服务器实现MAC 层管理,网关状态服务器记录该网络服务器上注册的网关信息,包括网关状态信息、网关信号质量等。两组服务器均需与应用服务器交互,如图7所示。
MQTT 网关后端将来自网关的3种不同类型的MAC 帧分别交付至对应进程中,同样使用管道作为进程间通信方式。上行数据处理进程又将接收到的MAC 帧按照LoRaWAN 协议规定的流程进行处理。首先,提取此次会话的上下文并
入网请求未通过,则网络服务器不作任何处理;对于应用层数据,除需上传至应用服务器外,还需要向终端设备回复ACK ;对于专有类型数据,则直接将其上传至应用服务器,由其决定是否回复ACK 。回复ACK 进程需要校验此次传输是否有效,并将结果发送至应用服务器,如果出错则重传前一帧下行数据。网关状态处理进程在更新对应网关状态后,根据具体命令配置网关参数,并将网关状态告知应用服 务器
。
图7 网络服务器工作流程
78,,
入网接受重复),随后回复入网接受,交付对应秘钥至网络服务器和应用服务器;校验失败则丢弃该入网请求,不作任何处理。
4 结语
本文对低功耗广域网中广泛使用的LoRaWAN协议族进行了详细分析,总结了LoRaWAN协议栈的核心结构与各层接口,并讨论了层间接口的实现方式;增加了网桥作为LoRaWAN协议栈中网关和网络服务器的中间件,以此来提高网络服务器的性能,减小不同实现方式的网关对后者的影响;最后,根据LoRaWAN协议族给出了网桥、网络服务器、应用服务器、入网服务器的工作流程。
广州华尔街英语学费
本文工作已在作者设计的基于物联网的独居老人监护系统中应用,并于阿里云服务器上部署运行,为用户提供紧急求助、健康监测等服务。本文弥补了LoRaWAN协议栈系统架构方面研究的不足,有利于LoRaWAN协议的部署和推广,同时也为后续类似工作提供了参考。
注:本文通讯作者为刘守印。
参考文献
[1]中国信息通信研究院.物联网白皮书(2020)[R]. 2020.
系统的设计与实现[J].物联网技术,2020,10(8):18-22. [4]江武志,许娜芬,钟炜杰,等.基于物联网LoRa智能水表的研
究与设计[J].物联网技术,2018,8(8):77-79.
[5] W U W,LI Y,ZHANG Y,et al. Distributed queueing-bad
random access protocol for LoRa networks [J]. IEEE internet of things journal,IEEE,2020,7(1):763-772.
[6] V AN DEN ABEELE F,HAXHIBEQIRI J,MOERMAN I,et al.
Scalability analysis of large-scale LoRaWAN networks in NS-3[J].
IEEE internet of things journal,2017,4(6):2186-2198.
[7]F URTADO A,OLIVEIRA R,MEMBER S. PHY / MAC uplink
if i were a boyperformance of class A LoRa networks [J]. IEEE internet of things journal ,2020,7(7):6528-6538.
[8]周昱晨,汪茂.基于Chirp的调制技术LoRa的研究[J].计算机应
用研究,2020,37(S2): 291-292.
[9] B ROCAAR O. Chirpstack [EB/OL]. 2020. https://www.chirpstack.
io.
[10] L ORA ALLIANCE. LoRaWAN 1.1 Specification [S]. 2017.
[11] L ORA ALLIANCE. LoRaWAN Backend Interfaces 1.0.4
Specification [S]. 2017.
[12] L ORA ALLIANCE. LoRaWAN 1.1 Regional Parameters [S]. 2017.
[13] S EMTECH CORPORATION. LoRa Modulation Basics [R]. 2015.
[14]谢希仁.计算机网络[M].北京:电子工业出版社,2013.
[15]张丽,李达,刘辉席,等.减小LoRa技术在实验室监测系统中
报警延迟的方法研究[J].电子技术应用,2019,45(6):135-140.
[16] N ALLY M. API design:Understanding gRPC,OpenAPI and
REST and when to u them [EB/OL].(2020).https://cloud.
作者简介:韦福鹤(1995—),男,山东淄博人,硕士,研究方向为低功耗广域物联网。
朱珠(1995—),女,河南南阳人,硕士,研究方向为物联网、数据挖掘。
曾艳文(1998—),女,湖北安陆人,硕士在读,研究方向为物联网。
刘守印(1965—),男,河南周口人,博士,教授,主要研究方向为物联网、通信、机器学习。
[2]吴佐民.数字中国时代数字建筑信息谁来集成[J].中国勘察设计,
2018,34(8):42-44.
[3]中共河北省委,河北省人民政府.《河北雄安新区规划纲要》
[S].2018.
[4]杨滔,杨保军,鲍巧玲,等.数字孪生城市的思考—以雄安新
区规划建设BIM管理平台项目为例[J].城乡建设,2021,66(2):34-37.
[5]鲍巧玲,杨滔,黄奇晴,等.数字孪生城市导向下的智慧规建管
stealthy规则体系构建—以雄安新区规划建设BIM管理平台为例[J].城市发展研究,2021,28(8):50-55.
[6]厦门:打造BIM报建审批新模式,探索CIM平台建设新
亮点[EB/OL].[2020-09-21]https:///News/
Detail?id=bne2020090000000011.
[7]官方解读 | 南京市BIM规划报建官方解读:统一“宁建模”BIM
轻量化自主格式[EB/OL].[2021-03-02] https:/// a/453504800_756589.
[8]倪小真,黎光军.从BIM走向CIM的智慧型工程项目管理模式
探索[J].智能建筑与智慧城市,2021,28(5):86-87.
[9]王翌飞.基于BIM开展工程建设项目报建审批的实践探索[J].住
宅与房地产, 2019,25(26):44-47.
[10]湖南省住房和城乡建设厅.关于开展全省房屋建筑工程施工
图BIM审查试点工作的通知[EB/OL]. [2020-08-12] http:// v/zjt/xxgk/tzgg/202008/t20200812_13395963.
html.
bos
作者简介:李文俊(1990—),男,湖北襄阳人,研究方向为BIM建筑规划建设管理及智慧城市。(上接第73页)
物联网技术2022年 / 第4期