一种水下接收端同步的并发媒体接入控制协议

2023-06-03 03:40王琦周锋
哈尔滨工程大学学报 2023年5期
关键词:业务量接收端时隙

王琦,周锋

(1.哈尔滨工程大学 水声技术全国重点实验室,黑龙江 哈尔滨 150001;2.海洋信息获取与安全工业和信息化部重点实验室(哈尔滨工程大学),黑龙江 哈尔滨 150001;3.哈尔滨工程大学 水声工程学院,黑龙江 哈尔滨 150001)

水下传感器网络是由众多的部署在水下的传感器节点组成,这些水下节点可以搭载各种传感器,对所在的水下区域的生物、物理和化学等信息进行采集和监测[1-2]。通常,水下传感器节点采集的信息需要被传输到水面或岸基数据中心进行处理,节点间有序高效的信息传输,需要媒体接入控制(MAC)协议进行协调。但是,由于水下传感器网络使用声信道作为传输通道,声信道具有速率低、带宽窄和传播延迟高的特点,使得高效率的水下传感器网络的MAC协议的设计遇到巨大挑战。水下声信号的传播速度(约1 500 m/s)是一个实时变化的物理量,受水下的温度、盐度和深度影响。水下声信号的传播延时比陆上无线电信号的传播时延高约5个数量级。由于节点间这种变化的长传播时延,水下传感器网络节点间传输信息具有时间不确定性。另外,由于节点部署在水下的不同位置上,多个节点间具有不同的传输距离,导致2个源节点同时给同一个目标节点发送信息时,目标节点可以无碰撞的接收信息。而在不同时刻给同一个目标节点发送信息时,来自2个源节点的信息在目标节点发生碰撞。上述现象描述了水下传感器网络节点间传输信息具有的空间不确定性。水下声信道的这种时空不确定性,使得成熟的陆上无线电网络的MAC协议,不能直接应用于水下传感器网络,只能针对水下传感器网络具有的时空不确定性特点,设计适用于水下传感器网络的MAC协议。

本文提出了一种新型的适用于水下传感器网络的基于接收端同步的并发媒体接入控制协议,即CMACRS。该协议的主要目标是解决影响水下传感器网络MAC协议性能的时空不确定性问题。CMACRS由请求阶段、数据传输阶段和应答阶段组成。发送节点采用预约的方式接入信道,在数据传输阶段,发送节点并发传输数据。本文主要有2点贡献:1)将数据传输时间划分时隙,来抑制时间不确定性的影响。同时,采用接收同步和并发传输来消除空间不确定性带来的干扰。2)不同于已有协议在请求阶段的请求发送控制包(RTS)和指示发送控制包(CTS)的握手机制,新协议只要求节点发送单次请求消息,缩短了数据传输周期。

1 相关工作

基于时间同步的竞争类MAC协议分为非握手协议和握手协议。非握手类MAC协议:T-Lohi[3]是一个载波感知多址接入风格(CSMA)的信道预约类型的MAC协议,其工作过程分为信道预约阶段和数据传输阶段。发送短脉冲信号的节点监听信道,根据接收到的脉冲信号进行数据发送或退避,但是,该协议需要节点部署专用硬件设备来接听脉冲信号。TARS[4]是一个多路接入共享信道风格(Aloha)的协议,该协议将数据传输成功概率定义为节点数据队列空概率、数据发送概率和条件发送概率的函数,每次数据发送时,计算发送概率,使得数据传输成功率为最大值,同时,该协议考虑了节点移动场景。并且通过设计基于接收同步的时隙级传输方案,来抑制时空不确定性。但是,若要维护邻节点的发送数据队列空概率值,需要节点间不断交互控制信息,在流量快速变化的动态网络场景,未及时更新的发送概率值导致协议性能下降。DAP-MAC[5]是一个类似概率Aloha类型的协议。该协议根据到接收节点的距离,将邻节点分为兼容集和干扰集,兼容集中的邻节点,可以在同时隙向接收节点发送数据,但是,干扰集中的邻节点不能同时发送数据。而且,该协议只适用于传播时延远大于数据传输时长的场景,当兼容集的邻节点数较少时,数据发送概率下降为和概率Aloha接近。DTMAC[6]是一个延迟容忍协议,也是一个Aloha类型的协议。该协议提出了一种分布式订单采集算法,根据数据发送概率和发送次数获得最优吞吐量。但是,该协议只适用于突发包业务场景。

握手类MAC协议:Slotted-FAMA[7]是一个时隙级握手MAC协议,协议将时隙长度设置为数据传输时长与传播时延之和,通过收发节点间的RTS/CTS控制包交互,有效地解决隐藏终端问题,降低数据碰撞概率。但是,独占信道的一对收发节点,使得每次数据传输引入的长传播时延导致网络性能显著下降。DOTS[8]是一个基于时间同步的握手协议,其利用接收端的时空重用来提高吞吐量。该协议在监听到邻节点的RTS包时,利用其维护的邻节点时延表,避开相邻节点接收指示发送控制包(CTS)、数据包(DATA)和应答包(ACK)的时间,实现并发数据传输。但是,该协议性能受限于节点监听效果。FDCA[9]是一个基于全双工的时间同步握手协议,基于全双工声调制解调器工作特点,设计发送端和接收端的碰撞避免机制。其利用发送端和接收端的信道重用,可以同时启动多个握手过程进行并发传输,提高了网络吞吐量。但是,协议性能受限于节点监听效果。

基于分布式调度的并发传输的水下MAC协议,即DS[10],支持多传输任务的并发,提高了网络吞吐量等性能指标。但是,该协议只考虑了非时隙级场景。新协议CMACRS同样采用分布式并发发送时间调度原理,支持基于接收端同步的时隙级场景。近年来,水下传感器网络的时间同步技术[11-14]和定位技术[15-19]逐渐成为研究热点。同时,水下声通信调制编码技术[20-22]的发展可以支持节点间较大的声通信速率,这些都为CMACRS协议后续在水下传感器网络的部署,提供了有力的技术支持。

2 CMACRS设计

2.1 概述

CMACRS将每轮数据传输过程分为3个阶段:信道预约阶段、数据传输阶段和数据应答阶段。3个阶段共同构成一个数据传输周期。在信道预约阶段,有数据传输需求的节点,发送信道请求消息(REQ)通知其他节点即将到来的传输任务,其他节点接收到信道请求消息之后,将该传输任务记录到任务队列。信道申请阶段结束后,网络中每个节点通过一个发送时隙调度算法,得到一张相同的发送时间表。每个发送节点根据表中分配给自己的发送时隙和发送相位,在数据传输阶段发送数据包(DATA)。数据包传输完成后,启动数据应答消息(ACK)发送,数据应答消息的发送时隙调度原理与数据包相同。数据应答阶段结束后,启动一个新周期的数据传输,上述过程如图1所示。

图1 CMACRS时序Fig.1 CMACRS frame

本文提出的新协议CMACRS是一种时隙级同步的水下MAC协议,支持水下传感器网络多个传输任务的并发执行,多个传输任务的发送节点在信道预约阶段发送控制包请求接入信道,当水声信道恶劣的通信环境导致控制包丢包时,部分发送节点得到的数据发送时间表出现差异,使得数据传输阶段的接收端数据包发生碰撞,CMACRS的时隙调节机制将数据包碰撞控制在对应的时隙内,即2个传输任务冲突时,只会干扰彼此,不会影响其他传输任务。如图2所示,假设水下传感器网络有3个传输任务,3个传输任务对应的接收节点分别是D1、D2和D3,在信道预约阶段,传输任务3的发送节点没有接收到其他2个传输任务的信道请求控制包,而其他2个传输任务的发送节点都收到了全部3个任务的请求信息,在非时隙级场景下,3个数据包在接收节点互相碰撞,全部传输失败。时隙级场景下,碰撞控制在对应时隙内,传输任务1的数据包DATA1接收成功,时隙调节机制的优点是可以降低恶劣通信环境下的数据包碰撞率。

图2 时隙调节效果Fig.2 The effect of slotted adjustment

2.2 时隙设计

首先,需要设计时隙的长度,为了减少节点间的总传输时长,时隙长度Ts只包含数据包传输时长Ttx和其他扰动补偿值。其他扰动补偿值应该包含2部分,即声速变化扰动[4]和节点间相对移动的扰动。时隙长度的计算公式为:

(1)

式中:Dmax为节点间最大传播距离;αmax为节点间最大多普勒扩展因子;αmax=Vmax/Cmin;Vmax为节点间最大相对移动速度;Tmax为节点间最大传播时延;Tmax=Dmax/Cmin;Cmax和Cmin分别为最大声速和最小声速。

将节点间的传输时间划分为时隙后,需要保证接收端收到的数据包位于一个完整的时隙之内,即基于接收端同步,如图3所示。

图3 接收端同步Fig.3 Receiver synchronization

但是,节点间的随机距离不能保证发送数据包的传播时延是时隙长度的整数倍,这时,需要根据节点间的距离对数据发送时刻进行相位补偿,使得数据包到达接收节点时,位于一个完整的时隙之内。如图3所示,发送节点S1向节接收点D发送的数据DATA1没有进行相位补偿,则DATA1在接收端占用了2个相邻的时隙。而发送节点S2向节点D发送的数据DATA2进行了相位补偿,则DATA2在接收端位于一个完整时隙内,实现了接收端同步。

数据发送相位补偿,即Tph,需要考虑节点间相对移动的影响[4],其计算公式为:

(2)

式中:dSiDi为节点Si和节点Di之间的传播距离;Δdmax=αmaxDmax,mod是做取模运算。

2.3 发送时隙调度算法

当有多个发送节点向不同的接收节点传输数据时,每个待分配发送时隙的节点的数据传输,都不能干扰已经分配了发送时隙的传输任务的数据接收[10]。如图4所示,S1→D1、S2→D2和S3→D3分别表示3个传输任务。

假设节点S1在时隙T1发送数据包DATA1给节点D1,要求节点S2和节点S3发送的数据包被节点D1接收时,接收时间落在DATA1之后。节点S2和节点S3分别计算满足上述条件的发送时隙,分别得到时隙号T22和T23,采用局部最优策略,取T22和T23的最小值保存为第2个发送时隙T2的值。

假设T22小于T23,节点S2在时隙T2发送数据包DATA2给节点D2,要求节点S3发送的数据包被节点D1接收时,接收时间落在DATA1之后,同时,被节点D2接收时,接收时间落在DATA2之后。为满足上述条件,节点S3计算得到2个时隙号T31和T32,取T31和T32的最大值作为发送时隙T3,节点S3在时隙T3发送数据包DATA3给节点D3。上述过程中,节点S1、S2和S3根据相同的传输任务信息,采用相同的算法,都得到了相同的时隙T1、T2和T3的值,完成发送时隙调度计算。发送时隙调度算法:

(3)

式中:rk表示节点Sk向节点Dk发送数据的传播时延,单位是时隙数;rkn表示节点Sk向节点Dn发送数据的传播时延;rn表示节点Sn向节点Dn发送数据的传播时延;rnk表示节点Sn向节点Dk发送数据的传播时延;T1和Tj表示发送时隙;Tjn表示发送时隙的备选值;AD为已经分配发送时间的传输任务集合;UD为未分配发送时间的传输任务集合;N为传输任务数;mk为节点Sk和节点Dk间的传输任务占用的传输时隙数,mk≥1。λ∈{0,1},当节点间时延差的最大值等于0时,即max{rk-rnk,rkn-rn}=0,则节点Sn发送的数据包到达节点Dk时,存在占用前一个时隙的风险,需要加保护时隙,令λ=1,否则λ=0。根据等式(3)计算得到N个发送时隙,每个传输任务分配一个指定的发送时隙。

为了便于理解和使用,将等式(3)的伪码列出,T′和T″为临时变量,其他符号含义同上文一致。传输时隙分配算法如下。

T1=rmax

forj=2~N

w=1

whileUD≠∅

n∈UD

fori=1~(j-1)

k∈AD

T″[i]=Tik+max{rk-rnk,rkn-rn}+mk

if max{rk-rnk,rkn-rn}==0

T″[i]=T″[i]+1

end if

end for

T′[w]=max{T″}

w=w+1

end while

Tj=min{T′}

UD=UD-n

AD=AD∪n

end for

2.4 丢包分析

(4)

式中:LREQ为信道请求消息包的传输时长;T0为信道申请阶段的时长。不等式(4)的图形表示如图5所示,从图中可以看出,随着网络节点数的增加,无碰撞概率下界呈现下降趋势。同时,无碰撞概率下界受T0影响,当T0较大时,可以得到较好的无碰撞概率下界。所以,可以根据组网规模,调整T0获取合适的无碰撞概率,抑制由信道请求消息碰撞导致的丢包。

图5 无碰撞概率下界Fig.5 Lower bound of none-collision probability

3 性能评估

3.1 仿真设置

仿真在Matlab平台上实现,采用矩阵模拟收发节点的时间线,可以有效地模拟节点同时接收到多个数据包时产生的碰撞。仿真中,组成水下传感器网络的节点随机分布在1 km×1 km的矩形区域内,水深设置为100 m。网络设置为单跳网络。仿真中设置数据包载荷为64 Byte,控制包长为4 Byte,节点发射功率设置为20 W,接收功率设置为0.5 W,数据传递速率设置为0.25 kb/s。在仿真初始阶段,网络中的全部节点完成时间同步。声速设置为1 500 m/s,每个节点根据泊松分布生成数据包。仿真只考虑数据包碰撞引起的丢包,即不考虑水下物理信道的恶劣通信环境导致的丢包。新协议CMACRS是对协议DS[10]的时隙级改进,两者的发送时间调度方法相同,主要区别在于DS的发送时间是具体时刻值,而新算法CMACRS的发送时间可以用时隙号表示,仿真中选取DS作为比对协议,可以更好的观察CMACRS的时隙机制对网络性能的改进效果,由于仿真环境及其各种参数的差异,在仿真结果中,将其记为DS-like。使用归一化吞吐量、平均端到端时延、交付率和平均能耗评估协议性能。归一化吞吐量定义为单位时间内成功传输的数据比特数与数据传递速率的比值。平均端到端时延定义为数据包产生时刻和数据包接收时刻的平均间隔值与数据包时长的比值(包)。交付率定义为总的成功传输的数据包数与总的发送的数据包数的比值。平均能耗定义为数据传输阶段总能耗与成功接收到的数据包数的比值(J/包)。

3.2 仿真结果

新协议和DS-like在不同网络业务量场景的归一化吞吐量显示在图6中,网络业务量定义为单位时间内生成的数据比特数与数据传递速率的比值,对2种协议,分别做了20、30和40个用户场景的仿真。随着网络业务量的增加,CMACRS的归一化吞吐量呈现上升趋势,其值达到0.4,而吞吐量随着用户数增加略有下降。DS-like的归一化吞吐量也呈现相同的规律,但是,其吞吐量性能低于CMACRS,由于CMACRS采用的基于接收端的时隙级方案,使得网络中所有用户的数据包接收同步,在发生碰撞时只影响单个时隙内的数据包,而DS-like是非时隙级协议,在发生碰撞时会影响相邻的2个数据包。

图6 不同网络业务量的归一化吞吐量Fig.6 Normalized throughput under different loads

新协议和DS-like在不同网络业务量场景的平均端到端时延显示在图7中。平均端到端时延定义为成功传输的数据包平均端到端时长与数据包时长的比值,当业务量增加导致的数据包重传次数上升时,平均端到端时延随之上升。

图7 不同网络业务量的平均端到端时延Fig.7 Average end-to-end delay under different loads

仿真结果显示,随着网络业务量的增加,2种协议的平均端到端时延都呈现上升趋势。CMACRS的平均端到端时延在业务量为2.5时,达到数据包时长的2.2倍,而DS-like平均端到端时延最大值为2.4倍数据包时长,同时,DS-like的平均端到端时延随着用户数的增加,呈现明显的上升趋势,而CMACRS略有波动。

新协议和DS-like在不同网络业务量场景的交付率如图8所示。交付率定义为总的成功接收数据包数与发送数据包数的比值,当成功传输的数据包减少时,交付率随之下降。而业务量的增加会导致成功接收的数据包减少,最终影响交付率。仿真结果显示,随着网络业务量的增加,2种协议的交付率都呈现下降趋势,仿真结果符合预期。由于新协议采用的时隙级方案可以更好地抑制碰撞,交付率更高,同时,随着用户数的增加,相对于DS-like,交付率性能呈现更小的波动性。

图8 不同网络业务量的交付率Fig.8 Delivery rate under different loads

新协议和DS-like在不同网络业务量场景的平均能耗显示在图9中。平均能耗主要受数据包重传次数和单次数据发射能耗的影响,当数据包载荷一定时,业务量的增加导致重传次数的上升,最终导致平均能耗上升。仿真结果显示,随着网络业务量的增加,2种协议的平均能耗都呈现上升趋势。CMACRS有更小的平均能耗,在网络业务量为2.5时,平均能耗达到最大值80 J/包。而DS-like的平均能耗最大值达到100 J/包,而且,其平均能耗更易受用户数增加的影响。

图9 不同网络业务量的平均能耗Fig.9 Average energy consumption under different loads

新协议和DS-like在不同数据包载荷的归一化吞吐量如图10所示,数据包载荷从30 byte~100 byte变化,仿真环境配置20个随机分布节点,业务量设置为2。随着数据包载荷的增加,每次数据包的成功接收,都可以获得更多的传输成功数据比特数,使得吞吐量上升,但是,总的数据传输时长也相应增加会抑制吞吐量上升的趋势。仿真结果显示2种协议的吞吐量随着数据包载荷的增加而缓慢上升,仿真结果符合预期。由于CMACRS采用的基于接收端的时隙级方案,相对于非时隙级的DS-like,在发生碰撞时,受影响的数据包更少,其吞吐量性能优于DS-like。

图10 不同数据包载荷的归一化吞吐量Fig.10 Normalized throughput under different packet sizes

新协议和DS-like在不同数据包载荷的平均端到端时延如图11所示,仿真中将平均端到端时延定义为成功传输的数据包平均端到端时长与数据包时长的比值。如果发生丢包,则重传导致传输数据包的端到端时长增加。当业务量不变时,数据碰撞导致的丢包率也不变,所以平均端到端时延只受数据包载荷的影响,随着数据包载荷的增加,平均端到端时延呈现下降趋势,仿真结果也呈现预期的趋势。而CMACRS的低碰撞率,使得其平均端到端时延性能优于DS-like。

图11 不同数据包载荷的平均端到端时延Fig.11 Average end-to-end delay under different packet sizes

新协议和DS-like在不同数据包载荷的交付率如图12所示,交付率与节点接收到的数据包数成正比,交付率随数据包碰撞导致的丢包率变化而变化,当业务量保持不变时,数据包碰撞导致的丢包率也不变,则交付率保持稳定,仿真结果显示,新协议和DS-like的交付率不随数据包载荷的增加而变化,仿真结果符合预期。CMACRS基于时隙级的机制,使得其具有相对较低的碰撞率,其交付率性能优于DS-like。

图12 不同数据包载荷的交付率Fig.12 Delivery rate under different packet sizes

新协议和DS-like在不同数据包载荷的平均能耗显示在图13。由于节点发射功率远高于接收功率,平均能耗主要受数据包重传次数和单次数据发射能耗的影响。由于交付率不随数据包载荷的增加而变化,数据包载荷的增加不会影响丢包导致的数据重传。所以,平均能耗只受数据包载荷值的影响。从仿真结果可以看出,新协议和DS-like的平均能耗随着数据包载荷的增加呈线性上升趋势,仿真结果符合预期。而CMACRS更高的交付率,使得其平均能耗性能优于DS-like。

图13 不同数据包载荷的平均能耗Fig.13 Average energy consumption under different packet sizes

4 结论

1)采用了基于接收端同步的时隙级机制,在发生数据包碰撞时,只影响共用时隙内的数据,维持相对较低的碰撞率,获得更高的吞吐量性能。

2)新协议只发送单路信道申请消息,降低了数据包的端到端时延。

仿真结果表明,在网络吞吐量等性能方面,新协议优于非时隙级的分布式并发MAC协议。但是,新协议只涉及单跳网络场景,对于处于相邻单跳网络的边缘节点场景未涉及,未来可以开展边缘节点时隙级并发调度算法的研究。

猜你喜欢
业务量接收端时隙
基于扰动观察法的光通信接收端优化策略
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
2020年业务量达830亿件快递跑出经济活力
上半年云南快递量同比增速全国第三
复用段单节点失效造成业务时隙错连处理
一种高速通信系统动态时隙分配设计
时隙宽度约束下网络零售配送时隙定价研究
基于TDMA的无冲突动态时隙分配算法