适用于水声传感网络的多链路传输MAC协议
2021-02-05詹长健沈高青李志林
詹长健,雷 磊,沈高青,李志林
(南京航空航天大学电子信息工程学院,南京 210016)
0 概述
水声信道具有带宽窄、传输速率低、误码率高以及多普勒频移和多径效应严重的特性,特别是声音,在水中的传播速度仅为1 500 m/s,比电磁波在无线电信道的传播速度低5个量级,使得水声信道存在较高的时延。因此,现有成熟的介质访问控制(MAC)协议不能直接应用于水声信道,否则高时延会严重降低水声传感网络的性能[1-2]。MAC协议可以协调多个节点公平地占用共享信道,避免传输冲突,提高网络的整体性能。因此,针对水声信道的特性,设计一种可以有效提高水声传感网络性能的MAC协议非常必要。
文献[3]提出了增加保护间隔的时隙ALOHA协议,来避免变化的传播时延引起的传输冲突,通过修改时隙ALOHA协议的时隙间隔为T+a←τ(T为数据帧大小,a为0~1的系数,τ为最大传播时延),协议可以减少节点随机发送造成的传输冲突,然而减少冲突的代价是增加延迟[4]。文献[3]提出时空不确定性概念,并论述了水声传感网络MAC协议面临的难题,即时间和空间的不确定性必须同时被解决,才能改善水声传感网络MAC协议的性能。
因此,文献[5]提出的S-FAMA协议引入了同步时隙,结合载波检测和四次握手机制解决时空不确定性造成的冲突,该协议设置时隙长度为CTS帧的长度加最大传播时延,保证了传输范围内的节点都可以接收到RTS或CTS帧,解决了空间不确定性问题;同时节点只在一个时隙的开始时刻传输数据,有效地避免了因传播时延不同而导致的接收冲突,消除了接收时间不确定性问题。S-FAMA协议要求待发送数据的节点对信道进行载波检测,若信道空闲则在下一个时隙发送RTS帧;若节点在两个时隙没有完成RTS/CTS握手,即认为产生传输冲突,节点随机选取几个时隙进入退避状态,否则在下一个时隙发送数据;在退避完成后,当节点检测到信道空闲时,重复上述过程。
虽然S-FAMA协议解决了传输冲突和隐藏终端问题,但较长的时隙导致了较低的信道利用率。因此,文献[6]提出的RC-FAMA协议引入一种RTS竞争机制,解决了节点因竞争信道失败而多次重发RTS帧的问题。在多个RTS帧竞争信道的场景,RC-FAMA协议会给每一个RTS帧添加一个随机生成的竞争数,称为C-number,竞争数大的发送节点占用信道。因为RTS帧的长度远比一个时隙短,所以发生RTS重叠冲突的概率比较低,利用RTS竞争机制可以显著提升高负载下的网络吞吐量。
然而上述协议都侧重于在水声传感网络中的单链路传输,没有考虑高时延对多条传输链路的影响。因此,本文利用水声信道的时空不确定性,提出一种基于S-FAMA协议的多链路传输MAC协议(ML-FAMA),以解决时隙较长的问题,提高信道利用率。
1 多链路传输
在水声信道中,接收端的接收时刻等于发送端的发送时刻加上数据帧长度以及变化的传播时延,这使得水声信道有着不同于无线电信道的特性[7-8]。如图1所示,距离较远的发送端A和发送端B都向接收端C发送数据,不同的时延可能使得同步发送不会产生冲突,而异步发送却会发生冲突。
图1 水声信道的同步和异步传输可能结果Fig.1 Possible results of synchronous and asynchronous transmission in underwater acoustic channels
很显然,同步传输无冲突的前提是A的传播时延大于数据帧的长度加上B的传播时延。因此,利用节点之间的传播时延和数据帧长度的数学关系,MAC协议就可以实现同步无冲突传输,缩短传输时间以及提高信道利用率。
1.1 ML-FAMA协议的设计方法
传统握手类MAC协议采取了较为保守的策略,即一个传输周期只允许一条传输链路占用信道。例如互为暴露终端的A与C都有待发送的数据,但成功竞争信道的节点会挂起其他发送节点,从而造成了不必要的阻塞[9]。因此,ML-FAMA协议采用一种新的握手机制解决多条传输链路竞争信道的问题,即一个节点在进行RTS/CTS握手过程中,只收到其他节点发送的RTS帧而没收到CTS帧。事实上,数据帧在发送端重叠不会导致冲突,冲突只可能因为数据帧在接收端重叠。ML-FAMA协议可以使传输范围内的节点在一个时隙内都接收到RTS帧,同时节点只在时隙的开始时刻发送数据,避免了传输范围内的节点在当前传输周期随机发送数据。上述握手机制可以使多个发送节点并行传输数据而不冲突,多发送并行传输时序图如图2所示。
图2 多发送并行传输时序图Fig.2 Timing diagram of multi-sending parallel transmission
另一方面,传统的MAC协议都是以发送端为中心的MAC协议,即待发送的节点决定何时发送数据[10-11],但发送端可能会因为传播时延的影响而做出错误的决策,如图1所示。因此,ML-FAMA协议提出了以接收端为中心的策略,即接收节点决定何时传输数据。
对于RC-FAMA协议而言,水声信道的高时延和相对较短的RTS帧,使得控制帧大概率不会在接收节点发生重叠。然而,RC-FAMA协议只允许一个发送节点占用信道,但如果改进的MAC协议可以使所有成功发送RTS帧的节点占用信道,则会大幅提高水声网络的吞吐量。
基于S-FAMA的MAC协议为同步协议,且节点在时隙的开始时刻传输数据,传输范围内的节点都可以在一个时隙内收到数据帧,所以接收端可以通过计算接收时刻与开始时刻的差值得到节点之间的时延。采取这种方法具有3个方面的优点:1)只在节点请求传输数据的情况下计算节点之间的时延,避免维护一张时延映射表;2)接收节点可以得知发送节点传输数据帧大小和时延从而做出正确的决策;3)可以更快地感知节点之间的时延变化。
如图3所示,接收节点利用已得知的传播时延和数据帧大小,通过合理的算法规划发送节点的传输,然后通过CTS控制帧将规划告知所有节点。
图3 多接收并发传输时序图Fig.3 Sequence diagram of multi-receiving concurrent transmission
1.2 ML-FAMA协议的规划算法
假设接收节点在一个时隙内成功接收n个节点发送的RTS帧,则可令发送节点与接收节点的传播时延为r1≤r2≤r3…≤rn,每个发送节点对应的待发送数据长度为d1,d,…,dn。由图3可知,若多条链路并发传输数据,接收节点接收数据的理想时延为r+d1+d2+…+dn,r为第一个传输数据节点的传播时延。因此,若使传输时延尽可能小,则r值最小,即传播时延最小的节点先发送数据。综上所述,ML-FAMA协议的规划算法步骤如下:
1)若r1+d1≤r2,则时延为r1、r2的节点可以同时发送数据。
2)若r1+d1>r2,则时延为r1的节点先发送数据,时延为r2的节点推迟合适的时间发送。
3)依次对比r2与r3、r3与r4、…、rn-1与rn,做出传输决策。
1.3 ML-FAMA协议的退避算法
在ML-FAMA协议中,当检测到信道空闲时,发送节点在下一个时隙开始时刻发送RTS帧,在控制帧中添加发送节点、接收节点、数据长度等信息;接收节点根据规划算法对各个发送节点做出传输决策,并将决策和ACK应答时刻添加到CTS帧,然后广播CTS帧;如果发送节点在两个时隙没有收到CTS帧或接收ACK超时,则默认发生传输冲突,进入退避状态,等待信道空闲重发数据。
由于传统握手类MAC协议的传播时延远小于一个退避时隙,二进制指数退避算法可以有效地避免传输冲突而不降低信道利用率[12]。可是MLFAMA协议的传播时延约等于一个退避时隙,采用二进制指数退避算法会导致退避窗口随着冲突增加而增大,从而增加传输延迟。另一方面,ML-FAMA协议期望在一个时隙内尽可能地接收到更多的RTS控制帧以实现多链路传输数据,较大的退避窗口也会减少RTS控制帧的个数,降低信道利用率。此外,水声网络的节点部署具有稀疏性[2],所以不必设置过大的退避窗口从而增加延迟。因此,采用固定退避窗口,理论上存在一个最优窗口值使得网络吞吐量最大,显然这与网络规模、负载有关。
2 ML-FAMA协议性能分析
多链路传输拓扑示意图如图4所示。考虑图4(a)所示的场景,互为暴露终端的A、C发送节点分别向不同节点发送数据。因为节点的最大传输距离小于B、D两节点之间的距离,所以A、C两节点并行传输数据不会产生冲突。与RC-FAMA协议仅允许一个节点占用信道不同,ML-FAMA协议允许节点A和C同时发送数据。以图4(a)为例,假设在时间t内,每个节点可以成功传输λ数据帧且数据帧大小为l,则RC-FAMA协议理想的吞吐量为λl/t,而改进的MAC协议的吞吐量为2λl/t,吞吐量提高了1倍。图4(b)展示了多个发送节点向同一个节点传输数据,发送节点可以互为连通终端或隐藏终端。例如,发送终端A、D互为隐藏终端,A、C互为连通终端。根据图1得到的启发,通过发送节点的传播时延和数据帧的长度规划发送节点的数据传输,可以实现一次握手多条链路并发传输数据。显然,这种策略十分有益于需要将信息汇聚并转发至外部网络的水声传感网络。
图4 多链路传输拓扑示意图Fig.4 Topology schematic diagram of multi-link transmission
假设在接收节点的传输范围内,传输范围为半径等于R的圆形区域,随机分布N个发送节点。记发送节点与接收节点的距离为r,水声在RTS帧的长度内传播的距离为d,则易得发送节点的分布概率密度函数[3]为:
若存在n(n≤N)个发送节点同时竞争信道,易得RTS控制帧不会冲突的条件是任意两个节点之间的距离大于d,则无冲突概率为:
当n=3时,式(2)可化简为:
以图4(b)为例,假设每个发送节点传输的数据帧大小为l,则一次成功握手,RC-FAMA协议传输的数据大小为Pl,而改进的MAC协议的传输量为3Pl,提高了3倍。
3 理论模型与协议仿真
通过利用水声信道的时空不确定性,ML-FAMA协议在高时延的水声信道实现了多链路传输数据,从而提高了水声传感网络的吞吐量。本节的关注重点是ML-FAMA协议在分布式网络取得最大吞吐量的最优退避窗口。本文采用文献[3]提出的评估方法,参考DANESHGARAN等人的工作[13-14],建立二维马尔科夫链模型描述ML-FAMA协议的饱和吞吐量与退避窗口的关系,从而得到最优退避窗口值。
3.1 二维马尔科夫链模型
二维马尔科夫链模型假设条件如下:
1)网络拓扑结构为分布式拓扑,由一个接收节点和N个发送节点组成,所有节点都可以监听其他节点的数据传输。
2)信道是理想的,且不考虑捕获效应。
3)发送节点都处于饱和状态,即发送节点总有数据待发送。
4)传输的数据帧持续时间略大于一个时隙。
基于以上假设,本文以接收节点为圆心,发送节点随机分布在直径为节点最大传输范围的圆形区域中,针对任意一个发送节点E的退避过程,构建如图5所示的二维离散马尔科夫链模型。
图5 二维离散马尔科夫链模型Fig.5 Two-dimensional discrete Markov chain model
在图5中,m为节点最大重发次数,即最大退避阶段,记第i次重发的退避窗口值为Wi。模型采用随机变量s(t)、b(t)表示节点所处的退避状态。其中,s(t)为节点在第t个离散时隙所处的退避阶段,b(t)为节点当前时隙的退避剩余值[13]。为简化表示,令P{i,k|j,n}=P{s(t+1)=i,b(t+1)=k|s(t)=j,b(t)=n}表示节点从状态j转移到状态i,记Pf为条件发送失败概率,即在发送节点E发送RTS控制帧时,至少存在一个其他节点的RTS控制帧与E的RTS控制帧在接收节点冲突的概率,则图5所示的二维离散马尔科夫链模型可以由以下状态转移概率等式描述[13]:
3.1.1 传输概率
记bi,k为节点在某个时隙处于i退避阶段,退避计数器剩余值为k的稳态概率[15],即:
由式(4)、式(5)可得式(6)、式(7):
因此,可得节点处于任意一个退避状态的稳态概率为:
由式(6)~式(8)可知,节点在任意一个退避状态的稳态概率都可由退避状态b0,0和节点条件发送失败概率Pf表示,则由归一化条件可得:
综上所述,可得:
其中,τ为发送节点在任意一个时隙发送数据帧的概率,表明ML-FAMA协议的发送概率与节点冲突概率和重发次数无关,仅与退避窗口相关。
考虑到上述二维马尔科夫链模型冲突只能发生在RTS控制帧竞争信道过程中。因此,接收节点在一个时隙内发生RTS控制帧重叠的概率,即为传输冲突概率。令Pcon表示不多于n个发送节点同时竞争信道,RTS控制帧不会重叠的概率。结合式(2),Pf和Pcon的值可由以下等式表示:
3.1.2 归一化饱和吞吐量
节点竞争信道存在两种情况,即只有一个发送节点竞争信道和多个发送节点同时竞争信道。因此,节点成功传输数据占用的时隙长度为:
其中,cei(l)表示对括号中的数向上取整,Tslot表示一个时隙长度,Tdata表示节点发送数据的平均长度,Vrate表示节点的传输速率,i表示节点成功传输数据帧的个数。
则根据式(12),节点成功传输数据的平均时隙长度为:
考虑到在任意一个时隙,至少有一个节点传输数据的概率为:
因此,在至少有一个节点传输数据的条件下,能够成功被接收的概率为:
当发送节点竞争信道时,若节点不能在下一个时隙收到CTS控制帧,则认为本次发送的RTS控制帧与其他节点发送的控制帧发生冲突,因此发送节点冲突持续时间为:
则对于至少有一个节点传输数据的条件下,节点传输失败的概率为:
网络归一化饱和吞吐量S被定义为单位时间内网络中节点成功传输数据占用的时间:
根据上文建立的二维马尔科夫链模型可知,节点在不同时隙可能会处于不同状态。然而,在一个给定时隙发送节点E只能处于以下状态:1)当前时隙没有节点竞争信道,信道保持空闲;2)发送节点E竞争信道成功,并成功传输数据;3)发送节点E与其他发送节点竞争信道失败,所有节点开始退避过程。归一化饱和吞吐量可以表示为:
3.1.3 最优退避窗口
根据式(20),只要求得归一化饱和吞吐量S的极大值对应的退避窗口值,就可以获得当前网络规模的最优退避窗口值,然而S(W)的表达式过于复杂,难以求得其解析解。因此,本节采用数值搜索法得到最优退避窗口值。令W的初始值为2,求得其对应的饱和吞吐量S(W)、S(W-1)以及S(W+1);判断是否满足不等式方程组式(21),若不满足则将W值增加1,如此循环,直至S(W)满足。
3.2 模型有效性验证
不同于无线网络,水声传感网络的发送功率远大于接收功率。例如水声节点在传输时功率为10 W,而在空闲或接收模式下功率仅为80 mW[16]。一般来说,水声传感网络的传播距离与比特率乘积为10Kb/s-km~70Kb/s-km。特别地,在浅水区域传播距离与比特率乘积约为5Kb/s-km[4,17]。因此,本文设置仿真网络中的发送节点随机分布在以接收节点为圆心,半径为750 m的圆形区域内。同时令仿真区域的水深为100 m,节点比特率为3 Kb/s。考虑到传播时延对协议的影响,故对随机生成50种拓扑的仿真结果取平均值,每种拓扑的仿真时间为30 min。仿真参数如表1所示。
表1 仿真参数Table 1 Simulation parameters
通过对比理论值和仿真值,本节验证了上述理论模型的合理性。
图6(a)、图6(b)为退避窗口值分别为8和9的情况下,归一化饱和吞吐量的理论和仿真的对比。图6(a)、图6(b)的理论值接近仿真值,误差不超过0.05,这表明模型较为准确地描述了多链路并发传输的场景。从图中可以看出,随着水声传感器节点个数的增加,归一化饱和吞吐量先增大后减小。一方面,当节点个数较少时,尽管发生冲突的概率较小,但退避过程引入的时延降低了吞吐量;另一方面,当节点个数较多时,节点频繁发生传输冲突,不断进入退避过程,较长的退避时间也使吞吐量降低。图6表明根据水声网络规模选取合适的退避窗口值,可以使网络饱和且吞吐量达到最大。
图6 归一化饱和吞吐量的理论值与仿真值对比Fig.6 Comparison of theory value and simulation value of normalized saturated throughput
3.3 协议仿真结果对比
因为水声传感网络利用声波传递信息,所以水声节点不能直接接入外部网络[18-19]。因此,水声传感网络需要一个可以通过声波和电磁波传输信息的汇聚节点,该节点将水声传感器节点收集的信息转发至基站或卫星[20-21]。对于水声传感网络末端数百米的近距离通信,即所有水声节点将信息发送到汇聚节点的场景,图7的仿真结果表明,ML-FAMA协议相对其他协议具有更好的性能。这是由于ML-FAMA协议允许一次握手、多条链路传输数据,减少了节点竞争信道的时间花费,提高了信道利用率。
图7 不同退避窗口的归一化饱和吞吐量比较Fig.7 Comparison of normalized saturation throughput of different backoff windows
4 结束语
为提高水声信道利用率,本文利用水声网络的时空不确定性,在已有协议的基础上提出一种新的多链路传输MAC协议。由于水声信道中较短的通信链路具有更大的带宽,因此水声网络远距离通信采用多跳传输能够获得更高的吞吐量和更低的能耗。仿真结果表明,该协议能有效提高水声传感网络的吞吐量。由于多跳传输带来了更高的时延,为降低远距离通信的时延,下一步将把近距离通信的多链路传输协议与远距离通信相结合,以获得更好的网络性能。