无线自组网竞争类MAC协议分析及研究
无线自组网是一种没有任何中心实体的,由一组带有无线通信收发装置的移动终端节点组成的自治性网络。依靠节点间的相互协作可在任何时刻、任何地点以及各种移动、复杂多变的无线环境中自行成网,并借助多跳转发技术来弥补无线设备的有限传输距离,从而拓宽网络的传输范围,为用户提供各种服务、传输各种业务。在现代化战场上,如数字化与自动化战场、各种军事车辆、士兵之间的协同通信、发生地震等自然灾害后、搜救与营救以及移动办公、虚拟教室、传感器网络等通信领域应用非常广泛。其中MAC协议是无线自组网协议的基础,控制着节点对无线媒体的占用,对自组织网的整体性能起着决定性的作用。从自组织网出现至今,MAC协议设计一直是研究的重点。目前,移动自组织网采用的信道访问控制协议大致包括3类:竞争协议、分配协议、竞争协议和分配协议的组合协议(混合类协议)。这3种协议的区别在于各自的信道接入策略不同。由于MAC协议的研究主要集中在基于竞争的机制,本文着重针对竞争类协议中几种较常用的典型MAC协议进行对比分析,并在OPNET 仿真建模软件中创建出各协议的状态模型,这对无线自组织网络仿真研究及选择高效适用的MAC技术方案具有实际参考价值。1 竞争协议的概念及特点竞争协议是使用直接竞争来决定信道访问权,并且通过随机重传来解决碰撞问题。ALOHA协议和载波侦听多址访问CSMA 协议就是竞争协议的典型例子。除了时隙化的ALOHA协议,大多数竞争协议都使用异步通信模式。这种协议在低传输负荷下运行良好,如碰撞次数少,信道利用率高、分组传输时延小。随着传输负荷的增大,往往使协议性能下降、碰撞次数增多。在传输负荷很重的时候,竞争协议可能随着信道利用率下降而变得不稳定。这就可能导致分组传输时延呈指数形式增大,以及网络服务的崩溃。这就对MAC协议的设计提出了较高的要求。当前无线自组网中MAC协议的设计面临如下几个问题。1.1 隐藏终端和暴露终端无线自组网的无线信道是一个共享的广播信道,但它不是一跳共享的,而是多跳的共享信道。此外,每个结点的通信范围有限,因此报文冲突与节点所处位置有关,结点之间的传播时延不可忽略,带来隐藏终端和暴露终端的问题。1.1.1 隐藏终端隐终端问题指在接收结点的覆盖范围内而在发送结点的覆盖范围之外的结点。隐藏终端因听不到发送结点的发送而可能向同样的接收结点发送报文,造成报文在接收结点处冲突(),但因为它在接收结点的通信范围之外,它的发送实际上并不会造成冲突。因此必须想办法避免这两种终端带来的冲突,尽可能提高吞吐率,减小时延。1.2 信道使用的公平性在无线自组网络中,一个需要解决的关键问题是设计公平高效的MAC访问协议。所谓公平,是指竞争无线信道的节点能公平共享无线信道的带宽;所谓高效,是要尽量选用合适的退避算法,保证竞争用户使用信道的公平性。由于网络中各节点共享信道,不可避免要采取退避手段解决竞争问题。所采用的退避算法既要尽量降低各节点间的冲突概率,又要避免因退避时间过长而降低信道利用率,同时还要保证各节点能公平地访问信道。1.3 节点移动的影响由于无线自组网中节点能够自由移动,这就造成了网络拓扑结构的不断变化,这也会对Adhoc网络媒体接入控制协议带来一定的影响。当一对节点正在通信时,因为移动而进入接收节点通信范围的节点可能会发送(或正在发送)数据而引起分组冲突,这被称为入侵终端问题。实际上结点移动对信道接入协议的影响是较小的。2 几种典型的竞争类MAC协议为了避免隐藏终端和暴露终端问题以及信道使用公平性等问题,在无线自组网领域已提出了很多较为高效的MAC协议,典型的如:MACA,MACAW,802.11MAC,FAMA协议。本文将对以上几种协议进行协议分析及比较。2.1 多址访问与碰撞回避(MACA)协议 MACA协议使用控制分组握手诊断来减轻隐藏终端干扰和使暴露终端个数最少。MACA 协议采用两种固定长度的短分组,即请求发送(RTS)和允许发送(CTS)。节点A发送数据给节点B时,首先向B发送一个RTS分组,RTS分组包括发送数据的长度。节点B收到RTS分组,并且当前不在退避中,则立即应答CTS分组,CTS分组也包含发送数据的长度。节点A收到
CTS分组后,立即发送数据。旁听到RTS分组的任何节点则推迟其发送,直到有关CTS分组发送完为止。旁听到CTS分组的任何节点推迟其发送,推迟时间长度等于预定数据发送所需时间。如果发送节点没有收到相应的CTS帧,它将认为由于冲突RTS帧已经遭到破坏,随后执行一个二进制指数退避算法BEB,延迟重发RTS帧。MACA协议的优点是提高了信道的利用率,降低了数据帧发生冲突的概率,通过采用RTS/CTS机制,协议解决了隐藏终端问题,但暴露终端问题并没有解决。而且MACA协议不能避免控制帧之间的冲突,同时使用BEB退避算法将会引发公平性问题。2.2 MACAW MACAW是对MACA的改进,它采取以下措施:1)用载波侦听来避免RTS控制分组之间的碰撞,使用正确应答ACK分组来辅助丢失分组的迅速恢复。报文的交互顺序为RTS—CTS—DS—DATA—ACK。2)为防止正确应答ACK 分组的碰撞,原节点发送一个数据发送(DS)分组来提醒暴露终端正确应答ACK分组即将发送。ACK和DS控制帧的使用,增加了数据传输的可靠性。控制帧ACK作为链路层确认帧,它的使用能够增加传输层的吞吐率。3)采用MILD(倍数递增线性递减)退避算法取代BEB退避算法。虽然MILD算法不能完全消除不公平现象,但它要比BEB算法公平的多。但是它仍然不能避免控制帧的冲突。MACAW的改进实际上是以增加协议开销为代价的,同时只是部分解决了隐藏终端和暴露终端问题。2.3 IEEE 802.11MAC协议 IEEE802.11MAC是以CSMA/CA为基础,具有分布式协调功能的MAC协议。该协议包括载波检测(CS)机制、帧间间隔(IFS)和随机退避(ra-ndom back-off)规程。站点要发送数据时,按照CSMA/CA的访问方式接入信道,需要发送数据的终端首先监听信道的忙闲,如果空闲则可以进行发送处理,但不是马上发送数据帧,而是由CSMA/CA分布算法,控制各种数据帧相应的时间间隔(IFS),只有当信道空闲的时间长度大于规定的帧间间隔IFS时,结点才会认为信道空闲,开始发送。如检测到媒体正在传送数据,则该节点将推迟竞争信道,一直延迟到现行的传输结束为止。在延迟之后,该终端要经过一个随机退避时间重新竞争信道使用权。IEEE802.11MAC仍使用的是RTS/CTS 握手机制,碰撞仍然会发生并且未解决隐藏节点和暴露节点问题,同时采用的二进制指数退避算法容易带来信道的公平性问题。2.4 FAMA FAMA是一个描述一类无线信道接入协议的框架,这类协议在发送数据之前要先使用控制报文预约信道,该协议允许一次RTS—CTS成功握手连续发送多个数据报文,以此来提高信道的利用率。其中FAMA—NCS可被用于无线自组网络,FAMA—NCS采用了载波监听机制,并通过CTS 控制报文的长度,避免了隐发送终端的影响。3 OPNET平台下各协议进程模型的构建对无线网络MAC协议的研究中,协议状态模型的建立是仿真分析的基础和前提,本文利用Opnet 仿真建模软件,创建出了上述各协议的状态分析模型。3.1 Opnet建模环境实验选用opnet 网络仿真建模软件来构建上述各无线MAC协议的状态模型。OPNET软件是美国MIL3公司推出的专门用于对通信网进行仿真的软件包,它可以提供大型通信网络和分布系统的仿真建模环境,可以利用离散事件仿真技术来分析已建模系统的性能和行为。OPNET建模分为网络模型、节点模型、进程模型三个层次。网络模型是最高层次的模型,由网络节点和连接网络节点的通信链路组成,由该层模型可直接建立起仿真网络的拓扑结构。结点模型由各种协议模块和连接协议模块的各种连接方式组成,如物理接口模块、MAC模块、IP模块、路由模块等。在结构上每个模块对应一个或多个进程模型,而进程模型由有限状态机来描述,并采用C语言编程实现。3.2 各协议进程模型的构建在Opnet中,是由具体的进程模型来实现各节点模型的功能。每个进程模型是一个由c代码实现的有限状态机。本文对以上4种协议进行了分析,并在此基础构建出各自的有限状态机模型如下: 1)MACA协议进程模型状态分析。
2)MACAW协议进程模型状态分析。 3)IEEE 802.11 DCF协议进程模型状态分析。