无线传感器网络的关键技术有路由协议、MAC协议、拓扑控制、定位技术等。路由协议:
数据包的传送需要通过多跳通信方式到达目的端,因此路由选择算法是网络层设计的一个主要任务。路由协议主要负责将数据分组从源节点通过网络转发到目的节点,它主要包括两个方面的功能:
1.寻找源节点和目的节点间的优化路径。
2.将数据分组沿着优化路径正确转发。
无线传感器与传统的无线网络协议不同之处,它受到能量消耗的制约,并且只能获取到局部拓扑结构的信息,由于这两个原因,无线传感器的路由协议要能够在局部网络信息的基础上选择合适路径。传感器由于它很强的应用相关性,不同应用中的路由协议差别很大,没有通用的路由协议。无线路由器的路由协议应具备以下特点:
(1)能量优先。需要考虑到节点的能量消耗以及网络能量均衡使用的问题。(2)基于局部拓扑信息。WSN为了节省通信能量,通常采用多跳的通信模式,因此节点如何在只能获取到局部拓扑信息和资源有限的情况下实现简单高效的路由机制,这是WSN的一个基本问题。
(3)以数据为中心。传统路由协议通常以地址作为节点的标识和路由的依据,而WSN由于节点的随机分布,所关注的是监测区域的感知数据,而不是具体哪个节点获取的信息,要形成以数据为中心的消息转发路径。
(4)应用相关。设计者需要针对每一个具体应用的需求,设计与之适应的特定路由机制。
现介绍几种常见的路由协议(平面路由协议、网络分层路由协议、地理定位辅助路由协议):
一、平面路由协议
平面路由协议中,逻辑结构时平面结构,节点间地位平等,通过局部操作和反馈信息来生成路由。当汇聚点向某些区域发送查询并等待来自于这些区域内传感器所采集的相关数据,其中的数据不能采用全局统一的ID,而是要采用基于属性的命名机制进行描述。平面路由的优点是结构简单、鲁棒性(即路由机制的容错能力)较好,缺点是缺乏对通信资源的优化管理,对网络动态变化的反应速度较慢。其中典型的平面路由协议有以下几种:
1.1.洪泛式路由(Flooding):
这是一种传统的网络通信路由协议。这种算法不要求维护网络的拓扑结构和相关路由的计算,仅要求接受到信息的节点以广播形式转发数据包。例如:S节点要传送一段数据给D节点,它需要通过网络将副本传送给它每一个邻居节点,一直到传送到节点D为止或者为该数据所设定的生存期限为零为止。优点在于:实现简单;不需要为保持网络拓扑信息和实现复杂路由发现算法消耗计算资源;适用于鲁棒性较高的场合。但同时也有相应的缺点:一个节点可能得到一个数据的多个副本;存在部分重叠,如果相邻节点同时对某件事作出反应,则两个节点的邻居节点将收到两份数据副本;盲目使用资源,无法作出自适应的路由选择。
为克服Flooding算法这些固有的缺陷,S.Hedetniemi等人提出闲聊式
(Gossiping)策略。这种算法采用随机性原则,即节点发送数据时不再采用广播形式,而是随机选取一个相邻节点转发它接收到的数据副本(避免了消息爆炸的结果)。
图1 洪泛式路由机制图2 gossiping路由机制
1.2.SPIN路由:
SPIN是一组基于协商并且具有能量自适应功能的信息传播协议。它有如下两个特点:(1)每个节点在发送数据前需要通过协商来确定其他节点是否需要该数据,同时每个节点通过元数据(meta-data)来确定接受数据中是否有重复信息的存在。(2)网络中节点必须实时监控本地能源消耗,根据能量等级改变工作模式来延长节点自身和整个网络的运行时间。
SPIN在运行过程中节点使用3种类型的信息进行通信,即ADV、REQ和DATA 信息。ADV——用于新数据广播。当一个节点有数据可共享时,它以广播方式向外发送DATA数据包中的元数据。REQ——用于请求发送数据。当一个节点希望接受DATA数据包时,发送REQ数据包。DATA——包含附上元数据头(meta-header)的实际数据包。SPIN协商过程采用3次握手方式。Step1:运行SPIN协议的源节点在传送DATA信息前,首先向相邻节点广播包含DATA数据描述机制的ADV 信息。Step2:需要该DATA信息的邻居节点,向信息源发送REQ请求信息。Step3:源节点根据接受到得REQ信息,有选择地将DATA信息发送给相应的邻居节点,如下图3所示。收到DATA数据的节点可作为信息源敬爱那个DATA信息传播到网络中的其他节点。
图3 SPIN路由机制
该协议除了提供数据传输过程中得协商机制,还引用了基于阖值的能量值适应机制。它要求每个节点都提供对其自身的能量管理功能以便跟踪能源的能耗状况。当节点的剩余能量开始接近低能量阖值,节点便减少在协议中得参与行为。
这种协商机制和能量自适应机制的SPIN协议能够很好地解决传统的Flooding和Gossiping协议所带来的信息爆炸、信息重复和资源浪费等问题。SPIN协议的缺点是数据广告机制(ADV)不能保证数据的可靠传递,因此对于入侵发现等需要在定期间隔内可靠传递数据的应用系统来说,SPIN并不是一个很好的选择。
1.3.DD路由:
定向扩散模型DD(Directed Diffusion)是一种以数据为中心的信息传播协议,运行DD的传感器节点使用基于属性的命名机制来描述该数据(如图4所示)。
其中,定向扩散算法在运行过程中包括以下3个基本过程,即路径建立阶段、数据发送阶段和增强路径阶段。
路径建立阶段:汇聚点以广播、多跳的方式向网络中所有节点发布命令信息,命令信息用含有任务类型、数据发送速率、时间戳等参数的兴趣描述。每个节点通过记录获取到兴趣的相应邻居节点、数据速率和时间戳等来建立梯度。
数据发送阶段:当节点采集到匹配查询的数据时,通过梯度路径发向汇聚点。中间节点利用本地化规则实现数据的融合。
增强路径阶段:汇聚点在收到这些低速率数据后,向数据到达最快的邻居节点发送增强消息,增强消息表示汇聚节点要求高速率发送数据。相应邻居节点按照同样地方式,依次传递增强信息给其邻居节点,直到到达数据源,从而构建数据发送的主路径,数据以后就通过路径发送给汇聚点。
在DD协议的网络中,节点能够利用选取的最优路径的缓存来实现节能的目的。缓存技术能够提高传感器节点间的有效性、鲁棒性和协作的可扩展性,这也就是DD模式的本质。DD算法在WSN路由协议研究中的一个里程碑,其中最大的特点就是引入了网络梯度概念。DD算法的优点是:仿真结果分析说明,网络梯度与本地化算法相结合应用于无线传感器网络的路由,可以很好地满足WSN对节