[go: up one dir, main page]

CN111711708B - 一种LoRaWAN终端设备地址分配方法 - Google Patents

一种LoRaWAN终端设备地址分配方法 Download PDF

Info

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
Application number
CN202010362159.3A
Other languages
English (en)
Other versions
CN111711708A (zh
Inventor
杨鲲
梁萧
范新宇
刘强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huijianlian Information Technology Co ltd
Original Assignee
Chengdu Huijianlian Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Huijianlian Information Technology Co ltd filed Critical Chengdu Huijianlian Information Technology Co ltd
Priority to CN202010362159.3A priority Critical patent/CN111711708B/zh
Publication of CN111711708A publication Critical patent/CN111711708A/zh
Application granted granted Critical
Publication of CN111711708B publication Critical patent/CN111711708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving 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终端设备地址分配方法
技术领域
本发明属于低功耗广域网通信技术领域,特别涉及一种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数据库,存储的数据为键值对,键为终端节点的设备标识符,值为终端节点的设备地址。
CN202010362159.3A 2020-04-30 2020-04-30 一种LoRaWAN终端设备地址分配方法 Active CN111711708B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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