臧景才
(青海广播电视大学继续教育学院,青海 西宁 810000)
基于无线传感网络(Wireless Sensor Networks,WSNs)[1-2]的工业物联网(Internet of Things,IoT)已成为工业自动化、工业监测和控制应用[3-4]的关键技术。而能效、数据包传递率是这些应用的关键[5]。由于IoT设备的电池所存储的能量是固定的,一旦设备能量消耗殆尽,节点就无法继续工作。因此,提高设备能量利用率成为基于WSNs工业应用的关键。
WSNs采用由应用层、传输层、网络层、数据链路层和物理层组成的五层协议体系结构。应用层是面向用户终端;传输层对流量和差错进行控制,其旨在提高数据传输的可靠性;网络层对链路状态进行管理,包括构建链路,维护链路;数据链路层实现数据块的传输,其数据单位为数据包(数据块);物理层实现比特流在物理介质上的传输。其中数据链路层又可分为逻辑控制层和接入控制层(Medium Access Control,MAC)。逻辑控制层为节点构建链路,而MAC旨在协调多节点间共享资源,在最小化竞争概率前提下提高信道利用率。因此,有效地设计MAC协议可缓解节点间对信道的竞争,提高能量的利用率。
从信道的使用角度考虑,现有的MAC协议可划分为基于竞争类的MAC、基于调度类的MAC以及混合类的MAC。多载波监听接入/无碰撞(Carrier-Sense Multiple Access with Collision Avoidance,CSMA/CA)技术属于基于竞争类协议。作为最广泛的一类协议,CSMA/CA中的每个用户通过硬件装置侦听信道状态,只有当信道在空闲状态时,节点才能发送数据包。通过侦听信道,CSMA/CA协议提高了信道利用率,降低了传输数据包时发生碰撞的概率。在CSMA/CA协议中,仅活动节点参与竞争,而其他非活动节点不参与接入竞争[6]。尽管CSMA/CA协议提高了资源的利用率,但是增加了数据包传输时延。此外,CSMA/CA协议也不能完全消除竞争冲突。有学者针对碰撞检测的CSMA/CA协议进行了性能分析[7],并提出了提升吞吐量的改进策略。相比于基于竞争类的MAC,基于调度类的MAC可以使节点有序地使用信道资源。基于时分多址(Time-division Multiple Access,TDMA)的MAC[8-9]广泛应用于工业领域。文献[10]提出了基于网络编码的TDMA移动自组网的MAC协议设计;文献[11]将博弈论应用于TDMA-MAC协议,通过博弈论使各节点有序地作用信道资源;文献[12]采用自适应帧结构的MAC协议,将控制信道分为广播周期和协调周期,不同节点通过协调周期协商信道资源的使用;文献[13]引用共享概念,允许符合条件的车辆共享同一时隙,提高时隙利用率。基于TDMA-MAC协议是从信道资源利用角度设计MAC协议,并没有考虑到节点能量消耗问题。为此,本文将竞争类MAC和TDMA-MAC协议相结合,提出一种面向唤醒无线电WSNs的接入控制协议,对唤醒无线电(Wake-up Radio,WuR)的无线传感网络(Wireless Sensor Networks,WSNs)中的接入控制协议的能量消耗及时延问题进行研究。
在基于WuR的WSNs中,节点具有两类无线电模式:主无线电(Main Radio,MR)和唤醒无线电WuR。MR主要负责数据传输,WuR用于唤醒MR。MR在多数时间内处于休眠状态,只有收到唤醒呼叫(Wake-up Calls,WuC)时,才进入活动状态。通常,既可用发射节点传输WuC消息,也可由接收节点传输WuC消息。前者称为发射器初始化(Transmitter-Initiated,TI),后者称为接收器初始化(Receiver-Initiated,RI)。对于IR-WuR,由接收器向发送节点传输WuC消息,进而激活发送节点的MRs。
传统的IR-WuR协议中,接收节点负责启动数据传输阶段。当接收节点准备收集数据时,它就通过MR向邻居节点传输WuC消息,一旦收到WuC消息,节点采用退避机制进行信道竞争,只有竞争成功的节点才可以传输数据包。完成数据包传输后,再由接收节点广播beacon消息启动新一轮的数据包传输。如果发送节点没有数据包需要传输,它就立即关闭MRs。图1为IR-WuR数据传输过程。
图1 IR-WuR数据传输过程示意Fig.1 Data transmission of IR-WuR
由图1可知,将每个周期划分为活动状态和休眠状态,其中活动状态又分多个时隙,每个时隙传输一个数据包。假定节点RN在第1时隙成为竞争成功者,一旦接入成功,RN就向信宿(接收节点)传输一个数据包。然后,第2个时隙再开始传输数据包。节点1和节点2在时隙2发生碰撞,数据包传输失败。一旦完成数据包的传输,就进入休眠状态。信宿每完成一次数据包传输,就发送beacon消息(B)。节点1和节点2在第2个时隙发生碰撞,无法进行数据传输。假定节点1在第3个时隙内成功接入信道,就可以在时隙3内完成数据包传输。
从上述操作过程可知,只有一个竞争成功节点能接入信道。同时,其他未竞争成功节点需要监听数据包的交互。这种策略存在两点不足:由于未竞争成功节点也需要监听,它们与竞争成功节点一样都需要消耗能量;每成功接入一次信道,就只能传输一个数据包,增加了接入信道的频率。为此,本研究提出改进协议。
2.1系统模型考虑典型的IoT数据报告、数据收集场景,信宿从多个传感节点收集感测数据(图2)。假定一个簇有N个传感节点,这些传感节点也称为数据发送节点,信宿称为数据接收节点,当接收节点需要收集数据时,它就向发送节点广播WuC消息。一旦接收了WuC消息,发送节点就以CSMA/CA机制竞争接入信道。竞争成功的节点,称为赢者,然后,由赢者传输数据包。
图2信宿收信数据的系统模型Fig.2System model of receiving data of sink图3CPT-MAC协议的周期结构Fig.3Periodic structure of CPT-MAC图4CPT-MAC数据传输示意Fig.4Data transmission of CPT-MAC
2.2CPT-MAC策略CPT-MAC(Consecutive Packet Transmissions MAC,CPT-MAC)策略允许赢者在每次成功接入信道后可连续传输多个数据包。假定一个周期Tcycle被划分为活动时期和休眠时期,将每个活动时期划分为m个时隙,如图3所示。
当信宿(接收节点)需要收集数据时,它就向簇内的N个传感节点(发送节点)广播WuC消息,即启动数据收集阶段。一旦接收了WuC消息,发送节点就打开MRs,并以CSMA/CA机制竞争接入信道,赢者就向信宿传输数据包{Data+q},并且在数据包内携带赢者缓存队列里的数据包数[14]。缓存队列里的数据包数表示赢者需要传输的数据包数,假定赢者缓存队列里有q个数据包,同时,假定缓存队列里能存储的数据包数最大值为Q,即q≤Q。当信宿收到数据包后,信宿就回复确认包{ACK+q-1},其他发送节点(非赢者)就在接下来的q-1个时隙内休眠。赢者可在q-1个时隙内连续传输q-1个数据包。
通过此策略,一方面可以使得赢者连续传输数据包,无需每传输一个数据包就需要竞争接入一次,减少了竞争接入信道的次数;另一方面,非赢者在赢者传输数据时隙内休眠,降低了能耗。此外,每接收一个数据包,信宿就传输一次beacon消息。
图4显示了CPT-MAC协议中节点接入信道的过程,其中N=3,q=3。假定节点在第1时隙竞争信道为赢者,它连续传输3个数据包,当完成第一个数据包后,其他节点在接下来的2个时隙内休眠。因此,在第4个时隙时,就进行一次新一轮竞争。
2.3能量分析为了计算每个时隙内平均能量消耗,考虑以下几个能耗因子:
与k个节点竞争,成功传输数据时所消耗的能量:
(1)
传输失败时所消耗的能量Ef:
(2)
监听时期所消耗的能量Eoh:
(3)
休眠时期所消耗的能量Eina:
(4)
需要注意的是传输失败时所消耗的能量Ef与传输成功时所消耗的能量Es相等。在1个时隙内,当赢者处于活动状态时,假定成功传输的概率为Ps,而传输失败(发生碰撞)的概率为Pf,若赢者处于非活动状态时,它就进行休眠状态。
(5)
(6)
而两个协议在休眠时期内所消耗的能量Esleep:
(7)
因此,节点在一个周期内所消耗的能量E:
E=Esleep+Eactive
(8)
因此,传感节点的网络寿命LT可表示为Einitial/E,其单位为周期。
3.1仿真平台为了更好地分析CPT-MAC协议的性能,利用MATLAB软件建立仿真平台。采用M/G/1/K排队理论分析传输数据包的过程,并获取队列长度和传输数据包的丢失率等相关数据。在竞争接入信道阶段,利用二维马尔可夫链建模理论,计算数据包的传输时延,马尔可夫链常用于分析离散事件的随机过程。系统依据概率分布可以从一个状态变到另一个状态。
在仿真分析中,节点数从1至10变化,每个队列的存储空间为5,具体仿真参数如表1所示,这些参数是依据文献[14]设置的。同时选用IR-WuR作为参照,并对比分析能量消耗和网络寿命、时延和传输数据可靠率。其中能量消耗和网络寿命反映了能量利用率,而时延和传输数据可靠率反映了数据传输性能,并对节点能耗性能和数据传输性能进行分析。
表1 仿真参数
3.2能耗性能分析本研究对能耗性能分析时,设置Q=5,节点数N从1至10变化,实验结果如图5和图6所示。
图5 平均每个周期内的能量消耗Fig.5 Average energy consumption per cycle
图6 网络寿命Fig.6 Network lifetime
从图5可知,提出的CPT-MAC协议的能量消耗低于IR-WuR协议。其原因是IR-WuR协议中非赢节点需要在所有时隙内监听赢者,即使发生碰撞,所有节点都需要监听。因此,IR-WuR协议的能耗与节点数呈线性关系。而CPT-MAC协议中非赢者只需要在第1个时隙内监听,在其他时隙内可进入休眠状态,从而降低了能耗。
图6显示了IR-WuR和CPT-MAC协议的网络寿命。由于CPT-MAC协议的能耗低于IR-WuR协议,其网络寿命高于IR-WuR协议。此外,随着节点数N的增加,网络寿命也随之下降。其原因是节点数N越多,分配的时隙数越多,越多的节点数据参以信道竞争,这必然增加了能量消耗,最终降低了网络寿命。
图7 传输时延Fig.7 Transmission delay
图8 数据传输可靠率Fig.8 Reliability of data transmission
从图7可知,CPT-MAC协议的传输时延低于IR-WuR协议,其原因是CPT-MAC协议允许赢者可连续传输多个数据包,减少竞争接入的次数,降低碰撞的概率,提高了数据包传输的成功率,这有利于降低传输时延。
图8显示数据传输可靠率随节点数N的变化曲线。从图可知,节点数N的增加降低了数据传输可靠率,其原因在于节点数越多,网络内要传输的数据包数越多,这必然影响传输碰撞的概率。从而降低了数据传输可靠率。与IR-WuR协议相比,CPT-MAC协议的数据传输可靠率可以得到有效的提升。
基于竞争类的CSMA/CA协议,仅活动节点参与竞争,而其他非活动节点不参与接入竞争[6],而且CSMA/CA协议也不能完全消除竞争冲突,增加了数据包传输时延。基于TDMA-MAC协议是从信道资源利用角度设计MAC协议,并没有考虑到节点能量消耗问题[10-13]。CPT-MAC协议避免了传统的IR-WuR协议存在的问题。CPT-MAC协议允许节点在成功接入信道一次,可以传输多个数据包,而不是一个数据包。同时,当节点未能成功接入信道,节点就进入休眠状态,降低节点能耗。仿真结果表明,CPT-MAC协议能够有效地保存节点能量,降低数据传输时延,提升数据传输的可靠率。本研究的仿真场景比较简单,只考虑了小型无线网络。后期将扩大网络规模,增加节点数。此外,本研究未能分析将竞争类MAC和TDMA-MAC相结合所带来复杂性能,后期,将研究算法本身的复杂度,提升算法的综合性能。