徐金鹏,李晓卉+,丁月民,张 尉,张 震
(1.武汉科技大学 信息科学与工程学院,湖北 武汉 430081;2.天津理工大学 计算机科学与工程学院,天津 300384;3.武汉市农业科学技术研究院 农业机械化科学研究所,湖北 武汉 430345;4.深圳市柳丁网科技有限公司,广州 深圳 518040)
在智能家居无线传感器网络(wireless sensor networks in smart home,WSNSH)的实际部署中,复杂房屋结构往往会带来复杂的电磁环境,从而影响WSNSH网络性能[1-3]。例如传感器节点间的无线信道会受到地面、墙面及人体移动等的反射与散射影响,链路连通状态不稳定,通信会发生频繁中断[4]。在这种链路不稳定的状态下,智能家居中某些重要的安全预警信息可能无法及时传出,从而造成严重的安全隐患。
目前ZigBee网络被广泛用于WSNSH工程实践中[5],其默认路由算法AODVjr通常通过洪泛路由请求包的方式,确保在衰落环境下找到一条有效路由[6]。但存在以下两个问题:其一,AODVjr洪泛路由开销较大,其本身并未考虑室内信道衰落对路由稳定性的影响,无法预测路由过程中室内信道的质量并做出自适应调整的行为,故其在WSNSH室内衰落环境中表现出的实际性能不高;其二,ZigBee节点邻居表中虽然用链路质量指示(link quality indicator,LQI)来评估链路状态,可以被用来辅助路由决策,但是LQI需通过反复收发信标帧来确定其值[7],这给路由造成额外开销。
针对以上两个问题,本文提出一种基于链路状态感知的智能家居无线传感器网络路由算法(link state aware routing,LSAR-AODVjr),该算法在AODVjr的基础上引入ETX-SH(expected transmission count for smart home)替代LQI表征衰落环境中WSNSH无线链路的状态,并在ADOVjr中使用定向路由发现提高数据包投递率减少路由开销,自适应建立状态更优的路由路径。
WSNSH的结构一般如图1所示。该网络通常由终端节点、路由节点与协调器节点组成[8],网络中节点通常都是固定节点,其中终端节点一般用于采集传感信息,如温湿度、可燃气体、红外监测等[9];路由节点用于将数据转发至协调器节点[10];协调器节点则负责网络的建立与数据的汇总[11]。
图1 智能家居无线传感器网络拓扑结构
对WSNSH中的节点做如下规定:①每个节点都具有相同发射功率PTx;②每个节点具有相同的最小接收灵敏度PRx。令链路衰落程度Ψ=PTx/PR(分贝形式为ΨdB=10lg(PTx/PR)),其中PR为信号经过信道传输后被接收时的信号强度,则当接收信号强度大于最小接收灵敏度,即PR≥PRx时,该信号可被正确接收。
(1)
式中:ζ=10/ln10,μΨdB为ΨdB的均值,σΨdB为ΨdB的标准差。
(2)
为感知并快速预测链路状态的变化,本文引入ETX-SH(expected transmission count for smart home)用以表征衰落环境中WSNSH无线链路的状态。基于ETX-SH与AODVjr,本文提出一种适用于衰落环境下的WSNSH路由算法——LSAR-AODVjr。
由于WSNSH中节点能量有限,为尽量降低获取链路状态带来的额外开销,本文引入ETX-SH快速预测通过某条链路发送数据包所需的传输次数(包括重传次数)以预测链路状态。在预测到所需传输次数较高,即链路状态不稳定时,自适应调整路由路径,达到优化网络性能的效果。
ETX-SH由两部分组成:初始值与预测值。初始值用于预测在从未发生投递过程的链路上投递数据包所需的传输次数;预测值用于根据当前投递所用的实际传输次数快速预测后续时刻投递所需的传输次数。
2.1.1 ETX-SH初始值
ETX-SH初始值的定义为数据包投递成功率的倒数,可根据节点性能预测初始状态下节点间无线链路的稳定性,任意两节点vi与vj间链路eij的ETX-SH初始值可由下述公式计算
(3)
(4)
式中:ΨT为链路衰落阈值,p(Ψ)为式(1)所知的概率密度函数。在没有历史收发状况的情况下,根据节点性能来预测链路的初始ETX-SH值,用以表征初试状态下的链路稳定性。
2.1.2 ETX-SH预测值
为快速预测后续时刻无线链路的ETX-SH值,本文引入一次指数平滑法,通过历史投递情况,预测未来的链路ETX-SH值。预测方法如式(5)所示
(5)
考虑到ETX-SH能较好地表征WSNSH节点间无线链路的稳定性,可将ETX-SH预测值替代WSNSH节点邻居表中原有的LQI指标。由于节点邻居表有着每次收到任意帧都可更新条目的特性,采用ETX-SH替换LQI,既能在每次数据包投递后,根据捎带的投递信息自动快速更新ETX-SH值,保证节点与其邻居节点间链路的ETX-SH预测值一直都是最新的,又能避免LQI值低效且耗能的主动反复收发信标帧的获取方式带来的额外开销。
为了解决传统WSN路由算法在链路不稳定情况下丢包率高、时延高以及路由开销大等问题,本文提出LSAR-AODVjr算法。该算法较之AODVjr主要有以下两点改进:
(1)引入ETX-SH,并用其替代LQI作为路由判据,根据其值自适应建立投递成功率高的路由路径;
(2)采用定向路由发现。由于WSNSH中一般都是固定节点,即节点的地理位置信息都是可提前预知的,可在WSNSH组网过程中由协调器下发包含地理位置信息的拓扑表给各节点。因此可通过已知的位置信息限制路由发现包的洪泛方向与区域,以源节点和目的节点间的连线作为轴线建立半径为R的圆柱体虚拟管道,使源节点洪泛发出的路由发现包仅在该虚拟管道内收发,避免盲目地全局洪泛,在增加路由发现精准性的同时也能减少开销。
LSAR-AODVjr算法流程如图2所示。
为评估LSAR-AODVjr在WSNSH中的性能,本文基于MATLAB在模拟WSNSH环境中对相关算法进行仿真对比分析,且在仿真对比本文提出的LSAR-AODVjr与ZigBee默认路由算法AODVjr的同时,引入被广泛应用于不稳定环境的Ad-hoc网络中的多径路由算法AOMDV进行对比分析[13],以此从更多角度展现各算法特点。
仿真智能家居布网区域为20*10米的房屋区域。考虑到不同WSNSH应用场景所需网络规模不同,本次仿真分别采用10至40个随机分布在该网络区域内的固定节点模拟实际应用场景。信道衰落阈值根据TI公司CC2530芯片的额定收发功率比值确定[14]。仿真参数见表1。
本文在仿真中主要评估以下3种性能指标来分析上述3种算法在WSNSH中的性能差异:
(1)数据包投递率——目的节点成功接收到的数据包数量与源节点发送的数据包数量之比。该值可用于表征数据包投递成功的概率。
(2)平均跳数——数据包由源节点传输到目的节点所需经过的路由节点的平均数量。该值可表征数据包投递过程中所用时间,与时延成正比。
(3)路由开销——路由过程中命令包的数量。该值可用于表征网络的拥塞程度,与时延成正比。
3.3.1 数据包投递率
如图3所示,随着节点数量的增多,路由投递过程中的可选链路增加,3种算法的投递率均随之增大。在节点数量相同时,LSAR-AODVjr算法较AODVjr有着更高的投递率,这是因为在信道衰落条件下的数据包投递中,AODVjr算法无法保证该路由路径上的链路状态,易发生丢包。而LSAR-AODVjr引入ETX-SH作为路由判据,会根据节点间链路实时预测的预计传输次数来优化路由决策,找出预测的ETX-SH较小,即链路稳定性较高的路由路径进行数据包投递,在一定程度上保证了投递的成功率。在节点较少时,AOMDV的投递率并不高,但随着节点数量的增加,其投递率提升迅速,与LSAR-AODVjr大体相当,这是因为小规模网络不易发挥多径优势,网络规模的增大会给AOMDV算法带来更多的备用链路,在主链路投递失败时能及时切换到备用链路尝试重新投递,采用多径的机制降低了WSNSH的衰落环境带来的影响。
图2 LSAR-AODVjr算法流程
3.3.2 平均跳数
平均跳数仿真结果如图4所示,随着节点数量的增加,网络规模逐渐增大,数据包投递所需路由节点的数量增加,从而导致3种算法投递数据包所需的路由跳数均随之增大。在节点数量相同时,AOMDV算法所用跳数最多,其原因为衰落环境下,AOMDV由于主链路状态不佳而切换到其它链路,从而产生了多次投递,由此带来了较高的路由跳数。与此同时,LSAR-AODVjr算法所需路由跳数较AODVjr多,这是由于LSAR-AODVjr为保证数据传输成功率会尝试选择预测的ETX-SH值较小的链路,可能会因为最短路径上的链路状态不佳而绕过该衰落链路,从而导致路由跳数较AODVjr有所增加。
表1 仿真场景参数
图3 数据包投递率仿真对比
图4 平均路由跳数仿真对比
3.3.3 路由开销
路由开销仿真结果如图5所示,随着节点数量的增加,网络复杂度逐渐上升,在路由过程中需要收发更多的命令包,从而导致3种算法的路由开销均随节点数量的上升而增加。在节点数量相同时,LSAR-AODVjr算法的路由开销最低,该结果主要由两方面产生,一是LSAR-AODVjr采用ETX-SH代替LQI,较AODVjr而言减少了获取LQI需要反复收发信标帧带来的开销,二是由于LSAR-AODVjr采用了定向路由,限制了路由发现的方向与区域,较AODVjr与AOMDV全局洪泛广播的方式有效了减少路由发现时的开销。与此同时,AOMDV算法的路由开销高于AODVjr,这是因为在路由过程中,AOMDV建立并维护多径传输所需的路由表需要耗费更多的命令包。
图5 路由开销仿真对比
综上所述,在阴影衰落的条件下,LSAR-AODVjr算法在投递率与路由开销等方面较AODVjr与AOMDV算法存在一定优势,既保证了数据投递的成功率,避免投递失败时多次重传带来的额外开销,又降低了高路由开销带来广播风暴的风险,有效增强网络性能。对于时延方面,从图4中可看出,LSAR-AODVjr所需平均路由跳数仅比AODVjr多出1~2跳,考虑到在链路状态良好的情况下,多出的1~2跳所耗时间几乎可忽略不计,且路由开销的减少带来的时延的降低又能在一定程度上抵消多出的跳数带来的时延。总而言之,LSAR-AODVjr算法较AODVjr与AOMDV而言更能满足在阴影衰落条件下的智能家居环境中快速稳定地传输数据的需求。
针对房屋等家居环境会对无线信号造成阴影衰落的特点,本文提出了一种适用于在阴影衰落环境下保证WSNSH网络性能的算法——LSAR-AODVjr,该算法的核心思想一是构造出链路的ETX-SH值,并根据实际投递情况快速预测后续时刻的ETX-SH值,以此值辅助路由决策,尽量避开衰落链路,选择预测的稳定性较好的链路进行数据包投递以保证投递率,二是采用定向路由,限制路由发现的区域,提高路由精准性的同时可有效减少开销。仿真结果表明,在带有信道衰落特征的WSNSH网络中,LSAR-AODVjr算法相比ZigBee默认路由算法AODVjr与采用多径机制以增强网络鲁棒性的AOMDV而言,增大了投递率,减少了路由开销,有效提高了WSNSH的网络性能。