前言
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,变得更加灵活,高级别成员才能享受到较多的设备地址数量。