无线传感网是大规模、无线、自组织、多跳、无分区、无基础设施支持的网络、其中的节点是同构的、成本较低、体积较小、大部分节点不移动、被随意撒布在工作区域,要求网络系统有尽可能长的工作时间。
无线传感器网络微型节点由数据采集单元、数据处理单元、数据传输单元和电源管理单元 4部分组成。
无线传输不规则性建模
不规则性对通信的影响(有两种)
主要思想
S-MAC协议采用以下机制:
① S-MAC协议引入了周期性侦听/睡眠的方法减少空闲监听带来的能耗。
② S-MAC协议沿用IEEE802.11的RTS/CTS机制降低碰撞几率。
③ 通过网络分配矢量避免串音现象。
④ 将长消息分割为若干段消息并集中突发传送,减少协议控制消息的开销。
⑤ S-MAC协议将时间分为若干帧,每帧包括同步阶段、活动阶段和睡眠阶段。
基本步骤
1)节点首先监听一个固定的时间段,如果在该时间段内节点没有接收到邻居发来用于同步的SYNC数据包,节点马上选择一个本地默认的调度方式。同时,节点将自己的调度方式以SYNC数据包的形式进行广播,SYNC数据包的发送采用CSMA/CA机制。
2)如果节点在开始监听的固定时间段内接收到邻居发来的SYNC数据包,节点存储该调度方式信息,并采用此调度方式进行周期性监听和睡眠。
3)如果节点在开始周期性调度后接收到不同调度方式的SYNC数据包,有两种情形。如果节点只有这一个邻居,那么节点放弃自己当前的调度方式,选择新的调度方式。如果节点还有其他邻居,那节点将同时采用不同的调度方式。
优缺点
优点 : 实现简单,减少了空闲监听时间,避免了传输碰撞和串音现象,减少了协议控制开销,节省了能量开销 。
缺点:由于周期性睡眠的原因,S-MAC协议数据的延迟较大,在不同的网络负载下,尤其是负载波动剧烈的情况下算法的效率将降低。
什么是早睡问题
在每个活动阶段的开始,T-MAC按照突发方式发送所有数据,其中TA决定每个M5673-A1周期最小的空闲监听时间,它的取值对于整个协议性能至关重要。相对于S-MAC.T-MAC协议在保持周期长度不变的基础上,根据通信流量动态地调整活动时间,用突发方式发送信息,减少空闲监听时间。但是T-MAC协议这种通过提前结束活动周期来减少空闲监听的方法即带来了早睡问题。在单向通信的时候,假设数据的传输方向是A-*B -*C -*D。当节点A通过竞争首先获得信道的占用权,发送RTS分组给节点B,节点B反馈CTS分组。节点C收到节点B发出的CTS分组后关闭发射模块保持静默。此时,节点D可能不知道节点A和节点B正在通信,在节点A和节点B的通信结束后已处于睡眠状态,节点C只有等到下一个周期才能传输数据到节点D,这样由于节点D的早睡就造成了通信延时。
未来请求发送
当节点C收到B发送给A的CTS分组后,立刻向下一跳的接收节点D发出FRTS分组。FRTS分组包括节点D接收数据前需要等待的时间长度,节点D要在休眠相应长度的时间后醒来接收数据。由于节点C发送的FRTS分组可能干扰节点A发送的数据,所以节点A需要推迟发送数据的时间。节点A通过在接收到CTS分组后发送一个与FRTS分组长度相同的DS (Data-Send)分组实现对信道的占用。DS分组不包括有用信息。节点A在DS分组之后开始发送正常的数据信息。FRTS方法提高了网络吞吐率,但是FRTS分组和DS分组也带来了额外的通信开销。
满缓冲区优先
当节点的缓冲区接近占满时,不是对收到的RTS作应答,而是立即向目标接受者发送RTS消息,并向目标节点传输数据。这个方法的优先是从根本上减小了早睡发生的可能性,而且能够控制网络的流量,缺点就是很大程度上会产生冲突。
Sift协议使用了CW(竞争窗口长度)值固定的窗口,选择合适的发送概率分布,为不同的时隙在整个竞争节点集中筛选出一个发送节点。
节点选择在第r个时隙发送数据的概率Pr为:
P r = ( 1 − α ) α C W 1 − α C W × α − r P_r=\frac{(1-\alpha )\alpha^{CW}}{1-\alpha^{CW}}\times\alpha^{-r} Pr=1−αCW(1−α)αCW×α−r r = 1 , … … , C W r = 1,……,CW r=1,……,CW
基本定义
一套将 数据 从源节点传输(通过网络转发的形式)到目的节点的机制。
主要功能
基本分类
① 以数据为中心的路由协议
② 基于层次结构(树结构)的路由协议
③ 基于地理信息路由协议
④ 基于多路径的路由协议
原理
源节点A需要将数据包p发送至汇聚节点D
节点A首先将p的副本广播,则其邻居节点B接收到p副本
节点B直接将p副本通过广播的形式转发给E、F、C
以此类推,直到p到大汇聚节点D或到达TTL
内爆(Implosion)
节点向邻居节点转发数据包,不管其是否收到过相同的,即所谓信息内爆是指网络中的节点收到一个数据的多个副本的现象。
重叠(Overlap)
感知节点感知区域有重叠,导致数据冗余,即由于无线传感器网络节点密集部署,因此在同一局部区域中,若干个节点对区域内同一个事件做出的反应相同,所感知的信息在数据性质上相似,数值上相同,那么这些节点的邻居节点所接收到的数据副本也具有较大的相关性。
Gossiping路由协议,即闲聊路由协议是对Flooding路由协议的改进,当节点接收到数据之后,并不是像Flooding协议那样,采用广播形式将数据包发送给所有邻居节点,而是按照一定概率随机地将数据包转发给邻居节点中不同于发送节点的某一个节点,这个节点以相同的方式向其邻居节点进行数据转发直到数据到达汇聚节点。
Gossiping路由协议考虑了节点的能量消耗,因此在选择下一跳时只选择一个节点进行数据转发,但在每次选取下一跳节点时,并没有采用路径优化相关算法,因此所选择的路径往往不理想,这将导致数据包的端到端延时增加或者生命周期在没到达目的节点之前就结束。
基本思想
考虑到由于临近节点所感知的数据具有相似性,通过节点间协商的方式减少网络中数据的传输数据量。节点只广播其它节点所没有的数据以减少冗余数据,从而有效减少能量消耗
主要步骤
节点A有新数据,通过ADV发布新数据信息,使用元数据
B节点收到ADV后,发现自己没有该数据,通过REQ向A请求新数据
A节点向B节点传送源数据
B节点再通过ADV发布新数据消息
如果某节点有描述的数据副本就忽略该消息
转发过程
0号节点向1号节点发送传感数据
当1号节点接收到数据后,向其周边邻居节点广播ADV数据包,通知邻居节点自己有传感数据需要转发
当1号节点的邻居节点接收到ADV数据包后,根据自己的情况,自主选择接受数据DATA与否,节点3与节点5选择接收数据DATA,因此其向1号节点发送REQ数据包
当1号节点接收到节点3和节点5发送的REQ,即立刻将DATA发送至这两个节点
兴趣扩散
在该阶段,Sink节点周期性地向邻居节点广播兴趣消息。
兴趣消息中包含有任务类型、目标区域、数据传输率、时间戳等参数。
每个节点都有一个兴趣Cache,兴趣Cache中的每项都对应着不同的兴趣(兴趣表项)。
兴趣Cache中的每个兴趣表项包含如下几个字段:
当一个节点接收到一个“兴趣”时,它按照下面三条原则来处理该“兴趣”:
梯度建立
路径加强
谣传路由协议(Rumor Routing Protocol)是在定向扩散路由协议(DD)的基础上建立起来的,是由Boulis等提出的适用于数据传输量较小的传感器网络。由定向扩散路由协议可以看出,若汇聚节点对网络的数据查询只有一次,并且源节点只需向汇聚节点上报一次数据,使用定向扩散协议的开销就会比较大,谣传路由协议正是为了解决这一问题。该路由协议借鉴了欧式平面几何中的任意两条曲线相交的概率较大的思想,从源节点产生代理数据包(Agent)并发送,汇聚节点发送请求探测数据包,两者都随机进行下一跳节点的选择,直到两个数据包在某一节点上相交,则构成了一条可行路由。
网络周期性地随机选择簇头节点,其他的非簇头节点以就近原则加入相应的簇头,形成虚拟簇,簇内节点将感知到的数据直接发送给簇头,由簇头转发给Sink节点,簇头节点可以将本簇内的数据进行融合处理以减少网络传输的数据量。延长节点的工作时间,并且实现节点的能耗平衡。
选举簇头
每个传感器节点选择[0,1]之间的一个随机数,如果选定的值小于某一个阈值,那么这个节点成为簇头节点,计算如下:
N表示网络中传感器节点的个数
k为一个网络中的簇头节点数
r为已完成的回合数
G为网络生存期总的回合数。一个回合表示一个周期,分为两个阶段:簇的建立和稳定的数据传输阶段。
成簇
节点运行算法,确定本次自己是否成为簇头;
簇头节点广播自己成为簇头的事实;
其他非簇头节点按照信号强弱选择应该加入的簇头,并通知该簇头节点;
簇头节点按照TDMA的调度,给依附于他的节点分配时间片;
稳定状态
节点在分配给它的时间片上发送数据
性能分析
优点
缺点
爬山算法
爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。
模拟退火
模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。在迭代更新可行解时,以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以下图为例,假定初始解为左边蓝色点A,模拟退火算法会快速搜索到局部最优解B,但在搜索到局部最优解后,不是就此结束,而是会以一定的概率接受到右边的移动。也许经过几次这样的不是局部最优的移动后会到达全局最优点D,于是就跳出了局部最小值。
蚁群
局部优化
解决方法:边界转发
空旷域
使用地理位置信息来改进地域多播路由协议,比如Flooding路由等,有目的性的区域性广播数据包。利用目的节点的地理位置信息,定义了转发区域,只有在转发区域内的节点才会转发多播数据包。
静态转发域
通过将目标域与源节点限制在一定范围空间中,从而将节点的数据转发范围缩小,有效降低广播的通信量。
静态转发域为包括源节点和整个目的区域在内的最小矩形区域,它的边与坐标轴平行。在该方式下,只有处于转发区域内的节点才参与数据分组的洪泛转发过程。
自适应转发域
自适应转发域是指转发域会随着数据包的不断转发进行相应的变化。
通过自适应将转发区域根据当前数据发送节点进行调整,可以进一步提高网络数据通信效率,避免冗余数据通信;
但是,由于节点每一次收到新数据时都需要计算自适应转发域的大小,增加了个别节点的计算复杂性程度。
基于前进距离的非显示转发域
基于前进距离的非显示转发域不像前面两种转发域那样具有一种范围较为准确、形状相对规整的区域,而是一种根据每个节点自身计算值,决定是否将数据包向前转发,即这个转发域是时刻在变的且没有固定形状。
该方式并不存在一个显式的转发区域,地理位置信息的作用只被用来计算节点之间距离。对于一个处于目的区域外的节点而言,当它收到一个数据分组时,如果它比上一跳节点相对目的区域的中心点至少前进了一定的距离,它将继续向前广播该分组,否则它将丢弃该分组。
GRID路由协议主要包括3个阶段:
整个网络划分成一个个正方形的小栅格,节点通过每个栅格内的簇头节点构成网络的骨干网络完成数据通信。每个栅格都有自己的编号,栅格内的所有节点都共享这个栅格编号,栅格内的簇头节点负责栅格中分组转发。
栅格簇头节点的选择原则是按照停留在栅格内时间最长的节点作为簇头节点,一旦某节点担当了簇头节点,只有其离开该栅格时才会进行新一轮的簇头选择。
节点以自己和归属栅格中心点的距离设定定时器,定时器到时,选举自己成为簇头,并周期性地发送通告消息,其他节点接收到消息后,则加入该栅格。如果同时有多个节点竞争簇头,在收到其他簇头的通告消息后,距离栅格中心较远的簇头放弃簇头地位,保证栅格中的簇头个数不超过一个。
Sink节点移动策略
采用自适应的跨层优化协议,将网络协议栈作为一个整体来设计,在跨层设计中,各层协议相互联系,互相牵制。在物理层降低信息传输速率课降低能耗,但会对上层应用产生影响。最优的路由路径可能因为很快消耗完某些节点的能量,而不能被采用。因此,在跨层协议设计中,需要在能量、业务要求的约束条件下,对各层进行统一的优化,同时,还需要在各层之间适当地传递和共享信息。
在功率控制、拓扑管理、或者选取网络中哪些节点处于活动状态时,需要考虑满足以下两个因素:
功率控制技术
在满足网络连通的前提下,通过节点功率控制或动态调整节点的发射功率,精简节点间的无线通信链路,保留生成一个高效的数据转发拓扑结构,在保证网络拓扑连通的基础上,使得网络中节点的能量消耗最小。
层次式拓扑管理技术
GAF
休眠调度技术
通过让节点尽量处于关机状态来节省能量
分布式协商算法
关键技术
GAF算法将监测区域划分成虚拟单元格,将节点按照位置信息划入相应的单元格,相邻单元格的任意两个节点可直接通信。
GAF节点有3种状态:工作状态、睡眠状态、发现状态。每个单元格只有一个定期选举产生的簇头节点处于工作状态,其他节点周期性地进入睡眠和发现状态。发现状态的节点可以竞争簇头。
最坏与最佳情况覆盖算法考虑如何对穿越网络的目标或其所在路径上各点进行感应与追踪,体现了一种网络的覆盖性质。 Meguerdichian等定义了“最大突破路径”(Maximal Breach Path)和“最大支撑路径”(Maximal Support Path),分别使得路径上的点到周围最近传感器的最小距离最大化及最大距离最小化。显然,这两种路径分别代表了无线传感器网络最坏(不被检测概率最小)和最佳(被发现的概率最大)的覆盖情况。
最坏覆盖是指如何在网络中找到一条路径,使得沿该路径前进的目标被网络中节点发现的概率最小。该路径称为最大突破路径(maximal breach path) 。
最佳覆盖是指网络中找到一条路径,使得沿该路径前进的目标被网络中节点发现的概率最大。该路径称为最大支撑路径(maximal support path) 。
暴露穿越问题(Exposure):目标穿越网络的“感应强度”。穿越网络时间增加,“感应强度”累加值增大。
基本定义
无线传感器网络的定位是指自组织的网络通过特定方法提供节点位置信息。这种自组织网络定位分为节点自身定位和目标定位,节点自身定位是确定网络中节点的坐标位置的过程。目标定位是确定网络覆盖范围内目标的坐标位置。
基本分类
到达时间测量法(ToA)
已知物理信号的传播速度v,根据信号的传播时间t来计算节点间的距离,即距离d=v×t。此方法要求进行通信的两个节点时间必须高度同步。
到达时间差测量法(TDoA)
发送节点同时发射两种不同速率的无线信号,接收节点根据两种信号的时间到达差和速率,计算这两个节点之间的距离。节点A在T0时刻同时发射无线射频信号和超声波信号,节点B分别记录这两种物理信号的到达时间T1和T2,已知无线射频信号和超声波的速率分别为v1,v2,设两节点之间的距离为d,由 d = v 1 × ( T 1 − T 0 ) = v 2 × ( T 2 − T 0 ) d=v_1\times(T_1-T_0)=v_2\times(T_2-T_0) d=v1×(T1−T0)=v2×(T2−T0)可得:
T 0 = v 2 × T 2 − v 1 × T 1 v 2 − v 1 T_0=\frac{v_2\times T_2-v_1\times T_1}{v_2-v_1} T0=v2−v1v2×T2−v1×T1 d = ( T 2 − T 1 ) × v 1 × v 2 v 1 − v 2 d=(T_2-T_1)\times \frac{v_1\times v_2}{v_1-v_2} d=(T2−T1)×v1−v2v1×v2
纸上
纸上
纸上
纸上
纸上