基于IPv6的WSN最佳转发路由协议
2013-07-25王一军刘桂波
袁 雪,王一军,刘桂波,杨 金
(1.中南大学信息科学与工程学院,湖南长沙410075;2.中国电子科技集团第48研究所,湖南长沙410111)
0 引言
无线传感器网络 (WSN)作为信息感知与传输的基础平台,应用相当广泛,如智能电网、工业自动化、智慧城市、家庭自动化、楼宇自动化、工业自动化等[1]。在某些应用中,WSN所涉及的节点数量庞大,节点需要全局唯一标识,且收集过来的数据需要便捷且低成本地共享到以现有Internet为基础的企业或公用事业部门等的信息系统中去。这就要求WSN具有自组织、自配置、自愈合以及连接互联网等功能。下一代互联网IP协议标准IPv6以其海量的地址标识、自动配置机制、各种设备与服务发现机制以及广泛被采用及部署等特点为WSN设计、开发和实现所面临的很多问题和挑战带来了解决机制[2]。
针对ZigBee开放性和互操作性差、连接互联网不便捷且成本高等不足而提出的6LoWPAN协议即是IPv6和WSN尝试相互结合的一个很好的实例。互联网工程任务组(IETF)提出了关于在符合IEEE802.15.4标准的低功率无线链路上收发传输IPv6数据包的框架,同时总结出了在WSN中引入TCP/IP架构所面临的主要问题及挑战,以及解决这些问题以及克服这些挑战所需添加的机制和功能,具体可参看IETF颁布的6LoWPAN协议说明文档RFC4919和RFC4944。6LoWPAN无线网络的总体体系架构如图1所示,无线网络由LoWPAN主机,LoWPAN路由器和LoWPAN边界路由器组成,无线网络通过边界路由器连接Internet。
图1 6LoWPAN无线网络体系架构
6LoWPAN在数据链路层和网络层之间引入自适应层(LoWPAN),用来减少IP协议开销,使IPv6数据包能在802.15.4链路层上有效地传输。自适应层提供报头压缩机制来减少报头传输开销,提供分片机制来满足传输IPv6最小MTU的要求,支持在开放性协议标准参考模型的第二层上通过无线多跳的方式来转发投递IPv6数据包[3-4]。
组播、单播和任播是IPv6所支持的三种网络寻址和有信路由机制。任播是一种新的有信路由机制,其将数据包路由到从路由拓扑上来看是“最近”或者“最佳”的目的地。这种机制常用于为无状态服务提供高可靠性和负荷平衡。单播传输将数据包发送到唯一特定的目的地,其和将数据包发送到所有目的地的广播机制不同。最后一种是组播,其类似于广播,使用最有效地策略将数据包发送到某一组目的地。上述3种有信路由机制都可以用到6LoWPAN中[5-6]。当前有关6LoWPAN的研究主要集中在IP网络层及传输层的报头压缩、IP层数据报分片及重组以及适合6LoWPAN的路由协议上,本文就是围绕6LoWPAN的路由协议展开研究的。
一般来说,WSN路由协议依照其网络结构、协议实现机制、确定性路由还是协同路由等基准可以分为4大类。能量感知QoS路由协议是WSN路由协议研究热门之一。该路由协议能很好地平衡链路带宽 (延迟)等性能和能效之间的关系。均衡消耗网络能量,延长网络整体生命周期。文献[7]提出了一个基于成本估计的路由协议。其依照预期传输次数 (ETX)度量来选择下跳转发节点。在投递数据包到其目的地的所有可选路径中,ETX找寻一条预期所需传输次数最少的路径 (包括重传)。此度量通过在每个双向无线链路上进行链路丢包率测量来预测所需重传次数。ETX设计的首要目标是要寻找出具有高吞吐量的路径,即使有丢失。ETX也不考虑链路质量和RSSI等链路状态参数。文献[8]提出了一个自主路由协议,使WSN的无线通信功能能自适应其网络拓扑和工作环境的变化。该路由算法是一个独立的路由协议,无需任何系统级的辅助,便可在任意节点独立工作。单个节点故障不会影响整个网络的稳定性,网络路由数据包的同时可以兼顾负载平衡和能量均衡。因此,网络可以保持长时间的高覆盖率。然而,对减少WSN整个网络的能量消耗来说,只注重平衡网络中的通信流是不够的,还需兼顾考虑存在于接收数据包中的用来指示能量强弱的RSSI度量。可以通过估计给定节点的无线电信号衰减模型,动态调整无线电发射功率来中继网络数据包,这样可大大降低WSN的能量消耗。文献 [9]中提出的成本感知动态路由协议在源节点到目的节点上创建成本度量梯度。利用能量、节点负载、延迟和链路可靠性等成本度量信息来求得在性能和能量消耗之间的平衡。邻居节点提供路线查询回复及路线丢失高效恢复机制。相比传统的泛洪,该协议只需其25%的带宽,端到端得延迟也更小。
提出了一种新的适合IPv6无线传感器网络的路由协议——最佳转发路由协议。在该协议中,基于链路估算、成本估计和RSSI三个参数计算最佳转发数值,然后根据最佳转发数值选取数据包转发的下一跳节点。为了能从所有的邻居节点处获得上述3个参数值,传感器节点需要在启动过程中执行邻居发现。在所有邻居中,拥有相对最佳转发数值的节点被选为数据包转发的候选下一跳。关于此路由协议的性能,文章采用Moteiv公司的Tmote-sky实验板组成4*3的节点阵列来进行分析评估。
1 最佳转发路由协议的设计
如前所述,该路由协议是基于一个最佳转发方程。该转发方程运算基于链路估算、成本估计和RSSI三个参数。拟设机制找寻出投递率性能最佳时各个参数的加权值。
1.1 最佳转发路由协议
最佳转发路由协议的设计包括地理位置管理、邻居管理和路由管理三大模块。地理位置管理模块负责在启动时基于与3个已知邻居节点的距离或者GPS系统来定位节点的位置。本实验中,每个传感器节点的位置已经预先确定。
邻居管理采用邻居发现机制。开启无线电模块后,传感器节点向其邻居节点广播路由请求信息。邻居接收到该信号后,将回复包含链路估算、成本估计和RSSI等信息的路由广播包。请求节点在收到路由广播后,更新其路由表。如果某节点是新邻居并且路由表中还有闲置表项,则将其加入到路由表中。若没有闲置表项,但最后一个表项满足置信度阈值,则什么也不做。若其已存在,则只需更新邻居信息。网络中的每个节点定期发送路由器广播,邻居路由表实时同步当前网络状况,使路由更高效。表1是邻居路由表格式。
表1 邻居路由表格式
路由管理模块的功能是计算最佳转发值,并决定转发报文的最佳候选节点。计算和决定是基于邻居路由表信息的。该模块将基于链路估算,成本估计和RSSI参数值计算每个邻居的转发最佳值,做出决定。
1.2 链路估算、成本估计和RSSI参数
链路估算基于式 (1)计算得出。链路质量指示(LQI)表征数据包接收信号的强度或质量。LQI取值范围[0,255]。软件负责针对不同应用对LQI做适当变换。LQI是由RSSI和相关值组合产生的。Tmote-sky的CC2420收发器基于SFD首8位标志值为每个传入数据包提供一个平均相关系数[10]。无符号7位值可视为“芯片错误率”度量[11]。式 (2)描述LQI的值
变量a和b值是基于PER的值来经验获得,PER是相关系数的函数。成本估计是基于传送给邻居节点的总数据包量和成功传输量。成本估计值越高,投递率越低。成本估计计算公式如下
"CONF"是总传输量而"SUCC"是成功传输量。RSSI是接收信号强度指示器。传播效应将造成传输信号的衰减。对退化和衰减建模,可以基于RSSI估算相邻节点之间的距离。CC2420收发器中创建8位的可读取的数值来表征RSSI。RSSI在8个符号周期128μs内求均值,这也意味着收发器至少需开启8个符号周期。RSSI与能量的相互关系如下式
RSSI_OFFSET是在系统开发时,从前端的增益中凭经验找出的。RSSI_OFFSET大约是-45。例如,如果RSSI是-20,射频输入功率约为-65dBm[11]。典型的RSSI动态值是100dBm,范围为 [-100dBm,0dBm]。
1.3 最佳转发值计算
为了选择最佳邻居转投数据包,路由协议需为邻居表中的每个邻居计算其最佳转发值。计算如下
式 (5)中:λ1+λ2+λ3=1。l1、λ2和λ3的值由实验测量中估算而来,在下一节中解释。
2 实验研究
2.1 配置无线传感器网络WSN试验平台
WSN测试平台含硬、软件部分。测试平台采用Moteiv公司的Tmote-sky传感器节点,使用遵循IEEE802.15.4射频标准的2.4GHz ISM频段。可通过USB连接PC机。传感器节点设有On/Off开关,必须拔掉电池才能关闭Tmote-sky。Tmote-sky有板载光、温度和湿度传感器。这些传感器节点运行Contiki OS,开发板及体系架构如图2所示。
图2 Tmote-sky板及体系结构
软件含Contiki OS和用户应用程序。Contiki OS是一款轻量级的、开源的、高度可移植的、多任务的、基于事件的、模块可动态装卸的无线传感器网络操作系统,专门针对资源 (内存、计算等)高度受约束的硬件平台而设计的。尽管提供多任务操作和内嵌TCP/IP协议栈,其只需几kB的代码和几百Bytes的RAM。
WSN实验需要在一个24*16m区域内按4*3的陈列布置12个Tmote-sky传感器节点。右上角的源节点编号为11,左下角落的汇聚节点编号为0。如图3所示。源节点和汇聚节点的位置选取是为了在传输数据包的过程中增加跳数。使用开源的数据包嗅探器Wireshark来观察网络中的数据包。Wireshark是用来捕获接收器所接收到的数据包。包投递率和丢包率是衡量评估最佳转发路由协议性能的指标参数。
图3 网络拓扑
实验由两部分组成。第一部分确定最佳转发的系数。第二部分比较评估最佳转发路由协议与RIP(路由信息协议)和贪婪转发等路由协议的网络性能。
RIP协议是基于距离矢量的路由算法。它使用“跳数”来衡量到达目标地的路由距离。贪婪转发路由算法是基于地理位置信息的一种路由算法。当节点S需要向节点D转发数据分组的时候,它首先在自己所有的邻居节点中选择一个距离D最近的节点作为数据分组的下一跳,然后将数据分组传送给它。该过程一直重复,直到数据分组到达目的节点D或者某个最佳主机。
在第一部分实验中,进行了36组测试。流量负载设置为0.5包/秒。系数取值范围为 [0.1,0.8]。系数总和不超过1。36组系数如表2所示。
表2 概率变量值的组合
实验的第二部分包速率在 [0.2,20]包/秒中变化。Moteiv公司建议Tmote-sky多跳通信的包速率阈值应设置为0.5包/秒,过高的包速率,可能导致包拥塞或通信队列溢出[8]。使用贪婪转发和RIP两种路由协议重复同样的实验。测量三个路由协议下投递率和丢包率两个网络性能指标。
2.2 最佳转发系数测定
为了确定系数的最佳组合,投递率阈值设为0.9,如图4所示。选择高于阈值的系数组合,忽略低于阈值的系数组合。根据图4,低于阈值的有4种组合,组合1、4、11和26。其余的系数组合其吞吐率高于阈值,在这些组合中,有17个组合的最高投递率达到1。稳定区出现在当RSSI相关系数值为0.3的时候,链路估计和成本估计的相关系数可以任意取值。在这个稳定区域里,有六个组合,从组合16到组合21。由此,最佳转发公式表示如下
选取这6种组合任何一种,结果几乎是一样。在最佳转发路由协议中,选择式 (8)作为最佳转发公式。
图4 最佳转发系数测定的实验结果
2.3 最佳转发路由协议的性能
如图5(a)所示,3种路由协议 (OF,RIP和贪婪转发)在不同的数据包速率下的吞吐量。它显示了OF路由协议与贪婪转发和RIP路由协议吞吐量网络性能比较,OF提供了最佳吞吐量性能。包速率低于2包/秒,3个路由协议的性能表现相似,且吞吐量都为1。然而,在包速率2包/秒以上时,贪婪转发的吞吐量开始下降。当包速率为20包/秒时,该协议吞吐量性能最差,为0.57。包速率增加到20包/秒以上时,此协议的性能会不断下降。RIP路由协议的吞吐量性能比贪婪转发好。该协议的最低吞吐量出现在当包速率为20包/秒时,为0.89。总体而言,最佳转发在不同的包速率下吞吐量都等于1,因此该路由协议提供了更好的性能。
3个路由协议的数据包丢失情况如图5(b)所示。3个协议在包速率低于2包/秒时,数据包几乎不发生丢失。然而,贪婪转发协议数据包丢失是从包速率为5包/秒时开始的,而且数据包的丢失,随着包速率增加而增大。最大丢包是在20包/秒时达38.7%。对于RIP,严重丢包只发生在包速率为20包/秒时,百分比是11.8%。几乎没有观察到最佳路由协议的丢包情况,意味着所有传输的数据包都成功到达目的地。因此,在包丢失方面,与其他两个路由协议相比,最佳转发的性能更好。
图5 三种路由协议的性能比较
3 结束语
本文介绍了一种基于IPv6的无线传感器网络最佳转发路由协议。该路由协议综合考虑了链路估算、成本估计和RSSI,更好地实现了高投递率、低丢包率。为了确定链路估算、成本估计和RSSI相关系数值,实验第一部分完成了36种组合下的性能测试。实验表明,有6种系数组合下的投递率表现良好。选择其中一个组合用于路由算法和路由的实际性能测试评估。实验选取的两个比较路由协议分别为RIP和贪婪转发路由协议。结果表明,相比RIP和贪婪转发路由协议,最佳转发路由协议在投递率和丢包率方面提供了更好的性能。
[1]Jean-Philippe Vasseur,Adam Dunkels.Interconnecting smart objects with IP-the next internet[M].Massachusetts:Morgan Kaufmann Publishers,2010:25-30.
[2]Jonthan WHui,David E Culler.Extending IPto low-power wireless sensor network [J].IEEE Computer Science,2008,27(6):202-210.
[3]LI Hai.Research and implementation of6LoWPAN adaptation layer[D].Shanghai:East China Normal University,2007:8-13(in Chinese).[李海.6LoWPAN适应层的研究与实现[D].上海:华东师范大学,2007:8-13.]
[4]WANG Xiaonan,GAO Deiming.Design and implementation of 6LoWPAN sensor node [J].Journal of Tansduction Techno-logy,2010,19(2):150-154.
[5]WANG Xiaonan,GAO Demin.6LoWPAN sensor node design and implementation[J].Journal of Computer Science and Technology,2010,18(6):120-126(in Chinese).[王晓喃,高德民.6LoWPAN传感器节点的设计与实现[J].传感技术学报,2010,18(6):120-126.]
[6]Ali A,Rashid R A,Ariffin S H F,et al.Fisal optimal forwarding probability for real-time routing in wireless sensor network [J].Automatica,2009,18(3):105-110.
[7]Couto D De,Aguayo D,Bicket J,et al.High throughput path metric for multi-hop wireless routing [J].IEEE Trans Automat Contr,2008,15(7):160-168.
[8]Joe-Air Jiang,Cheng-Long Chuang,Chia-Pang Chen,et al,A RSSI-based environment-adaptive dynamic radiation power management for wireless sensor networks[J].IEEE Trans Sign Proc,2008,43(11):184-190.
[9]Jukka Suhonen,Mauri Kuorilehto,Marko Hann ikainen,et al.Cost-awared dynamic routing protocol for wireless sensor network-design and prototype experiment[J].IEEE Trans Sign Proc,2010,26(10):52-60.
[10]Jean-Philippe Vasseur,Adam Dunkels.Moteiv tmote-sky datasheet[M].Massachusetts:Morgan Kaufmann Publishers, 2011:100-110.
[11]Chipcon,CC2420 2.4 GHz IEEE 802.15.4/ZigBee-Ready RF Transceiver.