无线自组网定向时分MAC协议仿真实现与性能分析

2015-03-16 09:10朱晓浪蔡圣所朱钢
电脑知识与技术 2015年1期

朱晓浪 蔡圣所 朱钢

摘要:该文结合静态TDMA(Time Division Multiple Access)提出了一种定向时分MAC协议,该协议将节点分为中心节点和普通节点,普通节点之间的通信需要中心节点转发。所有节点周期性切换天线方向。当中心节点和普通节点天线对准后,先进行RTS和CTS交互,然后传输数据。最后详细给出了该协议在GloMoSim中的实现方法,并对协议性能进行了仿真分析。

关键词:MAC协议;TDMA;定向时分;GloMoSim

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)01-0044-04

无线自组网(ad hoc networks)是一种新型的无线通信网络。由于它具有可靠性高和抗毁性强等优点,近年来越来越受到研究者的关注。媒质接入控制(Media Access Control,MAC)协议决定着无线信道的接入方式,对ad hoc网络的整体性能起着重要影响。因此,MAC协议一直是ad hoc网络协议栈研究的重点。

目前ad hoc网络MAC协议根据天线技术可以分为基于全向天线和基于定向天线两类。基于全向天线的MAC协议有DCF[1](Distribution Coordination Function)、MACA[2](Multiple Access with Collision Avoidance)、TDMA[3]等。虽然大部分基于全向天线的MAC协议得到广泛应用,但近年来,定向天线因其天线增益高,传输距离远等优势赢得了研究人员的广泛关注,基于定向天线MAC协议的设计与优化也成了无线ad hoc网络领域的热点问题。DMAC[4](Directional MAC)是最早提出的定向MAC协议。该协议基于IEEE802.11,以定向发送RTS,全向发送CTS的方式预约信道,同时DMAC协议设置定向网络分配矢量(DNAV)减小冲突。相比IEEE802.11,DMAC协议有较高的吞吐量性能。Takai M[5]等人提出的DVCS(Directional Virtual Carrier Sensing)是一种采用定向RTS/CTS交互的MAC协议。节点收到RTS后,通过计算接收功率,调整天线方向,使天线指向接收功率最大的方向发送CTS,之后进行定向数据传输。Roychoudhury R[6]等人提出了一种多跳RTS协议MMAC(Multi-Hop RTS MAC),该协议利用定向天线高增益的优势通过多跳RTS建立节点间的连接,然后定向发送CTS和DATA/ACK。

本文在静态TDMA协议的基础上,提出了一种定向时分MAC协议。收发节点周期性切换波束方向,当收发节点波束相互对准且在各自分配到的时隙内时即可进行数据传输。该文首先在第2节中详细介绍了定向时分MAC协议规约。第3节介绍了该协议在无线网络仿真环境GloMoSim中的实现。第4节给出了仿真结果以及定向时分MAC协议的性能分析。最后对本文进行了总结。

1 定向时分MAC协议描述

1.1 静态TDMA协议

静态TDMA协议是最基本的时分多址MAC协议,它根据网络收发节点数量,将时间轴划分为一系列时帧,再将时帧划分为一系列时隙并固定分配给每对收发节点。由于每个时隙只有一对收发节点进行数据传输,因此静态TDMA协议具有无冲突的特点。

1.2 定向时分MAC协议

本文在静态TDMA基础上提出了定向时分MAC协议,该协议将节点分为两类:中心节点和普通节点。普通节点围绕中心节点布置。只有在中心节点和普通节点之间才有数据传输,普通节点之间的通信都需通过中心节点转发。以7个节点为例(1个中心节点和6个普通节点),网络拓扑如图1所示,节点7为中心节点,周期性逆时针切换天线方向,每次变化600,其余6个普通节点也周期性逆时针切换天线方向。

与静态TDMA类似,定向时分MAC协议也将一个时帧划分为若干个时隙,时隙数与普通节点数相同,如图2所示,每个时隙固定分配给普通节点。首先中心节点周期性切换天线方向并发送RTS探测帧;当有节点在自己分配到的时隙内收到该探测帧时应答CTS;中心节点收到应答帧之后,网络层队列中若有到达该节点的数据包则开始发送,否则等待对方发送数据包;发送应答帧的节点在一定时间内没有收到中心节点发送的数据包,则自己发送。假设各个节点时间都是同步的,时隙划分如图3所示,图(a)表示一次数据传输的过程。图(b)和图(c)表示中心节点和普通节点之间信道预约成功的过程。天线最小切换速度必须大于一次RTS帧和CTS帧交互的时间。由于普通节点之间通信需要靠中心节点转发,为提高网络吞吐量,一般中心节点的切换速度要大于普通节点,使得中心节点能够较多地与普通节点进行交互。

引入定向天线后的TDMA协议采用一种类似轮询的方式进行信道预约,中心节点不需要知道普通节点的位置信息,也不存在邻节点发现问题,相比其他的定向MAC协议,具有简单易行的优点。

2 定向时分MAC协议实现

2.1 仿真环境

本文仿真采用由加州大学洛杉矶分校UCLA(University of California in Los Angeles)開发的无线网络仿真环境GloMoSim[7],它是一种基于Parsec[8](Parallel Simulation Environment for Complex System)语言的离散事件仿真环境。GloMoSim完全采用OSI体系的分层结构。从应用层、传输层、网络层、MAC层到物理层,GloMoSim不仅提供了一些适用于无线自组网的协议代码,而且具有良好的可扩展性,能够让用户添加自己设计的协议。同时,GloMoSim支持节点的移动模型。

2.2 仿真实现方法

为了对定向时分MAC协议的性能进行测试,我们在GloMoSim的MAC层中添加了自己编写的定向时分MAC协议代码,在物理层中添加了模拟天线切换的代码。

根据协议规约,将时隙状态分为三种TDMA_SLOT_STATUS_TR、TDMA_SLOT_STATUS_RT和TDMA_SLOT_STATUS_IDLE。由于中心节点需要不断发送RTS,时隙状态设置会一直是TDMA_SLOT_STATUS_TR,TR表示中心节点与普通节点交互成功后先发数据包,后接收普通节点发送的数据包,RT则相反。普通节点只有当时隙状态是TDMA_SLOT_STATUS_RT时才能接收和发送数据。仿真开始时,中心节点除了定时每个时隙外,还要定时发送RTS。每次RTS发完后,都要等待CTS的应答,若没有收到CTS,则在下一个天线切换方向时刻重新发送RTS。当收到CTS时,中心节点取出网络层队列中的数据包,判断是否发往对方(CTS里包含发送节点的地址),若是则发送数据帧,否则开启定时器等待对方发送。定时器的使用能够有效防止因等待时间过长导致的时隙浪费。发送完CTS的普通节点先定时等待中心节点发送数据,接收完数据帧或定时器超时后才开始本方的数据帧发送。整个过程必须在一个时隙内完成。

RTS和CTS的交互可能出现在时隙的末尾,导致数据传输无法完成。为避免这种情况的发生,每次发送数据前,判断当前时刻到时隙结束这段时间是否能够进行一次数据传输,只有满足这个条件才能发送数据,否则就进入下一个时隙。时隙长度的选取要大于一次RTS/CTS交互和两次数据传输的总时间,尽量保证RTS和CTS能够在时隙前面部分交互,从而为后面的数据传输预留足够的时间,防止时隙的过度浪费。在仿真中,我们设置一个时隙长度为多次RTS/CTS交互的时间加上两次数据传输的时间。

在物理层,我们采用波束切换的天线模型。添加结构体AntennaOrientation,里面有天线方位角,仰角和波束夹角。仿真开始后,物理层定时切换天线方向,中心节点的天线切换时间与发送RTS的时间间隔是一致的,按照图1所示,每次天线方位角改变600。定义了两个有关天线的函数,一个用于锁住天线,另一个用于解锁天线。每次发送或接收数据都要锁住天线,以免在发送数据时切换天线方向影响数据的传输。数据接收完成后必须解锁天线,防止下一次切换时间超时,天线仍停留在原方向。发送RTS前必须检查天线状态,因为定时发送RTS的时间要小于传输数据的时间,这样就能避免在发送数据帧的同时发送RTS。对于数据能否接收需根据两个节点所处位置和天线信息作出判断。

3 仿真结果分析

3.1 仿真参数配置

针对图1所示的拓扑作分析。具体仿真参数设置如下:

① 网络场景配置

在GloMoSim的nodes.input文件中配置如图1所示的7个节点, 6个普通节点围绕中心节点构成一个正六边形,中心节点与普通节点之间的距离为200m。

② 仿真协议配置

物理层主要的配置信息如表1所示。所有节点的天线初始方位角为0,仰角为0。中心节点天线方向切换速度固定为600/600ms,普通节点天线方向切换速度为600/7*600ms。为简化问题,我们认为天线在波束方向上呈圆锥形,增益为1。节点对应接收门限下的传输范围为250m。定向时分MAC协议的每一时帧划分为6个时隙,分配给6个普通节点,每个时隙长度设为9600us。在routes.in文件中配置静态路由信息。应用层使用CBR恒定比特率流,节点1和2,3和4,5和6相互接收来自对方的数据包,数据包长度为512个字节,发包间隔为0.1s,仿真时长为100s。

3.2 结果分析

在上述仿真参数配置下,我们得到如图4所示的仿真结果。在时隙长度为9.6ms,中心节点与普通节点天线切换速度比为7:1的条件下,中心节点与每个普通节点的交互比较平均,所以吞吐量非常接近。图5给出的是在相同参数配置下,业务流从1增加到6得到的网络总吞吐量。可以看出吞吐量近似线性变化,业务流越多,时隙利用率也越大。图6给出的是在转速比为7:1的条件下,改变时隙长度所得到的网络总吞吐量。从图中可以清楚地看到网络总吞吐量先上升后下降。正如前面所述,增大时隙长度可以保证中心节点与普通节点有更大的机会相互传输数據,提高网络总吞吐量,但增大时隙的同时浪费的时间也越多,反而会导致吞吐量下降。因此,选取合适的时隙长度有利于提高吞吐量。图7给出不同时隙长度下,中心节点与普通节点天线切换速度比对网络总吞吐量的影响。从图中可以清楚地看到小的转速比不利于提高网络吞吐量性能。中心节点与普通节点天线切换的相对速度越小,它们之间交互的间隔就越大。

4 结束语

本文主要介绍了一种无线自组网定向时分MAC协议,并在GloMoSim环境下实现了该协议以及作了仿真分析。从仿真结果我们可以看出,定向时分MAC协议能够结合静态TDMA和定向天线的特点,时隙长度和天线转速等参数的设置对协议性能具有很大影响。因此,在后续工作中,我们将继续研究如何设计网络参数优化协议性能。

参考文献:

[1] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications[S]. IEEE Standard 802.11, 1999.

[2] Karn P. MACA: A new channel access method for packet radio[C]. Proceedings of the 9th ARRL Computer Networking Conference, 1999, 9:134-140.

[3] Glisic S G, Leppanen P A. Wireless communications: TDMA versus CDMA[M]. Kluwer academic publishers, 1997.

[4] Ko Y B, Shankarkumar V, Vaidya N F. Medium access control protocols using directional antennas in ad hoc networks[C]. In INFOCOM 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE. 2000, 1: 13-21.

[5] Takai M, Martin J, Bagrodia R, et al. Directional virtual carrier sensing for directional antennas in mobile ad hoc networks[C]. Proceedings of the 3rd ACM international symposium on Mobile ad hoc networking & computing. ACM, 2002: 183-193.

[6] Choudhury R R, Yang X, Ramanathan R, et al. Using directional antennas for medium access control in ad hoc networks[C]. Proceedings of the 8th annual international conference on Mobile computing and networking. ACM, 2002: 59-70.

[7] Zeng X, Bagrodia R, Gerla M. GloMoSim: A Library for Parallel Simulation of Large-scale Wireless Networks[C]. Twelfth Workshop on Parallel and Distributed Simulation, 1998. Proceedings.

[8] Bagrodia R, Meyer R, Takai M, et al. Parsec: A parallel simulation environment for complex systems[J]. Computer, 1998, 31(10): 77-85.