论文部分内容阅读
摘要:针对无线Ad Hoc网络中三种典型的异步MAC层接入协议:MAcAw、FAMA-NTR和DBTMA,从协议的基本思想、算法描述、协议状态流程等方面进行了探讨。其研究成果可以为进一步探讨无线Ad hoc网络异步MAC层接入协议提供参考。
关键词:Ad Hoc;异步;接入协议;MAC层
0 引言
无线Ad Hoe网络是一种自组织的对等式网络,又称作多跳网络(Multi-hop Network)或称自组织网络(Self-organized Network)。自组织网络具有无中心、临时自组织、分布式控制、节点移动和多跳等特点,这使得Ad Hoc网络MAC层的信道接入协议面临很多新问题。
(1)隐终端和暴露终端:Ad Hoc网络中节点的移动性和多跳性带来了隐终端和暴露终端的问题。隐终端是指在发送者的通信范围之外,而在接收者通信范围之内的节点。暴露终端是指在发送者通信范围之内,而在接收者通信范围之外的节点。一般地,隐终端的存在可能造成数据的冲突,而暴露终端的出现使得网络资源无法得到充分的利用。
(2)MAC层的公平接入:Ad Hoc网络没有中心控制节点,必须采用分布式机制实现网络节点接入MAC层的协调。如何保证各节点和不同业务流接入网络的公平性,是Ad Hoc网络MAC层接入协议需要解决的重要问题。
(3)QoS保障:Ad Hoc网络的移动性、多变性等特性,使得自组网要保障一定的Qos非常困难,MAC层QoS需解决实时业务快速获得信道使用权和避免时延抖动的问题。
(4)功率控制:Ad Hoc网络中的设备绝大多数靠电池供电,能量不等且有限,所以如何节能和控制节点的发送功率也是MAC协议设计必须考虑的因素。
1 MACAW协议
1.1 MACAW基本思想
MACAW(Multiple Access Collision Avoidance for Wireless)协议是对MACA(Multiple Access with Collision Avoidance)的改进,除了保留MACA中的RTS-CTS握手机制外,还使用了其它控制信号(DS,ACK,RRTS),以进一步解决暴露终端和隐终端问题。作为MACA协议的改进,首先,MACAW增加了链路层的确认机制,即由接收点回复ACK帧;其次,由发送节点发出DS帧,通知暴露终端该节点与目的节点握手成功,减少数据帧冲突;当暴露终端收到许多RTS而又不能回复时,由暴露终端发起RRTS通知邻节点竞争期开始的机制来提高节点的竞争效率。协议接入的过程称为RTS-CTS-DS-DATA-ACK五次握手或是RRTS-RTS-CTS-DS-DATA-ACK六次握手的交互方式。

MACAW采用了一种乘法增加线性减少退避算法(MILD)代替二进制指数(BEB)退避,同时也实现了退避复制机制,保证了接入的公平性。另外,它还使用了多流模型以达到业务流的平衡传输。
1.2 MACAW算法描述及状态流程
MACAW可用控制规程、退避规程和超时规程来描述。工作于MACAW协议下的节点可处于8种状态:IDLE.CONTEND、WFCTS,WFContend,WFDS,WFData.WFACK,QUIET。
图1所示是Ad Hoc网络中的四个节点。下文以此网络为例,说明MACAW的算法。
控制规程:
(1)A有数据要发向B,则A从IDLE状态进入CON-TEND状态,随机选择定时器值,定时器超时发送RTS,进入WFCTS状态。B收到A发给自己的RTS信号后发送CTS信号、设置定时器,从IDLE状态进入WFDS状态。
(2)A收到B发送的CTS信号后,清除定时器,发送DS和DATA给B,进入WFACK状态,设置定时器;B收到A发送的DS信号,进入WFData状态并设置定时器,收到A发送的数据分组后清除定时器,发送ACK进入IDLE状态。A收到B发回的ACK信号,清除定时器,重新回到IDLE状态。
(3)B处于IDLE状态后,收到确认过的数据包再次发起的RTS,发送ACK信号给A;如A处于CONTEND状态时,收到RTS,发送CTS给源节点,进入WFDS状态,设置定时器。
(4)c监听到A和B的通信握手后,进入QUIET状态,此时如接收到RTS分组,进入WFContend状态。
(5)处于IDLE状态的节点收到RRTS,发送RTS给源节点,进入WFCTS状态并设置定时器。
退避规程:

(1)收到目的节点非本节点的RTS或CTS握手信号,节点从当前状态进入QUIET状态。
(2)收到目的节点非本节点的DS信号,节点从当前状态进入QUmT状态。
(3)收到目的节点非本节点的RRTS信号,节点从当前状态进入QUIET状态。
超时规程:
(1)节点处于WFContend定时器超时,节点随机选择定时器值进入CONTEND状态。
(2)如节点是从WFContend进入CONTEND状态的,则定时器超时后,节点发送RRTS分组,进入IDLE状态。如节点是从IDLE状态进入CONTEND状态的,定时器超时,节点发送RTS,进入WFCTS状态。
(3)其他状态下定时器超时,节点进入IDLE状态。
图2是MACAW协议的状态转移流程图。
2 FAMA-NTR协议
2.1 FAMA-NTR的基本思想
FAMA-NTR(Non-persistent Transmit Request)协议是基于无隐藏终端的全连通网络结构提出的。协议结合了非坚持的载波监听和RTS/CTS握手机制,认为RTS的长度要大于最大传播时延才能保证控制分组不与数据分组冲突。

FAMA-NTR节点发送数据前,要先进行载波监听,信道空闲则发送握手信号;如果监听到了载波或者解析到了RTS和CTS分组则进行退避。发送节点与接收节点之间采用RTS-CTS-DATA三次握手完成通信过程,要求发送RTS分组的时长要大于最大传播时延,以保证监听机制有效运转。
2.2 FAMA-NTR的算法描述及状态流程
FAMA-NTR协议可以分为六种状态:START,PASSIVE、REMOTE.XMIT、RTS、BACKOFFO其中START状态是指节点开机初始化;PASSIVE状态是指节点初始化完毕,进入主动侦听状态;REMOTE状态是指节点在侦听到信道有信号时进行退避;XMIT状态是指节点开始发送数据业务;RTS状态是指节点成功发送RTS;BACKOFF状态是指节点根据退避计数器进行退避。
工作于FAMA-NTR协议的节点接入信道的过程如下:
(1)节点开机初始化完成后,监听信道,如监听到载波信 号,则进入REMOTE进行退避,否则进入PASSIVE状态。
(2)PASSIVE状态下的节点如监听到载波信号,进入RE-MOTE进行退避;如有数据待发,且监听信道无载波则调用RTS(),发送RTS分组。
(3)处于RTS状态下的节点监听到载波信号调用BACKOFF()进行退避,如接收到分组且为CTS分组,则调用XMIT0,发送数据分组,如接收到其他分组,则调用BACKOFF()进行退避。
(4)BACKOFF退避规则是设一定时器,定时值在()-20t(t指分组在信道传送的最大时延),定时器超时后监听信道,无载波则调用RTS0,发送RTS分组,否则调用REMOTE进行退避。
(5)XMIT状态下,节点设置传送分组数,发送数据,如发送的数据超过传送分组数则调用BACKOFF0,再次争用信道后再发送剩余的数据。如数据发送完,则回到PASSIVE状态。 (6)REMOTE退避规则:退避2t+tl(t)指节点处理监听载波的时间)时间后,再次监听信道,如接收到CTS分组则再次调用REMOTE0退避;如接收到给本节点RTS分组发送CTS后调用REMOTE0退避;如接收到给本节点的数据分组则将数据提交上层处理后调用REMOTE0退避;监听到载波或解析分组出错,再次调用REMOTE0退避;如未监听到载波且有数据要发送,调用BACKOFF()退避后争用信道,否则回到PASSIVE状态。

FAMA-NTR协议的状态转移流程如图3所示。
3 DBTMA协议
3.1 DBTMA的基本思想
为解决Ad Hoc网络中无法保证节点接收RTS/CTS帧,造成MAC层协议失效的问题,提出了双忙音多址接入协议DBTMA(Dual Busy Tone Multiple Access)。DBTMA把信道分割成控制信道和数据信道,分别传输控制信息和数据信息,并且在控制信道上开设了两个窄带忙音信号:接收忙音BTr(在接收点发送CTS前发送)和发送忙音BTt(在发送节点发送数据前发送),用于指示节点在数据信道上接收和发送报文。通过对BTr和BTt的载波侦听,加上RTS/CTS握手机制,共同解决隐藏终端和暴露终端问题。
两个忙音信号的使用保证了节点在成功占用信道后数据分组的无冲突发送,在节点占用信道之前,仍采用非坚持的载波侦听机制和遇忙退避策略接入信道。节点在初始化后进入IDLE状态,如果高层有分组到达,首先进行载波侦听,如果没有侦听到接收忙音,发送RTS进入WF_CTS状态;否则,退避回到IDLE状态。
3 .2 DBTMA算法描述及状态流程
DBTMA可以用一般规则、通信规则和超时,退避规则来描述。工作于DBTMA协议下的节点可处于5种状态:IDLE、CONTEND、WF CTS、TRANSMIT、WF DATA。
一般规则:
(1)所有节点开机初始化完成后,进入IDLE状态。
(2)发送数据分组前,采用RTS和CTS信号进行握手。
(3)节点发送数据之前,打开BTt信号直到发送结束;节点准备接收分组时,打开BTr信号直到接收结束。
通信规则:
(1)有数据待发的节点,进入CONTEND状态,并监听信道BTr信号,如没有监听到BTr信号则发送RTS,否则退避。
(2)节点收到发给本节点的RTS信号后,监听信道BTt信号,如没有监听到BTt信号则打开BTr信号、发送CTS并设置定时器,进入WF_DATA状态,否则停留在IDLE状态。

(3)收到对方应答的CTS信号后,发送节点打开BTt信号,发送数据分组。
(4)收发双方在完成数据收发后,分别关闭各自的BTr和BTt信号,进入IDLE。
超时/退避规则:
(1)节点处于任何状态下,定时器超时,则回到IDLE状态。
(2)节点在WF_CTS状态下超时未收到CTS,增大退避值;节点在WF_CTS状态下收到CTS,减小退避值。
DBTMA协议的状态转移流程如图4所示。
4 协议比较
上文介绍了MACAW、FAMA-NTR和DBTMA协议的基本原理和工作流程,表l就三种协议的特性做了综合比较。
5 结束语
MAC层接入协议的作用是使多个用户高效、合理地共享有限的信道资源。由于Ad Hoc网络具有节点移动、分布式控制等特点,MAC层接入协议的设计面临许多新的挑战。本文针对现有的三种典型异步MAC层接入协议:MACAW、FAMA-NTR和DBTMA,从协议的基本思想、算法描述、协议状态流程等方面进行了探讨,并就三种协议应用于Ad Hoc网络的特性作了比较。
关键词:Ad Hoc;异步;接入协议;MAC层
0 引言
无线Ad Hoe网络是一种自组织的对等式网络,又称作多跳网络(Multi-hop Network)或称自组织网络(Self-organized Network)。自组织网络具有无中心、临时自组织、分布式控制、节点移动和多跳等特点,这使得Ad Hoc网络MAC层的信道接入协议面临很多新问题。
(1)隐终端和暴露终端:Ad Hoc网络中节点的移动性和多跳性带来了隐终端和暴露终端的问题。隐终端是指在发送者的通信范围之外,而在接收者通信范围之内的节点。暴露终端是指在发送者通信范围之内,而在接收者通信范围之外的节点。一般地,隐终端的存在可能造成数据的冲突,而暴露终端的出现使得网络资源无法得到充分的利用。
(2)MAC层的公平接入:Ad Hoc网络没有中心控制节点,必须采用分布式机制实现网络节点接入MAC层的协调。如何保证各节点和不同业务流接入网络的公平性,是Ad Hoc网络MAC层接入协议需要解决的重要问题。
(3)QoS保障:Ad Hoc网络的移动性、多变性等特性,使得自组网要保障一定的Qos非常困难,MAC层QoS需解决实时业务快速获得信道使用权和避免时延抖动的问题。
(4)功率控制:Ad Hoc网络中的设备绝大多数靠电池供电,能量不等且有限,所以如何节能和控制节点的发送功率也是MAC协议设计必须考虑的因素。
1 MACAW协议
1.1 MACAW基本思想
MACAW(Multiple Access Collision Avoidance for Wireless)协议是对MACA(Multiple Access with Collision Avoidance)的改进,除了保留MACA中的RTS-CTS握手机制外,还使用了其它控制信号(DS,ACK,RRTS),以进一步解决暴露终端和隐终端问题。作为MACA协议的改进,首先,MACAW增加了链路层的确认机制,即由接收点回复ACK帧;其次,由发送节点发出DS帧,通知暴露终端该节点与目的节点握手成功,减少数据帧冲突;当暴露终端收到许多RTS而又不能回复时,由暴露终端发起RRTS通知邻节点竞争期开始的机制来提高节点的竞争效率。协议接入的过程称为RTS-CTS-DS-DATA-ACK五次握手或是RRTS-RTS-CTS-DS-DATA-ACK六次握手的交互方式。
MACAW采用了一种乘法增加线性减少退避算法(MILD)代替二进制指数(BEB)退避,同时也实现了退避复制机制,保证了接入的公平性。另外,它还使用了多流模型以达到业务流的平衡传输。
1.2 MACAW算法描述及状态流程
MACAW可用控制规程、退避规程和超时规程来描述。工作于MACAW协议下的节点可处于8种状态:IDLE.CONTEND、WFCTS,WFContend,WFDS,WFData.WFACK,QUIET。
图1所示是Ad Hoc网络中的四个节点。下文以此网络为例,说明MACAW的算法。
控制规程:
(1)A有数据要发向B,则A从IDLE状态进入CON-TEND状态,随机选择定时器值,定时器超时发送RTS,进入WFCTS状态。B收到A发给自己的RTS信号后发送CTS信号、设置定时器,从IDLE状态进入WFDS状态。
(2)A收到B发送的CTS信号后,清除定时器,发送DS和DATA给B,进入WFACK状态,设置定时器;B收到A发送的DS信号,进入WFData状态并设置定时器,收到A发送的数据分组后清除定时器,发送ACK进入IDLE状态。A收到B发回的ACK信号,清除定时器,重新回到IDLE状态。
(3)B处于IDLE状态后,收到确认过的数据包再次发起的RTS,发送ACK信号给A;如A处于CONTEND状态时,收到RTS,发送CTS给源节点,进入WFDS状态,设置定时器。
(4)c监听到A和B的通信握手后,进入QUIET状态,此时如接收到RTS分组,进入WFContend状态。
(5)处于IDLE状态的节点收到RRTS,发送RTS给源节点,进入WFCTS状态并设置定时器。
退避规程:
(1)收到目的节点非本节点的RTS或CTS握手信号,节点从当前状态进入QUIET状态。
(2)收到目的节点非本节点的DS信号,节点从当前状态进入QUmT状态。
(3)收到目的节点非本节点的RRTS信号,节点从当前状态进入QUIET状态。
超时规程:
(1)节点处于WFContend定时器超时,节点随机选择定时器值进入CONTEND状态。
(2)如节点是从WFContend进入CONTEND状态的,则定时器超时后,节点发送RRTS分组,进入IDLE状态。如节点是从IDLE状态进入CONTEND状态的,定时器超时,节点发送RTS,进入WFCTS状态。
(3)其他状态下定时器超时,节点进入IDLE状态。
图2是MACAW协议的状态转移流程图。
2 FAMA-NTR协议
2.1 FAMA-NTR的基本思想
FAMA-NTR(Non-persistent Transmit Request)协议是基于无隐藏终端的全连通网络结构提出的。协议结合了非坚持的载波监听和RTS/CTS握手机制,认为RTS的长度要大于最大传播时延才能保证控制分组不与数据分组冲突。
FAMA-NTR节点发送数据前,要先进行载波监听,信道空闲则发送握手信号;如果监听到了载波或者解析到了RTS和CTS分组则进行退避。发送节点与接收节点之间采用RTS-CTS-DATA三次握手完成通信过程,要求发送RTS分组的时长要大于最大传播时延,以保证监听机制有效运转。
2.2 FAMA-NTR的算法描述及状态流程
FAMA-NTR协议可以分为六种状态:START,PASSIVE、REMOTE.XMIT、RTS、BACKOFFO其中START状态是指节点开机初始化;PASSIVE状态是指节点初始化完毕,进入主动侦听状态;REMOTE状态是指节点在侦听到信道有信号时进行退避;XMIT状态是指节点开始发送数据业务;RTS状态是指节点成功发送RTS;BACKOFF状态是指节点根据退避计数器进行退避。
工作于FAMA-NTR协议的节点接入信道的过程如下:
(1)节点开机初始化完成后,监听信道,如监听到载波信 号,则进入REMOTE进行退避,否则进入PASSIVE状态。
(2)PASSIVE状态下的节点如监听到载波信号,进入RE-MOTE进行退避;如有数据待发,且监听信道无载波则调用RTS(),发送RTS分组。
(3)处于RTS状态下的节点监听到载波信号调用BACKOFF()进行退避,如接收到分组且为CTS分组,则调用XMIT0,发送数据分组,如接收到其他分组,则调用BACKOFF()进行退避。
(4)BACKOFF退避规则是设一定时器,定时值在()-20t(t指分组在信道传送的最大时延),定时器超时后监听信道,无载波则调用RTS0,发送RTS分组,否则调用REMOTE进行退避。
(5)XMIT状态下,节点设置传送分组数,发送数据,如发送的数据超过传送分组数则调用BACKOFF0,再次争用信道后再发送剩余的数据。如数据发送完,则回到PASSIVE状态。 (6)REMOTE退避规则:退避2t+tl(t)指节点处理监听载波的时间)时间后,再次监听信道,如接收到CTS分组则再次调用REMOTE0退避;如接收到给本节点RTS分组发送CTS后调用REMOTE0退避;如接收到给本节点的数据分组则将数据提交上层处理后调用REMOTE0退避;监听到载波或解析分组出错,再次调用REMOTE0退避;如未监听到载波且有数据要发送,调用BACKOFF()退避后争用信道,否则回到PASSIVE状态。
FAMA-NTR协议的状态转移流程如图3所示。
3 DBTMA协议
3.1 DBTMA的基本思想
为解决Ad Hoc网络中无法保证节点接收RTS/CTS帧,造成MAC层协议失效的问题,提出了双忙音多址接入协议DBTMA(Dual Busy Tone Multiple Access)。DBTMA把信道分割成控制信道和数据信道,分别传输控制信息和数据信息,并且在控制信道上开设了两个窄带忙音信号:接收忙音BTr(在接收点发送CTS前发送)和发送忙音BTt(在发送节点发送数据前发送),用于指示节点在数据信道上接收和发送报文。通过对BTr和BTt的载波侦听,加上RTS/CTS握手机制,共同解决隐藏终端和暴露终端问题。
两个忙音信号的使用保证了节点在成功占用信道后数据分组的无冲突发送,在节点占用信道之前,仍采用非坚持的载波侦听机制和遇忙退避策略接入信道。节点在初始化后进入IDLE状态,如果高层有分组到达,首先进行载波侦听,如果没有侦听到接收忙音,发送RTS进入WF_CTS状态;否则,退避回到IDLE状态。
3 .2 DBTMA算法描述及状态流程
DBTMA可以用一般规则、通信规则和超时,退避规则来描述。工作于DBTMA协议下的节点可处于5种状态:IDLE、CONTEND、WF CTS、TRANSMIT、WF DATA。
一般规则:
(1)所有节点开机初始化完成后,进入IDLE状态。
(2)发送数据分组前,采用RTS和CTS信号进行握手。
(3)节点发送数据之前,打开BTt信号直到发送结束;节点准备接收分组时,打开BTr信号直到接收结束。
通信规则:
(1)有数据待发的节点,进入CONTEND状态,并监听信道BTr信号,如没有监听到BTr信号则发送RTS,否则退避。
(2)节点收到发给本节点的RTS信号后,监听信道BTt信号,如没有监听到BTt信号则打开BTr信号、发送CTS并设置定时器,进入WF_DATA状态,否则停留在IDLE状态。
(3)收到对方应答的CTS信号后,发送节点打开BTt信号,发送数据分组。
(4)收发双方在完成数据收发后,分别关闭各自的BTr和BTt信号,进入IDLE。
超时/退避规则:
(1)节点处于任何状态下,定时器超时,则回到IDLE状态。
(2)节点在WF_CTS状态下超时未收到CTS,增大退避值;节点在WF_CTS状态下收到CTS,减小退避值。
DBTMA协议的状态转移流程如图4所示。
4 协议比较
上文介绍了MACAW、FAMA-NTR和DBTMA协议的基本原理和工作流程,表l就三种协议的特性做了综合比较。
5 结束语
MAC层接入协议的作用是使多个用户高效、合理地共享有限的信道资源。由于Ad Hoc网络具有节点移动、分布式控制等特点,MAC层接入协议的设计面临许多新的挑战。本文针对现有的三种典型异步MAC层接入协议:MACAW、FAMA-NTR和DBTMA,从协议的基本思想、算法描述、协议状态流程等方面进行了探讨,并就三种协议应用于Ad Hoc网络的特性作了比较。