高端端到端可靠性是那些具有关键监控和驱动要求的人所要求的质量。迄今为止,无线传感器网络(WSN)用户通常认为次优可靠性是无线技术固有的。我们描述了一个集中监控TDMA网络,其策略选择以最大化接收的数据包数量,同时保持低功耗特性。介绍了检测和诊断数据包丢失的方法以及其相对影响的预期边界。该诊断允许对所有已知的损失机制进行编目,并分析以50.99%稳态端到端可靠性运行的99节点网络中的损失。
介绍
无线监控网络是一种 WSN,其中数据在所有网络节点上定期生成,并通过称为管理器的单个节点上的多跳传输收集。知道节点数和生成速率可以计算预期的数据包数:让可靠性是一个无单位的数量,描述管理器接收的唯一数据包数除以应接收的唯一数据包数。WSN的学术研究旨在提供最佳解决方案:最低能源成本,最低延迟或最高带宽。虽然这些元素对工业和商业WSN用户很重要,但他们主要关心的通常是网络中生成的数据包应该在集中式数据存储库中可靠地接收并可用于分析。网络上的实际压力通常不会那么高:例如,一个 50 节点网络,每个节点每分钟使用 10.76 kbps 无线电收发器生成 8 字节的数据有效载荷。此网络使用的原始可用带宽不到管理器的 0.1%。许多研究人员回避研究这些微不足道的要求也就不足为奇了。但是,即使在大量预配的方案中,也很难满足严格的可靠性要求。所介绍的时间同步协议提供了一种高可靠性的无线网络解决方案,该解决方案还支持低功耗路由和高可用带宽。激励目标不一定是获得完美的可靠性,而是了解每个丢失数据包的原因并能够绑定每个丢失机制。
在历史有线域中安装 WSN5将低可靠性确定为采用该技术的主要风险之一。可靠性指标通常在处理WSN部署的系统论文中讨论,但很少是主要关注点。ExScal等项目2不断扩展 WSN 大小和整体性能的限制。这项特殊的工作引用了86%的端到端可靠性,并暗示缺乏关于困扰可靠运行的故障和可变性的公开数据。另一个自称“工业传感器网络”的项目7评论可靠性的重要性,但指出实验中的大多数节点报告了超过80%的数据,表明整体可靠性远未接近100%的范围。很明显,这些作者认识到可靠性在商业应用中的重要性,但同样清楚的是,单个数据包的丢失并不是最重要的问题。一个揭示性的情节3显示了节点编号/生命周期空间中已发布网络的跨度,但没有直接评论这些网络的可靠性。到目前为止,网络在给定的时间跨度内保持运行就足够了,并不是说网络一定能够在这段时间内进行可靠的数据包交付。工作的含义4它试图使用网络来检测“罕见,随机和短暂的事件”,即网络必须准备好感知消失的微小时间和空间区域。这一原则的延续表明,由于如此简短但重要的事件而生成的单个数据包应保持相同的高标准。
最近的新平台和系统6,8专注于从第一原则重新设计 WSN,但没有提供近乎完美的可靠性的明确目标。对更广泛的无线网状网络领域的调查1仅简要提到了可靠性的主题,这表明即使在传感器网络领域之外,无线多跳也没有专注于这一目标。
无线网络
众所周知,无线信道随时间和空间而变化。为了克服这一挑战,我们使用多种技术和策略来最大限度地提高可靠性:
TDMA 调度以确保足够的带宽
网状拓扑提供冗余路由
删除消息前所需的 ACK
跳频以避免阻塞通道
优化拓扑以选择更好的路线
高功率模式可恢复断开连接的节点
一致使用可靠性诊断
该网络由无线节点和选定节点对之间的重复定向TDMA通信插槽组成。每个这样的节点对定义一个路径,并且可以由一个TDMA超帧中的一个或多个插槽组成。每次传输和接收都经过安排,因此网络流量不会发生冲突。此选择考虑了低功耗,但它也允许比基于争用的协议更好的拥塞可靠性。在 TDMA 计划中为每个节点分配足够数量的插槽,以满足自身和后代预期的最大带宽需求。这里需要“监控网络”假设:很难充分配置具有未知流量需求的网络。TDMA网络需要严格的时间同步,这带来了一系列挑战。
通过构建网络,使管理器没有父级,并且路径集合生成的二合字母中不允许循环,流量向上流向管理器。随着每个节点寻找两个父节点,生成的网状结构最大限度地减少了由于单路径故障而导致的数据包丢失。管理器-节点控制通信是通过沿相反方向的相同路径的广播泛洪来实现的。TDMA协议的细节对于本次讨论并不重要;重要的是安排足够的带宽,以尽量减少意外拥塞或来自外部来源的干扰的影响。高可靠性网络在带宽方面过度配置,唯一的代价是额外的空闲侦听槽。这允许队列在大多数网络操作中保持空。在发射端,仅当有数据包等待发送时,才会激活无线电,因此空闲插槽没有能源成本。但是,在传输的情况下,接收器必须始终在插槽开始时侦听一小段时间,因此分配的带宽越多,消耗的能量就越多。由于一些流量沿着次优路由传输到管理器,网状网络可能会支付前期延迟和能量损失,但这些成本可确保不可避免的路径稳定性变化导致连接损失很少。
我们的网络范式是,一旦生成数据包,就永远不应该丢弃它,而应该逐节点拓扑地传递到更接近管理器的位置。管理器是一个中央数据存储库,所有数据包都路由到该存储库,并且通常连接到用户可访问的数据库。多跳传播是通过一系列握手完成的:在收到来自父级的 ACK 之前,不会从子级中删除数据包。这要求每个节点上都有一个大小合理的数据包队列。当队列填满时,节点无法再存储新生成的本地数据,并开始丢失这些数据包。在这种情况下,完整队列不会导致外部数据包丢失,因为节点会从其子节点接收来自其子级的消息。
为了克服可能对可靠性产生不利影响的本地窄带干扰,我们的网络在空间和时间上将通信传播到多个通道上。传输在 50MHz 频段跳跃超过 900 个通道,在 16.2GHz 频段中跳跃超过 4 个通道。如果一个或某些信道存在干扰,则在随后尝试使用其他信道时,传输仍可成功。同样,带宽的过度配置允许网络即使在信道阻塞的情况下也能保持高可靠性。跳频会导致更长的加入时间,因为新节点必须扫描多个信道才能找到其对等节点,但动态无线电环境中的长期可靠性有利于多信道策略。
网络架构有助于在网络形成和运行过程中进行路径优化。管理器不断寻找重定向网络图的方法,以确保可靠性最大化。优化评分基于路径质量(经验测量或 RSSI)、管理器的跃点数和父级的生存期。这使我们能够持续确保网络使用最佳可用路由来存储数据。
网络可以在低功耗或高功率模式下运行。在网络形成期间和连接断开后,网络会自动切换到高功率模式,以方便和加快节点加入。网络外部节点花费的时间是数据包丢失的时间;为了尽量减少丢失的数据包,需要花费更多精力来尽快恢复丢失的节点。
最后,正如下一节将详细描述的那样,我们始终采用几种独立的诊断方法来跟踪丢失的数据包。随着可靠性水平的提高,丢失的数据包变得更加难以跟踪,并且在短时间实验中无法跟踪特别罕见的事件。因此,在所有运行网络上使用诊断工具提供了发现所有丢失机制的最大机会。
识别丢失的数据包
在我们的网络中,通过比较两个独立的数据包计数来识别丢失的数据包:来自每个节点的定期诊断数据包和管理器接收的唯一数据包列表。诊断数据包通知管理器在最近的收集间隔内源自节点的数据包数,以及由于消息缓冲区已满而丢弃的本地生成的数据包数。目标是能够一致地跟踪丢失的数据包数量以及每次丢失的原因。除了这些方法之外,我们还使用直接有线和无线节点查询、网络模拟和节点仿真来确定数据包丢失的来源。根据标准网络操作期间可用的数据,我们可以将任何丢失的数据包分为以下几类:
拥塞
设备重置
设备故障
CRC腐败
会计差错
未知
拥塞丢失由诊断数据包中的节点直接报告,因此最容易跟踪。但是,持续的拥塞会导致诊断数据包被中止以阻止进一步的丢失,因此当节点 n 的诊断数据包未到达的时间间隔内,节点 n 的管理器报告为丢失的数据包被假定为拥塞丢失。节点 n 只能由于拥塞而丢失自己的消息;节点在其消息缓冲区已满时 NACK 子节点。这不会改变进入网络的每个数据包都保持安全的概念,而是显示了如何防止某些预期的数据包进入网络。
图1.显示测试部署中的子父关系的网络图。
节点在失去与所有父节点的连接时会重置其软件。这会导致节点丢失其队列中的所有数据包,其中可能包括来自其他节点的数据包。管理中心通过节点的父节点和子节点生成的警报数据包以及节点重新加入网络的请求来检测重置事件。在已知节点已脱离网络的时间间隔内丢失的数据包被假定为由于此重置节点造成的,无论其初始来源如何。同样,需要一些维护(例如更换电池)的设备故障最初可能导致来自多个来源的丢失,但随着时间的推移,只有来自故障节点的数据包会丢失。
所有消息都附加一个 16 位 CRC,以确保链路级完整性。但是,对于较长的数据包,此 CRC 不是唯一的,某些错误组合可能导致错误百出的数据包与无错误数据包具有相同的 CRC。但是,使用另一个端到端加密 MIC,因此在解密时会在管理器上检测到错误(但无法纠正)。
已经发现并修复了会计错误的几个迭代,并且不能保证没有保留。我们假设数据包在管理器报告之前丢失,因此所有错误都是误报丢失。尽管如此,仍然无法区分会计错误和丢失的数据包,因此必须始终假设最坏的情况。最大的麻烦来自数据包序列,这些数据包顺序严重混乱,跨越不同的 15 分钟间隔。在本研究中,保留了所有传入消息的独立跟踪,以确定自动分析中是否存在任何会计错误。
一年前,这份损失机制清单大不相同。有些问题解决了,有些问题被发现了。随着可靠性、网络规模和流量水平的不断提高,将揭示更多隐蔽和隐蔽的损失。当 10-6 水平损失普遍存在时,在 10-3 水平上考虑的因素是不可见的。同样,这强调了能够解释已知丢失类型的每个丢失数据包的必要性。正如下一节将看到的,测试网络中数据包丢失的当前主要形式是通过未识别的机制。我们推测这是由于对同一无线电空间中其他不同步网络的逻辑干扰。
图2.网络生命周期内的日常可靠性。
案例研究:50 节点网络
作为可达到的可靠性水平的一个例子,在我们的办公楼内和周围部署了一个 50 节点的监控网络。节点放置在我们工作空间内和屋顶顶部的两个垂直水平上。该网络旨在以非常高的可靠性运行,同时具有较低的节点间通道稳定性;为每个节点选择 1 分钟报告速率,以最大程度地减少数据包因拥塞而丢失的可能性。该网络每天生成 72,000 个数据包,每个数据包平均通过 2.0 个跃点进行无线传输。距离管理器最远的节点平均每个数据包 3.6 个跃点。
网络正在运行 199 个插槽(6.2 秒)的 TDMA 超帧。网络二合图如图1所示。在运行的第一天,可靠性为99.86%,但观察到整整一周至少99.99%的可靠性。无需人工干预的 17 天的可靠性数据如图 2 所示。
当节点位于不同的垂直平面上时,平均路径稳定性相当低,为 60%,这意味着十分之四的传输尝试失败并重试。选择低路径稳定性是为了鼓励所有可能的误差类别在网络中显现出来。所有节点都是相同的 - 没有一个被区分为“路由器”节点 - 并且都使用相同的AA电池运行。网络一对 AA 电池的最短节点寿命为 13 个月。网络生命周期内的平均数据包延迟为 3.9 秒。该网络在下雨期间运行,屋顶节点测量的地表温度已超过70摄氏度。
表 1 总结了截至撰写本文之日所有丢失数据包的性质。丢失的数据包总数为 367 个,已收到 1 万个唯一数据包。
Loss Mechanism | Number of Packets | Loss Rate |
Node Reset | 265 | 2x10-4 |
Unknown | 71 | 6x10-5 |
Congestion | 26 | 2x10-5 |
CRC Failure | 5 | 4x10-6 |
Failed Device | 0 | 0 |
Accounting | 0 | 0 |
图3.网络生命周期内每日数据包丢失的机制。
图3显示了对损失机制的进一步基于日期的分析。在最近一周的运行中,没有数据包因节点重置或拥塞而丢失。这是由于网络中运行的优化例程 - 拓扑已经过优化,通过确保使用的所有路径都具有足够高的稳定性以确保可靠运行,几乎消除了数据包丢失的这些组件。在所有这些过程中,会创建单个路径并失败,但由于网状架构,这不一定会导致数据包丢失。
大多数节点重置事件发生在网络形成和优化过程中;预计在稳态操作期间,这些损失的频率将大大降低。未知和CRC故障的数量应该继续以目前的速度进行,我们预计网络将继续以99.99%的可靠性报告数据,至少在未来13个月内。
结论和今后的工作
拟议的基于TDMA的WSN策略允许低功耗50节点网络以99.99%的稳定可靠性水平运行,而无需人工干预。这种可靠性水平是通过围绕将每个数据包交付给集中式管理器的目标对整个系统进行精心设计来实现的。对协议的更改可能会导致网络丢失低于 10-4 个数据包,包括在加入期间,方法是在重置期间保留队列内容并增加队列长度以消除拥塞损失。
展望未来,目标是确定来源并减少未知损失的数量。这些误差的大小足够高,以至于CRC类型的误差相对来说很少受到关注。进一步的发现将通过更广泛地使用有线连接直接监控单个节点对来实现。网络没有出现任何节点故障,但这种可靠性水平要求故障是可预测的(例如通过电池监控)或极其罕见。在 99.9% 的可靠性水平下,我们可以承受大约 1/10000 的故障停机时间。如果每次故障更换需要一天时间,我们需要设备故障发生的频率低于每 27 年一次。
虽然测试网络仅由 50 个节点组成,但该协议可扩展到更大的网络,并且具有类似的每个节点的可靠性。对于监控网络,必须相应地调整报告速率,以确保拥塞级别不会增加,但协议没有根本性的变化。在修复一些错误之前,我们已经运行了 250 个节点的网络,持续时间超过 99 个月,可靠性为 ><>%。如果节点可以保持在同一级别连接,则操作的其余部分是相同的,并且应该导致相同的损失分数。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !