1、无线传感器的路由协议路由协议1、概述1.1概念1.2 WSN的特点1.3 WSN的特点及对路由设计的影响1.4路由协议的关键问题分析1.5路由协议的设计目标与设计原则2、WSN的路由协议2.1路由协议的分类2.2典型的路由协议分析2.3 Flooding与Gossiping2.4 SPIN协议1、1概念无线传感网络中路由协议的主要任务是建立从源节点到汇聚节点的路由,并可靠地传输数据。作为无线传感器网络中数据的指挥者,路由协议主要有以下两个方面的功能:1、建立源节点到目的节点的优化路径。2、将数据沿分组着优化路径正确转发。与有线网络和蜂窝式无线网络不同,WSN中没有基础设施和全网统一的控制中心。
2、在这种无中心的环境下,路由可以看成分布式地获取网络拓扑信息,以一定准则计算路由并对路径进行维护的过程。1.2 WSN的特点一、从路由设计的角度出发,WSN具有以下特点:1、形式多样的信息报告模式WSN中信息报告模式分三类:a、事件触发:节点采用信息后判断,若超过一定的阈值,则认为发生了某种事件,需要立即上报,如用于预警的WSN。b、周期性:节点定期把采集到的信息报告给sink。如野生动植物和环境监测WSN。c、基于查询:node不主动向sink上报采集到的信息,而是等待用户查询,根据用户的需要反馈信息。d、混合模式:前三种的综合,如智能交通的WSN。不同的信息报告模式影响路由的触发模式:a:事
3、件触发模式:从节能的角度,按需(on demand)建立路由更恰当b:事件报告模式:采用先应式(proactive)的方法建立路由更加合适。c:基于查询模式:查询信息的本身就可以辅助建立路由二、多对一和一对多为主的业务模式 WSN的主要业务是传感器节点把采集到的信息传给sink(多对一)和sink向节点(一对多)下达查询命令,这是典型的多对一和一对多的模式。为了支持这种通信模式,WSN中很多路由协议建立具有树状结构的路由。三、以数据为中心的设计理念 把WSN看成是一个大型的数据库,用户关心的是从这里得到什么信息,而不关心数据库中的哪个元素(node)提供了该信息。该理念对网络层的一个重要影响是
4、节点的地址分配:一般情况下没必要为每个node分配全局唯一地址,node描述信息产生时间、地点和内容即可。从事实现多跳通信的角度,需要在局部标识不同的节点。 该理念还影响分组转发的过程:WSN中,原始数据可能存在一定的冗余,在满足信息采集的要求的前提下,可以在数据转发过程中对其进行修改,甚至把多个分组合并成一个分组进行融合,从而降低能耗。四、动态变化的网络拓扑1、大部分的WSN中节点并不移动,造成网络拓扑变化的主要原因是节点的失效和存在不可靠性、非对称链路。2、在有些WSN中的节点是可移动的,如医疗监测WSN、候鸟迁徙WSN等,网络拓扑变化比较快。因此,设计路由协议时,应考虑拓扑的动态变化,以
5、提高协议的灵活性和扩展性。五、能量受限、结构简单的节点1、Node大都由电池供电,电池体积小,能量有限且难以更换,很多场合需要WSN连续工作数年甚至更长。2、Node结构简单,存储、处理、通信能力低,单个节点可靠性差。因此,要求协议充分考虑能量有效性以降低能耗,同时要求尽可能简单,具有容错性。六、密集布设的大规模网络WSN通常密集布设大量节点,节点数量达到成千甚至上万。同时节点的密度也很高,有的情况可以达到20个/m3。这些使得协议的可扩展性变得十分重要1.3 WSN的特点及对路由设计的影响1、网络特点是路由设计的主要依据,对网络特点的分析是进行协议设计的前提。2、无线传感网络中,网络业务的最
6、大特点是具有明显的方向性。3、为了实现信息采集的目的,WSN的网络业务大都发生在数据汇聚节点(sink)和普通的传感器节点之间,包括sink节点到传感器节点的下行业务(如查询指令下达)和传感器节点到sink的上行业务(如采集信息的回转)。4、传感器节点之间的横向业务所占比例较小,主要是网络的控制信息和网内信息处理所需要的信息。5、无线传感器网络的一个基本理念是以大量低成本节点组网,通过节点之间的协作获得比单一的高精度、高可靠性和高成本的传感器更好的信息采集效果。传感器节点的能量约束和无线通信链路的不可靠是无线传感器网络固有的,将对协议设计产生较大的影响。1.4 路由协议的关键问题分析1、能量有
7、效性提高能量有效性是WSN从硬件设计到软件开发都必须考虑的问题。从路由协议设计的角度有两种思路提高能量有效性:a、节能:寻找节能路由,减少路由建立和维护的控制开销,提高路由可靠性。b、能耗均衡:从空间上调度能量资源,使网络中能量均衡消耗。2、可扩展性可扩展性是指网络的性能不随着网络中节点的数量增加而有明显的下降。两类重要策略:a、分层路由:网络分成若干层,低一层的群首构成高一层的网络。节点地位不同,首为局部控制中心,负责群内路由、信道接入、休眠调度等;大多数节点作为群成员其操作相对简单,控制开销较低。b、地理路由:地理位置信息实际上体现节点间相对拓扑关系,利用这一信息路由能很大程度上降低用于收
8、集拓扑信息付出的开销,提高协议的可扩展性地理路由使用的前提是节点能获得自己和目的节点的地理位置信息。对于节点有移动性,任意两个节点之间都可能进行通信的网络,为获得目的节点的位置信息需不断更新位置信息,开销较大,地理路由的优势就不明显。3、数据传输可靠性数据传输的可靠性直接关系到WSN是否能给用户提供准确、全面和可靠的消息,而WSN中节点无线通信能力弱,应用环境复杂,实际的链路质量比较低。如何保证数据传输的可靠性是WSN路由设计中的一个关键问题。影响WSN数据传输可靠性原因:a、无线信道上的碰撞导致分组无法正确接收b、节点故障使路由不可用,导致分组丢失c、链路不可靠,导致分组传输出错或丢失路由协
9、议的解决策略:a、建立多路径路由:建立信源节点到目标节点的多条路径,选择最优路径作为主路径,其他路径为备份。使用多条路径发送原始分组的多个副本,即使其中一些传输丢失也不会影响端到端的可靠性。b、选择可靠链路1.5路由协议的设计目标与设计原则路由协议的设计应该遵循以下原则:(1)为节能起见,路由协议应该尽量简单,要求满足网络开销低,需求带宽小,对路由节点存储信息的影响小的要求。(2)路由协议应该具有很好的网络适应性、健壮性和稳定性,在通常或者不可预知的环境下均能很好的运行,能快速和准确的适应各种网络环境。(3)路由协议的设计要避免路由环路的产生。(4)无线传感网络是计算资源和能源有限的,因此其通
10、信协议不可能是通用的,必须针对具体应用的需求进行设计。(5)设计路由协议时还要考虑到如何使所设计的路由协议具有可扩展性。 2.1 路由协议的分类无线传感器网络路由协议有多种分类方法,可以根据路由协议采用的通信模式、路由结构、路由建立时机、状态维护、节点标识和传递方式等策略,运用多种方法对齐分类:1、根据传输过程中采用路径 的多少,可分为单路径路由协议和多路径路由协议。2、根据节点在路由过程中是否有层次结构、作用是否有差异。可分为平面路由协议和层次路由协议。3、根据路由建立时机和数据发送的关系,可分为主动路由协议、按需路由协议和混合路由协议。4、根据是否以地理位置来标识目的地、路由计算中是否利用
11、地理位置信息,可分为基于位置的路由协议和非基于位置的路由协议。5、根据节点是否编址、是否以地址标识目的地,可分为基于地址的路由协议和非基于地址的路由协议。6、根据路由选择是否考虑QoS约束,可分为保证QoS的路由协议和不保证QoS的路由协议。7、根据数据在传输过程中是否进行融合处理,可分为数据融合的路由协议和非数据融合的路由协议。8、根据是否以节点的可用能量或传输路径上的能量需求作为选择路由的依据,可分为能量感知路由协议和非能量感知路由协议。9、根据路由建立是否与查询有关,可分为查询驱动和非查询驱动的路由协议。2.2 典型的路由协议分析以数据为中心的平面路由平面路由中所有节点具有相同的地位和功
12、能,节点间协同工作完成感知任务。优点是结构简单、鲁棒性较好,但缺乏对通信资源的优化管理,对动态网络变化的反应速度较慢。比较典型的有:泛洪路由(Flooding)与闲聊路由(Gossiping)SPIN协议2.3 Flooding与Gossiping Flooding(洪泛)协议和Gossiping(闲聊)协议是两个经典的传统网络路由协议,可应用到无线传感器网络中。这两个协议不需要维护路由信息,简单易行,但扩展性很差。 在Flooding协议中,节点产生或收到数据后向所有邻居结点广播,数据包直到过期或到达目的地才停止传播。例如:某节点S打算发送数据给目的节点D,节点S首先要将数据传送给它的一个邻
13、节点,每个邻节点又将其传送给各自所有的邻节点(除去刚刚给它们发送数据的节点S)。如此继续下去,直到将数据传送到目的节点D为止,或是为该数据所设定的生存期变为零为止。 该协议具有严重的缺陷如下所示:内爆。节点同时从邻节点收到多份相同数据,如图所示: Flooding的内爆现象重叠。节点先后收到同一区域的多个节点发送的相同数据。资源利用盲目。节点不考虑自身资源限制,再任何情况下都转发数据。Gossiping协议是对Flooding协议的改进,节点在发送数据时不再采用广播的形式,而是随机选取一个相邻节点转发它所接收到的数据,有效避免了内爆现象;但仍然无法解决部分重叠和盲目使用资源所引起的传输时延长、
14、传输速度慢等问题,如图所示。 Gossiping的数据重叠现象2.4 SPIN协议设计思想是:每个节点在发送数据前通过协商来确定其他节点是否需要该数据;同时,节点通过“元数据”确定接收数据中是否有重复信息存在。节点还要根据自身的能耗状况(能量等级的改变)来调整工作模式,以延长运行时间。SPIN的协商过程采用三次握手方式。源节点再传送DATA信息前,首先向相邻节点广播包含DATA数据描述机制的ADV信息,如图(a)所示。需要该DATA信息的邻节点向信息源发送REQ请求信息,如图(b)所示。源节点在收到的REQ信息后,有选择地将DATA信息发送给相应的邻节点,如图(c)所示。受到DATA后,该 邻
15、节点可以作为信息源,按照前述过程将DATA信息继续传播到网络中的其他节点,如图(d)、(e)、(f)所示。这样重复下去,整个网络中所有需要该DATA信息的节点都将获得该数据的副本。 图(a) 图(b) 图(c) 图(d) 图(e) 图(f) SPIN协议SPIN协议是最早的以数据为中心的自适应路由协议,通过协商机制来解决Flooding算法中的“内爆”和“重叠”问题,节省了能量的消耗。a、为了避免出现扩散法的信息爆炸问题和部分重叠现象,传感器节点在传输数据之前进行协商,协商制度可确保传输有用数据;b、节点间通过发送元数据(即描述传感器节点采集的数据属性的数据),而不是采集整个数据进行协商。由于
16、元数据大小小于采集的数据,所以,传输元数据消耗的能量相对较小。为避免盲目使用资源,所有传感器节点必须监控各自能量变化情况。c、在传输或接收数据之前,每个节点都必须检查各自可用的能量情况,如果处于低能量水平,必须中断一些操作,比如充当路由器的角色,停止对其他节点的一些数据转发操作。d、SPIN有3种数据报类型,即ADV、REQ和DATA。节点用ADV宣布有数据发送,用REQ请求希望接收数据,用DATA封装数据。ADV:用于新数据广播。当一个节点有数据共享时,它可用ADV数据包(包含元素据)对外广播。REQ:用于请求发送数据。当一个节点希望接收DATA数据包时,发送REQ数据包。DATA:为原始感
17、知数据包,里面装载了原始感知数据。SPIN协议簇有4中不同的形式:(1)SPIN-PP:适合点对点信道,并假定两节点间的通信不受其他节点的干扰,分组不会丢失,功率没有任何限制。(2)SPIN-EC:在SPIN-PP基础上增加了能量限制,只有能够顺利完成所有任务且能量不低于设定阈值的节点才可参与数据交换。(3)SPIN-BC:适合于广播信道,使所有在有效半径内的节点可以同时完成数据交换。为了防止产生重复的REQ请求,节点在听到ADV消息以后,设定一个随机定时器来控制REQ请求的发送,其他节点听到该请求,主动放弃请求权利。(4)SPIN-RL:是对 SPIN-BC的完善,考虑信道上存在分组丢失。记
18、录ADV消息的相关状态,如果在确定时间间隔内接收不到请求数据,则发送重传请求,重传请求的次数有一定的限制。总的来说,SPIN协议简单并且不必维护邻节点的状态,能够很好地解决传统的Flooding和Gossiping所带来的信息爆炸、信息重复和资源浪费等问题。此外,由于协议中每个节点只需知道其单跳邻节点的信息,拓扑变化呈现出本地化特征。 SPIN协议的优点:1、小ADV消息减轻了内爆问题2、通过数据命名解决了j交叠问题3、节点根据自身资源和应用信息决定是否进行ADV通告,避免了资源利用盲目问题,有效地节约了能量。 SPIN协议的缺点是:当产生或收到数据的节点的所有邻节点都不需要数据时,将导致数据不能继续转发,以致对该数据感兴趣的较远节点无法得到数据。这使得SPIN协议无法保证数据的可靠传递。