很多人都认为,无线传感器网络的重要性可与因特网相媲美:正如因特网使得计算机能够访问各种数字信息而可以不管其保存在什么地方,传感器网络将能扩展人们与现实世界进行远程交互的能力。它甚至被人称为一种全新类型的计算机系统,这就是因为它区别于过去硬件的可到处散布的特点以及集体分析能力。然而从很多方面来说,现在的无线传感器网络就如同远在1970年的因特网,那时因特网仅仅连接了不到200所大学和军事实验室,并且研究者还在试验各种通讯协议和寻址方案。而现在,大多数传感器网络只连接了不到 100个节点,更多的节点以及通讯线路会使其变得十分复杂难缠而无法正常工作。
无线传感器网络所具有的众多类型的传感器,可探测包括地震、电磁、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等周边环境中多种多样的现象。基于MEMS的微传感技术和无线联网技术为无线传感器网络赋予了广阔的应用前景。这些潜在的应用领域可以归纳为:军事、航空、反恐、防爆、救灾、环境、医疗、保健、家居、工业、商业等领域。无线传感器网络是一种全新的信息获取平台,能够实时监测和采集网络分布区域内的各种检测对象的信息,并将这些信息发送到网关节点,以实现复杂的指定范围内目标检测与跟踪,具有快速展开、抗毁性强等特点,有着广阔的应用前景。
1 低功耗路由协议
1.1 LEACH协议
LEACH全称是"低功耗自适应集簇分层型协议" (Low Energy Adaptive Clustering Hierarchy)。该算法基本思想是:以循环的方式随机选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。仿真表明,与一般的平面多跳路由协议和静态分层算法相比,LEACH可以将网络生命周期延长15%.LEACH在运行过程中不断的循环执行簇的重构过程,每个簇重构过程可以用回合的概念来描述。每个回合可以分成两个阶段:簇的建立阶段和传输数据的稳定阶段。为了节省资源开销,稳定阶段的持续时间要大于建立阶段的持续时间。簇的建立过程可分成4个阶段:簇头节点的选择、簇头节点的广播、簇头节点的建立和调度机制的生成。
初始化阶段即簇的形成阶段。在每一轮的初始化阶段,每个传感器节点都要决定自己是否充当簇头节点。这个决定主要取决于网络中所需要的簇头节点数(在初始化的时候设置)和迄今为止该节点已成为簇头节点的次数。簇头节点必须从那些没有当过簇头节点的节点中选择,直到网络中的所有节点都当过簇头节点,然后再进行重新选举,所有节点获得再次成为簇头的机会。簇头节点的选择办法是:每个传感器节点随机选择O~1之间的一个值,如果选定的值小于某一个阈值T(n),那么这个节点成为簇头节点。T(n)值的计算方法如下:
其中,p是网络中簇头节点所占节点数目的百分比,r为当前的轮数,G是一个集合,集合中的节点是前1/p轮中没有充当过簇头节点的节点。使用这个门限,每个节点会在1/p轮操作内充当一次簇头节点,符号mod是求模运算符号。
在第O轮的时候(r=0),每个节点充当簇头节点的概率为p,在第O轮充当簇头节点的节点在后面1/p轮中不能再次充当簇头节点。这样,剩下的节点的数目变少了,所以能够充当簇头节点的概率必须增加才能保证每一轮中的簇的个数保持均衡。在经过1/p一1轮以后,T=1,此时对于任何一个在过去的1/p中还没有做过簇头节点的节点,都可以成为簇头节点,因为所有节点的标志值都在0~1之问。经过1/p轮之后,所有节点又可以重新充当簇头节点了。
一旦簇头节点被选定,它们就使用相同的能量向网络中的其他节点广播一个广告包。在这个过程中,其他非簇头节点的接收机一直处于工作状态,以便接收来自不同簇头的广告包,它们根据最小通信能量原则,选取信号最强的广告包的发送源节点作为自己的簇头节点,并发送消息给其簇头节点,告诉簇头节点自己已经加入该簇。
当簇头节点收到了来自成员节点的"报道"消息后,根据成员节点的数目,产生一个TDMA的时隙表,告诉成员在什么时刻可以发送数据。这个表会通过广播到达成员节点,由于形成了簇的结构,成员节点只与自己的簇头节点通信,如果收到来自其他节点的消息,会自动屏蔽掉。因此不用担心簇头节点的时隙表被其他簇的成员错误接收。当网络中的簇已经形成,而且TD-MA时隙表也确定下来,就开始了数据传送。成员节点只能在TDMA时隙表为其分配的时隙内与簇头节点进行通信。假设传感器节点总是有数据要发送,在属于自己的时隙里,成员节点会把数据发送给自己的簇头节点。在发送阶段,在自己的时隙没有到来的时候成员节点可以关闭自己的收发机以节省能量。而簇头节点必须一直使自己的接收机处于开启状态,用于接收来自不同成员节点的数据。当一轮的数据传输完毕后,簇头节点会进行必要的数据融合处理,将多个数据融合成一个数据,然后发送给基站。持续一段时间以后,网络开始进入下一轮的工作周期。
LEACH协议运用了数据压缩技术和分层动态路由技术,通过本地的联合工作来提高网络的可扩展性和鲁棒性,通过数据融合来减少发送的数据量,通过随机选择簇头节点来达到网络内部负载均衡的目的,进而大大节约了能量。
尽管LEACH协议具备以上优点,但也存在一些不足之处。
(1)由于LEACH算法假定所有节点能够与汇聚节点直接通信,并且每个节点都具备支持不同MAC协议的计算能力,因此该协议不适合在大规模的无线传感器网络中应用。
(2)LEACH算法是让网络中自组织的形成簇,由于簇头节点是随机产生的,这样无法保证簇头节点的合理分布。因此,很有可能出现被选择的簇头节点集中在网络中某一区域的现象,这样就会使得一些节点的周围没有任何簇。
(3)LEACH算法忽略了被选簇头在网络内的分布状态和节点间不同的通信距离而导致的节点能量损耗的不平衡。
1.2 PEGASIS协议
该协议是LEACH的改进,思想是:为了延长网络的生命周期,节点只需要和她们最近的邻居之间进行通信。节点与汇聚点间的通信过程是轮流进行的,当所有节点都与汇聚点通信后,节点间再进行新一回合的轮流进行的。由于这种轮流通信机制使得能量消耗能够统一的分布到每个节点上,因此降低了整个传输所需要消耗的能量。不同于LEACH的多蔟结构,PEGASIS(Power-Efficient GAthering in Sensor Information Systems)协议在传感器节点中采用链式结构进行链接。运行PEGASIS协议时每个节点首先利用信号的强度来衡量其所有邻居节点距离的远近,在确定其最近邻居的同时调整发送信号的强度以便只有这个邻居能够听到。其次,链中每个节点向邻居节点发送忽然接受数据,并且只选择一个节点作为链首向汇聚节点传输数据。采集到的数据以点对点的方式传递、融合,并最终被送到汇聚节点
在PEGASIS算法中,"链"的形成过程是整个通信的关键。"链"的形成采用的方法是:节点发送能量递减的测试信号通过监测应答来确定离自己最近的相邻节点。通过这种方式,网络中的所有节点能够了解彼此的位置关系,找到自己的邻居节点,每一轮通信中节点只需要与自己的邻居节点进行通信。为确保每个节点都有其相邻节点,从离基站最远的节点开始构建,链中邻居节点的距离会逐渐增大,因为已经在链中的节点不能被再次访问。依次下去,最终形成一条包含网络中所有节点的链。
当节点链形成并且选举出领导节点后,就开始了数据传输过程。PEGASIS中的数据传输使用Token(令牌)机制,如图1所示。Token很小,故能耗较少。在一轮通信中,领导节点用Token控制数据从链尾开始传输。图中,C2为领导节点,将Token沿着链传给C0,Co传数据给C1,C1将C0数据和自身数据进行融合后形成一个相同长度的数据包,再传给C2.然后,C2将Token传给C4,C2以相同的方式接收来自C3,C4的数据。这些数据在C2处进行融合后,发给基站。
PEGASIS是在LEACH基础上建立的路由协议,PEGASIS比LEACH节省能量主要体现在以下几个方面:
(1)在本地数据聚合阶段,PEGASIS算法中每个节点只与离自己最近的邻居节点进行通信,而不是像LEACH算法一样需要与簇头节点进行通信,PEGAS-IS算法大大减小了每轮通信中每个节点的通信距离,从而降低了每个节点在每一轮通信中所消耗的能量。
(2)LEACH算法中,一个簇头要接收多个簇成员节点发送过来的数据,而PEGASIS算法中,一个领导节点最多只需要接收2个节点发送过来的数据包。
(3)在每一轮通信中,PEGASIS算法只有1个领导节点与基站通信,而LEACH中则有多个簇头节点与基站通信。PEGASIS也存在一些不足之处:节点维护位置信息(相当于传统网络的拓扑信息)需要额外的资源,在网络全局信息比较难以获得的情况下就不合适了,而且领导节点的惟一性使得其成为整个通信过程的瓶颈。
2 其他典型路由协议
路由器提供了异构网互联的机制,实现将一个网络的数据包发送到另一个网络。而路由就是指导IP数据包发送的路径信息。路由协议就是在路由指导IP数据包发送过程中事先约定好的规定和标准。路由协议通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了路由表,描述了网络拓扑结构;路由协议与路由器协同工作,执行路由选择和数据包转发功能。
2.1 SPIN协议
SPIN协议的设计思想是:每个节点在发送数据前通过协商来确定其他节点是否需要该数据;同时,节点通过"元数据"确定接收数据中是否有重复信息存在。节点通过3种消息进行通信:ADV(数据描述),REQ(数据请求)和DATA(数据)。源节点在传送DATA信息之前,首先向相邻节点广播包含DATA数据描述机制的ADV信息,需要该DATA信息的邻节点向信息源发送REQ请求信息,源节点在收到REQ信息后,有选择地将DATA信息发送给相应的邻节点。收到DATA后,该邻节点可以作为信息源,按照前述过程将DATA信息继续传播到网络中的其他节点。该协议的优点是:ADV消息减轻了内爆问题;通过数据命名解决了交叠问题;节点根据自身资源和应用信息决定是否进行ADV通告,避免了资源利用盲目的问题,进而有效地节约了能量。其缺陷是:当产生或收到数据的节点的所有邻节点均不需要该数据时,将导致数据不能继续转发,会使较远节点无法得到数据。
2.2 DD协议
DD(Directed Diffusion)是Estrin等人专为无线传感器网络设计的路由协议。汇聚节点将查询任务封装成兴趣消息(interest)的形式,采用洪泛方式传播兴趣消息到其他节点,兴趣消息用来表达用户对监测区域内感兴趣的信息。在兴趣消息的传播过程中,协议逐跳地在每个节点上建立反向的从数据源到汇聚节点的数据传输梯度。节点将采集到的数据沿着梯度方向传送到汇聚节点。定向扩散的最大特点是引入网络梯度的概念,其优势在于扩散过程能够将按照经验选取的较优路径缓存以实现节能,并且提高节点间的有效性、鲁棒性和协作的可扩展性。
2.3 GEAR协议
GEAR是一种典型的地理位置路由协议。该算法的提出基于以下思想:在传感器网络中向适当区域发送查询时,此查询数据中包含了位置属性信息,因此,可以利用这一信息将在整个网络中扩散的信息传送到适当的位置区域中。该算法引入了预估费用(estimated cost)和学习费用(1earning cost),通过比较两者值的大小来选取更接近汇聚节点的传感器节点作为下一跳。GEAR利用能量和地理信息作为启发式选择路径向目标区域传送数据,它是在DD的基础上提出的,但由于GEAR只考虑向某个特定区域发送兴趣,而不是像DD那样发布到整个网络,因此,GEAR相对DD更加节省能量。
2.4 SAR协议
SAR(Sequential Assignment Routing)协议是一个典型的具有QoS意识的路由协议。该协议通过构建以汇聚节点的单跳邻节点为根节点的多播树来实现传感器节点到汇聚节点的多跳路径,即汇聚节点的所有下一跳邻节点都以自己为根创建生成树,在创建生成树过程中考虑节点的时延,丢包率等QoS参数以及最大数据传输能力,这样就反向建立了到汇聚节点的具有不同QoS参数的多条路径。SAR的一个突出优点是综合考虑了能效和QoS,仿真结果表明,与只考虑路径能量消耗的最小能量度量协议相比,SAR的能量消耗较少。
3 路由协议对比分析
节能是无线传感器网络最重要的特征,因而高效地利用能量是无限传感器网络路由协议设计的根本出发点。LEACH和PEGASIS具备很好的节能策略,SPIN,DD,GEAR,SAR也分别具备相应的节能策略。但是,无线传感器网络与应用高度相关,所以路由协议在节能的前提下还要满足以下方面的性能要求:以数据为中心、支持数据融合、基于节点定位、具有可扩展性、鲁棒性、提供QoS支持等。依据上述性能指标,对描述的路由协议特点进行对比的结果如表1所示。
4 结 语
深入分析了低功耗路由协议LEACH及PEGAS-IS,希望能对以后LEACH及PEGASIS协议的改进起到一定的推动作用。在综合所述的路由协议基础之上,总结出以下几种无线传感器网络路由协议能量优化方法:
(1)数据融合。节点通过对数据进行融合,降低网络开销,节省能量。
(2)数据命名。数据命名机制能高度搜索用户所需数据,避免数据在网络中的重复发送,降低了网络开销。
(3)局部协商技术。协商技术能够有效地避免由于节点间重复地收发大量冗余信息所造成的能量浪费。
(4)随机路由选择。路由协议支持到目的地的低开销多种路由会使网络负载趋于平衡,延长网络寿命。除了能量高效,无线传感器网络路由协议还存在一些挑战,如QoS和带宽的高效利用,在能量有效性的前提下提供对节点移动的支持,网络安全问题等。这些问题将在以后的工作中继续深入研究。