分享
分销 收藏 举报 申诉 / 23
播放页_导航下方通栏广告

类型LORAWAN中文.docx

  • 上传人:可****
  • 文档编号:4333848
  • 上传时间:2024-09-06
  • 格式:DOCX
  • 页数:23
  • 大小:500.59KB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    LORAWAN 中文
    资源描述:
    2 Introduction on LoRaWAN options 2.1 LoRaWAN Classes · 终端双向通讯(A类) · 低功耗,先发送后接收,发送和接收交替进行。终端只有再发送数据后才能接收处理服务器发送来的数据,发送数据不受接收数据的限制。收发比=1:1 · 具有接收时隙的终端双向通讯(B类) · 同样是先发送后接收,不同的是每次发送后按照一定时间间隔启动接收窗口,接收多条数据。时间间隔从网关获取,以便服务器知晓终端接收消息的时刻。收发比=1:N · 最大接收时隙的终端双向通讯(C类) · 打开接收窗口的时间间隔很小,几乎不间断的接收消息。比A和B更耗能,但和服务器交互的延迟低。 2.2 规范 · 高级类的附加功能向下兼容低级类。所有LoRaWAN终端必须实现A类的功能。 · 注意:本规范手册中:物理消息格式、MAC消息格式以及A类和其它高级类都具备的东西,只在本手册的A类部分介绍。 3 Physical Message Formats · LoRa中区分上行和下行的术语。 3.1 上行链路消息 · 上行链路消息由终端发送经过一个或多个网关中转到达网络服务器。 · 它使用的LoRa无线分组显性模式由物理头(PHDR)和它的CRC(PHDR_CRC)校验组成。负载的一致性(发送和接收的数据完全一致,不仅仅是完整)由CRC保证。 Uplink PHY: 3.2 下行链路消息 · 下行链路消息由网络服务器发送给终端设备,每条消息对应的终端设备是唯一确定的,而且只通过一个网关中转。 · 下行链路消息由物理头(PHDR)和这个头的CRC(PHDR_CRC)组成。 下行链路消息: 3.3 接收窗口 设备终端每次发送数据(上行传输)后打开两个短接收窗口(short receive windows)。接收窗口的启动时间是配置好的时间周期,该时间在最近一条上行传输比特数据的结尾。 4 MAC Message Formats LoRa所有的上下行链路消息都会包含PHY负载,该负载以单字节MAC头为开始,MAC头后面是MAC负载,结尾是4字节的消息一致码(MIC)。 4.1 MAC Layer (PHYPayload) MACPayload字段长度M的最大值见第六章。 4.2 MAC Header (MHDR field) MAC 头中包含消息类型(MType)和帧编码所遵循的LoRaWAN规范的主版本号(Major)。RFU是保留位。 Message type (MType bit field) LoRaWAN自定义了六个独特的MAC消息类型:join request, join accept, unconfirmed data up/down, 以及 confirmed data up/down MType Description 备注 000 Join Request 001 Join Accept 010 Unconfirmed Data Up 接受者不必回应 011 Unconfirmed Data Down 接受者不必回应 100 Confirmed Data Up 接受者必须回应 101 Confirmed Data Down 接受者必须回应 110 RFU 保留 111 Proprietary 用来实现自定义格式的消息,交互的设备之间必须有相同的处理逻辑,不能和标准消息互通 .1 Join-request and join-accept messages 已经添加上表的到备注 .2 Data messages 消息数据既能传输MAC命令又能传输应用数据,甚至可以一起发送。不同消息类型用不同的方法保证一致性,下面会介绍这一点。 Major version of data message (Major bit field) Major bits Description 00 LoRaWAN R1 01..11 RFU(保留) · 注意:主版本号指明激活过程中(in the join procedure)使用的消息格式(章节6.2)和MAC Payload前4字节(第4章)。终端要为每个不同的主版本号实现不同子版本的消息格式。终端使用的主版本号应当提前发送给网络服务器,可以作为其它消息的一部分捎带发送,如,设备个性化信息。 4.3 MAC Payload of Data Messages (MACPayload) MAC 荷载,也就是所谓的“数据帧”,包含:帧头(FHDR)、可配置的端口字段(FPort)以及可配置的帧负载字段(FRMPayload) Frame header (FHDR) FHDR由:终端短址(DevAddr)、一个帧控制字节(FCtrl)、2字节的帧计数器(即帧大小,FCnt) 和 最多15个字节的配置(FOpts,用来传输MAC命令)组成。 .1 帧头中的自适应数据速率控制 (ADR, ADRACKReq in FCtrl) LoRa网络对终端的数据速率没有任何限制。LoRaWAN协议通过该特性调整优化静态终端(相对移动终端来讲)的数据速率,即自适应数据速率(Adaptive Data Rate (ADR))。ADR可用时,网络会为其优化来使用尽可能快的数据速率。  移动终端在移动过程中会快速切换无线广播环境,该过程中进行数据速率管理没什么实际意义,此时移动终端应使用已经修正过的默认数据速率。  设置ADR之后,网络通过MAC命令控制终端的数据速率。如果没有设置ADR,网络会无视收到的信号的质量,不对终端的数据速率做任何调整。终端或网络用不用ADR要根据需求决定。不过,只要条件允许就应该开启ADR,这样可以延长终端的电池寿命并充分利用网络带宽。 注意: 哪怕移动终端在大多数时间下都是不移动的。因此终端可以根据它自己移动状态请求网络通过ADR进行数据速率优化。 如果终端的数据速率经过服务器优化比默认值大,那节点就要定期检查保证服务器能够收到上传的数据。 终端上行的帧号每增加一次(重复发送不增加帧号)的同时,ADR_ACK_CNT + 1。  ADR_ACK_DELAY (这么长)时间之内收到下行消息:ADR_ACK_CNT=0(重置)。否则ADR_ACK_CNT 继续根据前面规则处理 。ADR_ACK_CNT>=ADR_ACK_LIMIT(一共用时:ADR_ACK_LIMIT + ADR_ACK_DELAY)就切换到更低的数据速率上(无线广播范围的距离更长)重复上述过程,每次终端设备达到 ADR_ACK_LIMIT 就会再次降低自己的数据速率。如果设备使用默认的数据速率就不需要设置 ADRACKReq ,这种情况下任何操作都不会改善连接范围(增加连接距离)。在此期间的下行数据不需设置ACK位,因为终端在等待接收期间收到任何应答都表示网关还能接收来自该设备的上行数据。 · 注意:为了让网络对下行链路给出最佳的调度方案,不要要求对 ADR 请求立刻做出应答,要给网络留足时间。 · 注意:上行传输时,如果 ADR_ACK_CNT >= ADR_ACK_LIMIT 并且当前数据速率比设备的最小数据速率高,就要设置 ADRACKReq,其它情况下不需要。 .2 消息确认位和确认流程 (ACK in FCtrl) 收到confirmed类型的消息时,接收者要回复一条确认消息(ACK,通过设置确认位实现)。如果发送者是终端,网络就把消息发送到该终端打开的接收窗口。如果发送者是网关,终端就自行决定发送确认消息的传输方式。  确认消息只会在收到消息以后作为响应发送,并且不重发。 · 注意:为了尽量简化终端处理、减少状态,一旦收到需要确认的消息要立刻发送确认消息,确认消息要简单直接(最好发空消息)。 .3 重传机制(Retransmission procedure) · 如果终端设备发送一条需要确认的消息后没有收到响应,终端就会重新发送这条消息。不同设备间的消息重传的次数和每次的时间可能不同,当然这些也可以通过网络服务器调节。  · 注意:18章给出了一些确认机制的时间 · 注意:如果设备重传次数到限制后还没收到确认消息,就会降低自身的数据传输速率来增加连接距离再次尝试连接。这种条消息的重传或者放弃是由终端决定的。 · 注意:如果网络服务器重传次数达到限制后还没有收到确消息,在没有收到设备的消息之前会认为无法与终端建立连接(终端不可达)。这种消息的重传或者放弃是由服务器决定的。 · .4 帧挂起位 (FPending in FCtrl, downlink only) · 帧挂起位(FPending)只在下行交互中使用,表示网关还有数据挂起等待发送。此时需要终端尽快发送上行消息来再打开一个接收窗口。 FPending的详细用法在 18.3。 .5 计数器 (FCnt) · 每个终端有两个计数器:上行链路计数器(FCntUp),由终端产生并维护,记录发往服务器的帧数量;下行链路计数器(FCntDown),由服务器产生并维护,记录服务器发往终端的帧数量(此处与我们当前的设备服务器与设备的交互中的message id作用相同,都是为了保证消息收发一致)。终端加入服务器成功以后,终端和服务端的帧号同时置0。之后每次其中一方发送消息后,与之对应的 FCntUp 或 FCntDown 就会加1。接收方会同步保存接收数据的的帧号,对比收到的增加过的值和当前保存的值,如果两者之差小于 MAX_FCNT_GAP (要考虑号码归零,即号码达到最大值后重新从0开始),接收方就与收到的数据保持同步(更新成收到的值)。如果两者之差大于 MAX_FCNY_GAP 就说明中间丢失了很多数据然后就会丢掉这条数据。 PS4翻译更正如下: · LoRaWAN的帧计数器有16位和32位两种长度,两者有所不同: 16bits时,其值可以直接作为FCnt使用(反之亦然),此时有需要的话通过在前面填充0(值为0)字节(来补足);32bits时,FCnt对应计数器的16个最低有效位(2个低字节)。上行数据使用上行FCnt,下行数据使用下行FCnt。 一个节点在上行FCnt的一次循环内,如果不是消息重传,上行传输数据使用的FCnt不能重复。  · PS:注释掉原文的直译,原文说法有问题。 · FCnt的一次循环指的是:从1到达最大值,0x1 ~ 0xFFFF(因为LoRaWAN中的FCnt字段是2个字节)。 · 原文档中所谓的“相同的的应用会话密钥和网络会话密钥”就是没有重新入网,重新入网FCnt重新计算,是FCnt循环计数的一种特殊情况。 当计数器使用32位时,FCnt字段只发送32bits中的16个最低有效位。此时服务器需要通过观察传输的数据来自己维护16个最高有效位。 .6 帧配置 (FOptsLen in FCtrl, FOpts) · 帧配置长度(FOptsLen)位于帧的 FCtrl 部分,表示FOpts的总长度。FOpts搭载到数据帧中发送的MAC命令最长15字节,详细的MAC命令见4.4。 如果帧配置长度 FOptsLen=0,FOpts为空; 如果FOpts不为空(里面是MACommand)  ,端口号要么省略,要么是一个非零值(具体看下面)。 · MAC命令不能同时出现在payload(负载)和帧配置项中。 端口字段 Port field(FPort) · 负载(payload)不为空的时候端口号(port)也不能是空。此时port=0表示FRMPayload中只有MAC命令(详情见章节4.4)。FPort值的可用范围是:1~223(0x01~0xDF),224~255 (0xE0~0xFF)为保留值,方便以后扩展。 · N是应用负载的字节数,N的取值范围见第7节 N ≤ M - 1 - (FHDR的字节长度) · 其中M是MAC的最大有效荷载长度。 MAC 帧负载据加密(FRMPayload) · 如果帧数据中包含payload,要先对FRMPayload进行加密,再计算消息的一致码(MIC)。 · 加密方案使用基于IEEE 802.15.4/2006 Annex B [IEEE802154] 的AES加密,秘钥长度128位。默认情况下,所有FPort 的加/解密都在LoRaWAN层完成;如果FPorts不为0,加/解密可以在LoRaWAN层之上完成。 .1 LoRaWAN 加密 · 加密秘钥K取决于消息的FPort: FPort K 备注 0 NwkSKey 网络密钥 1..255 AppSKey 应用密钥 表3,FPort列表 · 加密字段: pld = FRMPayload · 采用分组加密,算法位每条消息数据定义一个块的序列,序列分为 k 块,k=ceil(len(pld)/16) (向上取整),每组用Ai表示,i=1…k,每块结构如下: 字节数 1 4 1 4 4 1 1 Ai 0x01 4 × 0x00 Dir DevAddr FCntUp或FCntDown 0x00 i · Dir字段:上行帧为0,下行帧为1。对Ai加密,得到Si: · 通过分割对payload进行加解密: .2 Encryption above the LoRaWAN layer · 对于选定的端口(FPort不能是0,因为0表示MAC 命令),如果LoRaWAN前面的一些层给LoRaWAN的FRMPayload是加密过的,LoRaWAN就把FRMPayload从MACPayload转发给应用,并且转发过程中不做任何改动。 4.4 Message Integrity Code (MIC) 对整个消息进行MIC计算(AES签名算法CMAC),需要加密的消息包括以下字段: msg = MHDR | FHDR | FPort | FRMPayload len(msg) 表示消息的字节长度。MIC算法参考RFC4493: · B0 定义如下: 字节数 1 4 1 4 4 1 1 B0 0x49 4 × 0x00 Dir DevAddr FCntUp 或 FCntDown 0x00 len(mgs) Dir字段:上行帧为0,下行帧为1 5 MAC Commands 网络管理时会在网络服务器和终端MAC层之间传输一系列MAC命令。 一帧数据中可以包含任何MAC命令,MAC命令既可以放在FOpts中,也可以放在FRMPayload中,但不能同时在两个字段携带MAC命令。MAC命令放在FRMPayload时,FPort = 0。 放在FOpts的命令不加密(原因:加密Payload,对整个数据签名),也不能超过15个字节(2^4 - 1)。  放在FRMPayload的MAC命令长度不能超过FRMPayload的最大值。 · 注意:不想被别人截获的命令要放到FRMPayload,并单独发送该数据帧 · 一条mac命令由一个命令ID(CID,一个字节),和特定的命令序列组成,命令序列可以是空。 命令ID 命令 终端发送 网关发送 简介 0x02 LinkCheckReq × 用于终端验证网络连接 0x02 LinkCheckAns × 回应验证请求, 同时包含终端接收质量相关的估算的信号功率 0x03 LinkADRReq × 请求终端改变数据率、传输功率、接收率或者信道 0x03 LinkADRAns × LinkRateReq的应答 0x04 DutyCycleReq × 设置设备的最大总发射占空比 0x04 DutyCycleAns × DutyCycleReq的应答 0x05 RXParamSetupReq × 设置接收时隙相关参数 0x05 RXParamSetupAns × RXSetupReq的应答 0x06 DevStatusReq × 请求终端状态 0x06 DevStatusAns × 返回终端装填,即电量和解调情况 0x07 NewChannelReq × 创建或修改无线电信道 0x07 NewChannelAns × NewChannelReq的应答 0x08 RXTimingSetupReq × 设置接收时隙的时间 0x08 RXTimingSetupAns × RXTimingSetupReq的应答 0x80 0xFF Proprietary × × 保留命令 · 注:MAC 命令长度没有明确给出来,这就需要MAC执行端通过某种方式隐性 获得。因为无法忽略不明的MAC命令,而且一旦遇到不明的MAC命令,就会导致处理MAC命令队列的进程终止。因此,建议参考使用LoRaWAN规范中的MAC命令。这样的话,所有当前版本LoRaWAN规范中实现的MAC命令都可以被更高版本的规范兼容处理。 5.1 链路检查LinkCheckReq和LinkCheckAns 终端使用LinkCheckReq命令对链路进行有效性检查,该命令不含payload。网络服务器收到网关(一个或多个)转发过来的LinkCheckReq数据后回复一条 LinkCheckAns命令。 大小(字节) 1 1 LinkCheckAns Payload Margin GwCnt Margin(解调幅度)是最近一条被成功收到的 LinkCheckReq 命令的链路预算(单位dB),是一个8位(bits)无符号整型,范围 [0,254]。值为 0 表示在解调(信号强度)的下限上收到了数据,值20表示网关在比解调下限高出 20 dB 的信号强度上收到了数据。255是保留值。 GwCnt是最近一次成功收到LinkCheckReq的网关的数量。 link margin参考:Link margin 5.2 速率自适应LinkADRReq和LinkADRAns 服务器通过发送 LinkADRReq 命令让终端设备进行速率自适应。 大小(字节) 1 2 1 LinkADRReq Payload DataRate_TXPower ChMask Redundancy 大小(位 bits) [7:4] [3:0] DataRate_TXPower DataRate TXPower 数据速率(DataRate)和 TX输出功率(TXPower),两者和地理区域相关,编码参考第7章。 信道掩码(ChMask)通过对相应的最低有效位填0来对上行信道进行编码,信道列表如下: 表5:信道状态表 第几位 可用信道 0 Channel 1 1 Channel 2 .. .. 15 Channel 16 ChMask中某位是1,表示该位对应的上行信道可用;如果是0,则表示对应的上行信道不可用。终端设备当前使用的信道要设为1(不知道是我不会断句,还是官方文档这里说的不明白)。 第几位 7 [6:4] [3:0] Redundancy bits 保留 ChMaskCntl NbRep 冗余(Redundancy)位中,NbRep表示每条上行消息被重复收到的次数,仅用于 unconfirmed 类型的上行消息。默认值为 1 ,有效范围 [1:15]。如果终端设备收到NbRep == 0,则使用默认值。服务器使用该字段控制节点上行数据冗余,以得到给定的服务质量。终端在重传时的调频照常执行,每次重发以后等待接收数据,直到接收窗口过期。 信道掩码控制(ChMaskCntl)字段控制上面ChMask的位掩码的解释。当网络上信道的实现超过16个,该字段必须是一个非0值。用它来控制ChMask使用哪16个信道,还可以用它来全局性的打开或关闭所欲使用指定调制方式的信道。该字段的具体使用和地域相关,具体见第7章。 信道频率也和地域有关,具体定义见第6章。 终端收到LinkADRReq后回复LinkADRAns命令。 大小(字节) 1 LinkADRAns Payload Status 大小(位) [7:3] 2 1 0 Status bits RFU Power ACK Data rate ACK Channel mask ACK LinkADRAns Status释义如下: 表6:LinkADRAns状态位定义 字段 (字段值=)0 (字段值=)1 * Channel mask ACK * 要使用的信道未定义。忽略该命令,终端状态不改变 设置成功 * Data rate ACK * 终端未定义或者不支持该速率(可用信道不支持该速率)。命令被忽略,终端状态不改变 设置成功 * Power ACK * 终端未定义该功率等级。命令被忽略,终端状态不改变 设置成功 以上三个字段任意一个是0,命令就会执行失败,而节点也保持之前的状态不变。 5.3 终端的发射占空比(DutyCycleReq 和 DutyCycleAns) DutyCycleReq,网络协调员使用该命令来限制终端设备的总发射占空比的最大值。总发射占空比指所有子频带的发射占空比。 大小(字节) 1 DutyCycleReq Payload MaxDCycle 终端允许的发射占空比的最大值: 总发射占空比=12MaxDCycle MaxDutyCycle有效范围[0:15]。在没有区域调节设置占空比限制的情况下,使用0表示“占空比没有限制”。值为255时要求终端设备立刻转为静默状态,等价于远程关闭终端。 终端收到DutyCycleReq后回复DutyCycleAns, DutyCycleAns不包含任何payload。 5.4 接收窗口相关参数 (RXParamSetupReq,RXParamSetupAns) 对于每一次的上发,通过下发RXParamSetupReq命令,可以修改第二个接收窗口(RX2)使用的频率和数据率。还可以使下行RX1数据率相对上行数据率偏移。 大小(字节) 1 3 RX2SetupReq Payload DLsettings Frequency 第几位 7 6:4 3:0 DLsettings RFU RX1DRoffset RX2DataRate RX1DRoffset用来设置终端设备上行和下行第一个接收窗口(RX1)数据速率之间的偏移,默认值是0。设置偏移是因为基站所在区域的功率密度可能会有上限,还可以用来平衡上行和下行的无线链路预算。 RX2DataRate定义第二个接收窗口使用的数据速率,用法和 LinkADRReq一样(例如,0表示DR0/125kHz)。Frequency是第二个接收窗口使用的信道频率,其频率编码规则的定义见NewChannelReq命令。 终端设备回复RXParamSetupAns,其payload只有一个字节: 大小(字节) 1 RX2SetupAns Payload Status Status位结构如下: 第几位 7:3 2 1 0 Status bits RFU RX1DRoffset ACK RX2 Data rate ACK Channel ACK 表 7: RX2SetupAns 的 status bits 含义 字段 (值=)0 (值=)1 Channel ACK (对于终端)频率不可用 RX2信道设置成功 RX2 Data rate ACK (对于终端)未知的数据速率 RX2数据速率设置成功 RX1DRoffset ACK RX1上行/下行数据速率的偏移不在可用范围 设置成功 其中的任何一个是0,命令都会执行失败并保持之前的状态。 5.5 终端状态(DevStatusReq, DevStatusAns) 服务器通过发送 DevStatusReq 获取一个终端设备的状态,该命令没有载荷。终端收到DevStatusReq之后回复DevStatusAns。 大小(字节) 1 1 DevStatusAns payload Battery Margin 电池电量(Battery)上报的数据编码如下: 电量 说明 0 终端在使用外接电源 1..254 电池电量,1是最小值,254是最大值 255 终端设备无法获取电池电量 表8:电池电量编码 余量(Margin)是最近一次接收成功 DevStatusReq命令的解调信噪比,其值(四舍五入)取整,单位dB。余量值是一个有符号整型,长度6个比特位,最小值 -32,最大值31。 占位(bits) 7:6 5:0 Status RFU Margin 5.6 创建或修改信道(NewChannelReq, NewChannelAns) NewChannelReq命令要么用来修改已有信道的参数,要么创建一个新的信道。该命令设置新信道的中心频率以及该信道的数据速率范围。 大小(字节) 1 3 1 NewChannelReq payload ChIndex Freq DrRange 信道索引(ChIndex)是新信道或者待修改信道的索引值。LoRaWAN规范中已经为不同的地域和频宽内置了默认信道,这些信道存在所有的设备上,而且不能通过NewChannelReq(见第6章)进行修改。如果默认的信道数量是N,那默认的信道就是0 ~ N-1,而ChIndex可用范围就是N ~ 15。终端设备至少要能处理 16 个不同的信道。在某些特定的区域终端允许存储超过16个信道。 频率(Freq)是一个 24bits 无符号整型,实际信道频率是 100 ×FreqHz(笔记:按这个说法,433.1MHz 服务器发送的数据是4331000),其中100MHz以下的值留待未来使用。通过这种方法可以以 100 Hz为步长,设置使用 100MHz~1.67GHz 之间任意的信道频率。Freq== 0表示不使用该信道。终端设备必须对频率进行检查,保证它的射频硬件支持要使用的频率,并返回一个是否错误的信息。 数据速率范围(DrRange),该字段指明此信道的数据速率范围。该字由两个4位长的索引组成: 大小(bits) 7:4 3:0 DrRange MaxDR MinDR 根据章节5.2的定义,最小数据速率(MinDR)字段指定此信道最低数据速率,例如:0 表示指定 DR0/125 kHz。与之类似,最大数据速率指定最高数据速率,例如:DrRange = 0x77表示信道只能使用 50kbps GFSK,DrRange = 0x50表示数据速率范围是DR0 / 125 kHz 到 DR5 / 125 kHz。 启用新定义的信道,并可以马上用它进行通信。 终端回复NewChannelAns命令,其payload如下: 大小(字节) 1 NewChannelAns Payload Status 状态(Status)每位的含义如下: 大小(bits) 7:2 1 0 Status RFU Data rate range ok Channel frequency ok 字段 (字段值=)0 (字段值=)1 Data rate range ok 数据速率范围超出终端当前所允许的范围 终端兼容该数据速率范围 Channel frequency ok 终端无法使用该频率 可以使用 两者之中有一个是0,就表示命令执行失败,不会创建信道。 5.7 Rx和Tx之间的延迟(RXTimingSetupReq,RXTimingSetupAns) RXTimingSetupReq用来配置上行TX结束到打开第一个接收窗口的延迟。第二个接收窗口比第一个晚1秒打开(根据当前规范这里时间差不能改动)。 大小(字节) 1 RXTimingSetupReq Payload Settings 延迟(Delay)字段指定延迟,由两个4位的索引组成: 大小(bits) 7:4 3:0 Settings RFU Del 延迟单位是秒(s),0对应1秒: Del 延迟(秒) 0 1 1 1 2 2 3 3 … … 15 15 终端设备回复RXTimingSetupAns,不携带payload(负载数据)。 6 终端激活(End-Device Activation) 所有终端设备在正式加入LoRaWAN网络之前必须先进行初始化并激活。有两种激活方式:无线激活(Over-The-Air Activation (OTAA)),设备部署和重置时使用;手动激活(Activation By Personalization (ABP)),此时初始化和激活一步完成。 6.1 激活成功后存储在终端设备的数据 以下信息在激活成功后回存储在终端设备:设备地址(DevAddr)、应用ID(AppEUI)、网络会话密钥(NwkSKey)和应用会话密钥(AppKey)。 终端设备地址(DevAddr) DevAddr是终端在当前网络中的识别码,大小32bits。结构如下: Bit [31..25] [24..0] DevAddr bits NwkID NwkAddr 最高7位是网络ID(NwkID),用以区分有地域重叠的不同网络运营商和弥补有路由问题的网络。接下来的25bits,终端设备网络地址(NwkAddr),该地址可以有由网络管理员分配。 应用唯一识别ID(AppEUI) AppEUI是 IEEE EUI64 的全球唯一应用ID,用以识别终端设备的应用服务提供商(等等)。AppEUI在进行激活操作之前就存储在终端设备中了。就是说AppEUI是出厂时烧录进去的。 网络会话密钥(NwkSKey) NwkSKey是分配给终端设备的网络会话密钥。网络服务器和设备用它来计算和校验所有消息的MIC(消息一致码),来保证收发的数据一致。也可以用来对MAC负载(MAC命令放在Payload里面)的消息进行加/解密。 应用会话密钥(AppSKey) AppSKey是分配给终端设备的应用会话密钥。网络服务器和设备用来对 应用指定的 Payload字段进行加解密。也可以用来计算和校验应用层MIC(可能存放在应用指定 消息的Payload中)。 6.2 无线激活(Over-the-Air Activation) 终端设备在与网络服务器交流(数据交换)之前,必须先通过加入过程加入网络服务器。每次终端设备会话的上下文丢失(与服务器通信断开)后都要重新加入。加入服务器之前,要使用以下信息初始化终端设备:全局唯一设备ID(DevEUI)、应用ID(AppEUI)、AES-128密钥(AppKey)。 AppEUI在上面中有介绍。 * 注意:无线激活时,网络密钥初不会向初始化那样写死到终端,而是在终端加入网络时由网络层衍生并分发,该密钥用来对传输数据进行加密和校验。这样,终端设备能很方便的在不同的网络服务器和应用提供商之间切换。使用网络会话密钥和应用会话密钥*可以避免应用数据被网络供应商(网络服务器拥有者)解析或篡改,从而接入大量的网络服务器。 终端设备ID(DevEUI) DevEUI是全球终端ID,符合 IEEE EUI64,用来唯一辨识终端设备。 应用密钥(AppKey) AppKey是AES-128的应用密钥,由应用拥有者通过 应用指定的 根密钥衍生并分配给终端设备,根密钥只有应用供应商知晓和掌握。终端设备通过无线激活入网时,通过AppKey衍生会话密钥 NwkSKey和AppSKey,并分发相应的终端设备,用来加密和校验网络通讯和应用数据。 入网流程 从终端的角度看,和服务器交互的入网流程包含两个MAC消息:join request 和 join accept. 入网请求(Join-request message) 入网流程由终端发起,终端入网时发送入网请求,消息格式(MACPayoad)如下: 字节数 8 8 2 Join Request AppEUI DevEUI DevNonce 入网请求消息包含:AppEUI、DevEUI和终端设备产生的2字节的随机数(DevNonce)  DevNonce是个随机值,终端设备最近使用的一些(数量自定义)DevNonce会保存在网络服务器(NS)。如果终端发送的入网请求中的DevNonce在NS中可以查到,该请求就会被忽略。 注意:该机制的目的是防止重放攻击(replay attacks),避免其它人通过发送之前的入网请求来断开终端设备和网络的连接。 入网请求的消息一致性校验码(MIC)(见第4章MAC消息部分)通过下述算法计算: cmac = aes128_cmac(AppKey, MHDR | AppEUI | DevEUI | DevNonce) MIC = cmac[0..3] 入网请求以明文发送。 接受入网消息(Join-accept) 服务器同意终端入网后网络服务器(NS)会回复“接受入网”消息。接受入网使用“JOIN_ACCEPT_DELAY1”或“JOIN_ACCEPT_DELAY2”(而不是RECEIVE_DELAY1 和RECEIVE_DELAY2),和普通消息一样发送。这两种接收窗口使用的信道频率和数据率与 RX1和RX2的接收窗口(见章节“物理层”之”接收窗口”)相同。 入网请求被拒绝则服务器不发送任何数据。 接受入网消息包含以下字段:应用层随机数(AppNonce),3字节;网络ID(NetID);终端地址(DevAddr);介于 TX 和 RX(RxDelay) 之间的延迟;信道频率的一系列配置(CFList)。CFList相关内容见第7章。 大小(字节) 3 3 4 1 1 变长(16) 接受入网 AppNonce NetID DevAddr DLSeting RxDelay CFList AppNonce是由网络服务器产生的一个随机数或唯一ID,终端设备用它来衍生两个会话密钥:NwkSKey和AppSKey。衍生算法如下: NwkSKey = aes128_encrypt(AppKey, 0x01 | AppNonce |NetID | DevNonce | pad16) AppSKey = aes128_encrypt(AppKey, 0x02 | AppNonce | NetID | DevNonce | pad16) 接受入网的MIC计算方式如下: cmac=aes128_cmac(AppKey,MHDR|AppNonce|NetID|DevAddr|RFU|RxDelay|CFList) MIC = cmac[0..3] 消息本身采用 AppKey 加密,加密方式如下: aes128_decrypt(AppKey, AppNonce | NetID | DevAddr | RFU | RxDelay | CFList | MIC) 注意:网络服务器加密接收入网消息使用的是 AEC ECB模式的解密算法。这样终端就不必再实现AES解密算法,只用AES加密即可。 PS :之前关于NetID的翻译有误,特此更正。 NetID包含:7个最低有效位的NetID,称作NwkID;17个最高有效位,存放前面提到的终端短址。区域
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:LORAWAN中文.docx
    链接地址:https://www.zixin.com.cn/doc/4333848.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork