wsn 中的路由协议 张道远 firstcoming@ gmail

68
WSN 中中中中中中 中中中 firstcoming@ gmail.com

Upload: ayame

Post on 18-Jan-2016

104 views

Category:

Documents


0 download

DESCRIPTION

WSN 中的路由协议 张道远 firstcoming@ gmail.com. PPT 构成. 1.WSN 的体系结构 2. 路由协议的定义 3.WSN 的特点及对路由设计的影响 4. 路由协议的关键问题分析 5. 路由协议的分类 6. 典型路由协议及其比较 7.WSN 的 OS,tinyos 和 nesc 8. 举例: Tinyos 中的 multi-hop routing LEPS 协议实现 9. 程序分析 :LEPS-FMAC. WSN 的体系结构. Node 有四个基本组件构成 sensing unit processing unit - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WSN 中的路由协议 张道远 firstcoming@ gmail

WSN 中的路由协议

张道远firstcoming@ gmail.com

Page 2: WSN 中的路由协议 张道远 firstcoming@ gmail

1.WSN 的体系结构2. 路由协议的定义3.WSN 的特点及对路由设计的影响4. 路由协议的关键问题分析5. 路由协议的分类6. 典型路由协议及其比较7.WSN 的 OS,tinyos 和 nesc8. 举例: Tinyos 中的 multi-hop routing LEPS协议实现9. 程序分析 :LEPS-FMAC

PPT 构成

Page 3: WSN 中的路由协议 张道远 firstcoming@ gmail

WSN 的体系结构

Node 有四个基本组件构成sensing unitprocessing unit Transceiver unitpower unit

可能有的取决于应用程序需要的组件location finding system :许多路由技术和传感任务需要精确获悉节点位置power generator :在特定状况下需要提供长时间的电源支持Mobilizer :需要移动节点到另一个地方执行指定的任务

Page 4: WSN 中的路由协议 张道远 firstcoming@ gmail

The sensor networks protocol stack

physical layer实现简单、强壮的数据调制,发送、接收MAC 层考虑节点的通信环境噪声和节点的移动,且需要降低能量消耗,最小化和邻居节点的广播冲突 . 负责数据成帧,帧检测,媒体访问控制和差错控制network layer路由生成和路由选择transport layer数据流传输控制,是保证通信服务质量的重要部分application layer根据传感任务的不同,可以建立不同的 applicationpower management plane管理传感器节点如何使用能源,各个协议层都要考虑节省mobility management plane监测并注册传感器节点的移动,维护到汇聚节点的路由,使 node 能动态跟踪其邻居节点的位置task management plane在一个给定的区域内平衡和调度监测任务

Page 5: WSN 中的路由协议 张道远 firstcoming@ gmail

路由协议是 WSN 的关键技术之一,它负责将数据分组从源节点通过网络转发到目的节点 主要包括两个方面的功能: 寻找源节点和目的节点的优化路径 将数据分组沿着优化路径正确转发

路由协议

与有线网络和蜂窝式无线网络不同, WSN 中没有基础设施和全网统一的控制中心在这种无中心的环境下,路由可以看成分布式地获取网络拓扑信息,以一定准则计算路径并对路径进行维护的过程。

Page 6: WSN 中的路由协议 张道远 firstcoming@ gmail

网络特点是路由设计的主要依据,对网络特点的分析是进行协议设计的前提

WSN 的特点及对路由设计的影响

无线传感网络中,网络业务的最大特点是具有明显的方向性。 为了实现信息采集的目的, WSN 的网络业务大都发生在数据汇聚节点( sink )和普通的传感器节点之间,包括 sink 节点到传感器节点的下行业务(如查询指令下达)和传感器节点到 sink 的上行业务(如采集信息的回传) 传感器节点之间的横向业务所占比例较小,主要是网络的控制信息和网内信息处理所需要的信息。

无线传感器网络的一个基本理念是以大量低成本节点组网,通过节点之间的协作获得比单一的高精度、高可靠性和高成本的传感器更好的信息采集效果。单个传感器低能量和不可靠是无线传感器网络固有的,将对协议设计产生较大影响。

Page 7: WSN 中的路由协议 张道远 firstcoming@ gmail

从对路由协议设计影响的角度,归纳WSN 的特点

1.形式多样的信息报告模式WSN 中信息报告模式分三类:a.事件触发:节点采集信息后判断,若超过一定的阈值,则认为发生了某种事件, 需要立即上报,如用于预警的 WSNb.周期的:节点定期把采集到的信息报告给 sink 。如野生动植物和环境监测 WSNc. 基于查询: node 不主动向 sink上报采集到的信息,而是等待用户查询,根据用户 需要反馈信息。d.混合模式:前三种的综合。如智能交通的 WSN

不同的信息报告模式影响路由的触发机制a.事件触发模式:从节能的角度,按需建立路由更恰当b.周期报告模式:采用先应式的方法建立路由更加合适c. 基于查询模式:查询信息的本身就可以辅助建立路由

Page 8: WSN 中的路由协议 张道远 firstcoming@ gmail

2. 多对一和一对多为主的业务模式

WSN 的主要业务是传感器节点把采集到的信息传给 sink 和 sink 向 WSN 下达查询命令,这是典型的多对一和一对多的模式。 为了支持这种通信模式, WSN 中很多路由协议建立具有树状结构的路由

此外还有“地域多播( geocast )”的业务模式WSN 中,用户可能对一个地理信息区域内的信息感兴趣,因此需要把查询和命令发送到该区域内的所有节点。以洪泛方式可以支持这种业务,但是开销太大。针对这种模式设计了以下一些路由协议:LBM :基于位置的多播协议Voronoi diagram and convex hull based geocasting and routing :基于 Voronoi图和 基于凸包的地域多播协议GEAR: geographical and energy aware routing

Page 9: WSN 中的路由协议 张道远 firstcoming@ gmail

3. 数据为中心的设计理念

把WSN 看成是一个大型的数据库,用户关心的是从这里得到什么信息,而不关心数据库中的哪个元素( node )提供了该信息

该理念对网络层的一个重要影响是节点的地址分配 一般情况下没必要为每个 node 分配全局唯一地址, node描述信息产生时间,地点和内容即可,统一编址,对大规模WSN开销过大 特定情况,节点 ID 和位置具有一定绑定关系,可用 ID代替位置。如工业检测 WSN 从实现多跳通信的角度,需要在局部标识不同的节点。

该理念还影响分组转发的过程 WSN 中,原始数据可能存在一定的冗余,在满足信息采集的要求前提下,可以在数据转发过程中对其进行修改,甚至把多个分组合并成一个分组,从而降低能耗

Page 10: WSN 中的路由协议 张道远 firstcoming@ gmail

4. 动态变化的网络拓扑

大部分的 WSN 中节点并不移动,造成网络拓扑变化的主要原因是节点的失效和存在不可靠性、非对称链路。为了节能和延长网络寿命,需要对网络进行休眠调度,会在一定程度上增加网络拓扑的动态性。在有些WSN 中为了弥补节点失效造成的性能损失,进行再布设( re-deployment ),也会使网络拓扑发生变化。 有些WSN 中的节点是可移动的,如医疗监测 WSN ,候鸟迁徙WSN ,网络拓扑变化比较快

Page 11: WSN 中的路由协议 张道远 firstcoming@ gmail

5. 能量受限、结构简单的节点

Node 大都由电池供电,电池体积小,能量有限且难以更换许多场合需要 WSN连续工作数年甚至更长。Node 结构简单,存储、处理、通信能力低,单个节点可靠性差。要求协议尽可能简单,具有容错性

6.密集布设的大规模网络

WSN 通常密集布设大量节点,节点数量达到成千甚至上万。同时节点的密度也很高,有的情况下可以达到 20 个 /m³这些使得协议的可扩展性变得十分重要

Page 12: WSN 中的路由协议 张道远 firstcoming@ gmail

1. 能量有效性

提高能量有效性是 WSN 从硬件设计到软件开发都必须考虑的问题。从路由协议设计的角度有两种思路提高能量有效性:a. 节能:寻找节能路由,减少路由建立和维护的控制开销,提高路由可靠性b. 能耗均衡:从空间上调度能量资源,使网络中节点能量均衡消耗

路由协议的关键问题分析

2. 可扩展性

可扩展性是指网络的性能不随着网络中节点的数量增加而有明显的下降两类重要策略:a. 分层路由:网络分成若干层,低一层的群首构成高一层的网络。节点地位不同, 首为局部控制中心,负责群内路由、信道接入、休眠调度等;大多数节点作为 群成员其操作相对简单,控制开销较低b. 地理路由:地理位置信息实际上体现节点间相对拓扑关系,利用这一信息路由 能很大程度上降低用于收集拓扑信息付出的开销,提高协议的可扩展性 地理路由使用的前提是节点能获得自己和目的节点的地理位置信息 对于节点有移动性,任意两个节点之间都可能进行通信的网络,为获得目的节点 位置信息需不断更新位置信息,开销较大,地理路由的优势就不明显

Page 13: WSN 中的路由协议 张道远 firstcoming@ gmail

3. 数据传输可靠性

数据传输的可靠性直接关系到 WSN 是否能给用户提供准确、全面和可靠的信息,而WSN 中节点无线通信能力弱,应用环境复杂,实际的链路质量比较低。如何保证数据传输的可靠性是 WSN 路由设计中的一个关键问题

影响 WSN 数据传输可靠性原因:a. 无线信道上的碰撞导致分组无法正确接收b. 节点故障使路由不可用,导致分组丢失c.链路不可靠,导致分组传输出错或丢失

路由协议的解决策略:a. 建立多路径路由:①建立信源节点到目标节点的多条路径,选择最优路径作为主路径,其他路径为备份②使用多条路径发送原始分组的多个副本,即使其中一些传输丢失也不会影响端到端 的可靠性b. 选择可靠链路

Page 14: WSN 中的路由协议 张道远 firstcoming@ gmail

几十种 WSN 路由协议,未统一分类标准一种分类方法( 5 类):

路由协议的分类

1. 基于聚簇的路由协议 LEACH, PEGASIS, TEEN等

2. 基于地理位置的路由协议 基于地理位置的距离贪心路由协议,基于地理位置的角度贪心路由协议, GEM,MAP, LCR等

3. 以数据为中心的路由协议 DD , Rumor-routing , TTDD ,支持查询的近似路由算法等

4. 能量感知路由协议 Energy aware routing , GEAR,等

5.容错路由协议 建立多条路径,重复传输数据包,基于编码的机会路由协议( MORE )等

Page 15: WSN 中的路由协议 张道远 firstcoming@ gmail

泛洪路由 (Flooding)

扩散法 (Flooding) 是一种传统的网络路由协议,不需要知道网络拓扑结构和使用任何路由算法

典型的路由协议分析

协议内容:一节点 S希望发送一块数据给节点 D ,节点 S首先通过网络将数据副本传送给它的每一个邻居节点,每一个邻居节点又将其传输给各自的每一个邻居节点,除了刚刚给它们发送数据副本的节点 S外。如此继续下去,直到将数据传输到目标节点 D为止或者为该数据所设定的生命期限(在传感器网络里面通常定义为最大跳数)变为零为止或者所有节点拥有此数据副本为止。

Page 16: WSN 中的路由协议 张道远 firstcoming@ gmail

洪泛路由( Flooding )的优点:

①实现简单②不需要为保持网络拓扑信息和实现复杂的路由发现算法而消耗计算资源③适用于健壮性要求高的场合。

洪泛路由( Flooding )的不足:

①存在信息爆炸 (Implosion) 问题,即出现一个节点可能得到一个数据多个副本的现象②出现部分重叠 (Overlap) 现象,如果处于同一观测环境的两个相邻同类传感器节点 同时对一个事件作出反应,二者采集的数据性质相同,数值相近,那么,这两个节 点的邻居节点将收到双份数据副本③盲目使用资源,即扩散法不考虑各节点能量可用状况因而无法作出相应的自适应 路由选择。

洪泛路由( Flooding )的应用情况:

①网络资源过于浪费,实际很少直接采用②具有极好的健壮性,可用于军事应用③作为衡量标准评价其它路由算法

Page 17: WSN 中的路由协议 张道远 firstcoming@ gmail

Gossiping 路由协议:

Gossiping 协议是对 Flooding 协议的改进 , 节点将产生或收到的数据随机转发给一个或者若干个相邻节点 ,避免了内爆 ,但增加了时延,且无法避免重叠问题。

SPIN 协议( sensor protocol for information via negotiation )

SPIN 是最早的以数据为中心的自适应路由协议,通过协商机制来解决洪泛算法中的“内爆”和“重叠”问题,节省了能量的消耗。

a. 为了避免出现扩散法的信息爆炸问题和部分重叠现象,传感器节点在传送数据之前彼此进行协商,协商制度可确保传输有用数据b. 节点间通过发送元数据 (即描述传感器节点采集的数据属性的数据, meta-data) ,而不是采集的整个数据进行协商。由于元数据大小小于采集的数据,所以,传输元数据消耗的能量相对较少。为避免盲目使用资源,所有传感器节点必须监控各自的能量变化情况。

Page 18: WSN 中的路由协议 张道远 firstcoming@ gmail

c. 在传输或接收数据之前,每个节点都必须检查各自可用的能量状况,如果处于低能量水平,必须中断一些操作,比如充当路由器的角色,停止对其他节点的一些数据转发操作

SPIN 协议簇有 4 种不同的形式:

SPIN-PP ( A 3-Stage Handshake Protocol for Point-to-Point Media ): 适合点对点信道SPIN-EC ( SPIN-PP with a Low-Energy Threshold ): 在 SPIN-PP 基础上增加了能量限制SPIN-BC ( A 3-Stage Handshake Protocol for Broadcast Media ): 适合于广播信道SPIN-RL ( SPIN-BC for Lossy Network ):考虑信道上存在分组丢失

d. SPIN 有 3 种数据包类型,即 ADV 、 REQ 和 DATA. 节点用 ADV宣布有数据发送,用 REQ请求希望接收数据,用 DATA封装数据ADV :用于新数据广播。当一个节点有数据可共享时,它可用 ADV 数据包 ( 包含元 数据 ) 对外广播REQ :用于请求发送数据。当一个节点希望接收 DATA 数据包时,发送 REQ 数据包DATA :包含附上元数据头 (meta-data header) 的传感器采集的数据的数据包

Page 19: WSN 中的路由协议 张道远 firstcoming@ gmail

SPIN-PP 采用点到点的通信模式,并假定两节点间的通信不受其他节点的干扰,分组不会丢失,功率没有任何限制

1. 在发送一个 DATA 数据包之前,一个传感器节点首先对向邻居节点广播 ADV 数据包;2. 如果一个邻居节点在收到 ADV后有意愿接收该 DATA 数据包,那么它向该节点发送 一个 REQ 数据包,接着节点向该邻居节点发送 DATA 数据包。3. 类似地进行下去, DATA 数据包可被传输到远方汇节点或基站。

Page 20: WSN 中的路由协议 张道远 firstcoming@ gmail

SPIN-EC 在 SPIN-PP 的基础上考虑了节点的功耗,只有能够顺利完成所有任务且能量不低于设定阈值的节点才可参与数据交换

SPIN-BC 设计了广播信道,使所有在有效半径内的节点可以同时完成数据交换。为了防止产生重复的 REQ请求,节点在听到 ADV 消息以后,设定一个随机定时器来控制 REQ请求的发送,其他节点听到该请求,主动放弃请求权利

SPIN-RL 它是对 SPIN-BC 的完善,主要考虑如何恢复无线链路引入的分组差错与丢失。记录 ADV 消息的相关状态,如果在确定时间间隔内接收不到请求数据,则发送重传请求,重传请求的次数有一定的限制

SPIN 协议的优点:

1. 小 ADV 消息减轻了内爆问题 ;2. 通过数据命名解决了交叠问题;3. 节点根据自身资源和应用信息决定是否进行 ADV 通告,避免了资源利用盲目问 题,有效地节约了能量。

Page 21: WSN 中的路由协议 张道远 firstcoming@ gmail

SPIN 协议的不足:

在传输新数据的过程中,直接向邻居节点广播 ADV 数据包,而没有考虑其所有邻居节点由于自身能量的原因,不愿承担起转发新数据的功能,则新数据无法传输,将会出现“数据盲点”,进而影响整个网络信息的收集

MTE(Minimum Transmission Energy) 路由协议:

在 MTE 协议中,节点选择离自己平面距离最近的节点进行路由中转

当且仅当如下公式满足时,节点 A 将会选择B 转发自己的数据到节点 C

Page 22: WSN 中的路由协议 张道远 firstcoming@ gmail

右图为 MTE 协议示意图

MTE 路由协议的优点:简单、开销小,每个节点只需要找到通往 Sink节点的下一跳节点,然后把数据发给它

MTE 路由协议的不足:靠近 Sink 节点的传感器节点会一直承担路由器的角色,节点之间负载不平衡,靠近 Sink 节点的传感器节点可能很快就耗尽自己的能源而死亡,缩短整个网络的生命周期

DD ( Directed Diffusion )定向扩散路由协议:

Directed Diffusion 是一种以数据为中心的路由协议,与已有的路由协议有着截然不同的实现机制,其突出特点是引入了梯度来描述网络中间节点对该方向继续搜索获得匹配数据的可能性。

Page 23: WSN 中的路由协议 张道远 firstcoming@ gmail

DD 协议内容:

节点用一组 <属性,值 >来命名它所生成的数据。1. 建立路由时, sink 节点 flooding 包含属性列表、上报间隔、持续时间、地理区域等 信息的查询请求 Interest (该过程本质上是设置一个监测任务,通过分配不同属性 值来表示不同任务的描述符)。2.每个传感器节点在收到嗜好( Interest )后保存在各自的 Cache 中。每个嗜好项 (interest entry) 包含一个时间标签域 (timestamp field) 和若干个梯度域 (gradient field , 按成本最小化和能量自适应原则引导数据扩散的方向 ) 。3.当一个嗜好传遍整个网络后,从源节点 (即嗜好所在区域的传感器节点 ) 到 sink 节点 或基站之间的梯度就建立起来了。4. 一旦源节点采集到嗜好所需的数据,那么源节点沿着该嗜好的梯度路径传输数据到 sink 节点或基站。其中,源节点采集的数据首先在本地采用数据融合技术进行整合, 然后在网上传输。

右图描述 DD 路由协议的工作原理

Page 24: WSN 中的路由协议 张道远 firstcoming@ gmail

在 Directed Diffusion 中,可以对路径进行修复。在建立多条数据源到 Sink 节点的路径之后, Sink 节点可以选择增强其中的一条路径用于数据的传输,而同时保持另外一条低速数据传输的路径。当高速路径,也就是经过增强的路径出现故障时, Sink节点可以增强低速路径,保证源节点到 Sink 节点的数据传输。虽然保持低速路径的过程需要消耗一些能量,但是在故障时,可以节省很多能量开销。对于故障比较频繁的网络,保持一条低速路径是很有好处的。DD 与 SPIN 的最大区别: DD 采用基于需求的数据查询机制。在 DD 中,由 Sink 节点发出数据查询请求,而在 SPIN 中,节点广播自己的数据,以允许其他节点来查询。DD 路由协议的优点:1. 采用多路径 ,健壮性好 ;2. 节点只需要和邻居节点通信,因而不需要全局的地址机制,使用查询驱动机制按 需建立路由 ,避免了保存全网信息;3.每个节点都可以进行数据融合操作,能减少数据通信量,节省能量消耗;4.sink 点根据实际情况采取增强或减弱方式能有效利用能量;5. 节点不需要维护网络的拓扑结构,数据的发送是基于需求的,因此它是一个非常 节能的路由协议。

DD 路由协议的优点:1. 基于查询驱动模型的,不适用于环境监测的 WSN;2.Gradient 的建立开销很大 , 不适合多 sink 点网络;3. 数据聚合过程采用时间同步技术 ,会带来较大开销和时延;4. 不同的应用中需要定义不同的命名方案,也就是 <属性,值 > 对,从而限制了它 的应用。

Page 25: WSN 中的路由协议 张道远 firstcoming@ gmail

Rumor 路由协议(谣传路由):

Rumor Routing 是在 Directed Diffusion 的基础上演化而来的。通常情况下,Directed Diffusion 协议需要向整个网络广播兴趣,而在某些应用中,只有少量的数据需要从源节点传递到 Sink 节点。在这种情况下,没有必要向整个网络广播兴趣。当WSN 中的事件(对应着数据的传递)数量很少,而查询(对应着兴趣的广播)数量很多的时候,可以采用广播事件的方法,以节省能量的消耗。 Rumor Routing 是一个介于事件广播(向整个网络广播事件)和兴趣广播(向整个网络广播兴趣)之间的一种路由协议

Rumor Routing核心思想:

1.借鉴了欧氏平面图上任意两条曲线交叉几率很大的思想2.当节点监测到事件后将其保存,并创建称为 Agent 的生命周期较长的包括事件和 源节点信息的数据包,将其按一条或多条随机路径在网络中转发3. 收到 Agent 的节点根据事件和源节点信息建立反向路径,并将 Agent再次随机发 送到相邻节点,并可在再次发送前在 Agent 中增加其已知的事件信息4.sink 点的查询请求也沿着一条随机路径转发 ,当两路径交叉时则路由建立5. 如不交叉 ,sink 点可 flooding 查询请求

Page 26: WSN 中的路由协议 张道远 firstcoming@ gmail

Rumor 协议中 Agent 传播和 Agent 路径与查询路径的交叉

在多 sink 点、查询请求数目很大、网络事件很少的情况下, Rumor 协议较为有效 .

但如果事件非常多 , 维护事件表和收发 Agent带来的开销会很大。

Page 27: WSN 中的路由协议 张道远 firstcoming@ gmail

GPSR(Greedy Perimeter Stateless Routing) 路由协议:

GPSR 协议核心思想:

GPSR 协议是一个典型的基于位置的路由协议。使用 GPSR 协议,网络节点都知道自身地理位置并被统一编址,各节点利用贪心算法尽量沿直线转发数据。产生或收到数据的节点向以欧氏距离计算最靠近目的节点的邻节点转发数据,但由于数据会到达没有比该节点更接近目的点的区域 (称为空洞 ) ,导致数据无法传输,当出现这种情况时,空洞周围的节点能够探测到,并利用右手法则沿空洞周围传输来解决此问题

空洞出现和绕开空洞

Page 28: WSN 中的路由协议 张道远 firstcoming@ gmail

GPSR 协议优点:

1.避免了在节点中建立、维护、存储路由表,只依赖直接邻节点进行路由选择, 几乎是一个无状态的协议;2. 使用接近于最短欧氏距离的路由,数据传输时延小 ; 并能保证只要网络连通性不 被破坏,一定能够发现可达路由。

GPSR 协议的不足:

1.当网络中 sink 点和源节点分别集中在两个区域时,由于通信量不平衡易导致部分 节点失效,从而破坏网络连通性;2. 需要 GPS 定位系统或其他定位方法协助计算节点位置信息。

Page 29: WSN 中的路由协议 张道远 firstcoming@ gmail

TBF ( Trajectory based forwarding )路由协议:

TBF 路由协议核心思想:

1.TBF 是一个基于源站和基于位置的路由协议 . 与 GPSR 协议不同 ,TBF 协议不是沿着 最短路径传播2. 与通常的源站路由协议不同 ,TBF 协议利用参数在数据包头中指定了一条连续的传 输轨道而不是路由节点序列3. 网络节点利用贪心算法根据轨道参数和邻节点位置 , 计算出最接近轨道的邻节点 作为下一跳节点

TBF 协议的优点:

1. 可利用 GPSR 协议的方法或其他方法避开空洞 ;2. 通过指定不同的轨道参数 ,很容易实现多路径传播、广播、对特定区域的广播 和多播 ;3. 源站路由避免了中间节点存储大量路由信息 ;4. 指定轨道而不是节点序列 , 数据包头的路由信息开销不会随着网络变大而增加 , 允许网络拓扑变化 ,避免了传统源站路由协议的缺点

Page 30: WSN 中的路由协议 张道远 firstcoming@ gmail

TBF 路由协议的不足:

1.随着网络规模变大 , 路径加长 , 沿途节点进行计算的开销也相应增加2. 需要 GPS 定位系统或其他定位方法协助计算节点位置信息

下图是 TBF 协议沿着任意曲线传输数据

多路径传播 广播 对特定区域的广播 多播

Page 31: WSN 中的路由协议 张道远 firstcoming@ gmail

能量感知路由协议( shah等人提出):

Shah 协议的核心思想:

1. 协议的目的主要在于改善 Directed Diffusion 协议的耗能情况,采用地理位置和数 据类型 (即节点类型 )标识节点。2.Shah等人认为该协议是按需路由协议,但其含义更多的是查询驱动的,我们将其 与 Directed Diffusion 都列为主动路由协议。3.sink 节点 (Cost(sink)=0)利用受控的 flooding 发起建立路由请求,产生或转发路由请 求节点 Ni 的所有邻节点 Nj 测量与 Ni 的通信开销以及 Ni 的剩余能量 :Metric(Nj,Ni) 。4.Nj 根据式 (a) 计算代价 Nj 节点选择其较小的一些邻节点反向构造路由表 FTj 。5. 邻节点 Ni被赋予由式 (b) 计算的路由概率 6.此后 Nj 节点由式 (c) 计算自身代价 Cost(Nj)7.然后, Nj转发包含自身代价信息的请求。在通信阶段 , 节点 Nj根据 选择一条 路径进行数据发送

,Nj NiC,Nj NiP

,Nj NiP

Page 32: WSN 中的路由协议 张道远 firstcoming@ gmail

Shah 路由协议的优点:

1. 与 Directed Diffusion相比 ,该协议虽然存在多条路径 ,但只选用一条 , 能够有效节约 能源 40% 以上 ;2.随机选择路由方式平衡了通信量

Shah 路由协议的不足:

1.sink 点需要周期性 flooding 维护路由信息 ;2. 需要进行节点间收发开销和剩余能量测量 ;4. 根据概率随机选择一条路径导致其可靠性不如 Directed Diffusion 协议 .

Page 33: WSN 中的路由协议 张道远 firstcoming@ gmail

LEACH ( Low-Energy Adaptive Clustering Hierarchy )路由协议:

LEACH 是一种基于聚类 (Clustering) 路由协议,在 WSN 路由协议占有重要地位,其他基于聚类的路由协议如 TEEN 、 APTEEN 、 PEGASIS等大都由 LEACH 发展而来

LEACH 路由协议的核心思想:

1.LEACH 协议分为两个阶段操作,即类准备阶段 (set-up phase) 和就绪阶段 (ready phase) 。为了使能耗最小化,就绪阶段持续的时间比类准备阶段长。类准备阶段 和就绪阶段所持续的时间总和称为一轮 (round)2. 在类准备阶段, LEACH 协议随机选择一个传感器节点作为类头节点 (cluster head node) ,随机性确保类头与基站之间数据传输的高能耗成本均匀地分摊到所有传感 器节点。3. 具体的选择办法是:一个传感器节点随机选择 0 和 1 之间的一个值,如果选定的值小于某一个 阈值 T(n) ,那么这个节点成为类头节点。 T(n)值按右边公式计算:

N :网络中传感器节点的总数;p :一轮中网络的类头节点数;r :己完成的轮数;Gr :在剩余的 N/k-r 个回合中未成为类头节点的传感器节点组成的集合;

Page 34: WSN 中的路由协议 张道远 firstcoming@ gmail

4. 在类头节点选定后,该类头节点对网络中所有节点进行广播,广播数据包含有该节 点成为类头节点的信息。一旦传感器节点收到广播数据包,根据接收到的各个类头 节点广播信号强度,该节点选择信号强度最大的类头节点加入,向其发送成为其成 员的数据包。类形成后,类头节点采用 TDMA策略分配通道使用权给类内节点。5. 一旦处于就绪阶段,类头节点开始接收类内各节点采集的数据,然后采用数据融合 和数据压缩等技术进行汇聚,将整合后的数据传输给 Sink 节点。在就绪阶段持续了 一段时间后,网络又进入了另一次的类准备阶段。

LEACH 路由协议模型

Page 35: WSN 中的路由协议 张道远 firstcoming@ gmail

LEACH 协议的优点:

随机选择簇头,平均分担路由业务,减小了能耗

LEACH 协议的不足:

①不适合大范围的应用;②集群分组方式带来了额外开销以及覆盖问题③仅适用于每个节点在单位时间内需要发送的数据量基本相同的情况,而不适合 突发数据通信。

PEGASIS ( power-efficient gathering in sensor information system )协议

PEGASIS 由 LEACH 发展而来,它是 LEACH 协议的一种改进版本,仍然采用动态选举簇头的思想 ,但为避免频繁选举簇头的通信开销 , 采用无通信量的簇头选举方法 , 且网络中所有节点只形成一个簇 ,称为链 .该协议要求每个节点都知道网络中其他节点的位置 , 通过贪心算法选择最近的邻节点形成链 . 动态选举簇头的方法 : 设网络中 N 个节点都用 1~N 的自然数编号 ,第 j轮选取的簇头是第 i 个节点 ,i=j mod N(i 为 0 时 , 取 N).簇头与 sink 点一跳通信 ,利用令牌控制链两端数据沿链传送到簇头本身 , 在传送过程中可聚合数据 .当链两端数据都传送完成时 ,开始新一轮选举与传输。

Page 36: WSN 中的路由协议 张道远 firstcoming@ gmail

PEGASIS 的基本原理:

PEGAGIS假定组成网络的传感器节点是同构和静止的。节点发送能量递减的测试信号,通过检测应答来确定离自己最近的相邻节点。通过这种方式,网络中的所有节点能够了解彼此的位置关系,进而每个节点依据自己的位置选择所属的聚类,聚类的簇头参照位置关系优化计算出到 sink 节点的最佳链路。

右图为 PEGAGIS 中的聚类

由于节点了解彼此的位置信息,因而可以形成到簇头节点的最佳链路。

图中,节点 N1 到 N5 都采集到相关的数据需要发送给簇头节点,节点 N1 可以将数据发送给 N2 , N2 收到后将其与本身采集的数据进行数据融合操作,然后发送给 N5 ,同样的N3 将数据发送给 N4 , N4融合后将数据发送给 N5 , N5 收到 N2 和 N4 的数据后,和自己的数据进行融合,然后发送给簇头,簇头然后将数据发送给 Sink 节点。

Page 37: WSN 中的路由协议 张道远 firstcoming@ gmail

PEGASIS 的优点:

不需要周期性地动态选择簇头节点,采用最佳链路进行数据传输,并且采用数据融合技术减少了数据的发送和接收,因此,整个网络的功耗比 LEACH 要小很多。研究结果表明, PEGASIS 支持的传感器网络的生命周期是 LEACH 的近两倍。

PEGASIS 的不足:

1. 节点维护位置信息(相当于传统网络中的拓扑信息)需要额外的资源;2.固定不变的簇头使得簇头成为关键点,其失效会导致路由失败;3. 且要求节点都具有与 sink 点通信的能力;4. 如果链过长,数据传输时延将会增大,不适合实时应用;5. 成链算法要求节点知道其他节点位置,开销非常大。

Page 38: WSN 中的路由协议 张道远 firstcoming@ gmail

TEEN ( threshold sensitive energy efficient sensor network protocol )协议:

TEEN 协议是一个层次路由协议,利用过滤方式来减少数据传输量

TEEN 协议的基本原理:

1. 采用与 LEACH 协议相同的聚簇方式 ,但簇头根据与 sink 点距离的不同形成层次结构2. 聚簇完成后 ,sink 点通过簇头向全网节点通告两个门限值 ( 分别称为硬门限和软门限 ) 来过滤数据发送3. 在节点第 1次监测到数据超过硬门限时 , 节点向簇头上报数据 , 并将当前监测数据保 存为监测值 (sensed value, 简称 SV)4.此后只有在监测到的数据比硬门限大且其与 SV 之差的绝对值不小于软门限时 , 节点 才向簇头上报数据 , 并将当前监测数据保存为 SV 。

Page 39: WSN 中的路由协议 张道远 firstcoming@ gmail

TEEN 协议中由聚簇构成的层次结构

TEEN 协议的优点:

1. 通过利用软、硬门限减少了数据传输量 , 且层次型簇头结构不要求节点具有大功率 通信能力2. 数据传送量比主动网络少,节省大量能源。适用于响应型 (Reactive) 应用

TEEN 协议的不足:

如果某个节点的检测数据始终达不到硬门限,用户将无法得到任何数据,也无法知道这个节点是否失效,因此这个方法不适用于需周期性采样的网络。

Page 40: WSN 中的路由协议 张道远 firstcoming@ gmail

TTDD ( two-tier data dissemination )路由协议:

TTDD 协议是一个层次路由协议 , 主要是解决网络中存在多 sink 点及 sink 点移动问题

TTDD 协议的基本原理:

1.当多个节点探测到事件发生时 , 选择一个节点作为发送数据的源节点 , 源节点以自 身作为格状网 (grid) 的一个交叉点构造一个格状网 .2. 其过程是 : 源节点先计算出相邻交叉点位置 ,利用贪心算法请求最接近该位置的节 点成为新交叉点;3.新交叉点继续该过程直至请求过期或到达网络边缘 .4.交叉点保存了事件和源节点信息 . 进行数据查询时 ,sink 点本地 flooding 查询请求到 最近的交叉节点 ,此后查询请求在交叉点间传播 , 最终源节点收到查询请求 , 数据反 向传送到 sink 点 .Sink 点在等待数据时 , 可继续移动 , 并采用代理 (Agent)机制保证数 据可靠传递

Page 41: WSN 中的路由协议 张道远 firstcoming@ gmail

下图为 TTDD格状网建立与数据查询

源节点 B 发起建立格状网 Sink 点向源节点 B 查询数据

TTDD 协议的优点:

与 Directed Diffusion 协议相比 ,该协议采用单路径 , 能够提高网络生存时间

TTDD 协议的不足:

1. 计算与维护格状网的开销较大 ;2. 节点必须知道自身位置 ;3.非 sink 点位置不能移动 ;4. 要求节点密度较大

Page 42: WSN 中的路由协议 张道远 firstcoming@ gmail

SAR 路由协议:

SAR 协议是第 1 个在 WSNs 中保证 QoS 的主动路由协议

SAR 路由协议的基本原理:

1.sink 点的所有一跳邻节点都以自己为根创建生成树2. 在创建生成树过程中考虑节点的时延、丢包率等 QoS参数以及最大数据传输能力3. 各个节点从而反向建立了到 sink 点的具有不同 QoS参数的多条路径4. 节点发送数据时选择一条或多条路径进行传输

SAR 路由协议的优点:

能够提供 QoS 保证

SAR 路由协议的不足:

1. 节点中的大量冗余路由信息耗费了存储资源2. 路由信息维护、节点 QoS参数与能耗信息的更新均需较大开销

Page 43: WSN 中的路由协议 张道远 firstcoming@ gmail

最大化生存时间路由协议( chang etl al ):

最大化生存时间路由协议由 Chang等人提出,与 Shah等人的思想有相似之处 ,认为最小化传输能量并不完全适合WSNs,必须考虑网络的生存时间

最大化生存时间路由协议的基本原理:

1. 根据节点剩余能量与链路发送数据能量要求定义代价函数2. 最重要的贡献在于 ,利用网络流建模 , 采用线性规划方法来解决最大生存时间问题 : 定义代价函数为 f(eij,Ei), 其中 eij 是节点 i,j 发送数据消耗的能量 ,Ei 是节点 i剩余的能 量 ,代价函数是关于 eij 的增函数、 Ei 的减函数 .

最大化生存时间路由协议的评价:

数据流在传输过程中动态改变流向以达到最大化网络生存时间 ,

但需要知道各个节点的数据产生速率

Page 44: WSN 中的路由协议 张道远 firstcoming@ gmail

TinyOS Beaconing 路由协议:

TinyOS Beaconing 路由协议较为简单1.首先对节点进行编址2.sink 点周期性 flooding 路由更新消息3. 信号覆盖范围内的节点接收到更新消息后 , 将发送消息的节点作为父节点保存到 路由表中 ,然后将该消息在物理信道上广播 , 从而构成了一个以 sink 点为根的广度 优先的生成树

TinyOS Beaconing 协议的路由生成树建立过程

TinyOS Beaconing 路由协议的优点:

在小规模网络中简单、易用

TinyOS Beaconing 路由协议的不足:

1. 在较大网络中将导致节点和 sink 点间跳数增加 ;2. 广播式路由更新消息消耗网络能量 ;3. 路径建立只与接收到 beaconing 的时序有关 , 不进行任何优化 ,扩展性差 ;4.sink 点周围的节点由于过多地参与数据传输 , 耗能较多 ,容易失效

Page 45: WSN 中的路由协议 张道远 firstcoming@ gmail

最小代价路由协议( Ye et al ):

Ye等人提出的最小代价路由协议与很多协议的思想相同 , 以跳数或能耗作为代价尺度 , 最终达到最小化代价的目的 , 其特别之处在于采用退避算法进行代价通告

最小代价路由协议的基本原理:

1. 在初始阶段 ,除 sink 点将自身代价设为 0 以外 , 其余节点都将自己到 sink 点的代价设 为∞ .2.sink 点利用无线信道广播包含自身代价的 ADV 消息 , 消息在网络中受控地扩散 .3.当节点 N 从节点 M 接收到包含M代价的 ADV 消息时 ,知道有一条经M 到 sink 点的路 径 ,代价为 Lm+Cn,m, 其中 Lm 为 M 到 sink 点的代价 ,Cn,m 为 N 到 M 的代价 .4. 设当前 N 到 sink 点的代价为 Ln, 如果 Lm+Cn,m<Ln,Ln被赋予 Lm+Cn,m, 并启动一个 随机退避定时器 .5.当定时器溢出时将广播包含 Ln 的 ADV 消息 , 如果 Lm+Cn,m>Ln 不做任何动作 .6. 采用退避通告方式是为了避免节点多次广播自身的非最优代价

最小代价路由协议的评价:

该协议与 TinyOS Beaconing相比能节约能量 ,但仍有一些与其相同的缺点并需测量通信代价 ; 由于代价函数只考虑了能耗最少而没有考虑节点剩余能量 ,会使通信量分担不平衡 ,导致某些节点因能量耗尽失效而使网络不能连通

Page 46: WSN 中的路由协议 张道远 firstcoming@ gmail

其他路由协议:

由于 WSNs 与应用高度相关 , 路由协议众多1.Schurgers等人提出的基于梯度的路由协议是 Directed Diffusion 协议的一个变种 , 在 Interest 分发过程中记录了经过的跳数 , 可发现到 sink 点的最小跳数路由2.CADR也是 Directed Diffusion 协议的一个变种 , 其基本思想是尽量激活靠近事件 周围的节点进行路由传输以减少时延3.GEAR 是一种基于位置的协议 , 通过学习能量的使用情况调整路由 , 以达到有效利 用能量的目的4.SPEED 是一种基于位置的协议 , 主要目的是提供拥塞控制和软实时保证5.Beacon Vector Routing 是一种基于地址的点对点协议 ,该类型在 WSNs 中并不常见6.APTEEN 是对 TEEN 协议的改进 , 能够根据用户与应用的不同动态地调整门限值7.还有一些协议和算法将特定应用与路由结合起来考虑 , 如 COUGAR,TinyDB, ACQUIRE,TAG 将 WSNs视为分布式数据库 , 将路由与查询相结合8.还有的协议是将路由与拓扑控制相结合 , 如 GAF,SPAN

Page 47: WSN 中的路由协议 张道远 firstcoming@ gmail

路由协议的分类比较一

典型路由协议的比较

Page 48: WSN 中的路由协议 张道远 firstcoming@ gmail

路由协议的分类比较二

Page 49: WSN 中的路由协议 张道远 firstcoming@ gmail

路由协议的特点比较一

Page 50: WSN 中的路由协议 张道远 firstcoming@ gmail

路由协议的特点比较二

Page 51: WSN 中的路由协议 张道远 firstcoming@ gmail

路由协议的应用范围比较

Page 52: WSN 中的路由协议 张道远 firstcoming@ gmail

无线传感器网络的路由协议比较

Page 53: WSN 中的路由协议 张道远 firstcoming@ gmail

1.TinyOS 是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来 的,主要应用于无线传感器网络方面。2. TinyOS 采用了组件的结构,它是一个基于事件的系统。3. TinyOS 设计的主要目标是代码量小、耗能少、并发性高、鲁棒性好,可以适应 不同的应用。4. 四种技术: 轻线程:解决节点操作可能比较频繁,线程较短,传统进程 / 线程调度无法满足 主动消息:在发送消息的同时传送处理这个消息的相应处理函数 ID 和处理数据, 接收方得到消息后可立即进行处理,从而减少通信量 事件驱动:整个系统的运行是因为事件驱动而运行的,没有事件发生时微处理 器进入睡眠状态,从而可以达到节能的目的 组件化编程:组件就是对软硬件进行功能抽象。整个系统是由组件构成的,通 过组件提高软件重用度和兼容性。程序员只关心组件的功能和自 己的业务逻辑,而不必关心组件的具体实现,从而提高编程效率

Tinyos 平台介绍

Page 54: WSN 中的路由协议 张道远 firstcoming@ gmail

1.完整的系统由一个调度器和一些组件组成,应用程序与组件一起编译成系统2. 组件由下到上可分为硬件抽象组件、综合硬件组件和高层软件组件,高层组件向底层组件发出命令,底层组件向高层组件报告事件。3. 调度器具有两层结构:第一层维护着命令和事件,它主要是在硬件中断发生时对 组件的状态进行处理; 第二层维护着任务 ( 负责各种计算 ) ,只有当组件状态维护工作完成后,任务才 能被调度。3.TinyOS 的组件层次结构就如同一个网络协议栈,底层的组件负责接收和发送最原始的数据位,而高层的组件对这些位数据进行编码、解码,更高层的组件则负责数据打包、路由和传输数据

TinyOS 体系结构

Page 55: WSN 中的路由协议 张道远 firstcoming@ gmail

1.nesC 是一种类似 C 的语言,它是对 C语言的扩展,也是结构化的语言。 nesC 基于 体现 TinyOS 的结构化概念和执行模型而设计2. nesC 主要特征 :(1) 结构和内容的分离:在模块中主要实现代码的编制,它可以使用和提供接口, 在它的实现部分必须对提供接口里的 command 和使用接口里的 event 进行实现。(2) 组件通过接口 (Interface)彼此静态地相连。在连接配置文件中主要是将各个组 件和模块连接起来成为一个整体,它也可以提供和使用接口。这增加运行时效 率,而且允许更好的程序静态分析。(3) 根据接口的设置说明组件功能。接口可以由组件提供或使用。被提供的接口表 现它为使用者提供的功能,被使用的接口表现使用者完成它的作业所需要的功能。(4) 接口有双向性:它们叙述一组接口供给者 (command) 提供的函数和一组被接口 的使用者 (event) 实现的函数。这允许一个单一的接口能够表现组件之间复杂的交 互作用。接口通过是否带参数来实现这个功能。带参数的接口可以提供多个此接 口的实例,每一个实例都有唯一的 id标定,从而可以提供一种“ fan-out” 式的使用; 且它的 command 和 event 在组件中使用时也必须带上这个参数。

Tinyos 的编程语言 nesC 简介

Page 56: WSN 中的路由协议 张道远 firstcoming@ gmail

基于 nesC语言的一般应用程序框架

Page 57: WSN 中的路由协议 张道远 firstcoming@ gmail

ReliableRoute Components

Tinyos 中路由协议的实现

Page 58: WSN 中的路由协议 张道远 firstcoming@ gmail

从基站开始建立路径•寻找最佳的 parent 传输 message•Routing Table: 列出最佳的 neighbours 和 routing info, 需要 SRAM存储器•Table Management: 去除或者添加 neighbours 到 routing table•Estimator: 计算 neighbours 的链路质量 (像跳数 , sequence numbers等) 可以依据不同的策略进行评估•Parent Selection: 决定选择哪个 parent 传输 message•Cycle Detection: 避免循环传送 message ( 如传送 message 给 child ,而不是 parent•Timer: 周期性更新 routing tables, messaging等•Power management :能量管理

Page 59: WSN 中的路由协议 张道远 firstcoming@ gmail

1.LEPS 简介( 1 ) LEPS(Link Estimation and Parent Selection) 协议是 TinyOS 的多跳路由协议,适用于数据聚集应用。 LEPS 协议通过节点间的邻居信息交换机制,建立到 sink 节点的最短通信路径,并考虑链路可靠性因素。( 2 ) LEPS 路由协议的目的是建立一个以汇聚节点为根节点的树型拓扑,每个节点向自己的父节点转发数据。在 LEPS 路由中,节点还维护自己和邻居节点之间的双向链路质量评估,并根据评估值选择邻居节点中跳数最小,链路质量最好的作为父节点。( 3 )三个阶段:a. 拓扑建立:节点主要根据到汇聚节点的跳数信息,建立起到汇聚节点的最短跳数路由; 在节点初始化时,汇聚节点将自己的跳数置为零,除了汇聚节点以外的其他所有节点,都置自己的跳数初始值为最大跳数。汇聚节点的邻居节点在收到汇聚节点的广播后,选择汇聚节点为自己的父节点,并将自己的跳数置为 1 。在下次广播路由状态的时候,这些节点将在路由状态广播中包含自己新的跳数信息。这是一个迭代的过程,直到网络中所有节点都设置了自己到汇聚节点的跳数为止。这样,整个网络就形成了一个以汇聚节点为根节点的树型拓扑结构。一个深度为 N跳的网络至少需要经过 N 个广播周期才能建立完整的树型拓扑结构。

LEPS 路由协议在 tinyos 中的实现

Page 60: WSN 中的路由协议 张道远 firstcoming@ gmail

b. 路由维护:节点评估到邻居节点的通信质量选择最小跳数下通信质量最好的节点为父节点;①.链路质量评估 : 节点统计一定时间内从某个邻居节点接收到的分组占该邻居节点发送往该节点的分组数量的比重。 LEPS 中链路估计包括两部分:发送代价估计和接收代价估计,并用这两个值表示链路的双向通信代价。 LEPS还综合原先链路估计决定新的链路估计值

节点 A 接收节点 B 发送分组的成功率: 节点 A 发送分组到节点 B 的成功率等于节点 B 接收节点 A 的成功率: 节点到邻居节点的双向链路估计是节点发送和接收成功率的乘积: 节点在短时间内收到的分组数量随时间不同抖动比较大,为了减少链路评估的抖动, LEPS路由进一步采用指数加权位移平均 (Exponential Weighted Moving Average, EWMA) 计算最终的链路估计值。在 LEPS 路由中,原先计算的链路估计 (EstOld)占有比例为 α ,而新计算的链路估计 (EstNew)占有比例为 1-α 。最后的链路估计 (EstFinal) 为这二者的加权平均:②. 节点周期性地广播路由状态信息,更新邻居节点到汇聚节点的跳数信息,并根据上述链路质量评估算法对每个邻居节点进行链路质量评估

c. 数据转发: LEPS 路由协议提供当前的父节点信息给网络层程序,供网络层进行路由决策。

Page 61: WSN 中的路由协议 张道远 firstcoming@ gmail

2.LEPS 路由实现分析LEPS 路由协议的实现主要包括两个模块: MultiHop EngineM 和 MultiHopLEPSM

Page 62: WSN 中的路由协议 张道远 firstcoming@ gmail

1.上图是 MultiHop EngineM 和 MultiHopLEPSM 两个模块的连接关系。MultiHopEngineM模块负责转发分组, MultiHopLEPSM 是 LEPS 路由实现的模块。通过配置 MultiHopRouter 将这两个模块连接 (wire)起来

2. MultiHopEngineM模块是路由协议的引擎,通过 Route Control 和 RouteSelect 接口连接到路由协议的实现模块上,并和路由协议模块交互以得到当前的路由状态。MultiHop EngineM只是通过两个接口和路由协议模块交互,它的实现独立于任何路由协议实现,这非常有利于基于 TinyOS 平台的第三方路由协议的开发。

Page 63: WSN 中的路由协议 张道远 firstcoming@ gmail

3. 各个接口的定义:StdControl 是 TinyOS 中的标准控制接口,包括初始化,启动和停止。Send[] 可参数化的接口是 TinyOS 中的标准高层发送消息接口,包括了一系列与发送消息有关的操作。Receive[] 可参数化的接口是 TinyOS 中的标准高层接收消息接口,包括了一系列与接收消息有关的操作。Intercept[] 可参数化的接口是 TinyOS 中的标准本地节点截获消息接口,包括了一系列与截获消息有关的操作。Snoop[] 可参数化的接口是 TinyOS 中的标准本地节点截获异地发送的消息接口,包括了一系列与截获消息有关的操作。RouteControl 是 TinyOS 中的标准接口,包括了一系列路由信息有关的操作。Timer 是 TinyOS 中的标准接口,包括了一系列与定时器有关的操作。RouteSelect 是 TinyOS 中的标准接口,包括了一系列与根据消息寻找路由有关的操作。

Page 64: WSN 中的路由协议 张道远 firstcoming@ gmail

4.LEPS 路由协议是在 MultiHopLEPSM模块中实现的,包括对路由信息的处理以及定时更新父节点两个部分,节点以一定频率广播自己的路由信息,邻居节点收到信息后交到 MultiHopLEPSM模块进行处理

LEPS 发送和接收分组的过程

Page 65: WSN 中的路由协议 张道远 firstcoming@ gmail

5.LEPS 协议路由分组为类型值等于 250 的 AM 分组,该分组是一个嵌套格式, AM 消息的 data 部分封装了 MultiHop Msg 路由分组。 MultiHopMsg 包含 7 个字节的头部,分别表示数据包的源地址、目的地址、编号和经过的跳数。 MultiHopMsg 的数据字段为一个 Route Packet 。节点将根据 RoutePacket 的信息更新对应邻居节点的信息,包括: parent , hop , sendEst , liveliness 。

LEPS 路由状态广播分组数据包格式

Page 66: WSN 中的路由协议 张道远 firstcoming@ gmail

LEPS-FMAC

路由协议采用 LEPS 协议

MAC 层协议采用 FunnelingMAC

程序分析

Page 67: WSN 中的路由协议 张道远 firstcoming@ gmail

贪心算法:

所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解  贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。 贪心算法的基本思路如下:   1. 建立数学模型来描述问题。   2.把求解的问题分成若干个子问题。   3. 对每一子问题求解,得到子问题的局部最优解。   4.把子问题的解局部最优解合成原来解问题的一个解。  实现该算法的过程:  从问题的某一初始解出发;   while 能朝给定总目标前进一步 do  求出可行解的一个解元素;  由所有解元素组合成问题的一个可行解;

附录:

Page 68: WSN 中的路由协议 张道远 firstcoming@ gmail

Thanks!