LoRaWAN介绍8 QoS
LoRaWAN介绍8 QoS
“美好的东西在质不在量。”--伊索
QoS(Quality of Service,服务质量)是一个网络的重要指标。
SX1301基带芯片的多通道和多速率特性,提供了较高带宽;LoRa扩频调制,提供了长距离和较佳的抗干扰特性,这些是硬件提供的基础。
QoS的其他方面:网络管理、自适应速率、可靠通信、快速下发和丢帧检测等,由LoRaWAN协议实现。
1 网络管理
实现一个网络的QoS,必须提供管理功能。LoRaWAN制定了一组MAC命令,专门为Server和End Nodes提供管理元数据的交换。
如下表所示,大部分的MAC命令用于控制LoRa无线通信的参数:通信速率、发射功率、通信信道、信号强度、duty-cycle和dwell-time等。
也提供了用于了解Server和End Node双方状态的命令:Server提供End Node当前信号强度;End Node提供自身电池电量和链路余地。
LinkADRReq命令有一个参数:NbTrans,它能提供“非确认信息”的有效通信质量。“非确认信息”,即End Nodes发送的信息,不需要Server回复ACK,以简化实现和节省电能。然而,在一些特殊的环境(如:干扰较严重或信号微弱)下,希望End Nodes将同一个信息,重复发送给Server,以提高成功率,NbTrans就用于设置重复发送的次数。
Orage公司推荐,End Nodes设置NbTrans=3。
2 自适应速率
在文章《LoRaWAN介绍3 优点》中谈到,ADR(自适应速率)是一个优点:
http://blog.csdn.net/jiangjunjie_2005/article/details/54140236
LoRaWAN协议推荐,End Nodes应该尽可能地实现ADR算法,以便于增加电池寿命和最大化网络容量。
站在End Nodes的角度,它比较担心:实现ADR算法后,通信速率是提高了,那通信距离还能保证吗?换句话说,Server能否接收到UPLINK数据帧。
为了消除上述疑虑,End Nodes需要定期检测,即通过接收DOWNLINK数据帧,来测试网络正常。
检测算法如下逻辑所示,看上去比较复杂,核心原理就一条:如果收到DOWNLINK数据帧,一切OK;否则,请求Server下发DOWNLINK,一旦超时,降低速率重试;直到速率等于MIN值或接收DOWNLINK为止。
3 可靠通信
通信协议提供的可靠性是基于ACK机制,LoRaWAN也不例外。如果通信的数据帧要求可靠地交付给对方,那就需要对方回复ACK。
UPLINK的Confirmed帧
如下图所示,End Node发送Confirmed帧Data0,没有收到ACK;它重复发送了Data0帧,直到接收到ACK,它再继续发送Data1帧。
DOWNLINK的Confirmed帧
如下图所示,Gateway发送Confirmed帧,End Node回复ACK帧。
为了简化设计,End Node既可以立即回复ACK帧,也可以将ACK携带在下一次UPLINK帧中。
4 快速下发
LoRaWAN的主体是Class A,它的缺点是延时大,即Server要下发DOWNLINK数据帧,必须等待End Node下一次UPLINK。为了实现快速下发,协议中有一个标志位:FPending,它用于告诉End Node,请尽快通信。
Confirmed+FPending
如下所示,这是一种高效的通信,End Node不但回复了Data0的ACK帧,还能快速接收下一帧Data1。
Unconfirmed+FPending
在这种通信中,End Node通过发送void帧(应用层数据为空),来接收Server下发的DOWNLINK数据帧;如果接收失败,End Node还会重复发送void帧,因为,它知道还需要从Server接收DOWNLINK帧。
Confirmed+FPending+ACK
在下图中,Gateway不但回复了ACK,还发送了Confirmed数据帧,同时告诉End Node还有后续DOWNLINK,请快速建立通信。
特别注意:ACK不能发送2次,因此End Node第二次回复的是void帧。
5 丢帧检测
LoRaWAN协议帧中有一个FCnt变量:
Server端管理FCntDown,每发送一帧DOWNLINK,该值加一;2种情况除外,组播一个unconfirmed帧,或者,重复发送一个没有ACK的confirmed帧。
End Node端管理FCntUp,每发送一帧UPLINK,该值加一;1种情况除外,重复发送一个没有ACK的confirmed帧。
双方都记录接收数据帧的个数,并比较当前数据帧中FCnt的值,如果差异(小心回绕!)超过MAX_FCNT_GAP,那将说明有数据帧丢失,并将采取对应的恢复策略。
下载经典的LoRaWAN资料,请链接:http://www.rimelink.com/nd.jsp?id=48&_np=107_316
LoRaWAN介绍8 QoS相关推荐
- LoRaWAN介绍5 对手
LoRaWAN介绍5 对手 "真正的对手会灌输给你大量的勇气"--卡夫卡 提到LoRa的对手,人们立即想到:SigFox(UNB,Ultra Narrow Band,超窄带)和NB ...
- LoRaWAN介绍2 架构
LoRaWAN介绍2 架构 1 为什么是星型网络,而不是mesh 仔细查看LoRaWAN的架构图,您会发现,End Nodes与Gateway的组网是star(星型)拓扑,为什么不是mesh(网格)呢 ...
- LoRaWAN介绍15 终端设计
LoRaWAN介绍15 终端设计 "大自然和智慧在任何事物上都不存在分岐"--玉外纳 因为应用在广阔的行业内,在传感器.执行器.供电.通信延时等不同的要求,让LoRaWAN的End ...
- LoRaWAN介绍13 SX1301
LoRaWAN介绍13 SX1301 "要以坦克为核心组织部队,而不是以步兵为核心."--古德里安 如果说LoRaWAN是闪电战,那么SX1301就是坦克,前者是建立在后者的基 ...
- LoRaWAN介绍10 定位
LoRaWAN介绍10 定位 下载最新的 LoRa 定位资料,请链接:锐米开源二:锐米LoRaGeo系统 http://www.rimelink.com/nd.jsp?id=89#_np=107_3 ...
- LoRaWAN介绍20 中国地区
LoRaWAN介绍20 中国地区 "模块接口应该像冰山:八分之七都是位于水面以下,而你只能看到水面上的八分之一"-Steve McConnell<代码大全> LoRaW ...
- LoRaWAN介绍4 缺点
LoRaWAN介绍4 缺点 "人类一思考,上帝就发笑"----米兰·昆德拉 尽管LoRaWAN由LoRa Alliance专家们(主要是:Semtech.IBM和Actility) ...
- LoRaWAN介绍3 优点
LoRaWAN 介绍 3 优点 LoRa Server 是 LoRa 物联网的核心! 为帮助行业朋友快速搭建 LoRa Server,锐米提供软件安装包,让您"一键安装"在 Win ...
- LoRaWAN介绍14 终端类别
LoRaWAN介绍14 终端类别 "蚂蚁是无力之类,却在夏天豫备粮食.沙番是软弱之类,却在磐石中造房."--<旧·箴> 不同的应用场景需要不同的技术条件,LoRaWAN ...
最新文章
- 浅谈ATP CHECK zz
- WaitForSingleObject
- 嗯...开始学java
- 看下completablefuture(暂时没看完)
- jsf集成spring_Spring和JSF集成:动态导航
- php curl伪装cookies,php curl 添加cookie伪造登陆抓取数据
- java怎么设置多个输入_Java中从键盘输入多个整数的方法
- Android学习笔记(十七)——使用意图调用内置应用程序
- git中使用emacs和vimdiff/Ediff工具
- javascript 中的prompt 用法
- OpenCart支付宝付款接口(直接到账、担保交易、双接口)
- android studio trace,天猫Android性能优化1—AndroidStudio内置的Traceview视图
- excel怎么设置自动计算_Excel智能化考勤表,自带万年历设置,考勤加班计算,无脑轻松...
- springcloud微服务学习笔记(四十五):Gateway9527搭建
- BUUCTF pwn rootersctf_2019_xsh
- linux编辑原列表后怎么保存,linux下vi命令 修改文件及保存的使用方法(转)
- JAVA 抽象类与接口
- visual studio 批量注释与取消批量注释快捷键
- mysql查找附近算法_Java+MySQL实现附近功能
- java类中获取tomcat下的webap路径方法