CN111711708B - 一种LoRaWAN终端设备地址分配方法 - Google Patents
一种LoRaWAN终端设备地址分配方法 Download PDFInfo
- Publication number
- CN111711708B CN111711708B CN202010362159.3A CN202010362159A CN111711708B CN 111711708 B CN111711708 B CN 111711708B CN 202010362159 A CN202010362159 A CN 202010362159A CN 111711708 B CN111711708 B CN 111711708B
- Authority
- CN
- China
- Prior art keywords
- devaddr
- terminal node
- database
- deveui
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 230000002688 persistence Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 2
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开一种LoRaWAN终端节点设备地址分配方法,针对LoRaWAN网络中终端节点数量较多时,设备地址发生冲突、重新入网时设备地址改变的问题;本发明使用数据库存储已入网的终端节点的设备标识符和设备地址;网络服务器根据终端节点的设备标识符,查询数据库判断终端节点是否为重新入网的设备,为重新入网的设备快速分配相同的设备地址;对新入网的设备,根据终端节点的设备标识符,计算生成终端节点的设备地址;查询数据库判断生成的设备地址是否发生冲突,使用多次随机计算避免设备地址冲突。
Description
技术领域
本发明属于低功耗广域网通信技术领域,特别涉及一种LoRaWAN终端设备地址分配方法。
背景技术
LoRa是一种LPWAN(低功耗广域网)技术规范,其最大的特点是远距离、低功耗、低成本。LoRaWAN网络往往组网规模较大,一个网络中接入的终端节点数量可以达到数万个。根据LoRaWAN协议,终端节点通过每次入网时网络服务器随机分配的DevAddr(设备地址)进行标识。网络中每个上下行数据帧头中,都需要使用DevAddr字段来区分发送或接收数据的终端节点。
LoRaWAN网络中终端节点的DevAddr字段长度为32位,高7位为公用的NwkID(网络标识符),由LoRa联盟分配,以区分不同网络运营商的地域重叠网络并解决漫游问题。其中0000000用于专用网络,0000001用于实验网络。低25位NwkAddr(网络地址)由网络管理者自由分配。
在现有的LoRaWAN网络中,设备地址的分配方式是在入网时由网络服务器随机分配。网络服务器通过随机函数生成25位伪随机值,作为DevAddr字段的低25位NwkAddr,与固定的NwkID合并作为终端节点的DevAddr字段。
在终端节点数量较多时,网络中的设备地址很可能会产生冲突,造成设备识别错误和通信错误;且终端节点每次重新入网时,网络服务器都会为终端节点分配一个新的设备地址,导致通信数据不连续、应用服务中断。
为保证同一LoRaWAN网络中设备地址的唯一性,同时使终端节点每次重新入网时都分配到固定的设备地址,增强网络的稳定性和可靠性,本发明提出一种基于终端DevEUI(设备标识符)的LoRaWAN终端节点设备地址分配方法。
发明内容
针对网络中终端节点数量较多时,设备地址发生冲突、重新入网时设备地址改变的问题,本发明提出基于终端节点设备标识符的设备地址分配方法,对LoRaWAN协议中的设备识别与设备地址分配方式进行优化与改进,可以避免设备地址冲突,同时保证终端节点多次入网时都可以获得相同的设备地址。
本发明采用的技术方案为:一种LoRaWAN终端设备地址分配方法,使用Redis数据库存储已入网的终端节点的设备标识符和设备地址;网络服务器获取入网请求帧中终端节点的DevEUI字段,通过查询数据库判断终端节点是否为重新入网的设备,为重新入网的设备快速分配相同的DevAddr;若为新入网的设备,则使用终端节点的DevEUI作为随机种子,随机生成DevAddr;查询数据库判断生成的DevAddr是否发生冲突,使用多次随机计算避免冲突;具体包括以下实现过程:
首先,网络服务器获取申请入网的终端节点的DevEUI字段,通过查询Redis数据库,判断终端节点是否为重新入网的设备,并为重新入网的设备分配相同的DevAddr。具体包括以下步骤:
A1、网络服务器接收入网请求,获取终端节点的DevEUI;
A2、在数据库中查询是否有相同的DevEUI;
A3、若数据库中有相同的数据,网络服务器读取数据库中DevEUI对应的DevAddr作为当前终端节点的设备地址。
其次,对新入网的终端节点,根据DevEUI生成随机种子,使用随机运算得到DevAddr;通过查询Redis数据库,判断得到的DevAddr是否发生冲突;对发生冲突的DevAddr使用冲突回避策略;具体包括以下步骤:
B1、将DevEUI的高32位与低32位进行异或运算,得到32位的随机种子;
B2、根据步骤B1得到的随机种子,使用MT19937算法得到32位随机数;
B3、根据步骤B2的到的随机数,右移7位,作为DevAddr的低25位NwkAddr的值;NetID作为高7位,得到32位的DevAddr;
B4、对步骤B3得到的DevAddr,在Redis数据库中查找是否具有相同的值,若数据库中有相同的值,则进入返回步骤B3,继续进行随机运算,得到新的DevAddr,直至步骤B3得到的DevAddr与数据库中数据无冲突。
最后,对生成的DevAddr做持久化处理,储存在网络服务器的Redis数据库中,并封装进接受入网消息,发送给终端节点。具体步骤如下:
C1、将终端节点的DevEUI和可用的DevAddr存储到Redis数据库;步骤C1具体为:
C11、将终端节点的DevEUI和DevAddr按照字节顺序转换成字符串格式;
C12、将DevEUI字符串作为键,DevAddr字符串作为值,存入Redis数据库。
C2、将终端节点的DevAddr封装进接受入网帧,发送给终端节点。
本发明的有益效果:本发明的一种LoRaWAN终端设备地址分配方法,基于终端节点设备标识符的设备地址生成方式,能够显著降低网络服务器生成设备地址的冲突概率;通过对发生冲突的设备地址进行多次随机运算,能够避免网络中终端节点的设备地址发生冲突;对于重新入网的终端节点,网络服务器始终为其分配相同的设备地址。本发明的方法具备以下优点:
1、使用数据库存储已入网的终端节点的设备标识符和设备地址,可以在网络服务器端判断生成的设备地址是否发生冲突;同时使网络服务器可以判断终端节点的入网情况,使重新入网的终端节点可以快速获得固定的设备地址。
2、使用Redis数据库存储终端节点的信息,保证了终端节点数量很多时,可以快速查询数据库信息,同时最大限度降低了网络服务器的负载;
3、通过使用唯一的终端节点设备标识符生成随机种子,使用高性能的随机算法MT19937算法得到随机数,有效降低了网络服务器生成设备地址的冲突概率;
4、通过对发生冲突的设备地址进行多次随机运算,可以完全避免设备地址冲突。
附图说明
图1为本发明实施例提供的原理框图;
图2为本发明实施例提供的流程框图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
如图1所示,本发明涉及的一种LoRaWAN终端设备地址分配方法,包括以下内容:
O1、使用数据库存储已入网的终端节点的DevEUI和DevAddr;
O2、网络服务器获取入网请求帧中终端节点的DevEUI,通过查询数据库判断终端节点是否为重新入网的设备,为重新入网的设备分配与DevEUI对应的DevAddr;
O3、若为新入网的设备,则使用终端节点的DevEUI作为随机种子,随机生成终端节点的DevAddr,查询数据库判断生成的DevAddr是否发生冲突,使用多次随机计算避免冲突。
可选地,O2具体为:
A1、网络服务器接收入网请求,获取终端节点的DevEUI;
A2、在数据库中查询是否有相同的DevEUI;
A3、若数据库中有相同的数据,网络服务器读取数据库中DevEUI对应的DevAddr作为当前终端节点的设备地址。
可选地,O3具体为:
B1、将DevEUI的高32位与低32位进行异或运算,得到32位的随机种子;
B2、根据步骤B1得到的随机种子,使用MT19937算法得到32位随机数;
B3、根据步骤B2得到的随机数,右移7位,作为DevAddr的低25位NwkAddr的值;NetID作为高7位,得到32位的DevAddr;
B4、对步骤B3得到的DevAddr,在数据库中查找是否具有相同的值,若数据库中有相同的值,则返回步骤B3,继续进行随机运算,得到新的DevAddr,直至步骤B3得到的DevAddr与数据库中数据无冲突。
可选地,对生成的DevAddr做持久化处理,具体步骤如下:
C1、将终端节点的DevEUI和可用的DevEUI存储到网络服务器的数据库;
C2、将终端节点的DevAddr封装进接受入网帧,发送给终端节点。
可选地,步骤C1具体为:
C11、将终端节点的DevEUI和DevAddr按照字节顺序转换成字符串格式;
C12、将DevEUI字符串作为键,DevAddr字符串作为值,形成键值对存入数据库。
可选地,使用的数据库为Redis数据库,存储的数据为键值对,键为终端节点的DevEUI,值为终端节点的DevAddr。
如图2所示,本发明的具体实现流程为:
1、网络服务器接收入网请求消息,获取其中DevEUI字段的值。
2、将步骤1得到的DevEUI按照字节顺序转换为字符串类型,查询Redis数据库中是否有相同的键。如是则认为当前终端节点为重新入网的设备,执行步骤3,否则转步骤4。
3、获取Redis数据库中DevEUI键对应的DevAddr值,作为当前重新入网的终端节点的DevAddr,转到步骤9。
4、将步骤1得到的DevEUI的高32位与低32位进行异或运算,得到32位随机种子。
5、根据步骤4得到的随机种子,使用MT19937算法进行随机运算,得到一个32位随机数。
6、将步骤5中得到的随机数右移7位,保留高25位作为终端节点DevAddr低25位的NwkAddr的值;高7位设置为LoRa联盟分配的NetID,得到32位的DevAddr。
7、将步骤6得到的DevAddr按照字节顺序转换成字符串格式,查询Redis数据库,判断数据库中是否有相同的值;若是则认为生成的DevAddr与网络中已使用的DevAddr发生冲突,返回步骤5,以相同的随机种子进行随机运算得到新的DevAddr;否则执行步骤8。
8、将步骤2得到的字符串类型的DevEUI作为键,步骤7得到的字符串类型的DevAddr作为值,组成键值对,存入Reids数据库。
9、将步骤3或步骤6得到的DevAddr的值封装进接受入网帧的DevAddr字段,发送给终端节点。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (4)
1.一种LoRaWAN终端设备地址分配方法,其特征在于,包括以下内容:
O1、使用数据库存储已入网的终端节点的DevEUI和DevAddr;
O2、网络服务器获取入网请求帧中终端节点的DevEUI,通过查询数据库判断终端节点是否为重新入网的设备,为重新入网的设备分配与DevEUI对应的DevAddr;具体包括:
A1、网络服务器接收入网请求,获取终端节点的DevEUI;
A2、在数据库中查询是否有相同的DevEUI;
A3、若数据库中有相同的数据,网络服务器读取数据库中DevEUI对应的DevAddr作为当前终端节点的设备地址;
O3、若为新入网的设备,则使用终端节点的DevEUI作为随机种子,随机生成终端节点的DevAddr,查询数据库判断生成的DevAddr是否发生冲突,使用多次随机计算避免冲突,具体包括:
B1、将DevEUI的高32位与低32位进行异或运算,得到32位的随机种子;
B2、根据步骤B1得到的随机种子,使用MT19937算法得到32位随机数;
B3、根据步骤B2得到的随机数,右移7位,作为DevAddr的低25位NwkAddr的值;NetID作为高7位,得到32位的DevAddr;
B4、对步骤B3得到的DevAddr,在数据库中查找是否具有相同的值,若数据库中有相同的值,则返回步骤B3,继续进行随机运算,得到新的DevAddr,直至步骤B3得到的DevAddr与数据库中数据无冲突。
2.根据权利要求1所述的一种LoRaWAN终端设备地址分配方法,其特征在于,对生成的DevAddr做持久化处理,具体步骤如下:
C1、将终端节点的DevEUI和可用的DevAddr存储到网络服务器的数据库;
C2、将终端节点的DevAddr封装进接受入网帧,发送给终端节点。
3.根据权利要求2所述的一种LoRaWAN终端设备地址分配方法,其特征在于,步骤C1具体为:
C11、将终端节点的DevEUI和DevAddr按照字节顺序转换成字符串格式;
C12、将DevEUI字符串作为键,DevAddr字符串作为值,形成键值对存入数据库。
4.根据权利要求1所述的一种LoRaWAN终端设备地址分配方法,其特征在于,使用的数据库为Redis数据库,存储的数据为键值对,键为终端节点的设备标识符,值为终端节点的设备地址。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010362159.3A CN111711708B (zh) | 2020-04-30 | 2020-04-30 | 一种LoRaWAN终端设备地址分配方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010362159.3A CN111711708B (zh) | 2020-04-30 | 2020-04-30 | 一种LoRaWAN终端设备地址分配方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111711708A CN111711708A (zh) | 2020-09-25 |
| CN111711708B true CN111711708B (zh) | 2022-08-02 |
Family
ID=72536616
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010362159.3A Active CN111711708B (zh) | 2020-04-30 | 2020-04-30 | 一种LoRaWAN终端设备地址分配方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111711708B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113543132B (zh) * | 2021-07-15 | 2022-08-05 | 中国电信股份有限公司 | 节点设备的入网方法及装置、存储介质、电子设备 |
| CN113438659B (zh) * | 2021-08-26 | 2021-11-16 | 伏诺瓦(天津)科技有限公司 | 一种远距离lora快速组网电网状态采集器和组网方法 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101345669A (zh) * | 2007-07-09 | 2009-01-14 | 华为技术有限公司 | 一种uwb系统中解决设备地址冲突的实现方法及装置 |
| WO2019001713A1 (en) * | 2017-06-29 | 2019-01-03 | Telefonaktiebolaget Lm Ericsson (Publ) | METHOD FOR AUTHENTICATING A LONG RANGE RADIO DEVICE |
| CN109194774A (zh) * | 2018-08-09 | 2019-01-11 | 中兴克拉科技(苏州)有限公司 | 一种lpwan网络服务器的设备地址扩展方法 |
| CN109348479A (zh) * | 2018-11-21 | 2019-02-15 | 长沙理工大学 | 电力集抄系统的数据通信方法、装置、设备及系统 |
| CN109412937A (zh) * | 2018-11-07 | 2019-03-01 | 京信通信系统(中国)有限公司 | 网关、LoRa网络系统、网关运行方法及存储介质 |
| WO2019136110A1 (en) * | 2018-01-05 | 2019-07-11 | Careband Incorporated | Wearable electronic device and system for tracking location and identifying changes in salient indicators of patient health |
| CN110278617A (zh) * | 2019-06-21 | 2019-09-24 | 浙江理工大学 | 一种基于时分多址的LoRaWAN信道冲突规避方法 |
| CN110519830A (zh) * | 2019-09-06 | 2019-11-29 | 中国机械设备工程股份有限公司 | 能识别终端设备重号的LoRaWAN系统及其终端设备 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180248983A1 (en) * | 2016-12-21 | 2018-08-30 | Ncore Communications, Inc. | Methods and apparatus for aggregating network access within a single unified platform for a myriad of devices |
| FR3061618B1 (fr) * | 2016-12-30 | 2019-05-24 | Idemia France | Procedes mis en œuvre par un dispositif et dans un reseau, entite electronique associee |
| DE102017204181A1 (de) * | 2017-03-14 | 2018-09-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Sender zum Emittieren von Signalen und Empfänger zum Empfangen von Signalen |
-
2020
- 2020-04-30 CN CN202010362159.3A patent/CN111711708B/zh active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101345669A (zh) * | 2007-07-09 | 2009-01-14 | 华为技术有限公司 | 一种uwb系统中解决设备地址冲突的实现方法及装置 |
| WO2019001713A1 (en) * | 2017-06-29 | 2019-01-03 | Telefonaktiebolaget Lm Ericsson (Publ) | METHOD FOR AUTHENTICATING A LONG RANGE RADIO DEVICE |
| WO2019136110A1 (en) * | 2018-01-05 | 2019-07-11 | Careband Incorporated | Wearable electronic device and system for tracking location and identifying changes in salient indicators of patient health |
| CN109194774A (zh) * | 2018-08-09 | 2019-01-11 | 中兴克拉科技(苏州)有限公司 | 一种lpwan网络服务器的设备地址扩展方法 |
| CN109412937A (zh) * | 2018-11-07 | 2019-03-01 | 京信通信系统(中国)有限公司 | 网关、LoRa网络系统、网关运行方法及存储介质 |
| CN109348479A (zh) * | 2018-11-21 | 2019-02-15 | 长沙理工大学 | 电力集抄系统的数据通信方法、装置、设备及系统 |
| CN110278617A (zh) * | 2019-06-21 | 2019-09-24 | 浙江理工大学 | 一种基于时分多址的LoRaWAN信道冲突规避方法 |
| CN110519830A (zh) * | 2019-09-06 | 2019-11-29 | 中国机械设备工程股份有限公司 | 能识别终端设备重号的LoRaWAN系统及其终端设备 |
Non-Patent Citations (7)
| Title |
|---|
| "Catalogue of Naming, Addressing and Discovery Schemes in IERC";M. Bauer, P. Chartier, K. Moessner, et al.;《IERC-AC2-D1》;20131231;全文 * |
| "Named data networking(NDN) projec";Lixia Zhang, Deborah Estrin, Jeffrey Burke, et al;<ARC Technical Report NDN-001>;20101031;全文 * |
| ""LoRaWAN 规范1.0 (第六章部分)"";qingchuwudi;《博客园https://www.cnblogs.com/qingchuwudi/p/12077733.html》;20191221;全文 * |
| "DevEUI, AppEUI (JoinEUI) and AppKey";Zach Pfeffer;《https://www.centennialsoftwaresolutions.com/post/deveui-appeui-joineui-and-appkey》;20181211;全文 * |
| "LoRaWAN协议(四)--入网方式概述";AnswerInTheWind;《博客园 https://www.cnblogs.com/answerinthewind/p/6213027.html》;20161222;全文 * |
| "LoRaWAN协议分析及安全性研究现状";李彤;《单片机与嵌入式系统应用》;20181101;第21-25页 * |
| "基于LoRa的多油气井监控系统";岳林,梅大成,陈亚萍;《电脑知识与技术》;20200229;第264-266页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111711708A (zh) | 2020-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7124102B2 (en) | Method and apparatus for determining a unique communication identifier | |
| CN101841573B (zh) | 互联网地址信息处理方法、装置以及互联网系统 | |
| US6532217B1 (en) | System for automatically determining a network address | |
| CN111866201B (zh) | IPv6组播地址的生成方法和装置 | |
| CN113315814B (zh) | 一种IPv6网络边界设备快速发现方法及系统 | |
| CN102067568A (zh) | 在电力线通信网络中分配mac地址的方法和设备 | |
| CN114422474B (zh) | 基于RADIUS服务器的用户IPv6地址生成方法 | |
| CN111711708B (zh) | 一种LoRaWAN终端设备地址分配方法 | |
| US8605736B2 (en) | Method, system and apparatus for heterogeneous addressing mapping | |
| US20090024761A1 (en) | Method, system and application for service addressing | |
| US9819641B2 (en) | Method of and a processing device handling a protocol address in a network | |
| CN102299974B (zh) | 一种实现IPv6前缀分配的方法和装置 | |
| CN101808145B (zh) | Ip地址的分配方法和系统 | |
| US7948916B2 (en) | Method and apparatus for discovering topology information in a network | |
| CN106850541B (zh) | 一种物联网中节点的地址确定方法和装置 | |
| Fernandes et al. | An efficient filter-based addressing protocol for autoconfiguration of mobile ad hoc networks | |
| US20230315759A1 (en) | A method of operating a storage device of an access point, a method of locating a device context of an end node device stored in a storage device of an access point, and an access point | |
| CN117675095A (zh) | 通信方法和系统、电子设备、计算机可读介质 | |
| GB2415855A (en) | Variable network address lengths | |
| CN108989173B (zh) | 一种报文传输的方法及装置 | |
| CN117978782A (zh) | 一种基于5g核心网本地配置的用户地址池资源管理方法 | |
| CN101414892A (zh) | 链路层地址冲突检测的方法、系统和节点设备 | |
| CN113395615A (zh) | 一种消息处理方法、装置、电子设备和可读存储介质 | |
| CN115086274B (zh) | 一种网络流量分配方法、装置、设备和存储介质 | |
| CN112104764B (zh) | 一种dhcp客户端分类的方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |