无线自组织网络由不需要任何基础设施的一组具有动态组网能力的节点组成,这种网络适应了军事和商用中对网络和设备移动性的要求,而引起了人们的关注,并在20世纪90年代以后获得了广泛的研究和发展。
与其他通信网络相比,无线自组织网络具有带宽有限、链路容易改变、节点的移动性以及由此带来的网络拓扑的动态性、物理安全有限、受设备限制等特点。正是由于这些区别,无线自组织网络协议栈也产生了比传统网络协议栈更高的要求:适应移动分布节点随机收发行为的媒体接入控制(MAC)协议,基于动态拓扑结果的高效、稳健的路由算法,便利的异构网络互联技术,有效的功率控制,合理的跨层信息交互、多层协同设计,可靠的安全机制等等。
1 MAC协议
MAC协议是无线自组织网络协议的重要组成部分,是分组在无线信道上发送和接收的主要控制者。目前,在无线自组织网络中MAC协议面临着隐藏终端、暴露终端,信道分配,单向链路,广播扩散等问题。
1.1隐藏终端、暴露终端问题
如图1所示,节点A、B、C都工作在同一个信道上,当节点A向节点B发送分组时,载波侦听机制无法阻止节点C发送数据,造成信号在节点B处冲突。节点C是隐藏在节点A的覆盖范围之外的、却又能对节点A的发送形成冲突的节点,这种在发送节点覆盖范围以外的、存在着潜在冲突的节点问题就是信道访问中的隐藏终端问题。隐藏终端问题会大大降低信道的通信能力。
另外还有一种情况也会降低信道的通信能力,即所谓的暴露终端问题。如图2所示,当节点B向节点A发送分组时,节点C侦听到节点B在发送分组,所以推迟发送分组。这种推迟是毫无必要的,因为节点C向节点D发送分组和节点B向节点A发送分组并不冲突,此时节点C是节点B的暴露终端。这种因发送节点在其覆盖范围内,感知到有其他节点在传输,而进行不必要的发送延迟就是暴露终端问题。
IEEE 802.11中提出的请求发送/准备接受/确认(RTS/CTS/ACK)握手机制,以及目前在很多研究中提出的控制信道-数据信道协作的方式,可以在一定程度上解决隐藏终端问题,但对于暴露终端问题,目前还没有充分有效的解决方式。
RTS/CTS/ACK机制的基本思想是在传输数据帧之前,A、B之间先用很短的握手帧RTS进行沟通,而其他所有无关节点收到RTS或CTS后,抑制自己的发送动作,避免冲突,从而为A、B间的数据帧传输提供一个短暂的“净空”。正确收到的帧需要使用ACK来进行确认。
这种改进只能解决单信道无线自组织网络的部分问题。假设一个网络具有n个任意分布的节点,每个节点的传输容量是W,那么每个节点可以达到的吞吐量将会是,即使对这些节点的位置进行优化,也仅能使得每个节点的吞吐量达到的水平[1]。由此可以看出,无线自组织网络节点数量的增大,将会使节点的吞吐量快速降低,尤其是在节点任意分布的情况下。
1.2信道分配问题
最初的无线自组织网络,由于技术和设备的限制,各节点都工作在一个信道上。随着设备和相关协议的发展,多信道、甚至是多接口-多信道无线自组织网络已经在步入实用。
对于单信道无线自组织网络,其MAC协议需要考虑的是如何充分利用信道,避免冲突。载波侦听多路访问/冲突检测(CSMA/CA)机制是目前应用非常广泛的协议,节点通过物理信道侦听(CCA)与虚拟网络侦听(NAV)结合的方式进行载波侦听,采用基于长帧间隙、中帧间隙和短帧间隙等不同时隙的退避机制和冲突避免策略,竞争信道进行发送。时分多址(TDMA)机制可以将信道按照时间片划分为多个时隙,节点按照静态或者动态分配方式占用其中的一个或者几个时隙。但是对于无线自组织网络来说,静态分配方式不能适应节点的移动和拓扑的变化;而在一个分布式多跳系统内,进行动态分配也还有很多问题需要解决,目前的研究多是针对基于某些假设或者某种应用背景的无线自组织网络,还没有普遍适用的方法提出。将CSMA/CA和TDMA结合,提高信道分配效率,减少冲突也是一种值得研究的内容。
多信道无线自组织网络,则需要关注如何在节点间分配信道,以提高网络吞吐量,避免冲突,实现信道上的负载均衡。目前较多的做法是,将信道分为控制信道和数据信道,节点在控制信道中协商数据交换采用的数据信道,然后在相应的数据信道上进行数据通信。控制信道和数据信道的划分可能是时间上的,也可能是空间上的。比如,一个信道在某个时刻可能用作控制信道,协商好数据信道后,切换到相应的数据信道进行通信。也可能一个节点拥有几个接口,其中的一个接口固定工作在某个控制信道上,其他接口固定或者动态实用某个数据信道。不管是哪种方式,都需要占用一定的资源用于信道协商。这种占用是值得的,目前在多信道的理论分析结果说明,在合理设计的多信道条件下,不仅可以提高整体网络容量,还可以提高每个信道的实际吞吐量。但是这些研究多是基于静态的。开发一种基于拓扑结构的算法,对信道资源进行动态分配,也是一个值得研究的问题。
1.3单向链路问题
单向链路问题是无线通信中一个普遍存在的问题。如图3所示,A的信号覆盖范围包括B,而B由于功率、地形等因素,信号不能覆盖到A,则B可以收到A的信息,而A不能收到B的信息,这就构成了单向链路。
在单向链路情况下,RTS/CTS/ACK、控制信道协商等机制都不再有效。在目前的标准与应用中,很多都没有使用、或者是没有涉及单向链路。这对信道资源而言是一个很大的浪费。如果能够通过链路层和物理层的协同控制,借助网络层的某些信息,控制A可以直接发送给B,而B可以通过适当的节点转发给A,则可以提高信道的利用率。
1.4广播
无线自组织网络中的广播,对于信道利用率有很大的影响。最基本的思路是:一个节点的广播被其所有邻居节点收到,所有的邻居节点再次转发这个广播。但这种做法显然是行不通的,一个节点可能反复收到同一条广播,并多次转发。即使采用某种机制辨别出是自己已经转发过的,而不再次转发,也已经对信道构成了浪费[2]。比较行之有效的一种方法是,借鉴区域路由协议(ZRP)中的多点中继(MPR)思路,某节点A根据拓扑信息将邻居节点中的某些节点设为MPR节点,只有被设为MPR节点的,才转发A所发出的广播。其他节点依次类推。这种方式大大减少了广播转发的次数,减少了信道的无谓占用,提高了信道利用效率。
2 路由技术
2.1无线自组织网络路由协议
无线自组织网络环境下,节点间的无线链路及由此而形成的网络拓扑结构随节点的位置分布和移动、信道的变化等因素呈现出动态变化的特性。无线网络的路由技术面临的困难远比有线网络的大的多,有线网络的路由技术完全无法直接移植到无线网络中来。按照路由协议建立和维护方式的不同,可以将无线自组织网络路由协议分为3类:先应式路由协议、反应式路由协议、混合式路由协议,如图4所示。
先应式路由协议仿照有线网络的做法,在每个节点建立和维护包含到达其他节点的路由信息的路由表,源节点一旦要发送报文,可以立即获得到达目的节点的路由。因此这种路由协议的时延较小,但路由协议在及时把握网络拓扑结构的变化、路由更新和维护等方面,占用无线信道通信资源的开销较大,在移动性高而负载轻的网络中性能较差。
反应式路由协议在需要发送数据时才查找路由,与先验式路由协议相比,反应式路由协议的开销较小,能够快速的适应网络拓扑变化,但是由于存在发现过程使数据报传送的时延较大,在网络负载很重的情况下,其性能较差。
混合式路由协议中在局部范围内使用先验式路由协议,维护准确的路由信息,并可缩小路由控制消息传播的范围,当目标节点较远时,通过查找发现路由,这样既减少路由协议的开销,也改善了时延特性。
2.2无线自组织网络组播路由协议
根据参与组播路由的节点构成的网络拓扑结构,无线自组织网络组播路由协议可分为以下几类[3-4]:基于树的组播路由协议、基于网格的组播路由协议、混合的组播路由协议。
在有线网络中,通过采用组播分发树能有效地实现组播。受此启发,早期的自组织网络最组播路由也是使用树结构。基于树的组播路由协议一般包括两个过程:组播树形成和组播树维护。
在组播树形成过程中,节点启动加入组播树过程:节点广播发送查询分组查找组播树,组播树上的节点在收到查询分组后回复响应分组,当加入节点收到响应分组后就能通过回复节点加入组播树。当加入节点收到多个回复报文时,根据一定策略选择一条最优路径。
组播树的维护是通过Hello机制来监控树型拓扑结构,即树根节点周期性发送Hello报文给子节点,若子节点在一定时间内未收到Hello报文,则认为树枝已经断开。这时由子孙节点启动树链路修复过程。典型协议有:利用递增序号的组播路由协议(AMRIS)、按需距离适量的组播路由协议(MAODV)、轻量的自适应组播路由协议(LAM)等。
基于网格的组播路由协议与组播树协议不同,数据分组以广播的方式在网络中传输。网络中网格节点负责广播中继分组。基于网格的组播路由协议一般包括两个过程:加入组播网格和维护组播网格。典型的协议有:按需组播路由协议(ODMRP)、核心辅助的网格协议(CAMP)、前向转发组组播路由协议(FGMP)等。
混合组播路由协议设计出发点是:充分利用树结构和网格结构各自优点。混合组播是在网格结构基础上构建组播树。混合的组播路由协议一般包括建立网格和建立组播树两个过程。
在网格基础之上建立组播树的一般过程是:核心节点或源节点向邻居网格节点发送创建树链路控制报文;当网格节点收到非重复的创建树报文时,将该报文转发给其他邻居网格节点,同时,该节点加入组播树;当网格节点收到重复的创建树报文时;向发送该报文的节点回复剪枝报文以剪去该组播树链路。典型的混合组播路由协议有Ad hoc 组播路由协议(AMRoute)和核心提取的分布式组播Ad hoc路由协议(MCEADR)。