基于语义寻址的绿色无线网络路由的研究
2019-12-23姜晶
姜 晶
(1.徐州开放大学,江苏 徐州 221116;2.郑州工业应用技术学院,河南 郑州 451150)
0 引 言
无线传感网络(Wireless Sensor Networks, WSNs)已广泛应用于工业自动化系统[1]。然而,部分资源限制阻碍了WSNs的应用发展,如严格的功率限制和有限的网络资源,特别是在部署大型WSNs时,存在较多的挑战[2],例如,能量效率、路由、不可靠的通信链路。
如何有效地使用节点能量是WSNs的一项基本挑战技术。然而,现存的多数方案只是着眼于如何提高节点的能量利用率。而文献[3-4]考虑了能量采集技术。事实上,基于能量采集(Energy Harvesting)的WSNs(EH-WSNs)也称为绿色网络。由于不依赖于电池或其他有限的功率源,EH-WSNs受到广泛关注。
除了能量之外,如何克服WSNs的物理限制也是WSNs一项挑战技术,如唤醒无线电(Wake-Up Radios, WUR)[5-6]。在WUR中,只有节点接收到唤醒序列后,节点才会唤醒。在这种方式下,仅当节点需要传输或接收数据包时,节点才打开它的收发器,而其他时间节点就关闭收发器。通过这种方式,节省节点能量。
此外,WUR还具有另一特性:语义寻址(Semantic Addressing)。通过允许设备有选择性地唤醒邻居设备,语义寻址可提高了网络性能,如能量利用率。
为此,结合WUR技术和能量收集,提出能量感知的交叉层路由(Routing based on Semantic Addressing, RBSA)。RBSA路由利用语义寻址选择下一跳转发节点。每个设备有两个唤醒地址。第一个地址是基于它离信宿的跳数和通往信宿路径的能量估计;第二个地址就是节点ID号。最后,通过实验仿真,分析RBSA路由性能,并与能量采集浪费感知(Energy Harvest Wastage-Aware, EHWA)路由[7]进行比较。实验数据表明,RBSA路由的数据包传递率提高了近28%,传输时延降低了35%、总体能量消耗降低了近50%。
1 RBSA路由
RBSA路由是一个交叉路由协议。当节点需要传输数据时,先接入信道,再选择下一跳转发节点。而RBSA路由是依据离信宿跳数和可用能量选择转发节点。
1.1 唤醒地址
(1)
其中ei表示节点i的可用能量。为了简化能量表述,对节点能量进行离散化,即ei∈{0,…,k}。
为了更好地理解,以图1为例进行分析。节点i离信实共有l跳距。可假定节点i通往信宿的路径上共有l个节点,且分别表示为j1,j2,…,jl-1。从图1可知,j1是离信宿最近的节点,且离信宿距离为1跳,而jl-1是离信宿最远,且离节点i最近的节点。
图1 连接信宿的路径
(2)
1.2 数据包转发
当节点需要向信宿传输数据包时,它首先向它的邻居节点传输Wake-Up序列。具体而言,节点i需向信宿传输数据包,则它就向信实信宿传输Wake-Up序列ω=ωl-1ωεl-1,其中l表示节点i离信宿的跳数,而εl-1表示路径的能量。即节点先选择能量最高的路由传输数据包。为此,节点i将ωεl-1设定为ωεl-1=k。
图集示意图
一旦接收Wake-Up序列,节点就自己的WUR与接收的序列进行配对,如果不相符,就不理睬,继续关闭无线电。反之,就打开无线电,唤醒并准备接收RTS包。
然后,节点i就传输请求包RTS。若接收了RTS包,节点就设置定时器,定时时间T反比于它的能量。具体而言,假定节点j接收了来自节点i发送的RTS包,则节点j的定时时间Tj:
(3)
其中Tmin表示最小的定时间隔,而ej表示节点j的剩余能量。rand为随机数。「·⎤表示向下限取整。之所以加入随机数,是为了避免能量相同的节点导致定时时间相同的情况。
图3 RTS和CTS包的传输过程示例
图3、图4分别表示发送节点(节点i)、接收节点(节点j)处理数据包的流程。
图4 发送节点的操作
图5 接收节点的操作
2 性能分析
2.1 仿真环境
选择开源的仿真软件Green-Castalia[8]建立仿真平台,其考虑WSNs能量相关的因素[9]。Castalia是面向WSN的低能耗的嵌入设备的仿真器,它是基于OMNeT++平台,并模拟了传感节点真实行为的仿真器。
同时,假定64个节点随机分布于224×56 m2网格区域,且每个网格大小为16×4。信宿位于仿真区域的左下角。
此外,网络内节点能够从环境中收集能量,如风能或太阳能量。同时,引用文献[10]的能量采集数据。节点将采集的能量存储于超级电容中,且最大操作电压为2.3伏,电容为50F[11]。
每个节点具有温度感测能力,感测耗时为171 ms,能量消耗为3 mJ[12]。传感节点对温度测量的动作服从泊松过程(传感节点并不是一直感测温度),且数据包产生间隔时间在1~120 s内变化。在仿真中,随机选择某一个节点作为源节点,由它向信宿传输数据。且数据包大小为58字节,信道数据传输率为250 Kbps。此外,收发器的传输距离为60 m,传输功率为-2 dBm。仿真时间为4天。
为了更好地分析RBSA的性能,选择文献[7]所提出的EHWA路由作为参照,并对比分析它们的性能,主要包括数据包传递率、传输时延、跳数和能量消耗。其中,数据包传递率是指成功传输至信宿的数据包数占总的数据包的比例。而传输时延是指传输到一个数据包到信宿的时间,跳数是指通往信宿路径的跳数。能量消耗是指仿真结束后,节点所消耗的能量。
2.2 数据包传递率
首先分析数据包产生间隔时间对EHWA和RBSA路由的数据包传递率的影响。间隔时间反映了流量。时间越短,单位时间内的流量就越大。同时,分析了节点收集风能和太阳能两类情况。实验数据如图6所示。
图6 数据包传递率
从图5可知,RBSA路由的数据包传递率明显优于EHWA,并且RBSA路由在间隔时间变化期间,数据包传递率大于92%。即使在最大的流量环境(间隔时间为1 s),RBSA路由的数据包传递率比EHWA路由提高了近28%。此外,注意到,EHWA路由的数据包传递率随流量增加而下降,而RBSA路由具有较稳定的数据包传递率性能。原因在于:RBSA路由资源消耗较少,优先选择能量高的路径传输数据包。
2.3 路径跳数
图7显示了平均传输一个数据包至信宿所需路径跳数,且与图5类似,节点可采集风能或太阳能。
图7 平均路径跳数
从图6可知,RBSA路由的路径跳数短于EHWA路由。RBSA路由约需3跳将数据传输至信宿,而EHWA路由需要平均5跳才能成功传输数据。并且流量越大,跳数也越多。原因在于:RBSA路由尽量选择离信宿更近的节点传输数据包,即跳数越小的节点传输数据包。同时,考虑路径能量,优先选择能量高的路径传输数据,降低了因节点能量耗尽而路径断裂的情况,进而避免重传。
2.4 传输时延
本次实验分析了平均传输时延随流量变化情况,实验数据如图8所示。
图8 传输时延
从图7可知,不论流量大小和能量源(太阳能或风能)的不同,EHWA路由的传输时延比RBSA路由的传输时延提高近50%。主要原因在于,EHWA路由选择的路由路径更长。路径越长,路径断裂的概率越大,重传率就越高,一旦需要重传必然大幅度地增加传输时延。此外,观察图7不难发现,流量大的增加,降低了传输时延。
2.5 能量消耗
最后,分析RBSA路由和EHWA路由的能量消耗情况,实验数据如图9所示。
图9 能量消耗
从图8可知,尽管RBSA路由具有高的数据包传递率,但是它的能量消耗仍低于EHWA路由。原因在于:EHWA路由产生较多的控制包。注意到,在最大流量时,EHWA路由的能量消耗比RBSA路由提高了近60%。此外,发现RBSA路由在太阳能环境下的能量消耗低于风能环境下的能量消耗。但是,RBSA路由的能量消耗并不随能量源变化。在风能和太阳能这两能源下,RBSA路由的能源消耗相近。换而言之,观察图6至图8,能量源对RBSA路由性能影响并不大。
3 结 语
基于绿色无线传感网络,提出RBSA路由。RBSA路由结合了唤醒无线电和能量收集特性,并利用语义寻找择优选择离信宿距离 短和能量大的路由传输数据。同时,利用Green-Castalia软件进行实验仿真。实验数据表明,提出的RBSA路由的数据包传递率、传输时延和能量消耗性能均优于EHWA路由。