第5章-路由协议课件

上传人:hs****ma 文档编号:567492141 上传时间:2024-07-20 格式:PPT 页数:95 大小:1,018KB
返回 下载 相关 举报
第5章-路由协议课件_第1页
第1页 / 共95页
第5章-路由协议课件_第2页
第2页 / 共95页
第5章-路由协议课件_第3页
第3页 / 共95页
第5章-路由协议课件_第4页
第4页 / 共95页
第5章-路由协议课件_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《第5章-路由协议课件》由会员分享,可在线阅读,更多相关《第5章-路由协议课件(95页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章 无线传感网路由协议无线传感网路由协议n路由协议是解决数据传输路径问题,它完成将数据分组从源节点路由协议是解决数据传输路径问题,它完成将数据分组从源节点转发到目的节点的功能,是无线传感网的关键技术之一。转发到目的节点的功能,是无线传感网的关键技术之一。n与传统通信网络不同,无线传感网中没有基础设施和全网统一的与传统通信网络不同,无线传感网中没有基础设施和全网统一的控制中心,是一种分布式的自组织网络,必须采取分布式的方式控制中心,是一种分布式的自组织网络,必须采取分布式的方式获取网络拓扑信息。由于无线传感网是由大量的结构简单的低成获取网络拓扑信息。由于无线传感网是由大量的结构简单的低

2、成本、能量受限、通信能力受限以及存储和处理能力受限的节点构本、能量受限、通信能力受限以及存储和处理能力受限的节点构成,网络拓扑结构动态变化。所以,传统的自组织网络的路由协成,网络拓扑结构动态变化。所以,传统的自组织网络的路由协议不能直接使用,必须针对传感网的特点和应用设计高能效的传议不能直接使用,必须针对传感网的特点和应用设计高能效的传感网路由协议。感网路由协议。n本章针对传感网的特点,分析了路由协议考虑的因素以及分类方本章针对传感网的特点,分析了路由协议考虑的因素以及分类方式,分别介绍了能量感知路由协议、平面路由协议、分层路由协式,分别介绍了能量感知路由协议、平面路由协议、分层路由协议、基于

3、查询的路由协议和基于地理位置路由协议。议、基于查询的路由协议和基于地理位置路由协议。内容提要内容提要n5.1 概述概述n5.2 能量感知路由协议能量感知路由协议n5.3 平面路由协议平面路由协议n5.4 层次路由协议层次路由协议n5.5 基于查询的路由协议基于查询的路由协议n5.6 基于地理位置路由基于地理位置路由n5.7 本章小结本章小结n思考题思考题 5.1 概述概述n5.1.1 WSN路由协议的特点路由协议的特点n5.1.2 路由协议的分类路由协议的分类5.1.1 WSN路由协议的特点n无线传感网路由协议负责将分组从源节点通过网络转发到目的节点,它无线传感网路由协议负责将分组从源节点通过

4、网络转发到目的节点,它主要包括两个方面的功能:主要包括两个方面的功能:q寻找源节点和目的节点间的优化路径;q将数据分组沿着优化路径正确转发。n传统无线网络的目标:提供高服务质量和公平高效地利用网络带宽传统无线网络的目标:提供高服务质量和公平高效地利用网络带宽.q因此这些网络路由协议的主要任务是寻找源节点到目的节点间通信延迟小的路径,同时提高整个网络的利用率,避免产生通信拥塞并均衡网络流量等,而能量消耗问题不是这类网络考虑的重点。n无线传感网节点能量有限(一般由电池供电),并且由于网络中节点数无线传感网节点能量有限(一般由电池供电),并且由于网络中节点数目往往过大,节点只能获取局部拓扑结构信息,

5、因此要求路由协议不仅目往往过大,节点只能获取局部拓扑结构信息,因此要求路由协议不仅要高效的利用能量,还要在此基础上能够在只获取局部网络信息的情况要高效的利用能量,还要在此基础上能够在只获取局部网络信息的情况下选择合适的路径。下选择合适的路径。5.1.1 WSN路由协议的特点n与传统网络的路由协议相比,无线传感网路由协议具有以下的特点:与传统网络的路由协议相比,无线传感网路由协议具有以下的特点:q(1)能量优先。n传统路由协议在选择最优路径时,很少考虑节点的能量消耗问题。而无线传感网中节点的能量有限,延长整个网络的生存期成为传感网路由协议设计的重要目标,因此需要考虑节点的能量消耗以及网络能量均衡

6、使用的问题。q(2)基于局部拓扑信息。n无线传感网为了节省通信能量,通常采用多跳的通信模式,而节点有限的存储资源和计算资源,使得节点不能存储大量的路由信息,不进行太复杂的路由计算。在节点只能获取局部拓扑信息和资源有限的情况下,如何实现简单高效的路由机制是无线传感网的一个基本问题。q(3)以数据为中心。n传统的路由协议通常以地址作为节点的标识和路由的依据,而无线传感器网络中大量节点随机部署,所关注的是监测区域的感知数据,而不是具体哪个节点获取的信息。用户使用传感网查询事件时,直接将所关心的事件通告给网络,而不是通告给某个确定编号的节点。网络在获得指定事件的信息后汇报给用户。这种以数据本身作为查询

7、或传输线索的思想更接近于自然语言交流的习惯。所以通常又说传感网是一个以数据为中心的网络。q(4)应用相关。n传感网的应用环境千差万别,数据通信模式不同,没有一个路由机制适合所有的应用,这是传感网应用相关性的一个体现。 5.1.2 路由协议的分类n1按源节点获取路径策略划分按源节点获取路径策略划分q(1)主动路由协议。n也叫表驱动(Table Driven)路由协议,主动路由的路由发现策略与传统路由协议类似,节点通过周期性地广播路由信息分组,交换路由信息,主动发现路由。n节点必须维护去往全网所有节点的路由,并且每一个节点都要保存一个或更多的路由表来存储路由信息。当网络拓扑结构发生变化时,节点就在

8、全网内广播路由更新信息,这样每一个节点就能连续不断地获得网络拓扑信息。n优点是只要目的节点路由存在,所需的延时就会很小。缺点是需要花费较大开销,尽可能使得路由更新能够紧随当前拓扑结构的变化,浪费了一些资源来建立和重建那些根本没有被使用的路由。q(2)按需路由协议。n也称被动路由协议,只有在源节点需要发送数据到目的节点时,源节点才发起创建路由的过程。n路由表的内容是按需建立的,它可能仅仅是整个拓扑结构信息的一部分,在通信过程中维护路由,通信完毕后便不再对其进行维护。n按需路由的优点是不需要周期性的路由信息广播,路由表仅仅是局部路由,因而节省了一定的网络资源。缺点是发送数据分组时,如果没有去往目的

9、节点的路由,需要计算路由,因此时延较大。q(3)混合路由协议:n混合路由则综合利用了主动和按需路由两种方式。n一般来说,对于经常被使用并且拓扑变化不大的网络部分,可以采用主动路由的方式建立并维护相应的路由信息,而对于传输数据较少或拓扑变化较快的网络部分,则采用按需路由的方式建立路由,以取得效用和时延的折中。5.1.2 路由协议的分类n2按通信的逻辑结构划分按通信的逻辑结构划分q(1)平面路由协议:n网络中的所有节点的地位都是平等的,实现的路由功能也大致相同。当一个节点需要发送数据的时候,可能以其他节点为中继节点进行转发,最后到达目的节点。通常来说,在目的节点附近的节点参与数据中继的概率要比远离

10、目的节点的节点参与数据中继的概率高。因此,目的节点附近的节点由于过于频繁地参与数据中继,会较快地耗尽能量。所以,平面路由协议的优点是网络中没有特殊节点,网络流量均匀地分散在网络中,路由算法易于实现。缺点是可扩展性小,在一定程度上限制了网络的规模。q(2)层次路由协议:n将若干个相邻节点构成一个簇,每一个簇有一个簇首。簇与簇之间可以通过网关通信。网关可以是簇首也可以是其它簇成员。网关之间的连接构成上层骨干网,所有簇间通信都通过骨干网转发。每个簇群内收集到的监控信息都交给簇首节点,簇首节点完成数据聚集和融合过程减少传播的信息量。相比于其他路由协议,层次型路由协议能满足传感网的可扩展性需求,能有效地

11、减少传输节点的能量消耗,从而延长网络生命周期。但是,在此类协议中,簇首节点的能量消耗远大于其他节点,因此其网络协议需要采取选择满足条件的节点轮流担当簇首节点的方法来均衡能耗。5.1.2 路由协议的分类n3按路由的发现过程划分按路由的发现过程划分q(1)以位置信息为中心的路由协议:n它利用节点的位置信息,把查询或者数据转发给需要的地域,从而缩小了数据的传送范围。许多传感网的路由协议都假设节点的位置信息是已知的,所以可以方便地利用节点的位置信息将节点分为不同的域,并基于域进行数据传送,能缩小传送范围,减少中间节点的能耗,从而延长网络的生命周期。q(2)以数据为中心的路由协议:n它提出对传感网中的数

12、据用特定的描述方式命名,数据传送基于数据查询并依赖于数据命名,所有的数据通信都被限制在局部范围内。这种通信方式不再依赖于特定的节点,而是依赖于网络中的数据,从而减少了网络中传送的大量重复的冗余数据,降低了不必要的开销,从而延长了网络生命周期。n另外,还可以按路由选择是否考虑服务质量另外,还可以按路由选择是否考虑服务质量(QoS)约束来划分,基于约束来划分,基于QoS的路由协议是指在的路由协议是指在路由建立时,考虑时延、丢包率等路由建立时,考虑时延、丢包率等QoS参数,从多条可行的路由中选择一条最适合参数,从多条可行的路由中选择一条最适合QoS应用应用要求的路由。或者是根据业务类型,选择能保证满

13、足不同业务需求的要求的路由。或者是根据业务类型,选择能保证满足不同业务需求的QoS路由协议。路由协议。n由于无线传感网路由协议种类繁多,其分类方法也多种多样,除了上述介绍的分类方法之外由于无线传感网路由协议种类繁多,其分类方法也多种多样,除了上述介绍的分类方法之外还有根据路径数量、应用场合、数据传输方式等方法的划分。还有根据路径数量、应用场合、数据传输方式等方法的划分。5.2 能量感知路由协议能量感知路由协议n高效利用网络能量是传感网路由协议的一个重高效利用网络能量是传感网路由协议的一个重要特征。早期提出的传感网路由协议,为了强要特征。早期提出的传感网路由协议,为了强调能量效率的重要性,往往仅

14、仅考虑了能量因调能量效率的重要性,往往仅仅考虑了能量因素,可以将它们划分为能量感知路由协议,该素,可以将它们划分为能量感知路由协议,该协议从数据传输中的能量消耗出发,讨论最优协议从数据传输中的能量消耗出发,讨论最优的能量消耗传输路经。的能量消耗传输路经。5.2 能量感知路由协议能量感知路由协议n5.2.1 能量路由能量路由n5.2.2 能量多路径路由能量多路径路由n高效利用网络能量是传感网路由协议的一个重要特征。高效利用网络能量是传感网路由协议的一个重要特征。n早期提出的传感网路由协议,为了强调能量效率的重要性,早期提出的传感网路由协议,为了强调能量效率的重要性,往往仅仅考虑了能量因素,可以将

15、它们划分为能量感知路往往仅仅考虑了能量因素,可以将它们划分为能量感知路由协议,该协议从数据传输中的能量消耗出发,讨论最优由协议,该协议从数据传输中的能量消耗出发,讨论最优的能量消耗传输路经。的能量消耗传输路经。5.2.1 能量路由能量路由n能量路由是最早提出的传感网路由协议之一,它根据节点的可用能量路由是最早提出的传感网路由协议之一,它根据节点的可用能量(能量(power available,PA)或传输路径上的能量需求,选择数)或传输路径上的能量需求,选择数据的转发路径。节点可用能量就是节点当前的剩余能量。据的转发路径。节点可用能量就是节点当前的剩余能量。n如图如图5-1所示,网络中的大写字

16、母表示节点符号,如节点所示,网络中的大写字母表示节点符号,如节点A,节点,节点右侧括号内的数字表示节点的可用能量,如右侧括号内的数字表示节点的可用能量,如PA=2,表示节点,表示节点A的的能量为能量为2,图中的双向线表示节点之间的通信链路,链路上的数字,图中的双向线表示节点之间的通信链路,链路上的数字表示在该链路上发送数据消耗的能量。源节点是一般功能的传感表示在该链路上发送数据消耗的能量。源节点是一般功能的传感器节点,完成数据采集工作,汇聚节点是数据发送的目标节点。器节点,完成数据采集工作,汇聚节点是数据发送的目标节点。5.2.1 能量路由能量路由从源节点到汇聚节点的可能路径有:(1)路径1:

17、 源节点BA汇聚节点,所有节点PA之和为4,发送分组需要的能量之和为3;(2)路径2: 源节点CBA汇聚节点,所有节点PA之和为6,发送分组需要的能量之和为6;(3)路径3: 源节点D汇聚节点,所有节点PA之和为3,发送分组需要的能量之和为4;(4)路径4: 源节点FE汇聚节点,所有节点PA之和为5,发送分组需要的能量之和为6。图5-1 能量路由算法示意图5.2.1 能量路由能量路由_能量路由策略能量路由策略 n(1)最大)最大PA路由:从数据源到汇聚节点的所有路径中选取节点路由:从数据源到汇聚节点的所有路径中选取节点PA之和最大的路径。在图之和最大的路径。在图5-1中路径中路径2的的PA之和

18、最大,但路径之和最大,但路径2包包含了路径含了路径1,因此不是高效的,从而被排除,选择路径,因此不是高效的,从而被排除,选择路径4。n(2)最小能量消耗路由:从数据源到汇聚节点的所有路径中选取)最小能量消耗路由:从数据源到汇聚节点的所有路径中选取节点耗能之和最少的路径。在图节点耗能之和最少的路径。在图5-1中选择路径中选择路径1。n(3)最少跳数路由:选取从数据源到汇聚节点跳数最少的路径。)最少跳数路由:选取从数据源到汇聚节点跳数最少的路径。在图在图5-1中选择路径中选择路径3。n(4)最大最小)最大最小PA节点路由:每条路径上有多个节点,且节点的可节点路由:每条路径上有多个节点,且节点的可用

19、能量不同,从中选取每条路径中可用能量最小的节点来表示这用能量不同,从中选取每条路径中可用能量最小的节点来表示这条路径的可用能量。如路径条路径的可用能量。如路径4中节点中节点E的可用能量最小为的可用能量最小为1,所以该,所以该路径的可用能量是路径的可用能量是1。最大最小。最大最小PA节点路由策略就是选择路径可用节点路由策略就是选择路径可用能量最大的路径。在图能量最大的路径。在图5-1中选择路径中选择路径3。5.2.2 能量多路径路由n传统网络的路由机制往往选择源节点到目的节点之间跳数最小的路径传输数据,传统网络的路由机制往往选择源节点到目的节点之间跳数最小的路径传输数据,但在无线传感网中,如果频

20、繁使用同一条路径传输数据,就会造成该路径上的节但在无线传感网中,如果频繁使用同一条路径传输数据,就会造成该路径上的节点因能量消耗过快而过早失效,从而使整个网络分割成互不相连的孤立部分,减点因能量消耗过快而过早失效,从而使整个网络分割成互不相连的孤立部分,减少了整个网络的生存期。少了整个网络的生存期。n为了避免这种情况的出现。要尽可能地保证每个节点都有较为公平的机会成为路为了避免这种情况的出现。要尽可能地保证每个节点都有较为公平的机会成为路径上的一环,各个节点在相对较长的时间内,能量消耗的比例一致。径上的一环,各个节点在相对较长的时间内,能量消耗的比例一致。n能量多路径路由机制能量多路径路由机制

21、:就是在源节点和目的节点之间建立多条路径,根据路径上:就是在源节点和目的节点之间建立多条路径,根据路径上节点的通信能量消耗以及节点的剩余能量情况,给每条路径赋予一定的选择概率,节点的通信能量消耗以及节点的剩余能量情况,给每条路径赋予一定的选择概率,使得数据传输均衡消耗整个网络的能量,延长整个网络的生存期。使得数据传输均衡消耗整个网络的能量,延长整个网络的生存期。n能量多路径路由协议:能量多路径路由协议:包括路径建立、数据传播和路由维护三个过程包括路径建立、数据传播和路由维护三个过程。q路径建立过程是该协议的重点内容。每个节点需要知道到达目的节点的所有下一跳节点,并计算选择每个下一跳节点传输数据

22、的概率。概率的选择是根据节点到目的节点的通信代价来计算的。因为每个节点到达目的节点的路径很多,所以这个代价值是各个路径的加权平均值。5.2.2 能量多路径路由n(1)发起路径建立过程)发起路径建立过程q目的节点向邻居节点广播路径建立消息,启动路径建立过程。路径建立消息中包含一个代价域,表示发出该消息的节点到目的节点路径上的能量信息,初始值设置为0。n(2)判断是否转发路径建立消息)判断是否转发路径建立消息q当节点收到邻居节点发送的路径建立消息时,相对发送该消息的邻居节点,只有当自己距源节点更近,而且距目的节点更远的情况下,才需要转发该消息,否则将丢弃该消息。n(3)计算能量代价)计算能量代价q

23、如果节点决定转发路径建立消息,需要计算新的代价值来替换原来的代价值。当路径建立消息从节点Ni发送到节点Nj时,该路径的通信代价值为节点的代价值加上两个节点间的通信能量消耗,即:q节点Nj到节点Ni的通信能量消耗 n(4)节点加入路径条件)节点加入路径条件q节点要放弃代价太大的路径,节点j将节点i加入本地路由表中的条件是:q其中为大于1的系统参数。n(5)节点选择概率计算)节点选择概率计算q节点为路由表中每个下一跳节点计算选择概率,节点选择概率与能量消耗成反比。节点使用如下公式计算选择节点的概率:n n(6)代价平均值计算)代价平均值计算q节点根据路由表中每项的能量代价和下一跳节点选择概率计算本

24、身到目的节点的代价。其定义为经由路由表中节点到达目的节点代价的平均值,即:n q节点Nj将用cos(Nj)值替换消息中原有的代价值,然后向邻居节点广播该路由建立消息。在数据传播阶段,对于接收的每个数据分组,节点根据概率从多个下一跳节点中选择一个节点,并将数据分组转发给该节点。路由的维护是通过周期性地从目的节点到源节点实施洪泛查询来维持所有路径的活动性。n能量多路径路由综合考虑了通信路径上的消耗能能量多路径路由综合考虑了通信路径上的消耗能量和剩余能量,节点根据概率在路由表中选择一量和剩余能量,节点根据概率在路由表中选择一个节点作为路由的下一跳节点。由于这个概率是个节点作为路由的下一跳节点。由于这

25、个概率是与能量相关的,可以将通信能耗分散到多条路径与能量相关的,可以将通信能耗分散到多条路径上,从而可实现整个网络的能量均衡,最大限度上,从而可实现整个网络的能量均衡,最大限度地延长网络的生存期。地延长网络的生存期。5.3 平面路由协议平面路由协议n5.3.1 Flooding和和Gosipping协议协议n5.3.2 SPIN协议协议5.3 平面路由协议平面路由协议n基于平面结构的路由协议是最简单的路由形式,基于平面结构的路由协议是最简单的路由形式,其中每一个点都具有对等的功能。其优点是不其中每一个点都具有对等的功能。其优点是不存在特殊节点,路由协议的鲁棒性较好,通信存在特殊节点,路由协议的

26、鲁棒性较好,通信流量被平均地分散在网络中,而其缺点是缺乏流量被平均地分散在网络中,而其缺点是缺乏可扩展性,限制了网络规模。最有代表性的算可扩展性,限制了网络规模。最有代表性的算法是泛洪法是泛洪Flooding算法、算法、Gosipping以及以及SPIN算法。算法。5.3.1 Flooding和Gosipping协议n1洪泛路由协议洪泛路由协议q洪泛路由协议(Flooding Protocol)是一种最早的路由协议,接收到消息的节点以广播的形式转发报文给所有的邻居节点。如图5-2所示,源节点S希望发送数据给目的节点D,首先要通过网络将数据分组传送给它的每一个邻居节点,各个邻居节点又将其传播给各

27、自的邻居节点,直到数据遍历全网或者达到规定的最大跳数。q洪泛法的优点和缺点都十分突出。n优点:是不用维护网络拓扑结构和路由计算,实现简单,适用于健壮性要求高的场合,n缺点:是存在信息内爆、重叠以及资源盲点等问题,如图5-2所示。1洪泛路由协议洪泛路由协议内爆图5-2 Flooding的“内暴”现象内爆现象:如图5-2所示,节点S通过广播将数据发送给自己的邻居节点A、B和C,A、B和C又将同样的数据包转发给D,这种将同一个数据包多次转发给同一个节点的现象就是内爆,这极大浪费节点能量。1洪泛路由协议洪泛路由协议重叠重叠现象:是无线传感器网络特有的,如图5-3所示,节点A和B感知范围发生了重叠,重叠

28、区域的事件被相邻的两个节点探测到,那么同一事件被传给它们共同的邻居节点C多次,这也浪费能量。重叠现象是一个很复杂的问题,比内爆问题更难解决。图5-3 Flooding的“重叠”现象2. Gosipping协议协议-闲聊法闲聊法n闲聊法(闲聊法(Gossiping)是洪泛法的改进版本。为了减)是洪泛法的改进版本。为了减少资源的无谓消耗,闲聊法引入了随机发送数据的方少资源的无谓消耗,闲聊法引入了随机发送数据的方法。法。q某一个节点发送数据时,不再像洪泛法那样给它的每个邻后节点都发送数据副本,而是随机选择某个邻居节点,向它发送一份数据副本。接收到数据的节点采用相同的方法,随机选择下一个接收节点发送数

29、据,如图5-4所示。需要注意的是,如果一个节点已收到了它的邻居节点B的数据副本,若再次收到,那么它会将此数据发回它的邻居节点B。由于一般无线传感网的链路冗余度较大,适当选择转发的邻居数量,可以保证几乎所有节点都可以接收到数据包。5.3.2 SPIN协议n基于信息协商机制的传感网协议(基于信息协商机制的传感网协议(Sensor Protocol for Information Via Negotiation,SPIN)是最早的)是最早的类无线传感器路类无线传感器路由协议的代表,它主要是对洪泛路由协议的改进。由协议的代表,它主要是对洪泛路由协议的改进。nSPIN协议是一种以数据为中心的自适应路由协

30、议。该协议考虑到协议是一种以数据为中心的自适应路由协议。该协议考虑到了了WSN中的数据冗余问题。临近的节点所感知的数据具有相似性,中的数据冗余问题。临近的节点所感知的数据具有相似性,通过节点间协商(通过节点间协商(Nagotiation)的方式减少网络中数据的传输数)的方式减少网络中数据的传输数据量。据量。n节点只广播其他节点所没有的数据以减少冗余数据,从而有效减节点只广播其他节点所没有的数据以减少冗余数据,从而有效减少能量消耗。少能量消耗。1SPIN协议工作原理协议工作原理n先介绍先介绍SPIN协议中的基本概念。协议中的基本概念。q元数据(mete data)。元数据是原始感知数据的一个映射

31、,用来描述原始感知数据。元数据所需的数据位比原始感知数据要小,采用这种变相的数据压缩策略可以进一步减少通信过程中的能量消耗。qSPIN协议采用三次握手协议来实现数据的交互,协议运行过程中使用三种报文数据,分别为ADV、REQ和DATA。nADV:用于数据的广播,当某一个节点有数据可以共享时,用ADV数据包通知其邻居节点;nREQ:用于请求发送数据,当某一个收到ADV的节点希望接收DATA数据包时,发送REQ数据包;nDATA:为原始感知数据包,里面装载了原始感知数据。qSPIN协议有两种工作模式:SPIN1和SPIN2,SPIN2在SPIN1的基础上作了一些能量上的考虑,本质上还是一样的。SP

32、IN1协议的工作过程(1)当节点A感知到新事件后,主动给其邻居节点广播描述该事件的元数据ADV报文.(2)节点B收到A的报文,检查自己是否拥有ADV报文中所描述的数据,如果没有的话,节点B就向A发送REQ报文,在REQ报文列出需要A节点给出的数据列表,如图(b)。(3)当节点A收到了REQ请求报文,它就将相关的数据发送给节点B,如图(c)。(4)节点B发送ADV报文通知其邻居节点自已有新的消息,如图(d).由于A节点中保存有ADV的内容,A节点不会响应B节点的ADV消息。(5) 如果收到ADV报文的节点发现自己已经拥有了ADV报文中描述的数据,那么它不发送REQ报文,图(e)中有一个节点没有发

33、送RCQ报文。SPIN协议特点协议特点nSPIN协议下,节点不需要维护邻居节点的信息,一定程度上能适应节点移动的情协议下,节点不需要维护邻居节点的信息,一定程度上能适应节点移动的情况。况。n在能耗方面,比传统模式减少一半以上。不过,该算法不能确保数据一定能到达在能耗方面,比传统模式减少一半以上。不过,该算法不能确保数据一定能到达目标节点,尤其是不适用于高密度节点分布的情况。目标节点,尤其是不适用于高密度节点分布的情况。n由于由于SPIN协议通过节点之间的协商,解决了协议通过节点之间的协商,解决了flooding协议的内爆和重叠现象。协议的内爆和重叠现象。nSPIN协议是一种不需要了解网络拓扑结

34、构的路由协议,由于它几乎不需要了解协议是一种不需要了解网络拓扑结构的路由协议,由于它几乎不需要了解“一跳一跳”范围内的节点状态,网络的拓扑改变对它的影响有限,因此该协议也适合范围内的节点状态,网络的拓扑改变对它的影响有限,因此该协议也适合在节点可以移动的在节点可以移动的WSN中使用。中使用。nSPIN协议通过使用协商机制和能量自适应机制,节省了能量,解决了内爆的问题。协议通过使用协商机制和能量自适应机制,节省了能量,解决了内爆的问题。nSPIN协议引入了元数据的概念,通过这种数据压缩方法来减少数据的传输量,是协议引入了元数据的概念,通过这种数据压缩方法来减少数据的传输量,是一种值得借鉴的方法。

35、一种值得借鉴的方法。n在在SPIN协议中出现了多个节点向同一个节点同时发送请求的情况,有关的退避机协议中出现了多个节点向同一个节点同时发送请求的情况,有关的退避机制需要考虑。制需要考虑。5.4 层次路由协议层次路由协议n5.4.1 LEACH协议协议n5.4.2 PEGASIS协议协议n5.4.3 TEEN协议协议5.4 层次路由协议层次路由协议n在基于层次的路由协议中,网络被划分为大小不等的簇(在基于层次的路由协议中,网络被划分为大小不等的簇(CIuster)。)。n簇簇.就是具有某种关联的网络节点集合。每个簇由一个簇头(就是具有某种关联的网络节点集合。每个簇由一个簇头(Cluster he

36、ad)和多)和多个簇内成员(个簇内成员(Cluster member)组成。)组成。n在分层的簇结构网络中,低一级网络的簇头是高一级网络中的簇内成员,由最高在分层的簇结构网络中,低一级网络的簇头是高一级网络中的簇内成员,由最高层的簇头与汇聚节点(层的簇头与汇聚节点(Sink node)通信。这类算法将整个网络划分为相连的区)通信。这类算法将整个网络划分为相连的区域。域。n在分簇的拓扑管理机制下,网络中的节点可以划分为簇头节点和簇内成员节点两在分簇的拓扑管理机制下,网络中的节点可以划分为簇头节点和簇内成员节点两大类。在每个簇内,根据一定的算法选取某个节点作为簇头,用于管理或控制整大类。在每个簇内

37、,根据一定的算法选取某个节点作为簇头,用于管理或控制整个簇内成员节点,协调成员节点之间的工作,负责簇内信息的收集和数据的融合个簇内成员节点,协调成员节点之间的工作,负责簇内信息的收集和数据的融合处理以及簇间转发。处理以及簇间转发。n层次路由的优点:是适合大规模的传感器网络环境,可扩展性较好,而其缺点是层次路由的优点:是适合大规模的传感器网络环境,可扩展性较好,而其缺点是簇头节点的可靠性和稳定性对全网性能的影响较大,信息的采集和处理也会消耗簇头节点的可靠性和稳定性对全网性能的影响较大,信息的采集和处理也会消耗簇头节点的大量能量。簇头节点的大量能量。n典型的层次路由协议,典型的层次路由协议,LEA

38、CH协议、协议、PEGASIS协议以及协议以及TEEN协议。协议。5.4.1 LEACH协议n低功耗自适应聚类分级(低功耗自适应聚类分级(Low Energy Adaptive Clustering Hierarchy,LEACH)协议采用层次路由算法。)协议采用层次路由算法。n定义出了轮的概念,每一轮有定义出了轮的概念,每一轮有初始状态初始状态和和稳定运行稳定运行状态两种模式。状态两种模式。n初始状态是用来根据算法随机选择簇头节点,同时广播自己成为簇头节点的事实,初始状态是用来根据算法随机选择簇头节点,同时广播自己成为簇头节点的事实,其它节点收到广播信号后通过判断信号的强弱来决定加入哪个簇,

39、并告知簇头节其它节点收到广播信号后通过判断信号的强弱来决定加入哪个簇,并告知簇头节点。稳定工作时候,节点将信息传递给簇头节点,然后簇头节点将信息传递给汇点。稳定工作时候,节点将信息传递给簇头节点,然后簇头节点将信息传递给汇集节点。集节点。n当一轮完成后重新选举簇头。该算法通过当一轮完成后重新选举簇头。该算法通过轮流担任簇头的方式来均等消耗能量轮流担任簇头的方式来均等消耗能量,达到延长网络生存周期的目的。但是因为每一个节点都可以成为簇头,也即都可达到延长网络生存周期的目的。但是因为每一个节点都可以成为簇头,也即都可以将数据直接传给汇集节点,该算法以将数据直接传给汇集节点,该算法只是适用于单跳的小

40、型网络只是适用于单跳的小型网络。nLEACH节约能量的主要原因:就是它运用了节约能量的主要原因:就是它运用了数据压缩技术数据压缩技术和和分簇动态路由技术分簇动态路由技术,通过本地的联合工作来提高网络的可扩展性和鲁棒性,通过数据融合来减少发送通过本地的联合工作来提高网络的可扩展性和鲁棒性,通过数据融合来减少发送的数据量,通过把节点随机的设置成的数据量,通过把节点随机的设置成“簇头节点簇头节点”来达到在网络内部负载均衡的来达到在网络内部负载均衡的目的,防止簇头节点的过快死亡。目的,防止簇头节点的过快死亡。1分簇式路由协议的工作原理分簇式路由协议的工作原理n通过等概率地随机循环选择簇头,将整个网络的

41、能量负载平均分配到每通过等概率地随机循环选择簇头,将整个网络的能量负载平均分配到每个传感器节点,从而达到降低网络能量耗费、延长网络生命周期的目的。个传感器节点,从而达到降低网络能量耗费、延长网络生命周期的目的。分簇式路由协议的执行过程是以轮分簇式路由协议的执行过程是以轮(round)为单位的,每轮循环的基本过为单位的,每轮循环的基本过程是:程是:n(1)簇的建立阶段。)簇的建立阶段。q每个节点选取一个介于0和1之间的随机数,如果这个数小于某个阈值,该节点成为簇头。然后,簇头向所有节点广播自己成为簇头的消息。每个节点根据接收到广播信号的强弱来决定加入哪个簇,并回复该簇簇头。n(2)数据传输阶段。

42、)数据传输阶段。q簇内的所有节点按照TDMA(时分复用)时隙向簇头发送数据。簇头将数据融合之后把结果发给汇聚节点。n(3)重新成簇。)重新成簇。q在持续工作一段时间之后,网络重新进入启动阶段,进行下一轮的簇头选取并重新建立簇。2. LEACH协议工作原理协议工作原理nLEACH协议的工作分为两个阶段:协议的工作分为两个阶段:n(1)簇的建立阶段:负责簇的形成和簇头的选举。)簇的建立阶段:负责簇的形成和簇头的选举。q在LEACH协议中,节点决定自己是否成为簇头的算法如下:n每个传感器节点产生一个01之间的随机数,如果这个数小于概率值T(n),则发布自己是簇头的公告消息。n在每轮循环中,如果节点己

43、经当选过簇头,则设T(n)=0,这样该节点不会再次当选为簇头。对于未当选过簇头的节点,则将以T(n)的概率当选;n随着当选过簇头的节点数目增加,剩余节点当选簇头的阈值T(n)随之增大,节点产生小于T(n)的随机数的概率随之增大,所以节点当选簇头的概率增大。当只剩下一个节点未当选时,T(n)=1,表示这个节点一定当选。2. LEACH协议工作原理协议工作原理(2)n概率表达式为:其中:p是簇头占所有节点的百分比,即节点当选簇头的概率;r是目前循环进行的轮数;G是最近1/p轮中还未当选过簇头的节点集合。所有被推选出的簇头都向网络中的其它节点广播一个通告来宣布自己的簇头角色。而所有其它节点在收到这些

44、通告之后,会根据通告的强度来决定自己到底加入哪个簇。簇头节点在收到愿意加入簇的节点的回应信息后,就会根据簇内节点的数目创建一个TDMA表为每个簇内节点分配一个传输时隙。最后簇头节点将这张表的信息以广播的方式告知簇内的成员。同时不同的簇用不同的TDMA通信方式,这样就减少了不同簇的节点之间的干扰。 2. LEACH协议工作原理协议工作原理(3)n(2)稳定阶段:负责收集数据和给簇头传输数据。)稳定阶段:负责收集数据和给簇头传输数据。q簇头节点在收到簇内成员的数据之后会对这些数据进行聚合后传送给汇集结点。q经过一段时间之后,网络就会再一次回到协议的建立阶段,开始新一轮的工作。3. LEACH协议的

45、特点协议的特点优点:优点:n将区域划分成簇、簇内本地化协调和控制的形式将区域划分成簇、簇内本地化协调和控制的形式q有效的进行了数据收集。q大多数的节点只需要短距离的数据传输到簇头节点,仅有小部分的节点(簇头节点)负责远距离的数据传送到汇集节点,从而节省更多节点的能量。n独特的选簇算法独特的选簇算法q保证簇头位置的随机轮换,节点是否决定要成为簇头要看其是否在轮中当选过簇头。同时所做决定是独立于其它节点不需要协商的。这种机制保证了能量消耗平均分布于全网。n运用了数据融合技术运用了数据融合技术q本地数据融合大大减少了簇头节点传送到汇集节点的数据量,进一步减少了能量消耗提高了网络寿命。3. LEACH

46、协议的特点(协议的特点(2)缺点:缺点:n簇头能量消耗比较大:簇头能量消耗比较大:q由于簇头节点负责接收簇内成员节点发送的数据,进行数据融合,然后将数据传送到基站,簇头消耗能量比较大,是网络中的瓶颈。nLEACH协议中簇头选举是随机循环选举,有可能簇头位于网络的边缘或者几个簇协议中簇头选举是随机循环选举,有可能簇头位于网络的边缘或者几个簇头相邻较近,某些节点不得不传输较远的距离来与簇头通信,这就导致消耗的能头相邻较近,某些节点不得不传输较远的距离来与簇头通信,这就导致消耗的能耗大大增加。耗大大增加。n簇头选举没有根据节点的剩余能量以及位置等因素,会导致有的簇过早死亡,簇头选举没有根据节点的剩余

47、能量以及位置等因素,会导致有的簇过早死亡,簇与簇之间节点的能量消耗不均衡。簇与簇之间节点的能量消耗不均衡。nLEACH协议要求节点之间以及节点与汇集节点之间均可以直接通信,网络的扩展协议要求节点之间以及节点与汇集节点之间均可以直接通信,网络的扩展性不强,不适用于大型网络。性不强,不适用于大型网络。q对于大型网络而言,对离簇头较远的簇内节点和离汇聚节点较远的簇头而言,传输所消耗的能量大大增加。这样簇头节点能耗分布不均匀,导致某些节点快速死亡,从而降低了网络的性能。5.4.2 PEGASIS协议n高能效采集传感器信息系统(高能效采集传感器信息系统(Power-Efficient Gathering

48、 in Sensor Information Systems,PEGASIS)并不是严格意义上的分簇路由协议,)并不是严格意义上的分簇路由协议,它只是借鉴了它只是借鉴了LEACH中分簇算法的思想。中分簇算法的思想。nPEGASIS中的簇是一条基于地理位置的链。中的簇是一条基于地理位置的链。q其成簇的基本思想是,假设所有节点都是静止的,根据节点的地理位置形成一条相邻节点之间距离最短的链。q这类似于旅行商问题,是一个经典的NP问题。其算法是假设节点通过定位装置或者通过发送能量递减的测试信号来发现距自己最近的邻居节点,然后从距汇集节点最远的节点开始,采用贪婪算法来构造整条链。n与与LEACH算法相比

49、,算法相比,PEGASIS中通信只限于相邻节点之间。这样,每个中通信只限于相邻节点之间。这样,每个节点都以最小功率发送数据,并且每轮只随机选择一个簇头与汇集节点节点都以最小功率发送数据,并且每轮只随机选择一个簇头与汇集节点通信,减少了数据通信量。通信,减少了数据通信量。nPEGASIS支持的传感网的生命周期是支持的传感网的生命周期是LEACH的近两倍。的近两倍。5.4.2 PEGASIS协议(2)nPEGASIS的模型假设如下。的模型假设如下。q(1)节点都知道其他节点的位置信息,每个节点都具有直接和汇集节点(基站)通信的能力。q(2)传感器节点不具有移动性。q(3)其他的模型假设和LEACH

50、中的相同。n该路由协议使用贪婪算法(该路由协议使用贪婪算法(Greedy Algorithm)来形成链,如图)来形成链,如图5-6所示。在每一轮通信之前才形成链。为确保每个节点都有其相所示。在每一轮通信之前才形成链。为确保每个节点都有其相邻节点,链从离基站最远的节点开始构建,链中邻居节点的距离邻节点,链从离基站最远的节点开始构建,链中邻居节点的距离会逐渐增大,因为已经在链中的节点不能再次被访问。当其中一会逐渐增大,因为已经在链中的节点不能再次被访问。当其中一个节点失效时,链必须重构。个节点失效时,链必须重构。5.4.2 PEGASIS协议(3)PEGASIS协议中数据的传输使用Token令牌机

51、制,Token很小,故耗能较少。在一轮中,簇头用Token控制数据从链尾开始传输。网络中某些节点可能因与邻居节点距离较远而消耗能量较大。可以通过设置一个门限值限定此节点作为接头。当该链重构时,此门限值可被改变以重新决定哪些节点可做簇头,从而增强网络的健壮性。图中,c2为簇头,将token沿着链传输给c0,c0传送数据给c1,c1将c0数据与自身数据进行融合形成一个相同长度的数据包,再传给c2。此后,c2将token传给c3,并以同样的方式收集c3和c4的数据。这些数据在c2处进行融合后,被发送给基站5.4.3 TEEN协议n阈值敏感的高效传感器网络协议(阈值敏感的高效传感器网络协议(Thres

52、hold Sensitive Energye Efficient Sensor Network Protocol,TEEN)采用类似)采用类似LEACH的分簇算法,只是在数据的分簇算法,只是在数据传送阶段使用不同的策略。传送阶段使用不同的策略。n根据数据传输模式的不同,通常可以简单地把传感器网络分为主动型根据数据传输模式的不同,通常可以简单地把传感器网络分为主动型(proactive)和响应型()和响应型(reactive)两种类型。)两种类型。q主动型网络不断采集被监测对象的相关信息,并以特定时间间隔向汇集节点发送这些信息;q响应型网络主要用来监测某个特定事件的发生,传感器节点只有在节点检测

53、到相关事件时才会向汇集节点发送信息,如对灾害的监测、暖通空调设备的防冻监测等。对于监测特定的事件,适于使用响应型无线传感器网络。nTEEN协议是专门为响应型应用环境下的网络路由协议,利用过滤方式来减少数据协议是专门为响应型应用环境下的网络路由协议,利用过滤方式来减少数据传输量。传输量。nTEEN和和LEACH的实现机制是相似的,只是的实现机制是相似的,只是LEACH适用于主动型网络。适用于主动型网络。n与与LEACH一样,一样,TEEN也采用分簇结构和近于相同的运行方式,具体做法是在协也采用分簇结构和近于相同的运行方式,具体做法是在协议中设置了硬、软两个阈值,以减少发送数据的次数。议中设置了硬

54、、软两个阈值,以减少发送数据的次数。5.4.3 TEEN协议(2)nTEEN协议实现簇的建立过程中,随着簇头节点的选定,簇头除了通过协议实现簇的建立过程中,随着簇头节点的选定,簇头除了通过TDMA方式调度数据外,同时向簇内成员广播发送有关数据的硬阈值和软方式调度数据外,同时向簇内成员广播发送有关数据的硬阈值和软阈值参数,两个参数用来决定是否发送监测数据。阈值参数,两个参数用来决定是否发送监测数据。q硬阈值用于监视被监测值的绝对大小,q软阈值用于监视被监测值的变化幅度。n在传感器节点簇进入稳定工作阶段后,传感器节点不断感知及监测周围在传感器节点簇进入稳定工作阶段后,传感器节点不断感知及监测周围环

55、境中的被监测参量。当首次监测到数据超过硬阈值时,便向簇头传送环境中的被监测参量。当首次监测到数据超过硬阈值时,便向簇头传送数据,同时将该监测数据保存为监测值数据,同时将该监测数据保存为监测值(sensor value)。此后,只有在监。此后,只有在监测到的数据值比硬阈值大,并且与保存的监测值测到的数据值比硬阈值大,并且与保存的监测值SV之差的绝对值不小于之差的绝对值不小于软阈值时,节点才向簇头上传数据,同时将当前监测数据保存为软阈值时,节点才向簇头上传数据,同时将当前监测数据保存为SV。nTEEN通过调节两个阈值的大小,可以在精度要求和系统能耗之间取得合通过调节两个阈值的大小,可以在精度要求和

56、系统能耗之间取得合理的平衡。采用这样的方法,可以监视一些突发事件和热点地区,减少理的平衡。采用这样的方法,可以监视一些突发事件和热点地区,减少网络通信量。网络通信量。5.4.3 TEEN协议(3)n如果一轮的运行已经结束,开始了又一个新的轮,并且在初始化如果一轮的运行已经结束,开始了又一个新的轮,并且在初始化阶段中,簇头已经确定,则该簇头将重新设定和发布硬阈值和软阶段中,簇头已经确定,则该簇头将重新设定和发布硬阈值和软阈值参数。这一过程如图阈值参数。这一过程如图5-7所示。所示。5.4.3 TEEN协议(3)nTEEN路由协议适用于对一些事件的实时感知侦测,并利用软阈路由协议适用于对一些事件的

57、实时感知侦测,并利用软阈值、硬阈值设置来较大幅度地减小数据传输量。在轮的更替中,值、硬阈值设置来较大幅度地减小数据传输量。在轮的更替中,随着簇头的变化,用户可以根据需要重新设定软、硬阈值参数值,随着簇头的变化,用户可以根据需要重新设定软、硬阈值参数值,来控制数据传输的次数。来控制数据传输的次数。nTEEN路由协议同路由协议同LEACH协议类似,协议实现的一个前提就是网协议类似,协议实现的一个前提就是网络中所有的节点都能够与网关节点直接建立通信,这就限制了该络中所有的节点都能够与网关节点直接建立通信,这就限制了该协议仅适合于小规模的无线传感网。协议仅适合于小规模的无线传感网。5.5 基于查询的路

58、由协议基于查询的路由协议n5.5.1 定向扩散路由定向扩散路由n5.5.2 谣传路由谣传路由5.5 基于查询的路由协议基于查询的路由协议n在需要不断查询传感器节点采集的数据的应用中,通在需要不断查询传感器节点采集的数据的应用中,通信流量主要产生于查询节点和传感器节点之间的命令信流量主要产生于查询节点和传感器节点之间的命令和数据传输。同时传感器节点的采样信息通常要在传和数据传输。同时传感器节点的采样信息通常要在传输路径上进行数据融合,并通过减少通信流量来节省输路径上进行数据融合,并通过减少通信流量来节省能量。能量。5.5.1 定向扩散路由n定向扩散(定向扩散(Directed fusion,DD

59、)路由协议是一种基于查询的路由方法,这和传路由协议是一种基于查询的路由方法,这和传统路由算法的概念不同。统路由算法的概念不同。nDD算法是一种基于数据相关的路由算法,汇集节点周期地通过洪泛的方式广播一算法是一种基于数据相关的路由算法,汇集节点周期地通过洪泛的方式广播一种称为种称为“兴趣兴趣”的数据包,告诉网络中的节点它需要收集什么样的信息。的数据包,告诉网络中的节点它需要收集什么样的信息。q“兴趣”在网络中扩散的时候同时也建立了路由路径,采集到和“兴趣”相关的数据的节点通过“兴趣”扩散阶段建立的路径将采集到的“兴趣”数据传送到汇集节点。q在兴趣消息的传播过程中,协议逐跳地在各个传感器节点上建立

60、反向的从数据源到汇聚节点的数据传输梯度(Gradient),传感器节点将采集到的数据沿着梯度方向传送到汇聚节点。n定向扩散路由机制包括周期性的定向扩散路由机制包括周期性的兴趣扩散、梯度建立、数据传播与路径加强兴趣扩散、梯度建立、数据传播与路径加强等阶等阶段。段。n在梯度建立后或者路径加强后都不可避免地要进行数据传输,这也是路由协议的在梯度建立后或者路径加强后都不可避免地要进行数据传输,这也是路由协议的最终目的。广义来说,数据传输也算是该路由机制中的一个阶段。最终目的。广义来说,数据传输也算是该路由机制中的一个阶段。5.5.1 定向扩散路由n如图如图5-8所示为所示为DD协议的几个阶段的数据传播

61、路径和方向。协议的几个阶段的数据传播路径和方向。1兴趣扩散阶段兴趣扩散阶段n在定向扩散协议中,首先描述需要感知的任务,并选择一个简单的属性组命名机在定向扩散协议中,首先描述需要感知的任务,并选择一个简单的属性组命名机制来描述兴趣消息和分组数据。制来描述兴趣消息和分组数据。n在兴趣扩散阶段,汇聚节点周期性地向邻居节点广播兴趣消息。在兴趣扩散阶段,汇聚节点周期性地向邻居节点广播兴趣消息。q兴趣消息中包括任务类型、事件区域、数据发送速率、时间戳等参数。q每个节点都在本地保存一个兴趣列表,对于每一个兴趣,列表中都有一个表项来记录该消息的邻居节点、数据发送速率和时间戳等任务相关的信息,以建立该节点向汇聚

62、节点传递数据的梯度关系。q个兴趣可能对应多个邻居节点,一个邻居节点对应一个梯度信息。q通过定义不同的梯度相关参数,可以满足不同的应用需求。每个表项中还有一个字段用来表示该表项的有效时间值。超过这个时间后,节点将删除这个表项。q节点接收到邻居节点的兴趣消息时,首先检查兴趣列表中是否存有参数类型与收到兴趣相同的表项,而且其对应的发送节点也是该邻居节点。如果有对应的表项,就更新该项的有效时间值。如果只是参数类型相同,但不包含发送该兴趣消息的邻居节点,就在相应表项中添加这个邻居节点。对于任何其他的情况,都需要建立一个新表项来记录这个新的兴趣。如果收到的兴趣消息和节点刚刚转发的兴趣消息是一样的,为避免消

63、息循环,则丢弃该信息。否则。转发收到的兴趣消息。2梯度建立阶段梯度建立阶段nDD协议需要在传感器节点和汇集节点之间建立梯度,以保证可靠的数据协议需要在传感器节点和汇集节点之间建立梯度,以保证可靠的数据传输。传输。n网络中的节点从邻居节点接收到一个兴趣消息时,无法判断此消息是否网络中的节点从邻居节点接收到一个兴趣消息时,无法判断此消息是否是已处理过的,或者是否和另一个方向的邻居节点发来的兴趣消息相同,是已处理过的,或者是否和另一个方向的邻居节点发来的兴趣消息相同,所以当兴趣消息在整个网络扩散的时候,相邻的节点彼此都建立一个梯所以当兴趣消息在整个网络扩散的时候,相邻的节点彼此都建立一个梯度。这样的

64、优点是加快了无效路径的修复,有利于路径的加强,从而不度。这样的优点是加快了无效路径的修复,有利于路径的加强,从而不会产生持久的环路,但同时也会导致一个节点可能接收到多个相同的兴会产生持久的环路,但同时也会导致一个节点可能接收到多个相同的兴趣消息,造成消息在网络中的泛滥。趣消息,造成消息在网络中的泛滥。3数据传播阶段数据传播阶段n当传感器节点采集到与兴趣匹配的数据时,就把数据发送到梯度上的邻居节点,当传感器节点采集到与兴趣匹配的数据时,就把数据发送到梯度上的邻居节点,并按照梯度上的数据传输速率设定传感器模块采集数据的速率。并按照梯度上的数据传输速率设定传感器模块采集数据的速率。n由于可能会从多个

65、邻居节点收到兴趣消息,而且节点会向多个邻居节点发送数据,由于可能会从多个邻居节点收到兴趣消息,而且节点会向多个邻居节点发送数据,汇聚节点可能会接收到经过多个不同路径的相同数据,中间节点收到其他节点转汇聚节点可能会接收到经过多个不同路径的相同数据,中间节点收到其他节点转发的数据后,首先查询兴趣列表的表项。发的数据后,首先查询兴趣列表的表项。q如果没有匹配的兴趣表项就丢弃数据,q如果存在相应的兴趣表项,则检查与这个兴趣对应的数据缓冲区,其中数据缓冲区保存了最近转发的数据。q如果在数据缓冲区中有与接收到的数据匹配的副本,则说明巳经转发过这个数据了,为避免出现传输环路,将丢弃这个数据。否则,检查该兴趣

66、表顶中的邻居节点信息。q如果设置的邻居节点的数据发送速率大于等于接收的数据速率,则全部转发接收的数据。q如果记录的邻居节点的数据发送速率小于接收的数据速率,则按照比例转发。对于转发的数据,数据缓冲区将保留一个副本,并记录转发时间。4路径加强阶段路径加强阶段n定向扩散路由机制通过正向加强机制来建立优化路径,并根据网定向扩散路由机制通过正向加强机制来建立优化路径,并根据网络拓扑的变化修改数据转发的梯度关系。络拓扑的变化修改数据转发的梯度关系。n兴趣扩散阶段要建立源节点到汇聚节点的数据传输路径,数据源兴趣扩散阶段要建立源节点到汇聚节点的数据传输路径,数据源节点将以较低的速率采集和发送数据,称这个阶段

67、建立的梯度为节点将以较低的速率采集和发送数据,称这个阶段建立的梯度为探测梯度探测梯度(Probe Gradient)。)。n汇聚节点在收到从源节点发来的数据后,启动建立汇聚节点到源汇聚节点在收到从源节点发来的数据后,启动建立汇聚节点到源节点的加强路径的过程,后续数据将沿着加强路径以较高的数据节点的加强路径的过程,后续数据将沿着加强路径以较高的数据速率进行传输,加强后的梯度被称为速率进行传输,加强后的梯度被称为数据梯度数据梯度(Data Gradient)。)。DD路由特点路由特点n定向扩散路由是一种以数据为中心的经典的路由机制。定向扩散路由是一种以数据为中心的经典的路由机制。n为了动态适应节点

68、失效、拓扑变化等情况。定向扩散路由周期性地进行兴趣为了动态适应节点失效、拓扑变化等情况。定向扩散路由周期性地进行兴趣扩散、梯度建立、数据传播与路径加强扩散、梯度建立、数据传播与路径加强4个阶段的操作。个阶段的操作。n定向扩散路由在路由建立时需要有一个扩散的洪泛传播,其能量和时间开销定向扩散路由在路由建立时需要有一个扩散的洪泛传播,其能量和时间开销都比较大,尤其是当底层都比较大,尤其是当底层MAC协议采用了休眠机制时,可能会造成兴趣建立协议采用了休眠机制时,可能会造成兴趣建立的不一致。的不一致。nDD路由协议中,为了对失效路径进行修复和重建,规定已经加强过的路径上路由协议中,为了对失效路径进行修

69、复和重建,规定已经加强过的路径上的节点都可以触发和启动路径的加强过程。的节点都可以触发和启动路径的加强过程。nDD算法中采用了数据融合的方法,数据融合包括梯度建立阶段兴趣消息的融算法中采用了数据融合的方法,数据融合包括梯度建立阶段兴趣消息的融合和数据发送阶段的数据融合,这两种融合方法都需要缓存数据。合和数据发送阶段的数据融合,这两种融合方法都需要缓存数据。nDD中数据融合采用的是抑制副本的方法,即记录转发过的数据,收到重复的中数据融合采用的是抑制副本的方法,即记录转发过的数据,收到重复的数据不予转发。其中采用的这些数据融合方法、实现起来简单,与路由技术数据不予转发。其中采用的这些数据融合方法、

70、实现起来简单,与路由技术结合能够有效地减少网络中的数据量,节省节点能量、提高带宽利用率。结合能够有效地减少网络中的数据量,节省节点能量、提高带宽利用率。5.5.2 谣传路由n在有些传感器网络的应用中,数据传输量较少或者已知事件区域,如果在有些传感器网络的应用中,数据传输量较少或者已知事件区域,如果采用定向扩散路由,需要经过查询消息的洪泛传播和路径加强机制才能采用定向扩散路由,需要经过查询消息的洪泛传播和路径加强机制才能确定一条优化的数据传输路径。因此,在这类应用中,定向扩散路由并确定一条优化的数据传输路径。因此,在这类应用中,定向扩散路由并不是高效的路由机制。不是高效的路由机制。n谣传路由(谣

71、传路由(rumor routing)适用于数据传输量较小的无线传感网。)适用于数据传输量较小的无线传感网。n谣传路由机制引入了查询消息的单播随机转发,克服了使用洪泛方式建谣传路由机制引入了查询消息的单播随机转发,克服了使用洪泛方式建立转发路径带来的开销过大问题。立转发路径带来的开销过大问题。n谣传路由的基本思想是:事件区域中的传感器节点产生代理(谣传路由的基本思想是:事件区域中的传感器节点产生代理(agent)消)消息,代理消息沿随机路径向外扩散传播,同时汇聚节点发送的查询消息息,代理消息沿随机路径向外扩散传播,同时汇聚节点发送的查询消息也沿随机路径在网络中传播。当代理消息和查询消息的传输路径

72、交叉在也沿随机路径在网络中传播。当代理消息和查询消息的传输路径交叉在一起时,就会形成一条汇聚节点到事件区域的完整路径。一起时,就会形成一条汇聚节点到事件区域的完整路径。谣传路由的原理谣传路由的原理n如图所示,灰色区域表示发生事件的区域,圆点表示传感器节点,黑色圆点表示代理消息经过的传感器节如图所示,灰色区域表示发生事件的区域,圆点表示传感器节点,黑色圆点表示代理消息经过的传感器节点,灰色节点表示查询消息经过的传感器节点,连接灰色节点和部分黑色节点的路径表示事件区域到汇聚点,灰色节点表示查询消息经过的传感器节点,连接灰色节点和部分黑色节点的路径表示事件区域到汇聚节点的数据传输路径。节点的数据传输

73、路径。谣传路由的工作过程(谣传路由的工作过程(1)n(1)每个传感器节点维护一个)每个传感器节点维护一个邻居列表邻居列表和一个和一个事件列表事件列表。q事件列表的每个表项都记录事件相关的信息,包括事件名称、到事件区域的跳数和到事件区域的下一跳邻居等信息。当传感器节点在本地监测到一个事件发生时,在事件列表中增加一个表项,设置事件名称、跳数(为零)等,同时根据一定的概率产生一个代理消息。n(2)代理消息代理消息是一个包含生命期等事件相关信息的分组,用来将携带的是一个包含生命期等事件相关信息的分组,用来将携带的事件信息通告给它传输经过的每一个传感器节点。事件信息通告给它传输经过的每一个传感器节点。q

74、对于收到代理消息的节点,首先检查事件列表中是否有该事件相关的表项,列表中存在相关表项就比较代理消息和表项中的跳数值,如果代理中的跳数小,就更新表项中的跳数值,否则更新代理消息中的跳数值。q如果事件列表中没有该事件相关的表项,就增加一个表项来记录代理消息携带的事件信息。然后,节点将代理消息中的生存值减1,在网络中随机选择邻居节点转发代理消息,直到其生存值减少为零。通过代理消息在其有限生存期的传输过程,形成一段到达事件区域的路径。谣传路由的工作过程(谣传路由的工作过程(2)n(3)网络中的任何节点都可能生成一个对特定事件的查询消息。如果节)网络中的任何节点都可能生成一个对特定事件的查询消息。如果节

75、点的事件列表中保存有该事件的相关表项,说明该节点在到达事件区域点的事件列表中保存有该事件的相关表项,说明该节点在到达事件区域的路径上,它沿着这条路径转发查询消息。否则,节点随机选择邻居节的路径上,它沿着这条路径转发查询消息。否则,节点随机选择邻居节点转发查询消息。查询消息经过的节点按照同样方式转发,并记录查询点转发查询消息。查询消息经过的节点按照同样方式转发,并记录查询消息中的相关信息,形成查询消息的路径。查询消息也具有一定的生存消息中的相关信息,形成查询消息的路径。查询消息也具有一定的生存期,以解决环路问题。期,以解决环路问题。n(4)如果查询消息和代理消息的路径交叉,交叉节点会沿查询消息的

76、反)如果查询消息和代理消息的路径交叉,交叉节点会沿查询消息的反向路径将事件信息传送到查询节点。如果查询节点在一段时间没有收到向路径将事件信息传送到查询节点。如果查询节点在一段时间没有收到事件消息,就认为查询消息没有到达事件区域,可以选择重传、放弃或事件消息,就认为查询消息没有到达事件区域,可以选择重传、放弃或者洪泛查询消息的方法。由于洪泛查询机制的代价过高,一般作为最后者洪泛查询消息的方法。由于洪泛查询机制的代价过高,一般作为最后的选择。与定向扩散路由相比,谣传路由可以有效地减少路由建立的开的选择。与定向扩散路由相比,谣传路由可以有效地减少路由建立的开销。但是,由于谣传路由使用随机方式生成路径

77、,所以数据传输路径不销。但是,由于谣传路由使用随机方式生成路径,所以数据传输路径不是最优路径,并且可能存在路由环路问题。是最优路径,并且可能存在路由环路问题。5.6 基于地理位置路由基于地理位置路由n5.6.1 GEAR路由路由n5.6.2 GAF路由路由n5.6.3 GPSR路由路由n在无线传感网中,节点通常需要获取它的位置信息,这样它采集在无线传感网中,节点通常需要获取它的位置信息,这样它采集的数据才有意义。如在森林防火的应用中,消防人员不仅要知道的数据才有意义。如在森林防火的应用中,消防人员不仅要知道森林中发生火灾事件,而且还要知道火灾的具体位置。地理位置森林中发生火灾事件,而且还要知道

78、火灾的具体位置。地理位置路由假设节点知道自己的地理位置信息,以及目的节点或者目的路由假设节点知道自己的地理位置信息,以及目的节点或者目的区域的地理位置,利用这些地理位置信息作为路由选择的依据,区域的地理位置,利用这些地理位置信息作为路由选择的依据,节点按照一定策略转发数据到目的节点。地理位置的精确度和代节点按照一定策略转发数据到目的节点。地理位置的精确度和代价相关,在不同的应用中会选择不同精确度的位置信息来实现数价相关,在不同的应用中会选择不同精确度的位置信息来实现数据的路由转发。据的路由转发。5.6.1 GEAR路由nGEAR(geographical and energy aware ro

79、uting)路由机制根据事件)路由机制根据事件区域的地理位置信息,建立汇聚节点到事件区域的优化路径,避免了洪区域的地理位置信息,建立汇聚节点到事件区域的优化路径,避免了洪泛传播方式,从而减少了路由建立的开销。泛传播方式,从而减少了路由建立的开销。nGEAR路由假设已知事件区域的位置信息,每个节点知道自己的位置信息路由假设已知事件区域的位置信息,每个节点知道自己的位置信息和剩余能量信息,并通过一个简单的和剩余能量信息,并通过一个简单的 Hello 消息交换机制知道所有邻居消息交换机制知道所有邻居节点的位置信息和剩余能量信息。在节点的位置信息和剩余能量信息。在GEAR路由中,节点间的无线链路是路由

80、中,节点间的无线链路是对称的。对称的。nGEAR 路由中查询消息传播包括两个阶段。首先汇聚节点发出查询命令,路由中查询消息传播包括两个阶段。首先汇聚节点发出查询命令,并根据事件区域的地理位置将查询命令传送到区域内距汇聚节点最近的并根据事件区域的地理位置将查询命令传送到区域内距汇聚节点最近的节点,然后从该节点将查询命令传播到区域内的其他所有节点。监测数节点,然后从该节点将查询命令传播到区域内的其他所有节点。监测数据沿查询消息的反向路径向汇聚节点传送。据沿查询消息的反向路径向汇聚节点传送。n(1)查询消息传送到事件区域)查询消息传送到事件区域qGEAR 路由用实际代价(learned cost)和

81、估计代价(estimate cost)两种代价值表示路径代价。q当没有建立从汇聚节点到事件区域的路径时,中间节点使用估计代价来决定下一跳节点。估计代价定义为归一化的节点到事件区域的距离以及节点的剩余能量两部分,节点到事件区域的距离用节点到事件区域几何中心的距离来表示。由于所有节点都知道自己的位置和事件区域的位置,因而所有节点都能够计算出自己到事件区域几何中心的距离。q节点计算自己到事件区域估计代价的公式如下: (5.7)式中,C(N,R)为节点N到事件区域R的估计代价,d(N,R)为节点N到事件区域R的距离,e(N)为节点的剩余能量,为比例参数。式中的d()和e()都是归一化后的参数值。n查询

82、信息到达事件区域后,事件区域的节点沿查询路径的反方向传输监查询信息到达事件区域后,事件区域的节点沿查询路径的反方向传输监测数据,数据消息中测数据,数据消息中“捎带捎带”每跳节点到事件区域的实际能量消耗值。每跳节点到事件区域的实际能量消耗值。对于数据传输经过的每个节点,首先记录捎带信息中的能量代价,然后对于数据传输经过的每个节点,首先记录捎带信息中的能量代价,然后将消息中的能量代价加上它发送该消息到下一跳节点的能量消耗,替代将消息中的能量代价加上它发送该消息到下一跳节点的能量消耗,替代消息中的原有消息中的原有“捎带捎带”值来转发数据。节点下一次转发查询消息时,用值来转发数据。节点下一次转发查询消

83、息时,用刚才记录的到事件区域的实际能量代价代替式(刚才记录的到事件区域的实际能量代价代替式(5.7)中的)中的d(N,R),计算,计算它到汇聚节点的实际代价。节点用调整后的实际代价选择到事件区域的它到汇聚节点的实际代价。节点用调整后的实际代价选择到事件区域的优化路径。优化路径。n从汇聚节点开始的路径建立过程采用贪婪算法,节点在邻居节点中选择从汇聚节点开始的路径建立过程采用贪婪算法,节点在邻居节点中选择到事件区域代价最小的节点作为下一跳节点,并将自己的路由代价设为到事件区域代价最小的节点作为下一跳节点,并将自己的路由代价设为该下一跳节点的路由代价加上到该节点一跳通信的代价。该下一跳节点的路由代价

84、加上到该节点一跳通信的代价。n如果节点的所有邻居节点到事件区域路由代价都比自己的大,则陷入了如果节点的所有邻居节点到事件区域路由代价都比自己的大,则陷入了路由空洞(路由空洞(routing void)。)。路由空洞路由空洞n如图所示,节点如图所示,节点C是节点是节点S的邻居节点中的邻居节点中到目的节点到目的节点T代价最小的节点,但节点代价最小的节点,但节点G,H,I为失效节点,节点为失效节点,节点C的所有邻居节的所有邻居节点到节点点到节点T的代价都比节点的代价都比节点C大。大。n可采用如下方式解决路由空洞问题:节可采用如下方式解决路由空洞问题:节点点C选取邻居中代价最小的节点选取邻居中代价最小

85、的节点B作为下作为下一跳节点,并将自己的代价值设为一跳节点,并将自己的代价值设为B的代的代价加上节点价加上节点C到节点到节点B一跳通信的代价,一跳通信的代价,同时将这个新代价值通知节点同时将这个新代价值通知节点S。当节点。当节点S再转发查询命令到节点再转发查询命令到节点T时就会选择节时就会选择节点点B而不是节点而不是节点C作为下一跳节点。作为下一跳节点。 (2)查询消息在事件区域内传播)查询消息在事件区域内传播n当查询命令传送到事件区域后,可以通过洪当查询命令传送到事件区域后,可以通过洪泛方式传播到事件区域内的所有节点。泛方式传播到事件区域内的所有节点。 但但当节点密度比较大时,洪泛方式开销比

86、较大,当节点密度比较大时,洪泛方式开销比较大,这时可以采用迭代地理转发策略。这时可以采用迭代地理转发策略。n如图如图5-12所示,事件区域内首先收到查询命所示,事件区域内首先收到查询命令的节点将事件区域分为若干子区域,并向令的节点将事件区域分为若干子区域,并向所有子区域的中心位置转发查询命令。在每所有子区域的中心位置转发查询命令。在每个子区域中,最靠近区域中心的节点(如图个子区域中,最靠近区域中心的节点(如图5-12中中Ni节点节点 ) 接收查询命令,并将自己接收查询命令,并将自己所在的子区域再划分为若干子区域并向各个所在的子区域再划分为若干子区域并向各个子区域中心转发查询命令。子区域中心转发

87、查询命令。n该消息传播过程是一个该消息传播过程是一个迭代过程迭代过程,当节点发,当节点发现自己是某个子区域内惟一的节点,或者某现自己是某个子区域内惟一的节点,或者某个子区域没有节点存在时,停止向这个子区个子区域没有节点存在时,停止向这个子区域发送查询命令。当所有子区域转发过程全域发送查询命令。当所有子区域转发过程全部结束时,整个迭代过程终止。部结束时,整个迭代过程终止。图图 5-12GEAR 路由特点路由特点n洪泛机制和迭代地理转发机制各有利弊。洪泛机制和迭代地理转发机制各有利弊。q当事件区域内节点较多时,迭代地理转发的消息转发次数少,而节点较少时使用洪泛策略的路由效率高。nGEAR 路由可以

88、使用如下方法在两种机制中作出选择:路由可以使用如下方法在两种机制中作出选择:q当查询命令到达区域内的第一个节点时,如果该节点的邻居数量大于一个预设的阈值,则使用迭代地理转发机制,否则使用洪泛机制。nGEAR路由通过定义估计路由代价路由通过定义估计路由代价:为节点到事件区域的为节点到事件区域的距离距离和节点和节点剩余能量剩余能量,并,并利用捎带机制获取实际路由代价,进行数据传输的路径优化,从而形成能量高效利用捎带机制获取实际路由代价,进行数据传输的路径优化,从而形成能量高效的数据传输路径。的数据传输路径。nGEAR路由采用的路由采用的贪婪算法贪婪算法是一个是一个局部最优的算法局部最优的算法,适合

89、无线传感器网络中节点,适合无线传感器网络中节点只知道局部拓扑信息的情况,其缺点是由于缺乏足够的拓扑信息,路由过程中可只知道局部拓扑信息的情况,其缺点是由于缺乏足够的拓扑信息,路由过程中可能遇到能遇到路由空洞路由空洞,反而降低了路由效率。如果节点拥有相邻两跳节点的地理位置,反而降低了路由效率。如果节点拥有相邻两跳节点的地理位置信息,可以大大减少路由空洞的产生概率。信息,可以大大减少路由空洞的产生概率。nGEAR 路由中假设节点的地理位置固定或变化不频繁,适用于节点移动性不强的路由中假设节点的地理位置固定或变化不频繁,适用于节点移动性不强的应用环境。应用环境。 5.6.2 GAF路由n地域自适应保

90、真算法(地域自适应保真算法(Geographic Adaptive Fidility,GAF)是基于)是基于有有限限能量和位置信息能量和位置信息的路由算法。的路由算法。nGAF原本是为移动原本是为移动Ad Hoc网络设计的,但同样可以应用于传感器网络,网络设计的,但同样可以应用于传感器网络,因为它的虚拟网格思想为分族机制提供了新思路,因为它的虚拟网格思想为分族机制提供了新思路,GAF在不影响路由有在不影响路由有效性的情况下,效性的情况下,通过关闭一些不需要的节点来节省能量通过关闭一些不需要的节点来节省能量,同时还考虑了,同时还考虑了所有节点能量消耗的均衡性。所有节点能量消耗的均衡性。n在在GA

91、F路由协议中,网络被划分为若干固定区域,形成了一个虚拟网格。路由协议中,网络被划分为若干固定区域,形成了一个虚拟网格。q节点通过GPS定位获取自己在网格中所处的“位置”,如果两个节点处在相同的“位置”,则认为它们在路由时是等价的,前提是它们分组转发能耗水平相等。等价节点中只需有一个处于工作状态,其余节点可以进入睡眠。如图5-13所示。因此,GAF能够有效地延长网络的生命周期。图5-13在图5-14中的节点2、3、4在同一个栅格B中,因此只需要保留其中一个节点处于工作状态,另外两个可以处于睡眠状态。而这在adHoc网络中是绝对不可取的,因为在Ad Hoc网络中,即使是同一个栅格内的节点,也还是代

92、表了不同的移动终端,根本不能相互代替。但在WSN中,这就是一个优点,相当于用1个节点代表了3个节点,类似于层次路由中的簇头节点,但这个类似于簇头的代表节点却不进行栅格内的数据融合。节点间的数据通信只能在相邻栅格间进行,即A栅格内的节点1只能与B栅格内的2、3、4节点通信,而不能直接和C栅格内的节点5通信。图5-14n虽然虽然GAF按栅格选择代表节点的方法和按栅格选择代表节点的方法和SOA选择静止节点做转发点选择静止节点做转发点的方法不同,但两者都是在全部节点中选择部分节点,相当于从整个的方法不同,但两者都是在全部节点中选择部分节点,相当于从整个集合中选择子集,并且都是根据节点的当前状态来决定是

93、否选择该节集合中选择子集,并且都是根据节点的当前状态来决定是否选择该节点作为转发节点,它们都能有效地延长网络的生存时间。点作为转发节点,它们都能有效地延长网络的生存时间。nGAF算法的执行过程包括两个阶段。算法的执行过程包括两个阶段。n(1)第一阶段是虚拟网格的划分。)第一阶段是虚拟网格的划分。q根据节点的位置信息和通信半径,将网络区域划分成若干虚拟网格,保证相邻单元格中的任意两个节点都能够直接通信。假设节点已知整个监测区域的位置信息和本身的位置信息,则可以通过计算得知自己属于哪个网格。n(2)第二阶段是虚拟网格中簇头节点的选择。)第二阶段是虚拟网格中簇头节点的选择。q节点周期性地进入睡眠和工

94、作状态,从睡眠状态唤醒之后与本单元其他节点交换信息,以确定自已是否需要成为簇头节点。n每个节点都处于发现每个节点都处于发现(Discovery)、活动、活动(Active)以及睡眠以及睡眠(sleeping)3种状态,种状态,如图如图5-15所示。所示。n在网络初始化时,所有节点都处于发现状态,每个节点都通过发送消息在网络初始化时,所有节点都处于发现状态,每个节点都通过发送消息通告自己的位置、通告自己的位置、ID等信息。经过这个阶段,节点能得知同一单元格内等信息。经过这个阶段,节点能得知同一单元格内其他节点的信息。然后,每个节点将自身定时器设置为某个区间内的随其他节点的信息。然后,每个节点将自

95、身定时器设置为某个区间内的随机值。一旦定时器超时,节点就发送消息,声明它进入活动状态,并成机值。一旦定时器超时,节点就发送消息,声明它进入活动状态,并成为簇头节点。为簇头节点。n节点如果在定时器超时之前收到来自同一单元格内其他节点成为簇头的节点如果在定时器超时之前收到来自同一单元格内其他节点成为簇头的声明,说明它自己这次竞争簇头失败,从而转入睡眠状态。声明,说明它自己这次竞争簇头失败,从而转入睡眠状态。n成为簇头的节点设置定时器,代表它处于活动状态的时间。成为簇头的节点设置定时器,代表它处于活动状态的时间。q在超时之前,簇头节点定期发送广播包声明自己处于活动状态,以抑制其他处于发现状态的节点进

96、入活动状态。q在超时后,簇头节点重新回到发现状态。处于睡眠状态的节点设置定时器为,并在超时后,节点重新回到发现状态。处于活动状态或发现状态的节点如果发现本单元格中出现了更适合成为簇头的节点时,会自动进入睡眠状态。n由于节点处于监听状态也会消耗很多能量,让节点尽量处于睡由于节点处于监听状态也会消耗很多能量,让节点尽量处于睡眠状态成为传感器网络拓扑算法中经常采用的方法。眠状态成为传感器网络拓扑算法中经常采用的方法。GAF是较是较早采用这种方法的算法。早采用这种方法的算法。n由于传感器节点自身体积和资源受限,由于传感器节点自身体积和资源受限,GAF对传感器节点提出对传感器节点提出的要求较高。且的要求

97、较高。且GAF算法是基于平面模型的,没有考虑到实际算法是基于平面模型的,没有考虑到实际网络中节点之间距离的邻近并不能代表节点之间可以直接通信网络中节点之间距离的邻近并不能代表节点之间可以直接通信的问题,因此存在一些不足。的问题,因此存在一些不足。5.6.3 GPSR路由n无状态的贪婪周边路由协议(无状态的贪婪周边路由协议(Greedy Perimeter Stateless Routing,GPSR)是一个典型的基于位置的路由协议。)是一个典型的基于位置的路由协议。n该协议,网络中的所有传感器节点均知道自身的坐标位置信息,该协议,网络中的所有传感器节点均知道自身的坐标位置信息,而且这些坐标位置

98、被统一编址,传感器节点按照贪婪算法尽量地而且这些坐标位置被统一编址,传感器节点按照贪婪算法尽量地沿直线将数据传送出去。采集到数据的节点经过判别哪个相邻节沿直线将数据传送出去。采集到数据的节点经过判别哪个相邻节点与目标节点的距离最近,就将数据传送给该邻居节点。点与目标节点的距离最近,就将数据传送给该邻居节点。n数据可以使用两种模式来传送:数据可以使用两种模式来传送:贪婪转发模式贪婪转发模式和和周边转发模式周边转发模式。q使用贪婪转发模式时,接收到数据的传感器节点,查询它的邻节点表,如果某个邻节点与网关节点的距离小于自身节点到网关节点的距离,就保持当前的数据模式,同时将数据转发给选定的邻节点;q如

99、果满足不了上述要求,就改变数据模式为周边转发模式。GPSR路由工作原理路由工作原理n在传送的数据包中包括目标节点的位置信息,在传送的数据包中包括目标节点的位置信息,中继转发节点利用贪婪转发模式来确定下一跳中继转发节点利用贪婪转发模式来确定下一跳的节点,这个节点是距离目标节点最近的那个的节点,这个节点是距离目标节点最近的那个邻节点。用这种方式连续不断的选择距目标节邻节点。用这种方式连续不断的选择距目标节点更近的节点进行数据中继转发,直至将数据点更近的节点进行数据中继转发,直至将数据传送给目标节点为止。传送给目标节点为止。n使用贪婪转发策略选择下一跳节点的情况如图使用贪婪转发策略选择下一跳节点的情

100、况如图5-16所示。所示。设定中继节点设定中继节点A接收到一个到目标节点接收到一个到目标节点D的数据包,节点的数据包,节点A的传输覆盖范围是以的传输覆盖范围是以A点为圆心的虚线圆区域,以点为圆心的虚线圆区域,以D点为圆心,线段点为圆心,线段DB为半径画圆,圆弧交节点为半径画圆,圆弧交节点B,由于节点,由于节点B与目标节点与目标节点D之间的距离小于之间的距离小于A节点所有的其它邻节点,因此就选节点所有的其它邻节点,因此就选节点节点B做下一跳节点。按照这种方式继续前向转发传递数据,直到目标节点做下一跳节点。按照这种方式继续前向转发传递数据,直到目标节点D获获得数据为止。得数据为止。GPSR路由工作

101、原理路由工作原理GPSR路由工作原理路由工作原理-路由空洞路由空洞n产生空洞的情况如图产生空洞的情况如图5-17所示,给定网络特定的拓扑及传感器节点的位置分布,所示,给定网络特定的拓扑及传感器节点的位置分布,节点节点T到目标节点到目标节点D的距离要小于相邻两个节点的距离要小于相邻两个节点U、V到目标节点到目标节点D的距离。将数的距离。将数据由节点据由节点T转发给目标节点转发给目标节点D,有两条路径:,有两条路径:(T-U-W-D)和和(T-V-X-D),但是使用,但是使用贪婪转发策略进行数据转发时,就不会选择贪婪转发策略进行数据转发时,就不会选择U或或V作为下一跳的节点,因为节点作为下一跳的节

102、点,因为节点T到目标节点到目标节点D的距离要小于的距离要小于U或或V各自到各自到D的距离,这样就出现了空洞,导致数据的距离,这样就出现了空洞,导致数据无法传输。要解决空洞现象,可以使用周边转发机制,这里的阐述就从略了。无法传输。要解决空洞现象,可以使用周边转发机制,这里的阐述就从略了。GPSR路由特点n使用贪婪转发策略会出现所谓路由空洞的缺欠。使用贪婪转发策略会出现所谓路由空洞的缺欠。n使用该协议避免了在节点中建立、维护和存储路使用该协议避免了在节点中建立、维护和存储路由表的工作,仅使用直接毗邻的节点进行路由选由表的工作,仅使用直接毗邻的节点进行路由选择。另外,路由选择中是使用接近于最短欧氏距

103、择。另外,路由选择中是使用接近于最短欧氏距离的路由,数据传输时延小,实时性增强。离的路由,数据传输时延小,实时性增强。5.6.4 GEM路由路由nGEM(graph embedding)路由是)路由是种适用于数据中心存储方式种适用于数据中心存储方式的地理路由。的地理路由。n基本思想是建立一个虚拟极坐标系统来表示实际的网络拓扑结构,基本思想是建立一个虚拟极坐标系统来表示实际的网络拓扑结构,由于汇集节点将角度范围分配给每个子节点,每个子节点得到的由于汇集节点将角度范围分配给每个子节点,每个子节点得到的角度范围正比于以该节点为根的子树大小,子节点按照同样的方角度范围正比于以该节点为根的子树大小,子节

104、点按照同样的方式将自己的角度范围分配给它的子节点,这个过程一直持续进行,式将自己的角度范围分配给它的子节点,这个过程一直持续进行,直到每个子节点都分配到一个角度范围。这样,节点可以根据一直到每个子节点都分配到一个角度范围。这样,节点可以根据一个统一规则(如顺时针方向)为子节点设定角度范围,使得同一个统一规则(如顺时针方向)为子节点设定角度范围,使得同一级节点的角度范围顺序递增或递减,于是到汇聚节点跳数相同的级节点的角度范围顺序递增或递减,于是到汇聚节点跳数相同的节点就形成了一个环形结构,整个网络则形成一个以汇聚节点为节点就形成了一个环形结构,整个网络则形成一个以汇聚节点为根的带环树。根的带环树

105、。 GEM路由工作机制路由工作机制 n节点在发送消息时,如果目的节点位置的角度不在自己的角度范围内,节点在发送消息时,如果目的节点位置的角度不在自己的角度范围内,就将消息传送给父节点。就将消息传送给父节点。n父节点按照同样的规则处理,直到该消息到达角度范围包含目的节点位父节点按照同样的规则处理,直到该消息到达角度范围包含目的节点位置的某个节点,这个节点是源节点和目的节点的共同祖先。置的某个节点,这个节点是源节点和目的节点的共同祖先。n消息再从这个节点向下传送,直至到达目的节点,如图消息再从这个节点向下传送,直至到达目的节点,如图5-18(a)所示。所示。n上述算法需要上层节点转发消息,开销比较

106、大,可作适当改进。节点在上述算法需要上层节点转发消息,开销比较大,可作适当改进。节点在向上传送消息之前,首先检查邻节点是否包含目的节点位置的角度。如向上传送消息之前,首先检查邻节点是否包含目的节点位置的角度。如果包含,则直接传送给该邻节点而不再向上传送,如图果包含,则直接传送给该邻节点而不再向上传送,如图5-18(b)所示。所示。n更进一步的改进算法是可利用前面提到的环形结构,节点检查相邻节点更进一步的改进算法是可利用前面提到的环形结构,节点检查相邻节点的角度范围是否离目的地的位置更近,如果更近就将消息传送给该邻节的角度范围是否离目的地的位置更近,如果更近就将消息传送给该邻节点,否则才向上层传

107、送,如图点,否则才向上层传送,如图5-18(c)所示。所示。GEM路由机制图5-18 GEM路由机制(a)消息直接向上层传递 图5-18 (b)检查邻居节点的角度范围 图5-18 (c)利用环形树结构 5.7 基于QoS的路由协议n无线传感网的某些应用对通信质量有较高要求,如高可靠性和实无线传感网的某些应用对通信质量有较高要求,如高可靠性和实用性等;而由于网络链路的稳定性难以保证,通信信道质量比较用性等;而由于网络链路的稳定性难以保证,通信信道质量比较低,拓扑变化比较频繁,要在无线传感网中实现一定服务质量的低,拓扑变化比较频繁,要在无线传感网中实现一定服务质量的保证,需要设计基于保证,需要设计

108、基于QoS的路由协议。的路由协议。5.7.1 SPEED5.7.2 SAR5.7.3 ReInForM5.7.1 SPEEDnSPEED协议是一种实时有效的可靠路由协议,在一定程度上实现了端到端的传输速率保证、协议是一种实时有效的可靠路由协议,在一定程度上实现了端到端的传输速率保证、网络拥塞控制以及负载平衡机制。该协议首先在相邻节点之间交换传输延迟,以得到网络负网络拥塞控制以及负载平衡机制。该协议首先在相邻节点之间交换传输延迟,以得到网络负载情况。然后利用局部地理信息和传输速率信息选择下一跳节点,同时通过邻居反馈机制保载情况。然后利用局部地理信息和传输速率信息选择下一跳节点,同时通过邻居反馈机

109、制保证网络传输畅通,并通过反向压力路由变更机制避开延迟太大的链路和证网络传输畅通,并通过反向压力路由变更机制避开延迟太大的链路和“洞洞”现象。现象。SPEED协议主要由四部分组成。协议主要由四部分组成。q1.延迟估计机制:延迟估计机制用来得到网络的负载状况,判断网络是否发生拥塞。节点记录到邻节点的通信延迟以表示网络的局部通信负载。具体过程是:发送节点给数据分组并加上时间戳;接收节点计算从收到数据分组到发出ACK的时间间隔,并将其作为一个字段加入ACK报文;发送节点收到ACK后,从收发时间差中减去接收节点的处理时间,得到一跳的通信延迟。q 2.SNGF算法:SNGF算法用来选择满足传输速率要求的

110、下一跳节点。邻节点分为两类:比自己距离目标区域更近的节点和比自己距离目标区域更远的节点,前者称为“候选转发节点集合(FCS)”。节点计算到其FCS集合中的某个节点的传输速率。FCS集合中的节点又根据传输速率是否满足预定的传输速率阈值,再分为两类:大于速率阂值的邻节点和小于速率阈值的邻节点。若FCS集合中有节点的传输速率大于速率阂值,则在这些节点中按照一定的概率分布选择下一跳节点。节点的传输速率越高,被选中的概率越大。n3.邻居反馈策略邻居反馈策略q当SNGF路由算法中找不到满足传输速率要求的下一跳节点时,为保证节点间的数据传输满足一定的传输速率要求,引入邻居反馈机制,如图5-19所示。图图5-

111、19 邻居反馈机制邻居反馈机制 q如图5-19所示,MAC层收集差错信息,并把到邻节点的传输差错率通告给转发比例控制器,转发比例控制器根据这些差错率计算出转发概率。方法是节点首先查看FCS集合的节点,若某节点的传输差错率为零(存在满足传输要求的节点),则设置转发概率为1,即全部转发;若FCS集合中所有节点的传输差错率大于零,则按一定的公式计算转发概率。q对于满足传输速率阈值的数据,按照SNGF算法决定的路由传输结邻节点,而不满足传输速率阂值的数据传输则由邻居反馈机制计算转发概率。这个转发概率表示网络能够满足传输速率要求的程度,因此节点将按照这个概率进行数据转发。n4.反向压力路由变更机制反向压

112、力路由变更机制q反向压力路由变更机制在SPEED协议中用来避免拥塞和“洞”现象。当网络个某个区域发生事件时,节点不能够满足传输速率要求,体现在通信数据量突然增多,传输负载突然加入,此时节点就会使用反向压力信标消息向上一跳节点报告拥塞,以此表明拥塞后的传输延迟,上一跳节点则会按照上述机制重新选择下一跳节点。5.7.2 SARn有序分配路由有序分配路由SAR(sequential Assignment routing)协议也是一协议也是一个典型的具有个典型的具有QoS意识的路出协议。该协议通过构建以汇聚节点意识的路出协议。该协议通过构建以汇聚节点的单跳邻节点为根节点的多播树来实现传感器节点到汇聚节

113、点的的单跳邻节点为根节点的多播树来实现传感器节点到汇聚节点的多跳路径,即汇聚节点的所有一跳邻节点都以自己为根创建生成多跳路径,即汇聚节点的所有一跳邻节点都以自己为根创建生成树,在创建生成树过程中考虑节点的时延、丢包率等树,在创建生成树过程中考虑节点的时延、丢包率等QoS参数的参数的多条路径。节点发送数据时选择一条或多条路径进行传输。多条路径。节点发送数据时选择一条或多条路径进行传输。nSAR的特点是路由决策不仅要考虑每条路径的能源,还要涉及端的特点是路由决策不仅要考虑每条路径的能源,还要涉及端到端的延迟需求和待发送数据包的优先级。仿真结果表明,与只到端的延迟需求和待发送数据包的优先级。仿真结果

114、表明,与只考虑路径能量消耗的最小能量度量协议相比,考虑路径能量消耗的最小能量度量协议相比,SAR的能量消耗较的能量消耗较少。该算法的缺点是不适用于大型的和拓扑频繁变化的网络。少。该算法的缺点是不适用于大型的和拓扑频繁变化的网络。5.7.3 ReInForMnReInForM(Reliable Information Forwarding Using Multiple paths)路由从数据源节点开始,考虑可靠性要求、信道质量以及)路由从数据源节点开始,考虑可靠性要求、信道质量以及传感器节点到汇聚节点的跳数,决定需要的传输路径数目,以及传感器节点到汇聚节点的跳数,决定需要的传输路径数目,以及下一

115、跳节点数目和相临的节点,实现满足可靠性要求的数据传输。下一跳节点数目和相临的节点,实现满足可靠性要求的数据传输。nReInForM路由的建立过程是,首先源节点根据传输的可靠性要求路由的建立过程是,首先源节点根据传输的可靠性要求计算需要的传输路径数目;然后在邻节点中选择若干节点作为下计算需要的传输路径数目;然后在邻节点中选择若干节点作为下一跳转发节点,并将每个节点按照一定比例分配路径数目;最后,一跳转发节点,并将每个节点按照一定比例分配路径数目;最后,源节点将分配的路径作为数据报头中的一个字段发给邻节点。邻源节点将分配的路径作为数据报头中的一个字段发给邻节点。邻节点在接收到源节点的数据后,将自身

116、视作源节点,重复上述源节点在接收到源节点的数据后,将自身视作源节点,重复上述源节点的选路过程。节点的选路过程。5.8 路由协议自主切换n无线传感网中的路由协议和具体应用紧密相关,没有一个能适用于所有应用的路由协议。而无线传感网中的路由协议和具体应用紧密相关,没有一个能适用于所有应用的路由协议。而传感器网络可能需要在相同监测区域内完成不同的任务,此时如果为每种任务部署专门的传传感器网络可能需要在相同监测区域内完成不同的任务,此时如果为每种任务部署专门的传感器网络将增加传感器网络的成本。为了能够适用于多种任务,传感器网络需要根据应用环感器网络将增加传感器网络的成本。为了能够适用于多种任务,传感器网

117、络需要根据应用环境和网络条件自主选择适用的路由协议,并在各个路由协议之间自主切换。境和网络条件自主选择适用的路由协议,并在各个路由协议之间自主切换。n路由协议自主切换机制是根据应用变化自主选择合适的路由协议,并将这一过程封装起来,路由协议自主切换机制是根据应用变化自主选择合适的路由协议,并将这一过程封装起来,向上层应用提供统一的可编程路由服务。一个路由服务的通信模型如图向上层应用提供统一的可编程路由服务。一个路由服务的通信模型如图5-20所示,上层通过所示,上层通过路由服务接口配置路由服务,路由服务根据此配置以及具体网络情况自主选择合适的协议。路由服务接口配置路由服务,路由服务根据此配置以及具

118、体网络情况自主选择合适的协议。 可编程路由体系结构可编程路由体系结构 nYHe等人提出了一个可编程的传感器网络框架,包括了目前的主流路由协议。等人提出了一个可编程的传感器网络框架,包括了目前的主流路由协议。这个框架的体系结构如图这个框架的体系结构如图5-21所示,路由服务将路由协议封装为状态收集模块和所示,路由服务将路由协议封装为状态收集模块和数据转发模块,并提供给上层一个统一的网络层接口。配置服务根据上层应用的数据转发模块,并提供给上层一个统一的网络层接口。配置服务根据上层应用的要求为不同模块选择不同的路由协议,并将这些配置信息传达到整个网络,以保要求为不同模块选择不同的路由协议,并将这些配

119、置信息传达到整个网络,以保持路由协议在网络中的一致。持路由协议在网络中的一致。本章小结本章小结n本章介绍了无线传感网的路由协议。由于传感器节点能量有限,本章介绍了无线传感网的路由协议。由于传感器节点能量有限,且只具有局部网络信息,传感网路由协议具有很多传统网络路由且只具有局部网络信息,传感网路由协议具有很多传统网络路由协议没有的特点。协议没有的特点。n首先,无线传感网路由协议关心整个网络能量的均衡消耗。由于首先,无线传感网路由协议关心整个网络能量的均衡消耗。由于节点的能量有限,只有降低整个协议的能量开销,并且尽量在节节点的能量有限,只有降低整个协议的能量开销,并且尽量在节点间均衡消耗能量,才能

120、尽可能地延长网络生存期。点间均衡消耗能量,才能尽可能地延长网络生存期。n其次,传感网路由协议是以数据为中心的路由,不再采用传统网其次,传感网路由协议是以数据为中心的路由,不再采用传统网络中以地址为中心的路由方式,而是根据感兴趣的数据建立数据络中以地址为中心的路由方式,而是根据感兴趣的数据建立数据源到汇聚节点或者管理节点的路径。源到汇聚节点或者管理节点的路径。n最后,传感网路由协议具有应用相关性。不同应用中的路由协议最后,传感网路由协议具有应用相关性。不同应用中的路由协议可能差别很大,因而没有一个通用的路由协议。可能差别很大,因而没有一个通用的路由协议。本章小结本章小结n目前提出的传感网路由协议

121、大致可以分为四大类:目前提出的传感网路由协议大致可以分为四大类:q能量感知路由协议,平面路由协议,层次路由协议,基于查询的路由协议以及地理位置路由协议,q最近几年很多研究者提出了基于QoS保证的路由协议。n其中能量感知路由协议从节点的能量利用效率及网络生存期的角度考虑路由选择,基其中能量感知路由协议从节点的能量利用效率及网络生存期的角度考虑路由选择,基本思想是根据节点剩余能量定义节点的优先级,控制整个网络能量的均衡消耗;本思想是根据节点剩余能量定义节点的优先级,控制整个网络能量的均衡消耗;n平面路由协议和层次路由协议是根据网络的层次结构来划分的。平面路由协议和层次路由协议是根据网络的层次结构来

122、划分的。n平面路由协议结构简单,鲁棒性好,适合小规模网络。平面路由协议结构简单,鲁棒性好,适合小规模网络。n层次路由协议是将大规模网络划分为小的网络,每个小网络有簇头节点管理,因而可层次路由协议是将大规模网络划分为小的网络,每个小网络有簇头节点管理,因而可扩展性较好,适合大规模的传感网络,而其缺点是簇头节点的可靠性和稳定性对全网扩展性较好,适合大规模的传感网络,而其缺点是簇头节点的可靠性和稳定性对全网性能的影响较大;性能的影响较大;n基于查询的路由协议将路由建立与数据查询过程相结合,充分考虑了数据查询类应用基于查询的路由协议将路由建立与数据查询过程相结合,充分考虑了数据查询类应用的特点;的特点

123、;n地理位置路由利用节点的地理位置地理位置路由利用节点的地理位置建立数据源到汇聚节点或者管理节点的优化传输路径。建立数据源到汇聚节点或者管理节点的优化传输路径。思考题n1无线传感网路由协议的考虑因素有哪些无线传感网路由协议的考虑因素有哪些?n2无线传感网的路由过程的步骤是什么。无线传感网的路由过程的步骤是什么。n3无线传感网路由协议的分类方法有哪些无线传感网路由协议的分类方法有哪些?n4什么是平面路由协议什么是平面路由协议?它们的主要特点是什么?它们的主要特点是什么?n5什么是层次路由协议什么是层次路由协议?它们的主要特点是什么?它们的主要特点是什么?n6简述能量感知路由的基本工作原理。简述能量感知路由的基本工作原理。n7简述定向扩散路由的基本原理。简述定向扩散路由的基本原理。n8地理位置路由有哪些地理位置路由有哪些?它们的内容分别是什么?它们的内容分别是什么?n9什么是路由空洞?简述路由空洞产生的原因?什么是路由空洞?简述路由空洞产生的原因?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号