基于DBTMA协议的动态感知忙音协议研究
2017-04-26乔平安曹宇
乔平安+曹宇
摘要:在Adhoc网络中,传统的MAC协议协议, IEEE802.11协议都无法解决大干扰域所带来的网络吞吐量下降,性能降低的问题。该文提出一种新的可以动态感知网络中节点位置的动态感知忙音(DBTSA)协议,来缓解此问题对网络性能的影响。实验结果证明本文提出的协议在吞吐量性能上优于其他算法。
关键词 Adhoc;大干扰域;DBTSA协议
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)06-0063-02
1概述
目前Adhoc网络[1]研究工作中,现有的经典MAC协议[2],IEEE802.11协议[3]都无法解决大干扰域问题,造成网络性能的下降。为了解决大干扰域问题,很多学者做了研究。文献[4]中改进了一种忙音协议由于NAV采用CSMA/CA机制,无法侦听到传输范围以外的节点发送消息,因此不能合理地解决大干扰域下隐藏终端的干扰。文献[5]中,提出了一种固定功率(PFD)协议,虽然在处理大干扰域下隐藏终端问题上有一定的成效,但是由于忙音的发射功率默认为最大值,这就会产生更多的暴露终端。
本文针对大干扰域所带来的问题[6],在忽略干扰累积只考虑单干扰源的情况下,提出一种可动态感知的忙音协议DBTSA。DBTSA协议是基于单干扰源的假设,即两个节点进行数据交互时,接收节点只考虑一个节点的干扰。通信双方的id通过忙音的频率和持续时间编码到忙音信号中去,其他节点通过侦听忙音信号得到通信双方的id信息,这样就可以确定自己是否在干扰范围之内,然后判断是否应该传送分组。通过这种方法就能很好地抑制大干扰域下隐藏节点的问题,在一定程度上有效地提高Ad Hoc网络的性能。
2 DBTSA协议
2.1 忙音的实现
一说到忙音,人们肯定会想到打电话时用户线路占线。但是,在无线网络中忙音是一种正弦信号,它有着某个特定的频率,它与调制信号不同之处在于它不能编码任何信息,只能在某个频带上,通过能量检测的方法被识别。传统的控制信号RTS、CTS只能在传输范围之内被识别,忙音因为所占的带宽非常小,而且是通过能量检测的方式识别,所以它在载波侦听范围之内就能被识别。正因为如此,忙音被广泛地应用到Ad Hoc网络MAC协议中。
本节所设计的协议中,忙音是用来通知其他节点当前网络中通信节点的id信息以及潜在的干扰源。以此来降低大干扰域中隐藏节点对网络性能的影响,提高网络性能。
在OPNET中我们通过模拟的方式来实现忙音。节点通过忙音的频率和持续时间来得到收发双方的id,并根据信噪比公式,如式(1)计算出信噪比。
其中,dr表示干扰节点与接收节点之间的距离,dp表示发送节点与接收节点之间的距离。这样,干扰节点就可以通过dr与干扰范围的比较,来判断自己是否处于接收节点的干扰范围之内,确定自己发送的分组是否会干扰到接收节点。干扰范围由式(2)计算。其中,SNRth表示初始阈值。
DBTMA协议[7]利用NAV机制,来通知节点是否能对数据进行收发处理。信道上每一个RTS帧,CTS帧都有一个Duration/ID域,节点通过Duration/ID域来更新自己的NAV计数器,只有当计数器的值减为0时,说明信道空闲才能开始发送或接收数据。但是在一些情况下,节点的信噪比符合要求时,节点的发送并不会影响到接收节点,所以不需要对自己的NAV计数器进行更新。例如当发送节点向接收节点发送数据分组时,干扰节点能侦听到该分组。此时干扰节点如果判断接收节点的信噪比达到了阈值的要求,则干扰节点不用更新NAV,可以继续发送数据。
2.2协议设计
DBTSA协议依然利用DBTMA协议的双忙音机制,利用两个带外忙音BTr和BTt来分别保护RTS分组和数据分组。在此基础上为了让其他节点能够获取通信节点的id信息,利用忙音的频率以及持续时间将节点id编码到忙音信号中,其他节点侦听到忙音信号后将其解码,这样就能获得通信双方的id信息。协议时序图如图1所示。
在协议中将发送节点和接收节点的id信息分别为表示为p和q,那么它们发送和接收忙音的频率可以由式(3)和(4)求得:
忙音的持续时间可以由式(5)求得:
其中,x代表节点的id信息,fmin和fmax代表忙音频带的最低和最高值,Tmin和Tmax代表持续时间的最小值和最大值。
2.3协议工作过程
DBTSA协议工作流程描述如下:假设发送节点A和接收节点B进行通信。
1)通信之前节点A处于空闲状态,准备和节点B通信时,进入竞争状态。
2)发送节点A进入竞争状态,对信道进行侦听,判断是否有忙音。
3)在一个DIFS时间段内侦听到信道上没有忙音信号,跳转到第7步。
4)只侦听到信道上有发送忙音BTt,表示信道正忙,然后发送节点A对信道进行周期性的侦听,一旦侦听到信道空闲跳转到第7步。
5)只侦听到信道上有接收忙音BTr,表示信道中有节点正在通信,然后节点A获取接收忙音BTr的忙音频率和持续时间,计算得到当前通信双方的id信息,接着计算出接收节点的干扰范围。如果自己处于接收节点的范围之内,则A退避传输,跳转回第2步;如果自己处于接收节点的干扰范围之外,则跳转到第7步。
6)同时侦听到BTr和BTt,则接收节点A退避传输,跳转回第2步。
7)发送节点A向接收节点B发送RTS控制信号,同时打开忙音BTr。
8)发送节点A发送完RTS控制信号后,进入等待状态,等待接收节点回复的CTS控制信號。
9)在接收节点B接收到RTS控制信号后,侦听周围是否存在忙音。
10)如果在一个SIFS时隙内侦听到BTr信号,表示信道有接收节点正在接收数据,节点B则获取接收忙音BTr的频率和持续时间,并计算节点的干扰范围,判断自己是否处在该范围中。如果处于其中,则丢弃RTS信号,进入退避状态;如果不在,则进入第11步。
11)接收节点B向发送节点A回复CTS信号。
12)发送节点A收到CTS信号后,关闭忙音BTt,开始向节点B发送数据DATA。
13)接收节点B接收数据DATA,同时打开接收忙音BTr。
14)发送节点A发送完数据DATA后,等待接收节点反馈的ACK信号。
15)接收节点B接收完毕數据DATA后,关闭接收忙音BTr,向发送节点反馈ACK信号,自己进入空闲状态。
16)发送节点A接收到反馈的ACK信号后,自己进入空闲状态,一次完整的通信结束。
3实验验证与分析
3.1仿真环境与参数设置
在OPNET中对DBTSA协议进行仿真,定义如下仿真场景。
1)仿真区域:300m*300m的方形区域;
2)仿真节点:20个随机分布在区域中的节点,通信时通信双方均为随机选择;
3)节点传输范围:半径为100m的圆形区域;
4)节点侦听范围:半径为150m的圆形区域;
5)信道传输速率:2Mbps;
6)数据包大小:1500bit;
7)仿真时间:400s。
3.2结果分析
为验证动态感知忙音(DBTSA)协议的性能,选用DBTMA协议和固定功率(PFD)协议作为参考对象,从吞吐量方面进行分析。
吞吐量性能:
图2显示了在数据包产生率不同时,DBTMA协议、DBTSA协议和PFD协议的吞吐量情况。由结果可知,当数据包产生率较小时三种协议得变化几乎没差别,随着网络负载的逐渐增加,网络流量慢慢增大,DBTSA协议和PFD协议的吞吐量显然好于DBTMA协议。DBTSA协议在吞吐量方面的改善也好于PFD,在一定程度上弥补了降低DATA冲突不如PFD的不足,它适当降低了网络中暴露终端的出现几率,增加了节点对信道的利用,提高了吞吐量。但是PFD协议利用最大功率发送忙音,使得干扰范围以外的节点仍然不能同时对信道利用,加大了暴露终端出现的几率,在一定程度降低了吞吐量。
4 结束语
本文提出一种新的可以动态感知网络中节点位置的动态感知忙音(DBTSA)协议,对于大干扰域所带来的问题,本文提出的协议在网络性能吞吐量方面优于其他协议。
参考文献:
[1] 王华,薛涛,崔云平,等.Adhoc网络技术[J].硅谷,2012(17):9-9.
[2] 陈宗明,许力,郑宝玉.Ad Hoc网络中MAC协议的研究与展望[J].电讯技术,2003,43(6):7-12.
[3] 吕兆峰,李晓,黄波.IEEE802.11AdHoc网络MAC层的性能分析[C].陕西省通信学会2009年学术年会. 2009.
[4] Abdullah A A,Cai L,Gebali F.Enhanced Busy-Tone-Assisted MAC Protocol for Wireless Ad Hoc Networks[C].Proceedings of Vehicular Technology Conference(VTC),2010:1-5.
[5] Leng S P,Yan Z,Hsiao-Hwa C,et al.Power-Fixed and Power-Aware MAC Protocols for Multihop Wireless Networks With a Large Interference Area[J].IEEE Transactions on vehicular technology,2009,58(6):2966-2967.
[6] 何双胜.基于忙音的Ad hoc网络MAC协议研究[D]. 苏州:苏州大学,2011.
[7] Haas Z J, Deng J. Dual busy tone multiple access (DBTMA)-a multiple access control scheme for ad hoc networks[J].IEEE Transactions on Communications,2002,50(6):975-985.