The Sensor network protocol stack
physical layer
考虑节点的通信环境噪声和节点的移动性,且需要降低能耗,最小化和邻居节点的广播冲突,负责数据成帧,帧检测,媒体访问控制和差错控制;
network layer
路由生成和路由选择
transport layer
数据流的传输控制,是保证通信服务质量的重要部分
application layer
根据传感任务的不同,简历不同的应用
power management plane
管理传感节点如何使用电源,各个协议层都要考虑节省
mobility management plane
监测并注册传感器节点的移动,维护到汇聚节点的路由,使节点能够跟踪邻居节点的位置
task management plane
在一个给定的区域内平衡和调度监测任务
路由协议
寻找源节点和目的节点的优化路径
将数据分组沿着优化路径正确转发
网络的特点 时路由协议设计的重要依据
WSN 网络业务最大的特点就是 :具有明显的方向性
WSN特点:
1.形式多样的信息报告模式:事件触发,周期性,基于查询的,混合模式
不同信息报模式影响路由的触发机制:
2.多对一和一对多的业务模式
所以很多路由协议需要建立具有树状结构的路由;
此外还有“地域多播”的业务模式
用户可能对一个地理信息区域内的信息感兴趣,因此需要吧查询和命令发送道该区域内的所有节点。以洪泛方式(注)可以支持这种业务,但是开销太大;
LBM:基于位置的多播协议
GEAR:基于凸包的地域多播协议
3.数据为中心的设计理念
WSN可以看作时一个大的数据库,我们关心的是得到什么信息了;
该理念对网络层的一个重要影响就是节点的地址分配和分组转发的过程;
一般情况下没有必要为每一个节点分配全局唯一地址,
特定情况下 节点ID和位置具有一定的绑定关系,用ID代替位置;
从实现多跳通信的角度看,需要在局部标识不同的节点;
原始数据存在一定冗余,在满足信息采集的要求前提下,可以在数据转发过程中对其修改,甚至吧多个分组合并成一个分组,从而降低能耗;
4.动态变化的网络拓扑
大部分节点不需要移动,造成拓扑结构变化的主要原因时节点的实效和存在不靠谱 非对称链路,再加上有些节点为了节能,需要对网络进行休眠和调度,在一定程度上增加网络拓扑动态性;
5.能量受限,结构简单
6.密集布设的大规模网络;
路由协议关键问题分析
1.能量有效性 >>>>>>>>从硬件到软件都需要考虑的问题
节能:寻找节能路由,减少路由建立和维护的控制开销,提高路由可靠性
能耗均衡:从空间上调度能量资源,使网络节点能量均衡消耗;
2.可扩展性
分层路由:
地理路由:
3.数据传输可靠性
影响可靠的原因:无线信道的碰撞 + 节点故障路由不可用 + 链路不可靠
解决策略:
建立多路径路由:准备多条路经,其他备份 / 多路径发送副本
选择可靠链路;
分类
1.基于聚簇的:LEACH,PEGASIS,TEEN
2.基于地理位置:基于地理位置贪心路由,GEM,MAP,LCR
3.以数据为中心的:DD,Rumor-routing,TTDD
4.能量感知的:GEAR
5.容错路由:MORE
典型路由分析
Flooding
泛洪路由:源节点把要发送的数据发送给每一个邻居节点,邻居节点也进行同样的操作,直到吧数据发给目的节点或者跳数达到上限或者所有节点都拥有了该数据;
Gossiping
对上改进,节点产生或收到数据随机转发给一个或者多个节点,避免内爆;
SPIN
最早的以数据为中心的自适应路由,
SPIN-PP:发送DATA之前,首先向邻居节点广播ADV数据包——>如果收到ADV后有意向接收该DATA,那么向该节点回应REQ数据包,然后发送节点会向该节点发送DATA;
SPIN-EC:在上基础上考虑能量,能量低于阀值的不参与;
SPIN-BC:广播,使所有有效半径内的节点可以同时完成数据交换,为防止产生重复的REQ,节点听到ADV消息后,设置一个随机定时器来控制REQ的发送,其他节点听到该请求,主动放弃请求权;
SPIN_RL:对上的完善,考虑如何恢复无线链路引入的分组差错和丢失,如果在确定时间间隔内接收不到请求数据,则发送重传请求;
MTE
节点选择距离自己平面距离最近的节点进行路由中转;当Dab + Dbc < Dac的时候会选择B作为中转;但是靠近Sink节点会一直承担路由器的角色,节点之间的负载不平衡,靠近sink的节点很快就耗尽子的能量而死亡,缩短了整个网络的生命周期;
DD定向扩散路由
突出特点时引入了梯度来描述网络中间节点对该方向继续搜多获得匹配数据的可能性;选择一条增强路径用于数据传输,保持另外一条低速的路径,当增强路径故障,可以增强该低速路径,保证数据传输;
–12.19日续
Rumor谣传路由
核心思想:借鉴欧式平面图上任意两条曲线交叉几率很大;
监测到事件,创建一个声明周期较长的包括事件和源节点信息的数据包,并按照一条或者多跳随机路径在网络中转发,在收到数据的节点,很据事件和源节点信息建立反向路径,在次随机发向邻居节点;Sink点的查询请求也沿着一条随机路径转发,当两条路径交叉则建立路由,如不交叉,sink点可flooding查询请求;
GPSR
是一种基于位置的路由协议,网络节点都知道自身的地理位置信息并被统一编码,各个节点按照贪心算法尽量沿着直线转发数据,产生和收到数据的节点按照欧式距离计算最靠近的目的节点的邻居节点转发数据,但是由于数据 会达到没有比该节点更接近目的节点的区域–空洞,导致数据无法正常传输,当出现此种情况,空洞周围的节点能够探测到,利用右手法则沿着空洞周围传输来解决问题;
优点:避免在节点中建立维护存储路由表,直接依赖邻居节点,最近欧式距离,时延小,并且能保证只要连通性不破坏,一定能够发现可达路由;
不足:当源节点和Sink节点分别集中在两个区域,通信量不平衡导致部分节点失效,破坏网络连通性; 需要GPS定位协助计算;
TBF
基于源站和基于位置的路由协议;
与GPSR相比,不是沿着最短路径传播
利用参数在数据包头指定一条连续的传输轨道而不是路由序列
利用贪心算法,根据轨道参数和邻节点位置,计算下一跳;
优:
利用不同轨道参数,很容易实现多路径传播,广播,对特定区域广播和多播;
源站路由避免在中间节点存储大量路由信息;
指定轨道而不是节点序列,数据包头的路由信息不会随着网路变大而增加,允许网络拓扑结构变化;
能量感知路由协议
协议主要目的在于 改善DD协议的能耗问题,采用地理位置和数据类型标识节点;
和DD协议都属于主动路由协议;
Sink节点利用受控的flooding发起建立路由,产生和转发的路由请求;
节点Ni的所有邻居节点 测量与Ni通信开销,以及Ni的剩余能量;
虽然存在多跳路径,但只选用一条,有效节省能量,随机选择路由平衡通信量;
LEACH
基于聚类路由协议,在WSN中占重要地位;
LEACH分为两个阶段:类准备阶段和就绪阶段;
1.为了使能耗最小化,就绪阶段持续时间要比类准备阶段长,类准备阶段和就绪阶段的持续持剑 总称为一轮;
2.类准备阶段:LEACH协议随机选择一个传感器节点作为类头,随机性确保类头和基站之间数据传输的高能耗成本均匀的分摊到所有传感器节点;
3.具体选择办法:一个传感器节点随机选择0和1之间的一个值,如果选择的小于某一个阀值,那么这个节点成为类头节点;
4.在类头节点选定后,该类头节点对网络中所有节点进行广播,广播的数据包括该节点成为类头节点的信息,一旦传感器收到广播,会选择在接收到的中广播信号最强的一个类头节点加入,并向其发送成为其成员的数据包,类形成后,头根据TDMA的策略分配信道使用去给类内节点;
5.一旦出于就绪阶段,类头节点开始接收类内各个节点采集的数据,然后进行汇聚,整合后发送给Sink节点,在就绪阶段持续一段时间后,网络又进入另一次的类准备阶段;
缺点:
》不适合大范围应用
》集群分组方式带来额外开销和覆盖问题;
》仅适用于每个节点在单位时间内需要发送的数据量基本相同,不适合突发数据通信;
TEEN
层次路由协议,利用过滤的方式来减少数据传输量
1.采用和TEACH相同的聚簇方式,但是簇头根据与SInk的距离形成层次结构;
2.然后sink节点通过簇头向全网节点通告两个门限值(硬门和软门)来过滤数据发送;
3.第一次监测到数据超过硬门时,向簇头发送,并保存此值SV
4,只有监测数据比硬门大,并且与第一次保存的值差小于软门,节点才向上报告数据,并将当前这个值更新为SV
优点:
减少了数据传输量;
不足:当某个节点始终无法达到硬门,用户无接收数据,不适用周期性采样网络;
TTDD
层次路由,主要解决网络中存在多SINK和Sink移动问题
1.当多个节点探测到事件发生,选择一个节点作为数据发送的源节点,并以自身的网格交叉点构建一个格状网络;