LoRaWAN Backend Interface 后端协议解析 第13章 DevAddr 分配

2020-04-17 18:12:43 浏览数 (1)

前言

DevAddr 标识入网设备地址,v1.1 的核心规范开始关注网络漫游,联盟将DevAddr管控起来,高级别成员享受到较多的设备地址数量。

《LoRaWAN-Backend-Interfaces-v1.0》,即LoRaWAN后端接口协议规范 V1.0 版本( 2017 年 10 月 11 日定稿)。我正在陆续对协议的各个章节解析,详细点此查看。

本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/

1 NetID 与 DevAddr前缀的关系

联盟分配24bit_NetID

TYPE ID

DevAddr前缀

2 NetID 介绍

联盟给不同级别的LoRa联盟成员分配不同的ID。

24bit NetID 格式如下:

3 bits

21-N bits

N bits

Type

RFU

ID

这里的 Type 及 N 的定义在这里:

3 DevAddr 介绍

DevAddr 格式如下:

L bits

M bits

N bits

Type Prefix

NwkID

NwkAddr

详细的位数定义如下:

举几个示例

例如某 Sponsor 成员分配的ID是3,那么 NetID 是 0x000003,它的 DevAddr 是 0x06000000 ~ 0x07ffffff。

实验/私有网络比较特殊,它的NetID是 0x000000 ~ 0x000001,它的 DevAddr 是 0x00000000 ~ 0x03ffffff

再比如腾讯,在使用腾讯云 IoT Explorer平台时,发现设备分配的 DevAddr 是 0x6a 打头。那么就可以推断,腾讯使用 Type0 ID为 53 的 NetID = 0x000035,它的 DevAddr 范围是 0x6a000000 ~ 0x6bffffff。

阿里云LinkWAN分配的 DevAddr 是 0x67~0x68 打头,那么可以推断阿里使用 Type0 ID为 51 的 NetID = 0x000033。

号段整理

小能手整理了一个表格,直观看下各个成员对应的号段。

成员级别

DevAddr 地址范围

拥有的设备地址数量

实验/私有网络

0x00000000~0x03ffffff

全体共享 ‭‭67,108,864‬

Type0 Sponsor

0x04000000~0x7fffffff

单独拥有 33,554,432

Type1

0x80000000~0xbfffffff

单独拥有 16,777,216

Type2

0xc0000000~0xdfffffff

单独拥有 1,048,576

Type3 Contribute

0xe0000000~0xefffffff

单独拥有 262,144

Type4

0xf0000000~0xfbffffff

单独拥有 65,536

Type5

0xf0000000~0xfbffffff

单独拥有 8,192

Type6 Institutional

0xfc000000~0xfdffffff

单独拥有 1,024

Type7

0xfe000000~0xfeffffff

单独拥有 128

所以我们可以从设备地址上看出来目前设备是属于哪个级别成员的网络。

  • 00~03打头的是实验和私有网络
  • 04到7f打头的是联盟Sponsor的网络
  • e打头的是联盟贡献者的网络

4 小结

32bit的DevAddr标识入网设备的地址,早期 v1.0.x 的核心规范中,其规定比较粗犷,不同网络运营商瓜分7bit的前缀,后25位由运营商自己分配给设备,这样每个运营商拥有2^25个设备地址数量。

但从 v1.1.0 的核心规范开始注意网络漫游,将 DevAddr 管控起来,前缀不再使用高7bit,变得更加灵活,高级别成员才能享受到较多的设备地址数量。

End

0 人点赞