无线传感器网络WSN(Wireless Sensor Network)是传感器、通信和计算机3种技术相结合的产物,南于无线传感器网络将逻辑信息世界与客观物理世界融合在一起,改变了人类与自然界的交互方式,因而具有广泛的应用前景。无线传感器网络具有很多不同于传统网络的特点,如能量严重受限、拓扑结构频繁变化等。因此,WSN网络协议的设计同现有各种网络协议的设计大不同,因而面临着各种新的挑战。在协议栈的众多协议中,网络层路由协议算法作为一项关键技术已成为目前研究的热点。
无线传感器网络的路由协议
由于WSN路由协议分类标准有很多,因此路由协议的分类方法也多种多样。根据路由协议不同的工作原理将路由协议划分为两种类型,并分析每种类型的典型路由协议。
2.1 平面路由
平面路由认为传感器网络中的各节点具有相同的功能和平等的角色,节点或将自己的事件检测结果主动报告给其他节点,或者是其他节点向检测事件的节点发出查询信息,数据传输通过多节点的多跳路由协作转发完成。信息协商传感器SPIN(Sensor Protocols for Information via Negotiation)是平面路由中第一个以数据为中心的算法,通过节点问的协商机制减少数据冗余和能量损耗。SPIN是一种基于协商机制的以数据为中心的路由算法,SPIN先对节点收到的数据的特点进行高层次的抽象,形成描述节点收到数据特点的元数据(meta-data)。在转发收到的数据前,节点 A先用元数据与相邻节点B进行协商,发送ADV信号判断节点B是否需要该数据(图la)。如果节点B对元数据代表的数据有需求,就发出反馈信号REO(图 lb)。否则就丢弃该ADV信号,然后节点A就将数据DATA转发给节点B(图lc)。节点B收到从节点A转发来的数据后,采用与节点A相同的处理方法。先用元数据与其相连的所有节点协商是否需要该数据,发送ADV信号(图1d)。如果节点有需求则回复REQ信号,无需求则直接将ADV信号丢弃(图 1e),然后节点B将向所有回复REQ信号的节点发送数据DATA(图1f)。
SPIN算法并没有明确定义元数据的格式。其具体格式和应用相关,如ADV和REQ的格式可根据具体应用做详细规定。另外,当拓扑结构发生变化时,每个节点只需在局部范围内维护与其相邻的节点状态,不需全网广播,既节省能量又降低对节点运算能力的要求,这种SPIN称为SPIN-1。但SPIN-1不能保证远程数据的正确递送,如远端节点需要数据而与源节点相邻的近端节点则不需要,在转发的开始就将代表该数据的元数据丢弃,不做REQ回复,造成数据递送失败。为了解决这一问题,在SPIN-2在SPIN-1的基础上加入了能量门限机制。在递送数据前先检测相邻节点的能量,如果能量值低于某一个门限值,则认为该节点没有足够能力完成远程递送任务,将该数据转发给其他有足够能量的相邻节点。除此之外,针对不同的应用情况,SPIN的其他扩展协议,如SPIN- BC和SPIN-RL针对传感器网络这种多播网络、SPIN-PP和SPIN-EC针对传统的点对点网络都做出专门优化。
2.2 层次路由
层次路由(也称为以分簇为基础的路由)是最早产生并应用于有线网络的,满足大规模网络的高效通信。因此层次路由的概念也被引入到WSN中,用于满足传感器节点的低能耗和高效率通信。在层次路由中,高能量节点可用于数据转发、数据查询、数据融合、远程通信和全局路由维护等高耗能应用场合;低能量节点用于事件检测、目标定位和局部路由维护等低耗能应用场合。这样,将不同的应用按照节点不同的能力合理分配,使节点能充分发挥各自优势,以应付大规模网络情况,并有效提高整个网络的生存时间。层次路由主要包括两个层次的路由:一是用于选择簇头节点,二是用于路由选择。LEACH(low-energy adaptiveclustering hierarchy)是一个提出较早的基于分簇思想的WSN层次路由算法。与传统网络固定网关节点能量较充足相比,WSN中的节点能量有限,故不能用同定簇头节点作为网关。LEACH从WSN中随机选择少数节点作簇头,考虑到网络中各节点能耗的平衡性,让其他没有做过簇头的节点轮流作为簇头,使网络不会因少数节点先耗尽能量造成网络瘫痪。
LEACH算法分簇头建立和稳定状态两阶段,前者是LEACH算法实现的关键,后者是数据传输的保证。在簇头建立阶段,节点随机选择一个数值r (O<r<1),如果该随机数r小于阈值T(n),则该节点成为这一轮的一个簇头。用G表示最后的1/p轮中没有被选为簇头的节点集合,p表示簇头节点浓度(如5%),则T(n)为:
LEACH的分簇机制可降低网络的整体能耗,延长网络生存时间;在簇内节点间采用TDMA编码,在簇头与基站间采用CDMA编码,保证信息有效传输;数据采集和簇头节点都是周期性的,网络适合监测连续变化事件。
阐述无线传感器网络的网络层,以路由算法作为研究主线,深入分析WSN的两种路由算法。路由算法研究主要存在以下难题:(1)在网络层或应用层进行数据融合,网络层主要依靠路由算法协调,以丢弃冗余分组,降低节点能耗和提高数据转发效率。(2)为保证数据传输的可靠性,尽量降低多路径维护的开销,算法不应太复杂。(3)对于WSN,除考虑节点静止时的情况,节点移动性也需考虑。如果不是移动跟踪节点,一般可在节点移动时关闭射频通道。(4)路由算法应处理好节点间的协调,即使在节点数量较大时也能完成正常数据转发,不会造成在短时间内失效。(5)对于节点数量较大的WSN,由于网络拓扑分布的随机性,可能出现某些关键节点能耗较多,而其他节点能耗较少,网络负载不平衡。因此,有必要用路南算法加强网络负载平衡性。(6)由于WSN的特殊性,必须考虑节点的能耗。因此,研究WSN路由算法,要尽可能降低节点能耗,以延长网络生存时间。