一种适用于无线传感器网络的混合MAC协议

2020-10-13 07:36吴丽杰张璐璐
攀枝花学院学报 2020年5期
关键词:时隙吞吐量能耗

吴丽杰,张璐璐,唐 珊

(安徽粮食工程职业学院,安徽 合肥 230011)

无线传感器网络(WSN)由于其在环境监测、精准农业、工业现场监测、目标跟踪、野生动物保护和军事应用等领域的广泛应用而变得非常流行。此外,WSN还作为物联网的一种末梢网络和感知延伸网,是物联网的重要基础。传感器部署在无人值守的环境中,传感器节点由电池供电,频繁更换电池并非易事。随着物联网、车载Ad Hoc网络和其他无线通信系统的广泛应用,迫切需要提高WSN的能量效率、吞吐量和其他传输性能[1-3]。

WSN节点能量主要消耗在无线通信上,数据链路层中的介质访问控制(MAC) 决定着无线信道的使用方式,控制节点的工作状态,对节点和WSN寿命起决定性作用[4]。MAC协议中,载波侦听多路访问(CSMA)是理想的低竞争网络解决方案,但在高竞争环境却产生较低吞吐量;而时分多址(TDMA)在高竞争下可以有效地调度节点并保持高信道利用率,但是在低竞争环境下有较严重的时隙浪费。研究者们提出不少混合MAC协议,这类协议结合了TDMA和CSMA的优点同时弥补它们的不足,如ABROAD[5]、Z-MAC[6]等。混合MAC协议在网络竞争较低时使用CSMA,在高竞争下切换到TDMA模式。Z-MAC是其中比较典型的代表,它采用DRAND时隙分配算法,相比较其他节能MAC协议,能耗较高[7]。

针对Z-MAC能耗较高,文章提出一种基于节能DRAND算法的新MAC协议。新MAC协议相比较Z-MAC,具有较高的吞吐量和较低的能耗。

1 Z-MAC介绍

Z-MAC在启动时需要执行以下网络设置阶段:邻居发现、时隙分配、本地帧交换和全局时间同步。在邻居发现阶段,每个节点都收集其一跳邻居列表,其中包含邻居的一跳邻居。在邻居发现结束时,每个节点将具有两跳邻居列表。该列表用作分布式时隙分配算法的输入,以将时隙分配给网络中的每个节点。时隙分配阶段,采用DRAND算法,该算法根据两跳范围内的节点数来分配时隙,而不是依赖网络的拓扑结构。通过限制每轮申请节点时隙的概率,DRAND能保证节点两跳范围内的时隙没有重叠,数据收发不会产生干扰和冲突[8]。之后每个节点将自身的帧大小和时隙数转发到其两跳邻居节点,完成本地帧交换阶段。最后,所有节点都同步到第一个时隙,进入Z-MAC的传输控制阶段。

Z-MAC的传输控制阶段有两种节点模式:低竞争级别(LCL)和高竞争级别(HCL)。在LCL模式, 节点在自身时隙内可以优先发送数据,同时也可抢占共他节点的时隙,此时工作方式为CSMA。当节点从其两跳邻居中的节点接收到显式竞争通知(ECN)时,该节点会处于HCL模式,通知两跳内节点禁止抢占其他时隙,进入TDMA工作方式。

尽管Z-MAC利用了CSMA和TDMA的优点,但网络设置的4个阶段能耗开销很大[9]。网络设置中的时隙分配阶段采用DRAND,而该算法采用基于随机概率的分配机制,这导致消息在分发过程中的冲突率高,算法执行时间长且能耗较高。为了解决这个问题,相关研究者提出了基于节点剩余能量和拓扑结构的改进时隙分配算法E-T-DRAND算法[10-11]。该类算法是对DRAND算法的改进,当请求时隙资源时,低能量节点具有更高的时隙分配优先级,能够平衡能耗,提高时隙利用率。

2 新混合MAC协议

2.1 协议设计思路

新混合MAC协议解决Z-MAC在网络设置阶段的邻居发现与时隙分配能耗开销过大的问题,即将E-T-DRAND算法替换Z-MAC中采用的DRAND时隙分配算法。新协议和Z-MAC在吞吐量和能量消耗上进行对比,验证新协议是否比原协议更节能。

2.2 网络设置阶段的邻居发现

E-T-DRAND引入了能量拓扑因子的概念。将节点i的剩余能量表示为Ei,节点i的邻居节点能量信息表示为Ni,未分配时隙的邻居节点的个数表示为Ti。能量拓扑因子ET表示为:ET->F(Ei+Ni+α×Ti) ,其中参数α∈[0, 1]。ET是基于节点剩余能量和拓扑结构的信息,对时隙分配有着很大的影响。

E-T-DRAND通过HELLO消息广播节点的剩余能量信息。节点接收到时隙分配请求阶段发送的HELLO消息,更新单跳邻居的剩余能量信息。同理通过获取单跳邻居节点的剩余能量信息表,节点更新两跳邻居节点的剩余能量信息。至此,节点获得了两跳范围内的所有邻居节点及其剩余能量信息。

2.3 网络设置阶段的时隙分配

为了保障剩余能量低的节点不会因为能量耗尽而中断传输,根据ET因子来进行时隙分配优先级设计。在时隙分配请求期间,第一次只有一个节点可以发送消息。一个节点邻居节点数较多,如时隙分配失败会导致消耗额外的能量,该节点将获得较高的时隙分配优先级。如果一个节点的剩余能量较低,则邻居节点也将获得较高的优先级。如果节点决定分配一个时隙,但是两跳范围内节点的剩余能量较低,节点会停止分配时隙并降低其时隙分配优先级。根据ET因子,时隙分配优先级设计伪码描述如下:

Node A;

Node B;//节点A单跳邻居节点

Node C;//节点A两跳邻居节点

ET[];//节点的时隙分配优先级数组

hasLowEnergy(i);//判断剩余能量是否较低

ET [A]+=neighbourNum;//初始值为邻居数

//提高节点B的优先级

while(节点B有未分配时隙的单跳节点&& hasLowEnergy(节点B未分配时隙的单跳节点)) {

ET [B]++;

}

//提高节点C的优先级

while(节点C有未分配时隙的两跳节点&& hasLowEnergy(节点C未分配时隙的两跳节点))

{

ET [C]++;

}

//发送时隙请求

while(max(ET [])==ET [A])

{

发送时隙请求包;

设置当前状态为请求状态;

}

2.4 吞吐量分析

设定由N个节点组成且分布均匀的WSN。r表示节点的传输半径,A表示所有节点在其中移动的二维几何区域。

根据E-T-DRAND算法,两跳范围内只有一个节点可以访问时隙。从几何学角度分析,任意两个节点在彼此传输半径的概率为πr2/A。对于任何两个这样的连接节点,间距x(0≤x≤r)的累积分布函数为:

(1)

随机分布函数f(x)=F(x)dx=2x/r2,间距x的期望值可表示如下:

(2)

由于新混合MAC协议根据ET因子来进行时隙分配优先级设计,分析中先假定任意一个节点需要发送数据包的概率为α,占用时隙后发送数据包的概率为α/N。设定P为一个节点竞争时隙的概率,则节点竞争成功概率可以表示为:

那么一个节点的近似平均吞吐量Tnode可表示如下:

通过分析可知,节点的吞吐量和WSN中的节点数成正比例关系。在协议仿真阶段,将通过不同节点数来验证新MAC协议的吞吐量和其他性能。

3 新混合MAC协议仿真

网络模拟器(NS2)是一款开源且提供的模块几乎涉及到了网络技术的所有方面[12]。利用NS2,可以较方便添加新的MAC协议。由于新MAC协议是基于Z-MAC,将新MAC协议从吞吐量和能量消耗方面和Z-MAC进行比较。

3.1 仿真场景

网络拓扑由20~200个节点组成,节点随机分布在区域为40 m*40 m的范围,信道速率为1 Mbps,传输功率为2.4 GHz。节点根据彼此的距离分成不同集群,每个集群节点数为5~10个。

3.2 仿真结果对比分析

3.2.1 吞吐量

图1显示了新MAC协议与Z-MAC在不同节点数下的吞吐量对比。随着节点数的增加,系统吞吐量明显增大。由于新MAC协议在网络设置阶段采用E-T-DRAND时隙分配算法,避免了在时隙分配请求阶段的随机性,提高了时隙利用率。即MAC协议相比较Z-MAC提高了系统吞吐量。

3.2.2 能量消耗

图2显示了新MAC协议与Z-MAC在不同节点数下的能耗对比。随着邻居节点数的增加,传输链路变短,能耗明显降低。而新MAC协议减少了时隙分配失败的可能性,平衡了能耗,相比较Z-MAC,新MAC协议的能耗要更低。

4 结束语

文章探讨了Z-MAC协议的优缺点,针对Z-MAC能耗较高的问题,提出使用节能的E-T-DRAND时隙分配算法替代Z-MAC协议使用的DRAND算法。在此基础上,设计了新的混合MAC协议,新协议通过对节点时隙分配阶段节点剩余能量及拓扑信息更新,减少了由于随机性时隙竞争引起的相邻节点的能量消耗。通过仿真,证明了新的混合MAC协议比Z-MAC节约了能耗并提高了系统吞吐量。

猜你喜欢
时隙吞吐量能耗
基于阵列天线的数据时隙资源比例公平动态分配方案设计
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
基于时分多址的网络时隙资源分配研究
日本先进的“零能耗住宅”
Link—16中继时隙自适应调整分配技术研究
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量