背景技术
Ad hoc网络是一种新型的无线网络。它由一系列地位完全平等的网络节点组成,无需任何固定或预设的网络设施。网络中每个节点既是终端又是路由器,它们在信道访问控制(Medium Access Control,MAC)协议的控制下以多跳共享的方式接入无线信道,实现信息和服务的共享。由于具有组网快速灵活、可靠性高等特点,ad hoc网络被广泛应用于无法提供固定通信基础设施的场合,如野战通信、抢险救灾、野外科考、临时会议等。
IEEE802.11DCF(Distributed Coordination Function)是无线局域网中的标准协议,它结合物理载波检测机制、虚拟载波检测机制和二进制指数退避算法避免发送节点冲突的发生,并采用RTS/CTS控制帧握手机制部分的解决了隐终端问题。然而,由于遏制了邻近节点并发接入信道的可能性,因而在多跳环境下该协议无法获得最优的网络吞吐量性能。近年来,研究人员在IEEE 802.11DCF协议的基础上,提出了MAC层的并发接入机制以提高网络总平均吞吐量性能。其中,大部分研究工作围绕基于控制间隙的并发接入机制展开。该类机制在首先抢占信道的收发节点对的信道预约过程和数据帧传输过程之间引入额外一段控制间隙(Control Gap,CG),允许该收/发节点传输范围内的其他节点在CG时段内完成信道预约。此外,为便于调度并行的DATA和ACK传输,基于控制间隙的并发接入机制在RTS/CTS帧中添加了DATA帧发送起始时间和ACK 帧发送起始时间字段。
附图1为典型并发接入ad hoc网络场景示意图,附图2则给出了对应的各收发节点对MAC帧交互时序图。基于控制间隙的并发接入机制的具体过程如下:
步骤1:侦听到邻居节点发送的RTS/CTS控制帧的节点维护记录邻居节点状态信息的链表NSL;NSL中记录的信息包括:邻居节点MAC地址,邻居节点的通信角色(主发送节点或从发送节点或主接收节点或从接收节点),控制帧中携带的DATA帧发送起始时间,控制帧中携带的ACK帧发送起始时间;节点在进行RTS/CTS控制帧交互之前,首先遍历各自维护的NSL。当NSL内不存在任何接收节点和发送节点时,节点可以作为主发送节点发起主传输预约;当NSL内不存在任何接收节点且只存在一个主发送节点时,节点可以作为从发送节点发起从传输预约;当NSL内不存在任何发送节点和主接收节点时,收到RTS帧的节点可以作为主接收节点应答传输预约请求;当NSL内不存在任何发送节点且只存在一个主接收节点时,收到RTS帧的节点可以作为从接收节点应答传输预约请求。
步骤2:主发送节点和主接收节点通过RTS/CTS控制帧交互完成主传输预约,在主传输预约过程和DATA帧传输过程之间引入控制间隙CG;主发送节点传输范围内或主接收节点传输范围内同为发送节点或同为接收节点的其他节点在CG时段内完成从传输预约。
步骤3:CG时段过后,正确完成信道预约的主发送节点和从发送节点同时向各自的接收节点发送DATA帧;若DATA帧接收成功,则各接收节点同步向各自的发送节点应答ACK帧;若DATA帧接收失败,则接收节点在等待ACK帧到达时间内延迟竞争信道。
近年来,随着人们对信息服务需求的不断增长,网络中音频、视频和流媒体等多媒体业务快速增多,如何在最大化地利用网络资源的前提下,保证业务的服务质量(Quality of Service,QoS)成为了亟待解决的重要问题。引入并发接入机制虽然能有效地提高多跳无线网络的总平均吞吐量,但是当网络节点有新业务需求时,新加入的数据流可能会对已有通信业务的QoS产生影响。为了避免这种影响,则必须要求收/发节点在发起新业务以前对当前条件下的链路可用带宽进行估计。
链路可用带宽通常定义为在不影响网络中现有业务QoS要求的前提下,该链路上新加入业务所能获得的最大吞吐量。现有的链路可用带宽估计方法大致可以分为探测法和感知法两大类。探测法指节点通过发送端到端的探测包来估计可用带宽的方法。如果探测包的发送速率大于可用带宽,探测包就会在节点的发送队列中累积,从而造成端到端延时的增加。通过观察探测包的延时变化,即可确定链路可用带宽。该类方法简单直观,但注入探测包易对网络中现有业务的性能造成较大影响。基于感知的方法无需发送探测包,而是要求节点感知其周围信道的利用状况,并通过与邻居节点之间的交互,获知其一跳或多跳范围内其他节点的信道利用状况,进而采用分布式估计算法获知链路可用带宽。该类方法带来的协议开销较小,特别适用于采用分布式方式组网的无线ad hoc网络。然而,目前人们尚未针对并发接入ad hoc网络提出链路可用带宽估计方法。
具体实施方式
下面结合附图和实施例对本发明作进一步详细描述。
本说明书将本发明提出的适用于并发接入ad hoc网络的链路可用带宽估计方法简记为ABEM(Available Bandwidth Estimate Method)。ABEM首先设定了以下网络运行条件:
1、各节点均配备单个半双工无线收发信机,即在同一时刻,节点只能发送或者接收信号,但不能同时进行发送和接收;
2、各节点具有相同的天线高度和天线增益,且信号发送功率均一致;
3、节点采用直接序列扩频(DSSS)的物理层,MAC层使用基于控制间隙的并发接入机制,网络层采用IP协议,传输层使用UDP协议。
以上述条件为基础,本发明提出的适用于并发接入ad hoc网络的链路可用带宽估计方法已经在无线网络仿真环境QualNet4.5中实现,并通过仿真结果证明了该方法的有效性。ABEM的具体实施步骤为:
步骤1:确定链路最大吞吐量Bmax。
针对基于控制间隙的并发接入机制的协议规约,ABEM定义链路完成一轮成功的并发数据传输所需要的时间为并发传输周期t。附图3给出了包含三个时间间隔的并发传输周期示意图,其中时间段tI1包括分布式帧间间隔DIFS、退避过程所经历的时间和RTS/CTS控制帧交互的时间,时间段tI2包括控制间隙CG和最小帧间间隔SIFS,时间段tI3包括DATA分组传输时长、最小帧间间隔SIFS 和ACK分组传输时长。整个并发传输周期t可表述为:
t=tI1+tI2+tI3 (1)
设tDIFS、tSIFS分别为分布式帧间间隔DIFS时长和最小帧间间隔SIFS时长,tB为一次分组传输中退避过程所经历的平均时间,tGap为控制间隙CG的时长,tRTS、tCTS和tACK分别表示RTS、CTS和ACK分组传输时长,tDATA为DATA分组的传输时长,其中包括传输DATA帧比特数LDATA、UDP头比特数LUDP、IP头比特数LIP以及MAC层头部和物理层头部的时间。式(1)中的各个时间段可表述为:
当链路在每个并发传输周期t内均能成功完成数据传输时,该链路能获得最大吞吐量。考虑数据传输过程中传输层、网络层、链路层和物理层的协议开销,网络中链路能获得的最大吞吐量Bmax可确定为:
步骤2:节点通过侦听记录周围链路的占用信息,并估算自身的可用发送时长和可用接收时长。
在估计周期T内,网络中每个节点利用物理载波检测机制和虚拟载波检测机制来感知周围节点的信道利用状况,估算各自的可用发送时长和可用接收时长,并保存其周围邻居节点占用信道状况的信息。设节点的可用主发送时长为TMT、可用从发送时长为TST、可用主接收时长为TMR、可用从接收时长为TSR。在估计周期T内,ABEM要求每个节点记录以下信息:
1、节点感知物理载波检测范围内周围节点的信道使用情况,记录估计周期内物理载波检测机制判断信道空闲时间大于tDIFS的总时长,将其作为可尝试进 行数据发送的时间TI;
2、节点侦听到CTS帧后记录或更新估计周期内节点传输范围内存在接收节点的总时长Tnr、存在主接收节点的总时长Tmr、只存在一个主接收节点的总时长Tomr和不存在主接收节点但存在从接收节点的总时长Tbr;
3、节点侦听到RTS帧后记录或更新估计周期内节点传输范围内存在发送节点的总时长Tns和只存在一个主发送节点的总时长Toms;
4、节点传输范围外物理载波检测范围内其他节点传输DATA分组的总时长TS。
根据基于控制间隙的并发接入机制中传输预约的发起和应答条件,估计周期T内节点的可用主发送时长TMT和可用从发送时长TST可分别计算为:
估计周期T内节点的可用主接收时长TMR和可用从接收时长TSR可分别计算为:
步骤3:节点与邻居节点交互周围链路占用信息,并初步估算本链路的可用带宽。
1、邻居节点间周期性地交互周围链路占用信息。
在估计周期T内,每个节点在邻居范围内周期性的广播信息交互通告帧(ICF),ICF中携带有节点上个估计周期内存在发送节点的总时长Tns、只存在一个主发送节点的总时长Toms和存在接收节点的总时长Tnr以及可用主发送时长 TMT和可用从发送时长TST等信息。
为具体的说明问题,在后面的叙述中,本说明书将由发送节点S和接收节点R组成的链路(S,R)的可用带宽作为ABEM的研究对象。
以链路(S,R)为例,节点R正确接收了上一跳节点S广播的信息交互通告帧ICF后,提取帧中的相关信息,并结合本节点获得的上个估计周期内存在发送节点的总时长Tns、存在接收节点的总时长Tnr、只存在一个主接收节点的总时长Tomr、存在主接收节点的总时长Tmr和不存在主接收节点但存在从接收节点的总时长Tbr以及可用主接收时长TMR和可用从接收时长TSR等信息计算链路可用时长。
2、通过确定链路发送节点和接收节点可同时占用信道的概率,初步估算链路可用带宽。
为确定链路发送节点和接收节点可同时占用信道的概率,ABEM采用不同的事件来定义链路(S,R)收发节点传输范围内背景业务的各种信道使用情况,各事件的符号表示及其物理意义如下所示:
εES:发送节点S传输范围内存在其他发送节点;
εMS:发送节点S传输范围内只存在一个其他主发送节点;
εER:发送节点S传输范围内存在其他接收节点;
ηES:接收节点R传输范围内存在其他发送节点;
ηNR:接收节点R传输范围内不存在其他接收节点;
接收节点R传输范围内不存在其他主接收节点但存在其他从接收节点。
上述8个单个事件的发生概率可由相应事件的持续时间与估计周期T作比 值得到。经过邻居范围内节点间周期性信息交互的过程,节点R已获知上述8个事件的持续时间,因而可以计算得出这8个事件发生的概率值。
链路发送节点和接收节点不能同时使用信道是由上述单个事件组成的一些联合事件引起的。这些联合事件和对应的链路收发节点不能同时使用信道的情况可表述如下:
(1)
和
事件的发生会导致节点S能作为主发送节点而节点R不能作为接收节点参与数据传输;
(2)事件的发生会导致节点R能作为主接收节点而节点S不能作为主发送节点参与数据传输;
(3)
事件的发生会导致节点R能作为从接收节点而节点S不能作为主发送节点参与数据传输;
(4)
和
事件的发生会导致节点S能作为从发送节点但节点R不能作为接收节点参与数据传输;
(5)
和
事件的发生会导致节点R能作为主接收节点而节点S不能作为从发送节点参与数据传输。
设rt和rCS分别表示节点的传输半径和物理载波检测半径,在附图4所示的网络拓扑中,链路(S,R)的发送节点S和接收节点R的传输范围和物理载波检测范围将整个网络划分为7个互不重叠的区域:区域A1-A7,其中节点H为区域A7内背景业务的一个发送节点。上述联合事件发生的概率,即链路收发节点不可同时使用信道的概率可计算为:
式(6)-(13)中,△
1为区域A
2与区域
的面积比值,△
2则为区域A
4与区域
的面积比值。
通过链路发送节点和接收节点可同时占用信道的概率,即可获知链路(S,R)的可用时长TL:
进而,接收节点R处初步估算的链路(S,R)的可用带宽可表示为:
ABL=TL·Bmax (15)
步骤4:预测传输失败概率,修正链路可用带宽。
本步骤中,ABEM对新业务加入后可能产生传输失败的概率p进行预测,进而对步骤3得到的链路可用带宽ABL进行修正。
在实际的数据传输中,接收节点收到发送节点的RTS帧后,会由于信道忙而放弃应答CTS帧,从而导致数据传输无法成功。对于附图4所示的网络拓扑,其中节点H为链路(S,R)发送节点S的一个隐发送终端。为便于描述,在后面的讨论中,本说明书用节点H表示发送节点S的任一隐发送终端。
设S(·)表示对应网络区域的面积,附图4所示的区域A7内发送节点S的隐发送终端的归一化发送时长xb可表述为:
其中TS为步骤2中记录的节点传输范围外物理载波检测范围内其他节点传输DATA分组的总时长。
根据前述步骤的计算结果,链路(S,R)的归一化可用时长xi可表述为TL/T。设k为链路(S,R)的一次业务传输中RTS分组的时间占用比率,k可表述为tRTS/t,则链路(S,R)可用于传输RTS分组的归一化时间为k·xi。
当隐发送终端H的DATA分组的传输结束时间晚于链路(S,R)的发送节点S的RTS分组的传输结束时间且两者产生重叠时,链路(S,R)的接收节点R收到RTS帧时会由于信道忙而放弃应答CTS帧,从而导致传输失败。如附图5所示,该情形可进一步分为以下两种情况:
1、H的DATA分组的传输时段xb始于前k·xi时段内。
将k·xi分成N等分,则xb始于其中每一份时间段的概率为(k·xi/N)。当xb始 于第j份时间段时,k·xi结束于xb结束时间之前的概率可表述为[xb-(1-j/N)·k·xi]。于是该情况下传输失败概率p1可计算为:
2、H的DATA分组的传输时段xb始于后(1-k·xi)时间段内
采用与情况1类似的分析,该情况下传输失败概率p2可计算为:
p2=(1-k·xi)·xb (18)
综合以上两种情况,传输失败概率p可表述为:
在一个并发传输周期内,设h为接收节点R因信道忙而无法应答CTS帧导致链路可用时长损耗的比率,即h可表述为tI1/t。结合预测的传输失败的概率p,ABEM最终将链路(S,R)的可用带宽AB修正为:
AB=(1-p·h)·ABL (20)
本发明申请书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。