一种高信道利用率的无人机自组网单阈值接入协议
2021-02-05朱克兰
任 智,杨 迪,胡 春,朱克兰
(1.重庆邮电大学通信与信息工程学院,重庆 400065;2.重庆邮电大学移动通信技术重庆市重点实验室,重庆 400065)
0 概述
无人机自组网(UAV Ad-Hoc Network,UANET)[1-2]是一种将无人机作为网络节点而建立的多跳自组织网络,其具有比单架无人机更好的自适应和扩展能力,广泛应用于农业、巡检、安防和救援等领域[3-5]。基于优先级概率统计的多址接入(Statistical Priority-based Multiple Access,SPMA)协议[6-8]是一种新的适用于无人机自组网的接入协议,其基于CSMA异步跳频机制[9-10],通过数据包优先级对信道负载状况进行反馈,从而有效利用信道带宽资源,近年来得到研究人员的广泛关注并取得了重要成果。文献[11]提出一个简单的分析模型,并将其用于计算饱和输入条件下的时隙成功传输概率。文献[12]提出一种基于优先级的多址接入(Priority-based Multiple Access,PriMA)协议,该协议考虑了站内排队的数据包QoS要求并为每个站提供基于优先级的访问。文献[13]为满足网络负载较大的时延敏感业务的低延迟传输需求,设计一种基于SPMA协议的移动自组网系统。文献[14]提出一种新的多信道媒质接入控制协议,该协议采用时延抖动算法并根据信道负载自适应动态调整抖动窗口,利用多信道机制使协议在有效保障系统稳定吞吐量的同时降低分组接入时延。文献[15]提出一种基于负载统计的改进算法TSMP-MAC,该算法使用基于业务量的负载统计,将上层数据包分为可以直接发送的优先级数据包、需要退避等待的优先级数据包以及直接丢弃的优先级数据包,保证了高优先级数据包分组的高成功率和低延时。
然而,现有TSMP-MAC协议和SPMA协议的网络节点信道负载统计时间不统一,统计出的信道负载信息不具备参考价值,且业务优先级阈值设置过多依赖假设的优先级分组分布比例,而在信道负载高于最低优先级阈值后发包成功率下降,导致低优先级数据丢包率增加,从而降低数据传输成功率和MAC层吞吐量,并造成信道资源浪费。鉴于此,本文提出一种多优先级单阈值接入控制(Multi-priority Single threshold Access Control,MSAC)协议。
1 网络场景与问题描述
1.1 网络场景
无人机自组网由多个地位相等的无人机节点构成[16],如图1所示,节点ID号唯一,通信方式为全双工且采用全向天线。各节点开机后按开始运行求取信道满载阈值的程序,在此过程中各节点产生信道负载阈值求取数据包并对其进行发送,当数据传输成功率达到99%时,获取前一个预设发送时间内出现的数据包个数并将其作为信道满载阈值TF。
图1 无人机自组网网络拓扑Fig.1 Network topology of UANET
1.2 问题描述
在网络中各节点开机时间不同,在信道负载统计阶段,信道负载数据包的发送时间也不同。在发送时间相差较大的情况下,各节点采集信道负载的时间段各不相同,统计出的信道负载不具备参照价值。SPMA协议中信道负载的准确统计至关重要,关系信道满载阈值的确定和各优先级数据包能否接入信道,而不同步的信道负载统计会造成系统无法正常工作,信道碰撞加剧,数据传输成功率降低且时延增加。
现有优先级阈值设置算法[17-19]先设置最低业务优先级阈值TN-(1其中N表示优先级分组数量)并以此阈值为基准,再按照假设的优先级分组分布比例计算其他业务优先级阈值,但依此设计出的阈值存在以下问题:1)需要事先设定各业务优先级分布比例才能计算出除最低优先级阈值以外的优先级阈值;2)由于次高优先级阈值都比最低优先级阈值TN-1高,但信道能承受的保证数据传输成功率为99%的信道负载最大为TN-1,因此当信道负载高于TN-1时,数据传输成功率已不能满足设计要求,此时再发送任何优先级的数据包均已不能达到预设成功率;3)现有算法优先级在低于相应阈值时需要完全退避整个优先级的数据包,导致跨阈值的优先级数据包全部退避,此时可能造成信道资源空闲,却仍有消息在退避,在一定程度上导致了信道资源浪费。
2 多优先级单阈值接入控制协议
2.1 信道负载统计时间校正
因为各个节点开机时间不同,开始发送信道负载统计包的时间不同,所以从信道满载阈值计算阶段开始就可能发生负载统计时的统计时间段不同。当各个节点的负载统计时间不同时,统计到的信道负载就不再准确及具备参考价值,且不能根据统计到的信道负载情况协调一跳范围内的节点退避或接入。为解决上述问题,本文提出一种信道负载统计时间校正机制。在一跳范围内,当ID号大的节点发现(收到)消息中ID号最小节点的负载统计包发送时间在自身负载统计周期内时(若在允许的时间抖动范围内,则不进行处理),立刻终止自身负载统计并按照当前时间占全统计周期的比例,折算成一个负载统计周期的负载后紧随收到的负载统计包中ID号最小的节点发送(加上一个时间抖动)负载统计包。该过程是一个链式过程,每个节点都向其一跳范围内ID号最小的节点靠近,最终所有节点的信道负载统计时间都在ID号最小节点的负载统计时间附近。信道负载统计时间校正流程如图2所示。
图2 信道负载统计时间校正流程Fig.2 Procedure of channel load statistical time correction
信道负载统计时间校正机制的基本操作步骤具体如下:
1)在节点开机后开始统计自身发包情况,当到达预定负载统计周期时间时,将这段时间发送的各优先级的数据包个数封装成负载统计包并对其进行广播。
2)当节点收到一跳范围内ID号最小节点发送的负载统计包时,若节点处于自身负载统计周期内且该时间点不在规定的时间抖动内时,则该节点需要将自身负载统计时间向ID号最小的节点校正。
3)当ID号高的节点向一跳范围内ID号最小的节点校正时间时,ID号高的节点处于负载统计周期内,此时收到一跳范围内ID号最小节点的负载统计包,ID号高的节点中断负载统计,直接使用现在统计出的结果按时间比例折算成一个负载统计周期的统计结果,封装后再加上时间抖动后对其进行广播。
4)所有节点都按照以上机制运行,最终所有节点的负载统计时间都可以校正到整个网络中ID号最小节点的负载统计时间附近,由于节点加上了时间抖动,因此即使全网节点都在该时刻发送,也可以尽可能降低发生碰撞的概率。节点在开机后只要发现收到ID号小的节点的负载统计包在自身负载统计周期内且超过规定的抖动时间时,就需要执行以上步骤从而校正负载统计的时间。
2.2 信道负载统计
通过计算节点在统计周期内的收发包数量进行信道负载统计,在统计周期内统计出的信道负载C0如式(1)所示:
其中,M表示跳频频点个数,f表示第f个频点,imax表示节点i的周围一跳邻居总数,表示在频点f时收到的节点i发送的优先级为j的数据包个数表示在频点f时发送的优先级为j的数据包个数。
2.3 基于单阈值的信道接入控制
为解决信道负载控制问题,本文提出基于单阈值的信道接入控制机制。该机制的基本思路为:首先设置信道满载基准阈值TF,所有业务优先级的发送都要与TF进行比较,当发送包数小于TF时,高优先级的包先发,低优先级的包后发,且无退避发送。当前一个时隙负载的业务量大于TF时,分析负载中业务优先级的分布情况,即各业务优先级对应的数量。通过分析可以得出哪些业务优先级造成了信道过载,并且在新的时隙开始时退避造成信道过载的业务优先级。简单的退避所有业务优先级会造成一定程度的信道资源浪费,而完全允许需要退避的最高优先级(跨阈值优先级)的数据包发送又会使信道过载包的首发成功率下降。此时,在负载广播包中解析到前一时隙的负载情况,通过比较基准阈值TF和即将退避的各优先级数据包数量可以得出该时隙将会有多少信道资源被空闲。若允许一部分跨阈值优先级数据包发送填充此空闲,则可以更充分地利用信道资源。基于单阈值的信道接入控制流程如图3所示。
图3 基于单阈值的信道接入控制流程Fig.3 Procedure of channel access control based on single threshold
基于单阈值的信道接入控制机制的基本操作步骤具体如下:
1)通过最低优先级阈值设定方法确定当前TF。最低优先级阈值TN-1的设置方法为:无优先级控制,数据包随到随发,并且逐渐增大全网业务量,当数据传输成功率降至99%时,获取前一个统计周期内出现的数量包数量作为最低优先级阈值。将此阈值作为基准,所有优先级数据包的发送与否都需要将信道负载中各业务优先级分布比例和所占数量与TF进行比较,在此周期内发送的各优先级包的数量需小于TF。
2)当信道负载大于TF时,通过分析信道负载的业务优先级构成和分布比例可以找出造成信道满载的业务优先级数据包,并且退避大于该业务优先级的数据包,同时发送小于该业务优先级的数据包。
3)由于可能存在跨阈值的业务优先级,且不能完全退避该优先级分组的情况,而完全退避该优先级的分组会造成信道资源的浪费,因此通过计算闲置信道资源,根据负载统计阶段统计出的各个节点发送相应优先级的数据包个数Cij,其中,i是节点ID号,j是数据包优先级,根据式(2)计算出的比例P加权分配给周围各个节点,并利用式(3)计算节点i允许发送的跨阈值优先级数据包个数Cik。
其中,k表示跨阈值的优先级数量,Nunused表示信道空闲资源,具体计算公式为:
其中,Lj表示由优先级j造成的信道负载,具体计算公式为:
4)当信道负载小于TF时,使用剩余的跨阈值优先级数据包填补空缺;当跨阈值优先级的包不能填补空缺时,发送更低优先级的包填补空缺。这两种填补方式都要使用加权分配法分配节点发包数量。若上一个周期内所有优先级数据包总数小于TF,则下一个周期不进行数据包控制,实施数据包随到随发策略。
2.4 退避时间设置
本文在文献[8]方法的基础上对优先级包的退避时间(Bbf)略作调整,计算公式修改为:
其中:X和Y为两个调节系数,分别设置为1/20和10;p为需要退避的优先级,其包含跨阈值优先级。
3 仿真验证与结果分析
3.1 仿真参数设置
为验证本文MSAC协议的性能,采用OPNET 14.5网络仿真工具对其进行仿真验证,主要参数设置如表1所示。
表1 主要仿真参数设置Table 1 Setting of main simulation parameters
3.2 仿真结果分析
数据传输成功率是指目的节点收到的数据量占总数据量的比例。由图4可看出,随着节点个数的增加3种协议的传输成功率都有所下降,其主要原因为信道负载超过了系统承载能力,导致底层数据包碰撞严重,数据包在多次重传后超过重传次数上限,从而导致丢包。MSAC协议和TSMP-MAC协议由于对不同类型的业务设置了优先级,在业务量较大时,降低了低优先级数据包接入信道的数量,优先发送高优先级数据包,因此起到一定的控制信道负载的作用,在中等负载的情况下依然可以保证90%以上的数据传输成功率,而CSMA/CA协议[20]在轻载下可以维持较高的数据传输成功率,但在中等负载和重载下数据传输成功率严重下降。这主要是因为MSAC协议的信道负载统计时间校正机制可使节点更准确地统计出信道负载,基于单阈值的信道接入控制机制能以更细粒度的方式调控接入信道的负载量,有效控制信道负载值不超过满载阈值,所以MSAC协议在信道重载情况下依然可以保证相对较高的数据传输成功率。
图4 数据传输成功率比较Fig.4 Comparison of data transmission success rate
MAC层吞吐量是指单位时间内MAC层接收到的比特数。由图5可看出,MSAC协议相比TSMPMAC协议和CSMA/CA协议具有更高的吞吐量,其主要原因为MSAC协议使用的基于单阈值的信道接入控制机制控制信道负载的单位是数据包个数,而不是对整体业务优先级进行控制,更细粒度的信道负载控制可以有效利用信道中整体业务优先级退避而空闲出的信道,使系统在上层业务量较大情况下的系统信道承载能力与实际信道负载相匹配,最大化利用信道资源,从而提高MAC层吞吐量。TSMPMAC协议的退避机制将一部分低优先级包丢弃,使得被丢弃的数据包未能传输成功,从而造成MAC层吞吐量的降低,而CSMA/CA协议由于在重载情况下的底层数据包碰撞加剧,使其超过重传次数上限而丢包,造成数据传输成功率降低,从而导致MAC层吞吐量下降。因此,MSAC协议的MAC层吞吐量高于CSMA/CA协议与TSMP-MAC协议。
图5 MAC层吞吐量比较Fig.5 Comparison of MAC layer throughput
信道资源利用率是指节点占用信道进行有效数据传输所用时间与网络运行时间的比值。由图6可看出,MSAC协议的信道资源利用率高于TSMPMAC协议和CSMA/CA协议,其主要原因为MSAC协议使用的基于单阈值的信道接入控制机制以数据包为单位来控制信道的负载水平,相比整体业务优先级退避的TSMP-MAC协议,可以更加充分地利用整体业务优先级退避形成的空闲信道资源,从而在一定程度上提高信道资源利用率。此外,CSMA/CA协议只有在信道有数据包接入后才执行退避等待,而MSAC协议则可以判断底层时频跳变系统的负载情况,根据负载情况选择控制低优先级包的接入时间。因此,MSAC协议的信道资源利用率高于CSMA/CA协议与TSMP-MAC协议。
图6 信道资源利用率比较Fig.6 Comparison of channel resource utilization rate
4 结束语
本文针对现有SPMA协议中多个业务优先级对应阈值设置造成的负载控制失效问题,提出一种多优先级单阈值接入控制协议,实现系统承载能力与实际信道负载的最大化匹配,从而更高效地利用信道资源。实验结果表明,该协议能有效提高信道资源利用率、MAC层吞吐量及数据传输成功率。下一步将对接入控制协议中信道满载阈值的计算和自适应调整方式进行研究,通过降低控制开销及加快组网过程,保证在信道环境变化情况下的数据传输成功率,提高接入控制协议的应用灵活性。