董发志 熊成彪 丁洪伟 张颖婕 杨俊东
摘 要: 针对当前MAC协议的研究大多停留在软件仿真阶段的問题,设计一种适用于两层无线传感器网络的混合型MAC协议,并利用节点实现硬件仿真。簇内采用门限服务方式,各节点接到唤醒通知后,依据簇头发布的轮询列表,按照顺序发送数据,实现无冲突通信。簇间采用随机多址接入,各簇头随机争用信道,向汇聚节点发送数据。基于Z?Stack进行协议设计,最后利用CC2530节点搭建无线传感器网络,实现该协议。实验结果表明,使用该协议的系统能够正确运行,吞吐量和平均时延、平均排队队长的实验值与理论值一致。
关键词: 无线传感器网络; MAC协议设计; 随机多址接入; 门限服务; 轮询服务; 硬件仿真
中图分类号: TN915.04?34; TP393 文献标识码: A 文章编号: 1004?373X(2020)01?0001?04
Implementation of hybrid clustering MAC protocol in wireless sensor networks
DONG Fazhi, XIONG Chengbiao, DING Hongwei, ZHANG Yingjie, YANG Jundong
Abstract: In order to solve the problem that the MAC protocol research still mostly remains in the stage of software simulation, a hybrid MAC protocol suitable for two?layer wireless sensor networks was designed, and hardware simulation was realized by means of nodes. The threshold service mode is adopted within the cluster. After receiving the wake?up notification, each node sends data in sequence according to the polling list issued by the cluster head in order to realize collision?free communication. Random multiple accesses are adopted among clusters, and each cluster head randomly contends for a channel to send data to the sink node. The protocol is designed based on Z?Stack, and the wireless sensor network is built by CC2530 node to realize the protocol finally. The experimental results show that the system using this protocol can operate correctly, and the experimental values of throughput, average delay and average queue length are in line with the theoretical values.
Keywords: WSN; MAC protocol design; random multi?access; threshold service; polling service; hardware simulation
0 引 言
随着无线传感器网络(WSN)被广泛应用于工业、农业、国防、生活等各个领域,适用于各类场景的MAC协议的应用研究成为热点。MAC协议的设计首先考虑如何有效地利用能量来延长节点的寿命[1]。许多研究者提出了很多适用于不同无线传感器网络应用的MAC协议。基于竞争的MAC协议有S?MAC[2],T?MAC[3],B?MAC[4]等。基于调度的MAC协议时分多址接入(TDMA),周期性地给每一个节点分配一个时隙用于数据的接收和发送,其他节点可以在此时进入休眠,从而节省了能量。Z?MAC[5]协议是一种TDMA和载波检测多路接入(CSMA)结合的混合协议,按照优先级访问时槽。它给两跳邻居内的每个节点预先分配一个不同的时槽,并根据不同争用条件按不同的传输控制策略控制节点对时槽的访问[6]。该领域的学者还进行了许多的协议优化研究,但多数都是利用仿真软件进行验证,较少实际应用于无线传感器网络中。本文针对层次型网络结构提出一种混合型的MAC协议,簇内采用轮询控制,簇间采用随机多址接入,簇头随机争用信道向汇聚节点发送数据,并在CC2530节点搭建的无线传感器网中实现了该协议。
1 网络拓扑结构
本文提出的混合型MAC协议适用于分簇层次机构的无线传感器网络,如图1所示。每个节点之下均包含相同的节点个数,本文模型为五个簇。汇聚节点是整个网络的发起者和维护者,负责接收和处理簇头消息。簇头具有路由和数据融合的功能,对其子节点进行轮询服务,接收其发送的数据,并转发至汇聚节点。普通节点负责数据的采集,在簇头的控制下,在睡眠、发送等工作状态下交替。
2 混合型MAC协议的实现
本文所述的协议結合了随机多址和轮询机制,簇内利用门限服务机制,由簇头发送轮询列表和唤醒通知,节点接到通知后,使用门限服务方式向簇头发送数据。簇间采用随机多址,各簇头随机抢占信道,向汇聚节点发送数据。
2.1 随机多址
随机多址接入协议系统如图2所示。系统每个节点在每个时隙开始时随机向汇聚节点发送数据包,节点存在发送和不发送两种状态,若两个节点在同一个时隙内同时发送数据包,则这两个数据包就会发生碰撞,汇聚节点将不能接收到信息。当这个时隙中只有一个节点发送数据,汇聚节点才能正确接收到数据包。若当前时隙没有任何一个节点发送数据包,则该时隙空闲。
时隙式随机多址的吞吐量理论表达式可以表示为:
[S=Ge-G] (1)
对等式两边同时求导数,得:
[S=e-G-Ge-G=(1-G)e-G] (2)
平均时延为:
[T=1S] (3)
式中:[S]表示吞吐量;[G]表示信息分组的到达率。当[G=1]时,得到吞吐量的最大值为[1e],即0.368。
终端节点数为5和20的吞吐量如图3所示。
从图3中可以看出,随机多址接入协议的理论最大吞吐量为0.368,终端节点数为5时,仿真吞吐量曲线和理论曲线有一定误差,造成误差的原因是节点数较少。终端节点数为20时,二项分布基本符合泊松分布,仿真值和理论值一致。
2.2 轮询服务
轮询系统按照其服务方式的不同,可以分为完全服务、门限服务、限定服务[6?8]三种。完全服务的过程是:服务器不仅要将当前站点中存在的信息分组服务完,在服务过程中进入站点的信息分组也要服务完,直到当前站点中不存在信息分组。门限服务只服务当前站点中所存在的信息分组,对于服务过程中到达的信息分组,则缓存在站点中,等待下一次的服务。限定服务一般指限定([K=1])服务,即每一次轮询到的站点只发送一个信息分组。
对于分簇网络,将门限服务方式运用于普通节点和簇头的通信。轮询系统采用马尔科夫链和概率母函数的方法构建数学模型[9],以此来分析其性能。门限服务的平均时延如下[10]:
[E(WG)=12γ-1+11-NλβN-1+γ+λβρ+]
[ Nλβ[2γ+(β-1)]+λβ1-N+1] (4)
平均排队队长为:
[gii=Nγλ1-Nλβ] (5)
式中:[N]为终端节点数目;[λ]表示信息分组的到达率;[β] 表示服务信息分组的服务率;[γ]表示两个站点之间的转换时间。
3 实验的实施
3.1 传感器节点的选择
本文传感器节点选择德州仪器制造的CC2530,其芯片为TI公司的CC2530。CC2530基于51内核,是一个兼容IEEE 802.15.4的真正的片上系统。相比于CC2430,其闪存达到256 KB,可以满足大应用的需求,拥有强大的地址识别和数据包处理能力。CC2530提供了101 dB的链路质量,接收灵敏度高,抗干扰性强,完全能够满足本实验的需求。
3.2 簇结构的划分
分簇算法是无线传感器网中实施分层控制的重要方法。分簇算法主要对网络中的节点进行层次的划分,若干相邻的节点组成一个簇,每个簇有一个簇头,各个簇头构成了上层的骨干网,所有的簇间通信都通过骨干网转发[11]。本实验的层次结构通过修改协议栈实现,Z?Stack协议栈支持多种网络拓扑结构,典型的分为三种类型:星型、树型、网状型[12]。为了实现本实验的网络拓扑结构,采用树型结构。通过修改协议栈的最大路由深度和各层最多能够连接的子节点数,即可形成比较稳定、均匀的两层结构。
3.3 软件设计
基于Z?Stack进行软件设计。分别对终端节点、路由器和协调器进行程序设计,实现流程如图5所示。按下汇聚节点的按键后,整个系统开始工作,普通节点初始化完成,等待簇头的命令帧,同时以一定的到达率产生数据,将数据放入信息缓冲区中。簇头发布轮询列表按列表发送唤醒通知,向某个节点发送唤醒通知后,产生一个合适的等待时间。在等待时间内未收到该节点的数据,则触发跳转程序,按照列表顺序继续发送通知。收到数据则随机将其转发到汇聚节点。普通节点侦听到发送命令后将缓冲区中的信息分组复制到待发送缓冲区,并发送出去,直到发送缓冲区中没有数据。5个簇头用A,B,C,D,E编号。门限服务中参数的设计为[β=1],[γ=1]。
4 性能分析
本文实验分析的方法是利用python程序观察簇头和汇聚节点串口的输出,可以看到汇聚节点的输出为:[A→B→C→D→E],如此反复。同时将数据分别读取,存储为两个文本文件。在进行相应的处理之后,可以得到相关数据。主要评估的参数是簇头及其子节点组成的轮询系统的平均时延、平均排队队长,以及整个系统的吞吐量。
轮询系统的平均时延的实验值计算如下[10]:
[轮询平均时延实验值= 服务完所有节点中信息分组所需的时间各节点信息分组的总数]
轮询的平均排队队长的实验值由下式计算:
[平均排队队长实验值=各节点信息分组的总数节点数×循环次数]
系统吞吐量的实验值可以由下式计算:
[吞吐量实验值=汇聚节点成功接收的信息分组数发送的信息分组的总数]
实验中选取各个到达率的前1 000个信息分组来计算相关指标,计算轮询的时延需要知道簇头节点服务完1 000个信息分组所需的时间长度。这个时间利用串口的时间戳来记录。计算平均排队队长所需参数,各节点信息的总数为1 000,节点数为5,循环次数则需要利用程序记录下服务完1 000个信息分组所需的循环次数。通过理论公式计算的理论值和实测实验值对比如表1所示。
从表1中可以看出,实验值与理论值存在一定误差,但是都在理论值附近波动。要降低误差可以通过增加节点数和信息分组的数量来实现,但是所需的实验数据的收集需要花费更长的时间。
系统的实际吞吐量如图6所示。从图6中可以看出,当到达率为1时,系统的吞吐量达到最大。与理论值相比,存在误差,考虑到实际传输过程中的干扰和其他硬件原因,这个误差是可以接受的。
5 结 语
针对目前对于无线传感器网络MAC协议的研究大多停留在软件仿真阶段,本文选取随机多址接入,并结合门限服务机制设计一种混合型的MAC协议,将其应用于真实的传感器网络中。簇内的轮询通信方式将多跳通信转化为单跳,避免了碰撞产生的能量损耗。所搭建的无线传感器网络能够正确实现协议,并且平均时延、平均排队队长、吞吐量与理论值一致,迈出了MAC协议硬件仿真的重要一步,为今后更加复杂的协议的硬件实现奠定了基础。
参考文献
[1] 王翠霞.无线传感器网络能耗自适应机制研究[D].北京:北京工业大学,2014.
[2] PORTILLO C, MARTINEZ?BAUSET J, PLA V. Modelling of S?MAC for heterogeneous WSN [C]// IFIP International Conference on New Technologies, Mobility and Security. [S.l.]: IEEE, 2018: 1?6.
[3] ZHANG D, CHEN L, XUE F, et al. T?MAC: protecting mandatory access control system integrity from malicious execution environment on ARM?based mobile devices [C]// International Conference on Information Security. [S.l.]: Springer International Publishing AG, 2017: 348?365.
[4] KAMAL A, WARIP M N M, OMAR N, et al. Power consumption optimization based on B?MAC protocol for multi?scenario WSN by Taguchi method [C]// Recent Trends in Information and Communication Technology. [S.l.]: Springer International Publishing AG, 2017: 210?217.
[5] IWATA T, MINEMATSU K, PEYRIN T, et al. ZMAC: a fast tweakable block cipher mode for highly secure message authentication [C]// Advances in Cryptology?CRYPTO 2017. [S.l.]: International Association for Cryptologic Research, 2017: 34?65.
[6] 金喜龙,章国安,叶翔,等.认知车载网中基于TDMA/CSMA的混合多信道MAC协议研究[J].计算机应用研究,2018,35(3):874?878.
[7] 杨志军,丁洪伟,陈传龙.完全服务和门限服务两级轮询系统[E(x)]特性分析[J].电子学报,2014,42(4):774?778.
[8] YANG Z J, DING H W. Characteristics of a two?class polling system model [J]. Tsinghua science and technology, 2014, 19(5): 516?520.
[9] 苏杨,丁阳洋.非对称门限服务与完全服务的性能解析[J].计算机系统应用,2018,27(4):145?150.
[10] 苏杨,杨志军,丁阳洋,等.无线传感器网络中轮询系统控制的实现[J].电子测量技术,2018,41(4):66?70.
[11] 冯咲,张慧档.无线传感器网络分簇路由中基于自适应的簇头轮换算法[J].传感技术学报,2018,31(6):949?956.
[12] 董道领,张峰.基于区域优先的树型ZigBee网络的性能分析[J].信息技术,2017(9):130?133.
作者简介:董发志(1993—),男,云南楚雄人,硕士研究生,主要研究方向为无线传感器网络、随机多址通信系统。
熊成彪(1995—),男,云南楚雄人,硕士研究生,主要研究方向为无线传感器网络、物联网。
丁洪伟(1964—),男,江西于都人,博士,教授,博士生导师,主要研究方向为轮询多址系统、随机多址系统。