一种改进的自组网动态信道分配协议*
2012-06-07陈金来王忠思
伊 鑫 陈金来 王忠思
(海军蚌埠士官学校 蚌埠 233012)
1 引言
自组网(ad hoc networks)MAC协议需要控制节点对无线媒体的占用,一直是自组织网络应用研究的重点和难点之一。MAC协议的性能将直接影响到整个网络的性能,如吞吐量、时延及时延抖动等。采用单一信道面临的一个共同问题是随着节点数的增加,节点间的竞争以及报文的冲突加剧,这使得网络性能急剧下降。在单信道网络中,系统的吞吐量受限于信道带宽,而且难以对QoS进行支持。采用多信道能有效地解决以上问题,由于网络中存在多个相互正交的信道,不同的节点可以同时在不同的信道上进行无碰撞传输,这将使系统地吞吐量得到很大的提升,其灵活的信道接入方式也使得QoS支持更加容易。随着技术的进步,现在已经有可以通过一个DSP控制多达260个信道的无线设备,信道间的切换可以在1μs内完成,因此节点采用廉价而简单的设备就可以构建多信道网络,以满足人们对宽带业务的需求[1]。本文将针对动态信道分配协议(DCA)[2]信道利用率不高的问题,对其进行改进以提高网络的信道利用率。
2 DCA多信道MAC协议
DCA多信道MAC协议是由专用控制信道、两个RF的多信道MAC协议。DCA的设计思想是使用一个固定信道传输控制分组,其他的信道传输数据分组。每一个节点有一个控制收发器和一个数据收发器,可在控制信道和一个数据信道上同时监听。控制信道用来解决信道的冲突和为每个终端分配信道的问题,控制收发器在控制信道上与其它终端交换控制信息,得到接入数据信道的权利;数据收发器动态地切换到一个数据信道上进行数据传输。
DCA协议实现简单,而且不需要网络的同步,可以有效地提高网络的吞吐量,降低了网络时延,通过使用专用的控制信道,使路由发现、路由维护、地址解析等广播信息有效地传输。但是,当信道总数很少时,一个特定的控制信道是非常浪费的。如802.11b只有三个信道,一个专用的控制信道相当于33%的总信道带宽成为了控制开销[2]。基于此,本文对DCA协议进行一些改进,使一些短报文可以在控制信道上进行传输,从而提高了信道的利用率。
3 改进协议的描述
3.1 协议改进的思想
假设网络中有N个节点和M(N>M)个可用信道,选择其中一个信道为网络中的控制信道,其余M-1个信道为所有节点按需预约的数据信道。每个节点增加一个报文阈值变量Traffic_on。Traffic_on用来决定节点是否通过控制信道来发送该报文,报文长度若大于Traffic_on,按照DCA协议的方式进行信道预约和报文传输,报文长度小于Traffic_on时,则直接以MACA的方式在公共信道上进行传输,目的节点收到报文后回复ACK。因为短报文发生冲突的概率与握手信号发生冲突的概率相当,而且报文重传的开销不大,所以短报文不通过握手信号进行传输,报文发生冲突时在二进制指数退避后重传。Traffic_on的选择对网络性能有很大的影响,Traffic_on太大将影响邻居节点正常预约信道,在具体的网络环境中可调整Traffic_on的值,从而使网络性能最优。图1为三个数据信道时协议的示意图。
图1 改进后协议信道介入规程
3.2 协议操作方法及步骤
步骤1:初始化
每个节点开机时都要对CUL(可用信道表)和FCL(空闲信道表)表项以及变量Traffic_on进行初始化。
步骤2:驻留空闲信道
没有数据发送的节点处于空闲状态,控制收发器对控制信道进行监听,并且对CUL和FCL进行维护,此时需要处理如下情况:
如果收到上层要发送的数据或是有需要转发的数据,跳转到步骤3。
如果收到RTS,检查RTS的目的节点是否为本节点,如果是,则根据RTS中的FCL,结合本节点的CUL,选择一个可用信道并通过CTS回复。
如果收到CTS或TC,则根据CTS或TC中预约的信道更新本节点的CUL和FCL。在数据信道的预约过程中,由于RTS的发送使得邻居节点进行回退,因此CTS和TC通常可以无冲突地被正确接收。
收到数据报文,查看数据报文的目的节点是否为本节点,如果是发送本节点的报文,则回复ACK,否则丢弃。
步骤3:数据发送
假设节点i有数据向节点j发送,节点i首先比较报文长度和Traffic_on,判断此报文是否为短报文,对于长报文,如果节点i有空闲信道可用,则以MACA的方式发送RTS,RTS中携带本节点的FCL和信道预约时长,否则继续驻留控制信道,当邻居节点释放数据信道后,节点进行随机退避以避免其它节点同时竞争此信道,然后再发送RTS。当收到节点j的CTS后,节点i根据CTS中选择的信道,发送TC报文告知邻居节点更新CUL和FCL,数据信道切换至预约信道上发送报文。对于短报文,节点i以MACA的方式在控制信道上发送该报文,如果没有收到目的节点的ACK,则进行二进制指数退避,然后重传。
步骤4:数据接收
节点j收到目的节点为本节点的RTS,更新自己的CUL和FCL,回复携带预约信道的CTS后,数据收发器切换到预约到的信道接收数据。
4 协议性能分析
如图2,本文假设网络中有一个控制信道和三个数据信道,所有的信道带宽相同,则控制信道所占的比例α=0.25,传输半径R和传播时延τ都设为1,数据包传输时间tdata=1000τ,RTS和CTS包的传输时间设为5τ,假设短报文 和 长 报 文 等 概 率 出 现,ttrafficOn、tack、ts_delay、tslot(ttrafficOn、tack、ts_delay、tslot分别为短报文传输时间、应答报文传输时间、传输时延和短报文传输间隔)设为20τ、5τ、5τ、10τ,图2显示了在平均节点数M1为3的情况下,改进后的协议和DCA协议中信道的吞吐量与数据包发送概率p′之间的关系。
图2 协议吞吐量比较
改进后协议的吞吐量得到了显著的提高,这是因为改进后的协议在控制信道空闲的时候进行短报文的传输,提高了信道的利用率,同时,数据信道并不是同时达到最大的吞吐量的饱和状态,这是因为在DCA协议中,当没有可用数据信道时,控制信道处于空闲状态,而改进后的协议在控制信道空闲状态下发送短报文,所以随着报文发送概率p′的增加,网络的吞吐量还有一定的提升。当报文发送概率继续增大时,报文的冲突的概率增大,网络的吞吐量也随着急剧下降。
5 结语
本文针对DCA协议信道利用率不高的问题,对其进行了适当的改进后短报文可以在没有可用数据信道时直接在控制信道上进行传输,网络的吞吐量得到了一定的提升,从而提高信道的利用率。
为了便于计算,本文在网络建模时对网络环境作了一定的近似和简化,没有考虑噪声对协议性能的影响,同时,短报文的阈值大小和数据信道的数量无疑也将影响网络的性能,在具体的仿真环境中可以通过调整阈值大小,使网络性能最优,这也正是我们下一步的工作。
[1]郑相全,等.一种新的拓扑无关的按需分配多信道自组网MAC协议[J].计算机科学,2005,32(5):95-96.
[2]王金龙,等,Ad Hoc移动无线网络[M].北京:国防工业出版社,2004:62-63.
[3]顾燕,等.Ad Hoc网络中一种新的双信道MAC协议及其性能分析[J].应用科学学报,2006,5(24)24:101-103.
[4]方旭明,等.下一代无线因特网技术——无线 Mesh网络[M].北京:人民邮电出版社,2006:82-89.