购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 移动自组织网络的MAC协议

数据链路层的MAC协议是移动自组织网络协议栈中的重要组成部分。它既要对无线信道进行信道划分、分配和能量控制,又要负责向网络层提供统一的服务,屏蔽底层不同的信道控制方法,实现拥塞控制、优先级排队、分组发送、确认、差错控制和流量控制等功能。因此,移动自组织网络的MAC协议是数据消息在无线信道上发送和接收的直接控制者,它能否高效、公平地利用有限的无线信道资源,对移动自组织网络的性能将起到决定性的作用。

在移动自组织网络中,移动节点的通信距离受到限制,从源节点发出的信号,其他节点不一定都能收到,从而会出现隐藏终端和暴露终端问题,造成时隙资源的无序争用或浪费,增加数据碰撞的概率,影响吞吐量、网络容量和数据传输时延。因此,MAC协议的设计必须考虑能有效解决隐藏终端和暴露终端问题。

根据所使用的无线信道数量,本节将移动自组织网络的MAC协议划分为单信道MAC协议和多信道MAC协议。在分别介绍这两类协议的基础上,本节将会进一步阐述基于功率控制和基于定向天线的MAC协议。

3.2.1 单信道MAC协议

传统的移动自组织网络节点间只有一个共享信道,因此早期学术界对单信道MAC协议进行了深入研究。根据节点获取信道的方式,可以将移动自组织网络的单信道MAC协议分为非竞争性(Contention-free)MAC协议和竞争性(Contention-based)MAC协议两类。在非竞争性MAC协议(如TDMA、FDMA、CDMA等)中,节点之间通过一定的资源分配机制来避免竞争,如分配TDMA中的时间片、FDMA中的频谱空间和CDMA中的编码空间等。该类协议需要某种形式的集中协调机制,这种机制在分布式多跳的移动自组织网络中具有较大的管理开销,难以实现。尽管人们对其做了很多相关研究,但是它很少被应用到移动自组织网络中。

在竞争性MAC协议中,每个发送节点独立决定发送数据的时刻,不需要和其他节点协调同步。因此,该类协议在传送时可能出现冲突,而缺少QoS保障。但该类协议易于实现,具有良好的鲁棒性,非常适合移动自组织网络的分布性、自组织性和动态性的特点,因此得到了深入研究和广泛应用。下面将介绍典型的竞争性MAC协议。

1.ALOHA协议

ALOHA协议产生于20世纪60年代,最早是由夏威夷大学应用于无线信道的竞争性MAC协议。该协议的基本思想:当节点有数据需要发送时,直接进行发送。如果网络内多个节点同时有数据发送,就会导致严重的干扰和冲突。一般采用检错编码、无线信号分析等方法来检测冲突的发生。如果冲突发生,则节点随机等待一段时间后重新发送。这种纯ALOHA协议的信道利用率最高只有18.4% [6]

为了改善ALOHA协议的性能,Abramson等学者提出了时隙ALOHA(Slotted ALOHA)协议 [7] 。该协议首先将信道划分为多个等长的时隙,节点有数据需要发送时,必须在时隙的起始处发送。如果发生冲突,那么节点先随机等待若干时隙,再在时隙的起始处重新发送。与纯ALOHA协议相比,时隙ALOHA协议可以将信道利用率提高一倍,但也会产生一定的时间同步开销。

2.CSMA协议

对于ALOHA协议和时隙ALOHA协议,无论其他节点是否正在发送数据,节点都会随时开始数据的发送,因而容易出现冲突并且信道利用率低。移动自组织网络的信道空间是由相邻的节点共享的,所以在这些节点之间引入一定的协调机制可以提高资源利用效率。为此,Kleinrock等学者提出了载波侦听多路访问(Carrier Sense Multiple Access,CSMA)协议 [8] 。节点在发送数据前首先侦听信道,根据信道的忙闲状态判断其他节点是否正在发送数据。只有在没有其他节点正在发送的前提下,节点才开始自己的数据发送。

CSMA协议可以分为坚持型CSMA协议和非坚持型CSMA协议两类。坚持型CSMA协议是指节点在侦听到信道为忙时继续监听信道。在坚持型CSMA协议中,如果节点侦听到信道空闲后就立即发送,则该协议是1坚持型CSMA协议;如果节点侦听到信道空闲后以概率 p 发送,则该协议是 p 坚持型CSMA协议。非坚持型CSMA协议是指节点在监听到信道为忙后,不再坚持侦听信道,而是根据协议的具体算法延迟一段时间(随机回退)后再次侦听。在后面的描述中,将用术语“回退”表示节点在发现信道不空闲后所采取的等待动作。随机回退则是指节点在回退时所等待的时间是随机选取的。

坚持型CSMA协议因为过于“贪婪”,在多个节点同时有数据需要发送的情况下必然导致冲突。非坚持型CSMA协议则可以通过随机回退等待机制,有效地降低冲突概率。由于回退时间过长会浪费宝贵的无线信道,时间过短又达不到缓解冲突的目的,因此回退时长的选择对非坚持型CSMA协议的性能有决定性的影响。此外,CSMA协议所采用的物理侦听不能有效地解决隐藏终端和暴露终端等问题,所以还需要引入其他机制来进一步提高信道利用率。

3.MACA协议

为了解决物理侦听存在的问题,产生了虚拟侦听的概念。虚拟监听机制是指在发送实际的数据消息之前,在发送节点和接收节点之间进行一次控制消息握手。带冲突避免的多路访问协议(Multiple Access with Collision Avoidance,MACA) [9] 是第一个采用RTS/CTS握手机制来解决无线自组网中隐藏终端和暴露终端问题的MAC协议。

发送节点在发送数据消息前,先向接收节点发送请求发送消息RTS,该消息包含发送数据消息所需时间等参数。当接收节点收到RTS消息后,回送给发送节点允许发送消息CTS,该消息包含接收数据消息所需时间。发送节点接收到CTS消息后,就发送DATA消息。侦听到CTS消息的其他所有邻居节点将推迟自己的发送,直到CTS消息中声明的时间结束为止。收到RTS消息的其他节点也要延迟一段时间,以保证发送节点能够接收并响应CTS消息。如果一个节点侦听到了CTS信号(发送RTS者除外),就暂时禁止发送数据,从而实现信道的复用。但是,仅接收到RTS消息而没有接收到CTS消息的节点仍然可能发送,所以MACA协议只是部分解决了隐藏终端问题。

4.MACAW协议

Bhargavan等学者提出了用于无线的带冲突避免的多路访问协议MACAW(MACA for Wireless) [10] 。MACAW协议的改进主要体现在两个方面:基本消息交互过程和回退机制。首先,出于协议可靠性的考虑,MACAW协议增加了MAC子层的确认机制,即由接收节点在成功接收DATA消息后回复ACK消息。其次,对于暴露终端不能准确掌握竞争期开始时间的问题,由发送节点发送DS(Data Sending)消息通知暴露终端。

MACAW协议采用RTS—CTS—DS—DATA—ACK机制,并采用新的回退算法。该协议利用ACK消息在MAC子层发现错误消息并及时启动重传,从而提供了快速的恢复机制。该协议采用了一种倍数增加线性减少退避(Multiplicative Increase and Linear Decrease,MILD)算法。计数器值以现有值1.5倍的比例增加,以1的步长减少。在发送数据分组时,分组中携带本节点的退避计数器值,收到此分组的节点可将此值进行复制,从而使双方获得相同的退避计数器值。当传输完成后,所有的退避计数器恢复到最小值。

MACAW协议的主要缺点是通信中控制信息的交互次数太多。如果考虑无线设备发送和接收的转换时间,那么这种方法的效率并不高,并且它也不能完全解决暴露终端问题。所以,尽管MACAW协议提高了网络的吞吐量,但是其网络开销和传输时延比MACA协议大。另外,MACAW协议不适合组播。

5.FAMA协议

为了解决单物理侦听或者单虚拟侦听机制存在的问题,Fullmer等学者提出结合使用两种侦听机制的FAMA(Floor Acquisition Multiple Access)协议 [11] 。该协议保证节点在发送之前首先获得信道的使用权,实现无冲突的数据消息发送。因此,节点在发送数据前需要对信道进行动态预约,但该协议中的预约不要求独立的控制信道,而是和数据消息共用同一个信道。在FAMA协议中,控制消息可能会发生冲突,但可以保证数据消息的无冲突发送。

在FAMA协议中,节点预约信道主要有两种方式:采用RTS/CTS握手而不采用载波侦听,采用RTS/CTS握手和非坚持型载波侦听。根据信道预约方式的不同,形成了FAMA协议簇中的不同协议。其中,FAMA-NPS(FAMA Non-persistent Packet Sensing)协议在节点发送之前并不侦听信道,而只是在监听到完整的RTS或CTS消息后才进行回退,否则按照非坚持型载波侦听方式占用信道。FAMA-NCS(FAMA Non-persistent Carrier Sensing)协议则采用非坚持型载波侦听技术,节点在发送RTS消息前首先进行载波侦听,如果信道上无信号,就发送,否则进行回退。FAMA-NCS协议采用RTS—CTS—DATA三次握手机制完成一次数据发送过程,并要求CTS消息的长度大于RTS消息,将它当成忙音信号,迫使其他节点进行回退。

Acevesm等学者对FAMA协议进一步扩充 [12] ,提出了FAMA-NTR(FAMA Non-persistent Transmit Request)协议,通过增加RTS控制消息的长度来降低控制消息发生冲突的概率。同时,该协议允许一次成功的RTS/CTS消息握手后,节点串行传输多个数据消息,从而增加了网络的吞吐量。

3.2.2 多信道MAC协议

由于冲突和退避造成了信道带宽的浪费,因此,在网络负载比较大时,单信道MAC协议的效率很低。信道冲突主要包括控制分组之间的冲突,以及由此导致的数据分组和控制分组的冲突。因此,可以考虑采用信道分割技术,把可供使用的信道分成多个子信道。其中一种方法是将信道分为数据信道和控制信道,分别传输数据信息和控制信息,以避免数据信息和控制信息之间的冲突。因为控制分组的长度很小,所以冲突发生的概率将大大降低,并且可以更好地解决隐藏终端和暴露终端问题。此外,可以将其中一个信道作为公共控制信道,其余信道用来传递数据信息;还可以将控制分组和数据分组在同一个信道上混合传送。

多信道MAC协议主要关注两个问题:信道分配和接入控制。信道分配负责为不同的通信节点分配相应的信道,消除数据分组的冲突,使尽量多的节点可以同时进行通信。接入控制负责确定节点接入信道的时机,以及避免冲突等。

1.DBTMA协议

前面介绍的MAC协议大多假设所有的移动节点都可以收到RTS/CTS帧,但是,在移动互联网中,这种假设并不总是成立。此外,当网络负载很大时,RTS帧和CTS帧冲突的概率很大。为了解决这些问题,Deng等学者提出了双忙音多址接入(Dual Busy Tone Multiple Access,DBTMA)协议 [13] 。DBTMA协议把信道分割成两个信道,即分别传输控制信息和数据信息的控制信道与数据信道。另外,该协议增加了需要额外硬件支持的两个频率不同的带外忙音信号,一个指示发送忙,另一个指示接收忙。

当节点要发送数据时,先检测接收忙音信号。若没有检测到接收忙音信号,那么该节点在控制信道上发送RTS分组,并发送持续的发送忙音;否则,延迟发送。在节点发送RTS分组期间,仍要检测接收忙音信号,一旦检测到,就延迟发送。接收节点收到RTS分组后,先检测发送忙音信号。若无发送忙音信号,则在控制信道上返回CTS分组,并发送接收忙音;否则不能接收数据,仍保持空闲状态。

DBTMA协议优于纯RTS/CTS系列的MAC协议。与MACA协议和MACAW协议相比,DBTMA协议的效率有很大提高,加之忙音信号在通信期间一直存在,可以避免用户数据帧之间的冲突。但是,两个带外忙音信号的发送和检测需要额外的硬件支持,产生了额外的网络负担。此外,该协议假设忙音所占的带宽可以忽略不计,然而该假设在高负载的情况下并不满足。

2.HRMA协议

为了解决DBTMA协议需要额外硬件支持的问题,Tang等学者提出跳数保留多路访问(Hop-Reservation Multiple Access,HRMA)协议 [14] 。该协议利用频率跳变时的时间同步特性,实现了一种基于半双工慢调频扩频的多信道协议。

HRMA协议使用统一的跳频方案,允许收发双方预留一个跳变频率来进行数据的无干扰传输。跳变频率的预留采用基于RTS/CTS握手信号的竞争模式。握手信号成功交换后,接收方发送一个预留数据包给发送方,使得其他可能引起冲突的节点禁止使用该频率进行数据传输。在预留跳变频率的驻留时间里,数据可在该频率上无干扰传输。但HRMA协议只能用在慢跳变的系统中,并且与使用不同跳频方案的设备兼容性不好。此外,因为数据传输需要的驻留时间比较长,所以数据冲突的概率会增加。

3.RICH协议

与HRMA协议的原理相似,收方驱动跳频(Receiver-Initiated Channel-Hopping,RICH)协议是由接收方发起的多信道MAC协议 [15] 。网络中所有节点按照一个共用的跳频序列改变传输信道,通过分组握手后,停留在当前的跳隙上进行数据分组的传输,其他的节点继续跳频。RICH协议无须载波侦听和分配单独的码字,却能够有效缓解隐藏终端问题。RICH协议和HRMA协议类似,只能应用于跳频网络中,对于采用DSSS等机制的系统并不适用。

4.MCSMA协议

多信道载波侦听多路访问(Multi-channel CSMA,MCSMA)协议是在单信道的CSMA/CA协议基础上做出的改进 [16] 。它把可用带宽分割成互不重叠的 N 个子信道,其中 N 远小于网络中的节点数。子信道可以在频域(采用FDMA)产生,也可以在码域(采用CDMA)产生,但不提倡在时域(采用TDMA)产生,因为移动自组织网络中缺乏网络范围内的时钟同步。

该协议中每个节点需要 N 个无线收发器,可以同时侦听 N 个信道。只要有空闲信道,节点就可以在任何一个空闲信道上工作。它采用了“软”预留机制,也就是说,一个节点尽量选择上次成功发送数据的信道并进行本次数据传输。如果该预留信道忙,或者最近使用的信道发送数据失败,则选择另外的空闲信道进行数据传输。在网络负载较大的情况下,信道个数不足以提供无冲突传输,但是,由于每个节点为自己持续预留了信道,因此冲突可以大幅减少。这种基于预留的多信道机制的性能比纯粹的随机选择空闲信道机制好,即使在每个子信道的带宽非常小时,采用预留机制的优势依然存在,然而传输延时会增大。

5.DPC协议

为了实现网络的负载均衡,动态私有信道(Dynamic Private Channel,DPC)协议采用一个广播控制信道(CCH)和多个单播数据信道(DCH)进行通信 [17] 。其中,CCH可以被所有节点共享,接入该信道是基于竞争模式的。DPC是面向连接的,只要某个DPC是空闲的,每个节点就都可以使用该信道进行单播数据传输。

如果节点A有数据要发送给节点B,节点A将在CCH上发送RTS信号给节点B,同时节点A会预留一个数据端口以备和节点B通信。在发送RTS信号前,节点A选择一个空闲的DCH并把信道码包含在RTS的包头中。当节点B接收到RTS信号后,它将会检测节点A选择的信道是否可用。如果可用,则节点B就发送RRTS(Reply to RTS)信号给节点A,RRTS的包头中包含相同的信道码;如果不可用,则节点B会选择一个新的信道码,并把该码放入RRTS的包头中,进一步征求节点A的同意。节点A、B双方相互协商,直到找到可用的信道,或者一方放弃协商为止。如果信道选择完毕,则节点B发送CTS信号给节点A,然后双方开始交换数据,直到通信结束或者预留时间满并释放信道为止。

DPC协议采用了动态信道分配机制,很好地解决了多跳移动自组织网络中多个子信道间的连接性和负载均衡问题。但由于控制信道的竞争接入,网络的吞吐量会受到数据信道的数量的影响。

6.MMAC协议

为了提高网络吞吐量,So等学者提出MMAC协议 [18] 。该协议支持节点动态切换信道,在节点覆盖范围内,多对节点能同时通信。MMAC协议利用信标将时间划分为固定的时间间隔,在数据分组传输前,收发节点在ATIM(Ad-hoc Traffic Indication Messages)窗口中进行信道协商。每个节点维护一个优选信道列表(Preferable Channel List,PCL),该列表包含在本节点传输范围内可优先使用的信道。

当节点A有数据要发送到节点B时,节点A首先在ATIM窗口中发送ATIM分组,其中包含了自己的PCL。节点B接收到ATIM后,基于节点A和自己的PCL选择信道,并把选择信息包含在ATIM-ACK分组中返回节点A。节点A收到ATIM-ACK后,判断其中的收方选择信道是否可用。如果节点B选择的信道与发送节点A选择的信道一致,则节点A发送ATIM-RES(ATIM-Reservation)给节点B,并在ATIM-RES中包含约定的信道。如果节点A不能选择与节点B相同的信道,则必须等待下一个信标间隔,重新进行信道协商。

MMAC协议无须专门的控制信道,提高了网络吞吐量,并且每个节点仅需要一个无线收发器。但是,该协议需要节点间的时间同步。

3.2.3 基于功率控制的MAC协议

功率控制技术是提高移动自组织网络MAC协议性能的有效途径。由于节点在接收消息时,只需要使功率的强度满足信号干扰噪声比的要求,因此,为了降低节点的能耗和提高无线信道空间的利用率,发送节点可以有条件地降低自己的发射功率。

1.功率控制信号MAC协议PAMAS

功率控制信号MAC协议——感知功率的带信令的多路访问协议(Power-Aware Multi-Access protocol with Signaling,PAMAS)是基于MACA的多信道MAC协议 [19] 。RTS/CTS握手信号在控制信道上交互,数据在数据信道上传输,在数据传输过程中,控制信道上发送忙音信号。

PAMAS考虑了能量控制问题,它有选择地关闭某些不需要接收和发送的节点,以节省能量。当节点监听到不是发送给它的数据时,可以关闭无线收发器,以节省能量。节点独立地决定是否关闭收发器,如以下情况中节点就会关闭收发器:节点无数据要传输,并且其邻居节点正在发送数据;节点有数据要传输,但是其邻居节点中至少一个在发送,一个在接收。

在无线收发器关闭期间,节点既不能发送,又不能接收,这可能严重影响网络时延和吞吐量,所以对其关闭时间需要严格控制。可以考虑在适当的时候采用探测帧唤醒关闭的节点,但这需要额外开销。一种有效的措施是有选择地关闭数据信道,保持控制信道处于激活状态。另一种改进措施是节点一旦获得信道,可以发送多个数据包,从而提高信道利用率。

2.能量控制MAC协议PCM

在MACA中描述的基本功率控制算法下,节点以最大可用功率发送RTS/CTS控制消息。与此同时,节点通过控制消息的协商,用可靠接收的最小功率发送数据消息。但是,在能量控制MAC协议PCM(Power Control Medium Access Control)中,Jung等学者发现这种简单的功率控制技术在理想情况下也只获得了与IEEE 802.11类似的性能 [20] 。针对该缺陷,PCM协议在节点发送数据消息的过程中,周期性地提高发射功率至最高功率,从而阻止了邻居节点因无法感知数据消息的发送而可能导致的冲突,有效提高了系统的吞吐量。

3.能量节省MAC协议PCMA

与PAMAS类似,能量节省MAC协议PCMA(Power Controlled Multiple Access)也采用多信道,其中一个专门用于忙音信号,另一个用于其他控制消息和数据消息 [21] 。PCMA的目标是在节能的同时提高信道利用率,因而节点在发送数据前,首先交换RPTS(Request Power To Send)和APTS(Accept Power To Send)消息,确定在存在噪声和干扰的情况下接收节点正确接收消息所需的最小发射功率。

RPTS/APTS消息类似于RTS/CTS消息,但不同的是并不使邻居节点立即推迟发送。为了确保传输成功进行,接收节点在忙音信道广播自己可容忍的干扰,以免其他节点与自己冲突。邻居节点通过监听忙音信道上的忙音信号,可以判断出自己的发送是否会与其他节点冲突,从而做出是否发送的决定。

3.2.4 基于定向天线的MAC协议

定向天线利用数字信号处理技术,协同采用波束切换和自适应空间数字处理技术,判断有用信号到达方向,然后通过选择适当的合并权值,在此方向上形成天线主波束,同时降低增益旁瓣。在发射时,定向天线能使期望用户的接收信号功率最大化,同时使窄波束照射范围外的非期望用户受到的干扰最小,甚至为零。定向天线具有抗信号衰落、抗同频干扰和信道干扰、系统容量大、传输功率小等优点。早期基于定向天线的MAC协议多数选用较简单的波束转换天线和波束跟踪天线,自适应阵列天线的研究则刚刚起步。

1.定向天线DBTMA协议 DBTMA/DA

定向天线DBTMA协议(DBTMA protocol using Directional Antenna,DBTMA/DA)较DBTMA的改进在于用定向天线(波束转换天线)来传输RTS、CTS、数据帧和双忙音 [22] ,这需要多部收发机。在定向位置信息的获取上,它没有采用GPS辅助或信标,而是通过相邻节点发送全向RTS,返回定向的CTS而知晓各自的位置信息。

当发送节点要发送时,先侦听控制信道并启动竞争计时器,在规定时限内,通过是否有接收忙音BTr(receive Busy Tone)来确认目的节点是否在接收其他隐藏终端的发送。如果有,则等待;如果没有,则发送一个包含接收节点标识的ORTS(全向RTS)分组并启动RTS计数器。接收节点收到ORTS分组后,如果检测当前没有传输忙音BTt(transmit Busy Tone),就返回一个定向DCTS(Directional CTS)并启动CTS计数器,开始发送接收忙音BTr直到数据传输结束或CTS计数器停止。发送节点在收到DCTS后,开始发送传输忙音BTt,并在数据信道上传输数据分组,发送传输忙音BTt直到数据传输结束。如果发送节点在RTS计数器时限内未收到DCTS,则取消该次发送,等待重发。

据采用8个阵元的波束转换天线、4种天线模式、CBR数据流和AODV路由的仿真实验显示,定向传输扩大了信道的利用率,同一时间可以有多对通信节点通信,时延和吞吐量均有较大改善。

2.定向MAC DMAC 协议

定向MAC(Directional MAC,DMAC)协议采用了DRTS(Directional RTS)和DCTS对话机制 [23] 。每个节点空闲时均以全向模式侦听信道,信道预约过程是通过定向发送的DRTS和DCTS握手完成的。当从某一方向收到信号时,它便锁定该方向并接收。当一个节点以全向接收信号时,它会受到来自任何方向的干扰,但当天线聚波束于某一方向时,可避免其他方向的干扰。

在DRTS的传输过程中,源节点S的MAC层收到来自上层的包,其中包括收发机的参数P,DMAC请求物理层按此参数P聚波束B并指向目的节点R。为了检查使用所聚波束B是否安全,节点S用波束B执行物理载波侦听。如果信道空闲,则DMAC检查它的定向NAV表(DNAV)来计算在节点R的方向上是否延迟发送,DNAV保持虚拟载波侦听每个包的到达方向(DOA)。当节点发现用波束B传输不安全,则进入退避环节。

在DRTS的接收和DCTS的发送过程中,当节点R全向侦听信道发现信号时,节点便锁定信号并接收之。这里假设系统模块有能力捕捉到接收信号的DOA。如果非目的节点X收到此信号,则更新各自的DNAV,阻止节点X在该DOA的反向B上发送任何信号。在节点R计算DOA,当节点R的DNAV表允许在R→S方向使用波束B发送时,其物理层聚波束于该向B,并以此波束侦听信道。若信道在SIFS时隙空闲,则回送DCTS;若忙,则取消该发送。

在DCTS的接收和DATA、ACK的交换过程中,节点S使用原定向波束B等待DCTS,如果在DCTS_timeout期间未收到,则节点S重发DRTS;如果S收到DCTS,则定向链路搭建成功,它便使用原定向波束B传送DATA,节点R收到DATA后便以波束B回送ACK。其他节点(除R和S外)收到DCTS、DOTO、ACK后,便主动更新其DNAV表。该协议吞吐量较高,但是具有较高的定向干扰性,并且,由于天线不对称增益,或者未听到DRTS或DCTS,因此会出现新的隐藏终端问题。 WlmZDLmNjQR94P0HP2wBSrp/DRClTk1Mzo3JESvV7HjH4rni9SmJNys6oQiiKg0L

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开