无线传感网WSN

2023-10-27

第一章:绪论

WSN定义

​ 无线传感网络是由大量的静止或移动的传感器以自组织多跳的方式构成的无线网络。

WSN系统组成

​ 传感器节点、汇聚节点和管理节点

WSN的三个基本要素

​ 传感器、感知对象、用户/观测者

WSN特点

  • 1.自组织性;
  • 2.以数据/任务为中心;
  • 3.应用相关性;
  • 4.动态性;
  • 5.网络规模大;
  • 6.可靠性;
  • 7.集成化;
  • 8.协作方式执行任务
  • 9.多种节点唤醒方式

第三章:WSN拓扑控制与覆盖技术

WSN拓扑结构类型

  • 1.平面网络结构:平面网络结构所有节点为对等结构,具有完全一致的功能特性,也就是说每个节点均包含相同的MAC、路由、管理和安全等协议。

    1.png

  • 2.分级网络结构(层次网络结构):网络分为上层和下层两个部分:上层为中心骨干节点互连形成的子网拓扑,下层为一般传感器节点互连形成的子网拓扑。

    2.png

  • 3.混合网络结构:网络骨干节点之间及一般传感器节点之间都采用平面网络结构,而网络骨干节点和一般传感器节点之间采用分级网络结构。

3.png

  • 4.Mesh网络结构:Mesh网络结构是一种新型的无线传感网络结构。从结构上看,Mesh网络是规则分布的网络,网络内部节点一般都是相同的。Mesh网络结构最大的优点就是尽量使所有节点都是处于对等的地位,且具有相同的计算和通信传输功能,某个节点可被指定为簇首节点,而且可执行额外的功能。一旦簇首节点失效,另外一个节点可以立刻补充并接管原簇首那些额外执行的功能。

4.png

WSN拓扑控制定义及设计目标

1.拓扑控制定义:

无线传感器网络的拓扑控制问题,是在网络相关资源普遍受限的情况下,对于固定或具有移动特征的无线传感器网络通过控制传感器节点与无线通信链路组成网络的拓扑属性来减少网络能量消耗与无线干扰,并有效改善整体网络的连通性、吞吐量与传播延时等性能指标。

总结:在全网协作式地进行各个传感器节点功率控制,从而减小网络能量消耗和无线干扰。

拓扑控制(topology control)是一种协调节点间各自传输范围的技术,用以构建具有某些期望的全局特性(如,连通性)的网络拓扑结构,同时减少节点的能耗或增加网络的传输能力

2.拓扑控制设计目标:

覆盖性、连通性、网络生命期、吞吐能力、干扰和竞争、网络延迟、拓扑性质。

连通性与覆盖性是无线传感很关键的参数。

1.连通度:无线传感网络一般规模较大,传感器节点所获取的数据通常以多跳的方式传送至汇聚节点,这就要求拓扑控制必须保证网络的连通性。如果至少要去掉k个节点才能使网络不连通,就称其为k-连通。拓扑控制要保证网络至少是1-连通的。

2.覆盖度:覆盖度可以看作是对无线传感网络服务质量的度量。在覆盖问题中,最重要的因素是网络对物理世界的感知能力。生成的拓扑必须保证足够大的覆盖度,即覆盖面积足够大的监视区域。覆盖度问题可以分为区域覆盖、点覆盖和栅栏覆盖。如果目标区域中任意一个点均在k个传感器节点的传输范围内,就称网络是k-覆盖网络。

3.吞吐量:吞吐量是指网络承载数据传输的能力,尤其是在有大量数据出现时,吞吐量是影响网络通信能力的因素之一。

4.网络生命周期:网络生命周期的定义有多种,一般将网络生命周期定义为直到死亡节点的百分比低于某个阈值的持续时间,也可以通过对网络服务质量的度量来定义网络的生命期。

5.干扰和竞争:减小干扰和竞争,实际上就是延长网络生命周期。

6.网络延迟:网络负载较低时,减小了跳数,降低了延迟。

7.拓扑性质:除了覆盖性,连通性,还有对称性,平面性等。

WSN拓扑控制主要实现方式

功率调节及睡眠调度机制

1.在保证网络的连通性与覆盖性的情况下,控制节点的发射距离,减少发射功耗,同时减少分组冲突的可能性,减少协议不必要的开销;

2.尽可能让多的节点进行休眠,降低功耗;

3.数据融合,减少分组的冗余。

WSN功率控制经典实现算法

基于节点度的功率控制(基于邻居)

核心思想:给定节点度的上限和下限需求,动态调整节点的发射功率,使得节点的度数落在上限和下限之间。基于节点度的算法利用局部信息来调整相邻节点的连通性,从而保证整个网络的连通性,同时保证节点间的链路具有一定的冗余性和可扩展性。

LMA:本地平均算法(Local Mean Algorithm)
LMN:本地邻居平均算法(Local Mean of Neighbors Algorithm)
这是两种周期性调整节点发射功率的算法,区别在于计算节点的策略不同

基于方向的功率控制

基本思想:节点u选择最小功率Pu,p ,使得在任何以u为中心且角度为p的锥形区域内有一个邻居;而且,当≤5π/6时,可以保证网络的连通性。

CBTC

基于邻近图的功率控制(基于位置)

RNG相关邻近图(Relative Neighborhood Graph)
MST最小生成树(Minimum Spanning Tree)

XTC算法

LEACH实现机制

LEACH(Low Energy Adaptive Clustering Hierarchy)(低能耗自适应聚簇层次结构)是一种自适应分簇拓扑算法,它的执行是周期性的,每轮循环分为簇的建立阶段和稳定的数据通信阶段。

  • 簇的建立阶段:相邻节点动态地形成簇,随机产生簇头
  • 数据通信阶段:簇内节点把数据发给簇头,簇头进行数据融合并把结果发给汇聚节点。

簇头耗能大,所以需要等概率选取簇头。使整个网络的能量负载达到均衡。

LEACH拓扑图:
123

过程:节点产生0~1的数,如果这个数小于阈值Tn,则发布自己是簇头的消息;在每轮循环中,如果节点已经当选过簇头,则把Tn置0,这样该节点不可能再当选簇头。

pict5.png

p:期望的簇头在所有节点中所占的百分比

r:选举轮数

r mod (1/p):这一轮循环中当选过簇头节点的个数
Gr:这一轮循环中未当选过簇头的节点集合

对于没有当选过簇头的节点,其当选簇头的概率是Tn,并随着当选过节点的数目的增加,Tn随之增大。

LEACH协议缺点:
1、簇头选举随机性很强,可能会出现簇头集中在某一个区域的现象,造成簇头分布不均匀。
2、信息的融合和传输都是通过簇头节点来进行,造成了簇头节点能量消耗过快的问题;
3、发射机和接收机必须严格遵守时隙的要求,避免在时间上互相重叠,然而,维持时间同步又增加了一些额外的信令通信量。节点的时间表可能会需要较大的存储器。
4、LEACH要求节点之间和节点与Sink点之间都能进行直接通信,网络的扩展性差,对于大规模网络而言,节点直接进行通信需要消耗大量的能量。并且采用单跳路由方式,增加了交换数据的能量。

HEED分簇:簇头选择中考虑了节点的剩余能量, 并以主从关系引入多个约束条件。实验结果表明, HeeD分簇速度更快, 能产生更加分布均匀的簇头、更合理的网络拓扑。

覆盖感知模型

  • 布尔感知模型
    节点的感知范围是一个以节点为圆心,以感知距离为半径的圆形区域,只有落在该圆形区域内的点才能被该点覆盖。这个模型也成为0-1感知模型。
  • 概率感知模型
    节点的圆形感知范围内,目标被感知到的概率不是一个常量。而是由目标到节点间距离、节点物理特性等诸多因素决定的变量。

覆盖算法分类

按节点部署方式分
  • 1.确定性部署
  • 2.随机性部署
  • 3.混合式部署
按覆盖目标分

​ 面覆盖、点覆盖、栅栏覆盖。

面覆盖中的k-覆盖:指每个节点至少被k个传感器节点覆盖

典型覆盖算法

  • 基于网络的覆盖定位传感器配置算法
  • 圆周覆盖
  • 连通传感器覆盖
  • 轮换活跃/休眠节点的Self-Scheduling覆盖协议
  • 最坏与最佳情况覆盖
  • 暴露穿越覆盖

第四章:WSN通信与组网技术

WSN协议结构

传统网络协议OSI参考模型

开放式系统互联网络参考模型(OSI)共有七个层次,从底向上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

WSN协议的分层结构

从无线联网的角度来看,传感器网络结点的体系由分层的网络通信协议网络管理平台应用支撑平台三个部分组成。

wsn1

网络通信协议

类似于传统Internet网络中的TCP/IP协议体系,它由物理层、数据链路层、网络层、传输层和应用层组成。

wsn2

MAC层和物理层协议采用的是国际电气电子工程师协会(IEEE)制定的IEEE 802.15.4协议。

IEEE 802.15.4是针对低速无线个域网(Low-Rate Wireless Personal Area Network,LR-WPAN)制定的标准。

该标准把低能量消耗、低速率传输、低成本作为重点目标,旨在为个人或家庭范围内不同设备之间低速互连提供统一标准。

IEEE 802.15.4的网络特征与无线传感器网络存在很多相似之处,所以许多研究机构把它作为无线传感器网络的无线通信平台。

(1)物理层。传感器网络的物理层负责信号的调制数据的收发,所采用的传输介质主要有无线电、红外线、光波等。

(2)数据链路层。 传感器网络的数据链路层负责数据成帧、帧检测、介质访问和差错控制。介质访问协议保证可靠的点对点点对多点通信,差错控制保证源结点发出的信息可以完整无误地到达目标结点。

(3)网络层。 传感器网络的网络层负责路由发现和维护,通常大多数结点无法直接与网络通信,需要通过中间结点以多跳路由的方式将数据传送至汇聚结点。

(4)传输层。 传感器网络的传输层负责数据流的传输控制,主要通过汇聚结点采集传感器网络内的数据,并使用卫星、移动通信网络、因特网或者其他的链路与外部网络通信,是保证通信服务质量的重要部分。

(5)应用层。主要使用通信和组网技术向应用系统提供服务。

网络管理平台

网络管理平台主要是对传感器结点自身的管理和用户对传感器网络的管理,包括拓扑控制、服务质量管理、能量管理、安全管理、移动管理、网络管理等。

(1)拓扑控制。
一些传感器结点为了节约能量会在某些时刻进入休眠状态,这导致网络的拓扑结构不断变化,而需要通过拓扑控制技术管理各结点状态的转换,使网络保持畅通,数据能够有效传输。拓扑控制利用链路层、路由层完成拓扑生成,反过来又为它们提供基础信息支持,优化MAC协议和路由协议,降低能耗。

(2)服务质量管理。
服务质量管理在各协议层设计队列管理、优先级机制或者带宽预留等机制,并对特定应用的数据给予特别处理。它是网络与用户之间以及网络上互相通信的用户之间关于信息传输与共享的质量约定。为了满足用户的要求,传感器网络必须能够为用户提供足够的资源,以用户可接受的性能指标工作。

(3)能量管理。
在传感器网络中电源能量是各个结点最宝贵的资源。为了使传感器网络的使用时间尽可能长,需要合理、有效地控制结点对能量的使用。每个协议层次中都要增加能量控制代码,并提供给操作系统进行能量分配决策。

(4)安全管理。
由于结点随机部署、网络拓扑的动态性和无线信道的不稳定,传统的安全机制无法在传感器网络中适用,因而需要设计新型的传感器网络安全机制,采用诸如扩频通信、接入认证/鉴权、数字水印和数据加密等技术。

(5)移动管理。
在某些传感器网络的应用环境中,结点可以移动,移动管理用来监测和控制结点的移动,维护到汇聚结点的路由,还可以使传感器结点跟踪它的邻居。

(6)网络管理。
网络管理是对传感器网络上的设备和传输系统进行有效监视、控制、诊断和测试所采用的技术和方法。它要求协议各层嵌入各种信息接口,并定时收集协议运行状态和流量信息,协调控制网络中各个协议组件的运行。

应用支撑平台

​ 应用支撑平台建立在网络通信协议和网络管理技术的基础之上,包括一系列基于监测任务的应用层软件,通过应用服务接口网络管理接口来为终端用户提供各种具体应用的支持。

物理层

物理层是在物理传输介质之间为比特流传输所需物理连接而建立、维护和释放数据链路实体之间的数据传输的物理连接提供机械的、电气的、功能的和规程的特性。

主要功能

(1)为数据终端设备(Data Terminal Equipment,DTE)提供传送数据的通路;
   (2)传输数据;
   (3)物理层还负责其他一些管理工作,如信道状态评估、能量检测等。

物理层的设计

​ 主要传输介质包括无线电、红外线和光波等。

数据链路层协议

数据链路层主要负责多路数据流、数据结构探测、媒体访问和误差控制,从而确保通信网络中可靠的Point-to-Point与Point-to-Multipoint连接。

1 .媒体访问控制

​ (1)基于TDMA的媒体访问

时分复用(TDMA)访问方案从本质上比基于竞争的方案能节省更多能量;

​ (2)基于混合TDMA/FDMA的媒体访问

​ 是一种完全基于 TDMA 的访问方案,单个无线传感器节点能获得全部通道,同时一种完全频分复用(Frequency Division Multiple Access,FDMA)方案会分配每个节点的最小信号带宽。

​ (3)基于CSMA媒体访问

​ 此方式以载波传感和补偿机制为基础。

2 .误差控制

误差控制是数据链路层另一个极其重要的功能。

自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一。

网络层协议

传输层协议

Event-to-Sink 传输

Sink-to-Sensors 传输

应用层协议

名词解释

  • MAC(Medium Access Control,介质访问控制)
  • CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance,带有碰撞避免的载波监听多点接入)
  • RTS/CTS(Request to Send/Clear to Send,请求发送/允许发送)
  • AP(Access Point,接入点)
  • ESS(Extended Service Set,扩展服务集)
  • BSSID(Basic Service Set identifiers,基本服务集识别码)
  • PCF/DCF(Point Coordination Function/Distributed Coordination Function,点协调功能/分布式协调功能)
  • FDMA(Frequency Division Multiple Access,频分多址)
  • TDMA(Time division multiple access,时分多址)

MAC协议

无线传感器网络中的介质访问控制(Medium Access Control, MAC)协议决定无线信道的使用方式,通过在传感器节点之间建立链路来保证节点公平有效地分配有限的无线通信资源。它决定了无线传感器网络的评价指标,如吞吐量、带宽利用率、公平性和延迟性能等,所以,MAC协议是无线传感器网络中十分重要的协议。

MAC协议的分类
1.信道数---单信道、双信道的MAC协议;  
 2.信道分配方式---基于TDMA的时分复用固定式、基于CSMA的随机竞争式和混合式3种 ;
 3.节点的工作方式---侦听、唤醒和调度3种 ;
 4.控制方式---分布式执行的协议和集中控制的协议。
IEEE 802.11协议

IEEE802.11协议簇的 MAC层协议支持多个用户来共享同一媒体资源,具体做法是由数据发送者在发送数据前先进行网络的可用性检查。采用了带冲突检测的载波监听(CSMA/CA)技术。

1、IEEE 802.11网络拓扑结构

(1) Ad Hoc网络形式 P2P

image-20201209104601546

(2)基础结构网络形式

​ 要求一个无线接入点(AP)充当中心站点,负责移动终端的管理以及协调无线与有线网络之间的通信

image-20201209104657736

(3) 扩展服务集结构形式

​ 通过在有线网络中接入一个无线接入点 (AP),将无线网络连接至 有线网络主干

image-20201209104716604

2、IEEE 802.1l 协议MAC层的工作模式

载波监听多点接入 CSMA(Carrier Sense Multiple Access)是从 ALOHA 演变出的一种改进协议,又称为载波侦听多点访问协议。当信道中有帧存在时,称信道是忙碌的,否则称为空闲的。每站发送前先检测信道状态,是否发送数据根据信道状态来决定。例如,当信道忙碌时,不急于发送而是先退避一段时间再发送,这样可以减少发送的盲目性,CSMA 协议就是根据上述思想实现的。

MAC 层访问机制(DCF/PCF)

SIFS:短帧时间间隔 Short Inter Frame Space

PIFS:PCF帧间间隔 PCF Inter Frame Space

DIFS:DCF帧间间隔 DCF Inter Frame Space

EIFS:扩展的帧间间隔 Extended Inter Frame Space

image-20201209110021488

分布式协调功能(Distributed Coordination Function,DCF),用来传输异步数据,同时也是支持 PCF机制的基础。可以应用于所有的站点,无论其拓扑结构是基本网络配置还是独立基本服务集合(Independent Basic Service Set, IBSS )

DCF 是基于 CSMA/CA 的,它包括两种介质访问机制:基本访问机制(BasicAccessMechanism,BAM)和 RTS/CTS机制 (Reguest To Send/Clear To Send,请求发送/允许发送)。由于采用了退避规程,DCF实现了信道的良好利用率和数据可靠的传输。

(1)基本访问

(2)RTS/CTS访问机制

RTS/CTS访问机制,经常出现隐蔽终端 【隐藏终端和暴露终端

wsn3

​ 为了解决这种隐蔽终端问题,DCF可利用RTS和CTS两个控制帧来进行信道预约。实现机制:

wsn4

(3)退避算法

​ 对于要发送帧的STA而言,当该STA通过物理或虚拟载波机制发现媒质忙时,或STA被指出发送没有成功时,STA将调用退避算法。

点协调功能(Point Coordination Function,PCF),是可选的,它只可用于基本网络配置的拓扑结构。PCF的工作原理主要为轮询机制,即由一个点协调器 (PointCoordinator,PC)来控制令牌的循环。

(1)PCF基本访问;

(2)无竞争期间的网络分配矢量操作;

(3)PCF站点的帧发送过程。

(4)无竞争轮询列表

基于竞争的MAC协议

WSN MAC层实现经典协议S-MAC协议及特点:

S-MAC(Sensor MAC)协议是在802.11 MAC协议的基础上,针对传感器网络的节省能量需求而提出的传感器网络MAC协议。其主要机制有:周期性侦听和睡眠、流量自适应侦听机制、串音避免、消息传递

S-MAC协议假设通常情况下传感器网络的数据传输量少,节点协作完成共同的任务,网络内部能够进行数据的处理和融合以减少数据通信量,网络能够容忍一定程度的通信延迟。它的主要设计目标是提供良好的扩展性,减少节点能量的消耗。

(1)周期性侦听和睡眠
每个节点独立地调度它的工作状态,周期性地转入睡眠状态,在苏醒后侦听信道状态,判断是否需要发送或接收数据。为了便于相互通信,相邻节点之间应该尽量维持睡眠/侦听调度周期的同步。

(2)流量自适应侦听机制
传感器网络往往采用多跳通信,而节点的周期性睡眠会导致通信延迟的累加。在 S-MAC 协议中,采用了流量自适应侦听机制,减少通信延迟的累加效应。

(3)串音避免
为了减少碰撞和避免串音,S-MAC 协议采用与802.11 MAC 协议类似的虚拟和物理载波侦听机制,以及 RTS/CTS的通告机制。两者的区别在于当邻居节点处于通信过程中时,S-MAC协议的节点进入睡眠状态。

(4)消息传递
因为传感器网络内部数据处理需要完整的消息,所以 S-MAC 协议利用 RTS/CTS机制,一次预约发送整个长消息的时间;又因为传感器网络的无线信道误码率高,S-MAC 协议将一个长消息分割成几个短消息在预约的时间内突发传送。

特点:
周期性侦听/睡眠的低占空比工作方式控制节点尽可能处于睡眠状态来降低节点能量的消耗;
邻居节点通过协商的一致性睡眠调度机制形成虚拟簇,减少节点的空闲侦听时间;
通过流量自适应的侦听机制,减少消息在网络中的传输延迟;
采用带内信令来减少重传和避免监听不必要的数据;
通过消息分割和突发传递机制来减少控制消息的开销和信息的传递;

基于时分复用的MAC协议

1.基于分簇网络的MAC协议

2.基于周期性调度的MAC协议

路由协议

路由协议负责将数据分组从源节点通过网络转发到目的节点。

主要包括两个方面的功能:

  • 寻找源节点和目的节点间的优化路径
  • 将数据分组沿着优化路径正确地转发

路由协议分类:

  • 1) 按源节点获取路径的方法:主动路由协议、按需路由协议、混合路由协议

  • 2) 按节点参与通信的方式:直接通信路由协议、平面路由协议、层次路由协议

  • 3) 按路由的发现过程:以位置信息为中心的路由协议、以数据为中心的路由协议

  • 4) 按路由选择是否考虑服务质量约束

    ​ 保证QoS的路由协议是指在路由建立时,考虑时延、丢包率等QoS参数,从多条可行的路由中选择一条最适合QoS应用要求的路由;或者根据业务类型,保证满足不同业务需求的QoS路由协议

平面路由协议

平面路由协议:各个传感器节点的地位是平等的。优点是不存在特殊节点,路由协议的鲁棒性较好,通信流量平均地分散在网络中,缺点是缺乏可拓展性,限制了网络的规模。

1.洪泛路由协议(Flooding Protocol)

​ 是一种最早的协议,收到消息的节点以广播的形式发给邻居节点

​ 优点是实现简单,缺点是在数据广播转发过程中产生的冗余数据包大大加重了网络负荷,导致数据内爆(implosion)问题和数据重叠(overlapping)问题,盲目使用资源

2.闲聊法(Gossiping)

​ 是洪泛路由的改进版。为了减小资源消耗,引入数据随机发送的方法,将数据包发送给某个随机选择的邻居节点。

​ 缺点:随机选择的路径往往不是最优路径,这将导致数据包的端到端传输延迟增加,甚至在数据没有到达目的节点之前就结束了生命周期。

wsn7

3.SPIN(Sensor Protocol for Information via Negotiation)协议

​ 基于协商机制的传感器网络,是一种以数据为中心的自适应通信方式。

​ 在发送一个DATA数据包之前,一个传感器节点首先对外广播ADV数据包(Advertising);如果某个邻居节点在收到ADV后有意愿接收该DATA数据包,那么它向该节点发送一个REQ数据包(Request),然后节点向该邻居节点发送DATA数据包。

​ 优点是解决了传统的Flooding和Gossiping协议带来的信息爆炸,信息重复,资源浪费问题。

​ 缺点是SPIN协议的缺点是没有考虑节能和多种信道条件下的数据传输问题。后来在SPIN的基础上出现了改进的路由协议。

image-20201209145525533

层次路由协议**(hierarchical routing)**

将传感器网络划分成多个簇或层次,每个簇由一个簇首节点和多个簇成员节点构成。簇首节点不仅负责其所在簇内信息的收集和融合处理,还负责簇间数据的转发,实现结果如下图所示。

LEACH协议

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

​ 1.LEACH协议分为两个阶段操作,即簇准备阶段(set-up phase)和就绪阶段(ready phase)。为了使能耗最小化,就绪阶段持续的时间比簇准备阶段长。簇准备阶段和就绪阶段所持续的时间总和称为一轮(round)

​ 2.在簇准备阶段,LEACH协议随机选择一个传感器节点作为簇头节点(cluster head node),随机性确保簇头与基站之间数据传输的高能耗成本均匀地分摊到所有传感器节点。

​ 3.具体的选择办法是:一个传感器节点随机选择 0和1之间的一个值,如果选定的值小于某一个 阈值T(n),那么这个节点成为簇头节点。T(n)值按下面公式计算:

image-20201209151012883

​ N:网络中传感器节点的总数;

​ p:期望的簇头在所有节点中所占的百分比;

​ r:选举轮数;

​ r mod (1/p):这一轮循环中当选过簇头节点的个数

​ Gr:这一轮循环中未当选过簇头的节点集合

​ 4.在簇头节点选定后,该簇头节点对网络中所有节点进行广播,广播数据包含有该节 点成为簇头节点的信息。一旦传感器节点收到广播数据包,根据接收到的各个簇头节点广播信号强度,该节点选择信号强度最大的簇头节点加入,向其发送成为其成员的数据包。簇形成后,簇头节点采用TDMA策略分配通道使用权给簇内节点

​ 5.一旦处于就绪阶段,簇头节点开始接收簇内各节点采集的数据,然后采用数据融合和数据压缩等技术进行汇聚,将整合后的数据传输给Sink节点。在就绪阶段持续了一段时间后,网络又进入了另一次的簇准备阶段。

缺点:

1、簇头选举随机性很强,可能会出现簇头集中在某一个区域的现象,造成簇头分布不均匀。

2、信息的融合和传输都是通过簇头节点来进行,造成了簇头节点能量消耗过快的问题;

3、发射机和接收机必须严格遵守时隙的要求,避免在时间上互相重叠,然而,维持时间同步又增加了一些额外的信令通信量。节点的时间表可能会需要较大的存储器。

4、LEACH要求节点之间和节点与Sink点之间都能进行直接通信,网络的扩展性差,对于大规模网络而言,节点直接进行通信需要消耗大量的能量。并且采用单跳路由方式,增加了交换数据的能量。

能量感知路由
能量消耗源

节点能量消耗源分析,主要包括下面两个部分,正常情况,节点通信相关能量消耗远大于计算相关的。

  • 1)通信相关的能量消耗
  • 2)计算相关的能量消耗
能量路由

能量路由是根据节点的可用能量(PA,Power Available)(即节点的当前剩余能量)或传输路径上的能量需求,选择数据转发的路径。

能量感知路由策略主要有以下几种:

  • 最大剩余节点能量路由:从数据源节点到汇聚节点的所有路径中选取节点剩余能量之和最大的路径;
  • 最小能耗路由:从数据源节点到汇聚节点的所有路径中选取节点能耗值和最小的路径。
  • 最少跳数路由:从数据源节点到汇聚节点的所有路径中选取节点最少的路径。
  • 最大最小剩余节点能量路由:每条路径上有多个节点,且节点的可用剩余能量不同,从中选取每条路径中可用能量最小的节点来表示这条路径的可用能量。

能量路由例题:

wsn8

节点右侧括号内的数字表示节点的可用能量。图中的双向线表示节点之间的通信链路,链路上的数字表示在该链路上发送数据消耗的能量。在图中,从源节点到汇聚节点的可能路径有4条。

路径1:源节点—B—A—汇聚节点,路径上所有节点PA之和为4,在该路径上发送分组需要的能量之和为3;

路径2:源节点—C—B—A—汇聚节点,路径上所有节点PA之和为6,在该路径上发送分组需要的能量之和为6;

路径3:源节点—D—汇聚节点,路径上所有节点PA之和为3,在该路上发送分组需要的能量之和为4;

路径4:源节点—F—E—汇聚节点,路径上所有节点PA之和为5,在该路径上发送分组需要的能量之和为6。

最大剩余节点能量路由:路径2:源节点—C—B—A—汇聚节点
最小能耗路由:源节点—B—A—汇聚节点
最少跳数路由:源节点—D—汇聚节点
最大最小剩余节点能量路由:源节点—F—E—汇聚节点

能量多径路由

根据路径上节点能量消耗和剩余能量,给每个路径设定一个选择概率,使得数据传输均匀地消耗能量,延长网络生存周期。

例题:描述LEACH路由协议及平面路由协议实现过程,画出网络拓扑图,比较他们优缺点。

第五章:WSN支撑技术

WSN支撑技术分类

  1. 时间同步
  2. 定位描述
  3. 数据融合
  4. 能量管理
  5. 容错技术
  6. Qos保证
  7. 安全技术

时间同步

时钟同步问题

对于两个节点的本地时间而言,时钟偏移量表示时钟之间的时间差。同步是指调整一个或者两个时钟,从而使它们的读数匹配。时钟率则表示一个时钟推移的频率,而时钟偏差则表示两个时钟频率之间的差别。

一个时钟的最大漂移率用偏移率用ρ表示。这个数值由振荡器的制造厂商给出。

wsn9

同步有两种,一种是外部的,一种是内部的。

  • 外部同步是指所有节点的时钟都与一个外部时间源(或者参考时钟)同步。
  • 内部同步是指在没有外部参考时钟支持的情况下,所有节点的时钟之间互相同步。网络中所有节点的时间都一样。
时间同步基础
1.同步消息

(1)单向消息交换
最简单的两两时间同步是在两个节点之间同步时只用一个消息,也就是一个节点发送一个时间戳给另一个节点。如下图左图所示。

wsn10

(2)双向消息交换
另一种更加准确的方式是采用两个同步消息。上图的右图。

wsn12

D表示未知的传播时延。通常忽略或者设一默认值。

(3)接收端-接收端同步
接收端-接收端同步准则的协议是根据同一消息到达不同节点的时差来实现同步的。

wsn13

2.通信延时的不确定性

通信延时的不确定性对于时间同步所能达到的精度有很大的影响。

  • 发送延时
  • 访问延时
  • 传播延时
  • 接收延时
时间同步协议
3.传感器网络的时间同步协议(TPSN)

时间同步有两种,一种是外部的,一种是内部的。

外部同步:指所有节点的时钟都与一个外部时间源同步。

内部同步:指在没有外部参考时钟支持的情况下,所有节点的时钟之间互相同步。 网络中所有节点的时间都一样

TPSN:使用树结构组织网络的“发射端-接收端”同步方式。有两个过程:

​ 1)级别探测阶段

​ 第一个阶段生成层次结构,每个节点赋予一个级别,根节点赋予最高级别第0级,第i级的节点至少能够与一个第(i-1)级的节点通信;

​ 2)同步阶段

​ 实现所有树节点的时间同步,第1级节点同步到根节点,第i级的节点同步到第(i-1)级的一个节点,最终所有节点都同步到根节点,实现整个网络的时间同步。

​ 相邻级别节点间的同步机制

​ 邻近级别的两个节点对间通过交换两个消息实现时间同步。

image-20201208195834567

​ 边节点S在T1时间发送同步请求分组给节点R,分组中包含S的级别和T1时间。节点R在T2时间收到分组,T2=T1+d+△,然后在T3时间发送应答分组给节点S,分组中包含节点R的级别和T1、T2和T3信息。节点S在T4时间收到应答,T4=T3=d- △此可以推导出下面算式:

image-20201208195655100image-20201208195710382

​ △:偏移量 d:延迟

​ 节点S在计算时间偏差之后,将它的时间同步到节点R。

定位技术

定位算法分类
  • 1.基于测距的定位和距离无关的定位算法
  • 2.基于锚节点定位和无锚节点辅助的定位算法
  • 3.集中式计算定位与分布式计算定位
  • 4.紧密耦合定位与松散耦合定位
节点位置计算方法
1.三边测量法

三边定位法:已知3个信标节点的坐标和其中1个未知节点到3个信标节点的距离,求该未知节点的坐标。未知节点坐标(x,y):

image-20201208151612750

2.三角测量法
3.极大似然估计法

极大似然定位法:寻找一个使测距距离与估计距离之间存在最小差异的点,并以该点作为未知节点的位置。

​ 基本思想:假如一个节点可以获得足够多的信息来形成一个由多个方程式组成并拥有唯一解的超限制条件或限制条件完整的系统,那么就可以同时定位跨越多跳的一组节点。

​ 已知3个以上的信标节点的坐标和它们到未知节点的距离,求解该未知节点的坐标。设节点1,2,3,4,…,n个节点的坐标分别为 (x1, y1),(x2, y2), 、…, (xn, yn) ,它们到未知节点D的距离分别为d1、d2、d3、…、dn,节点D的坐标为(x,y),则

image-20201208213410380 image-20201208213523963

从第一个方程开始分别减去最后一个方程可得如下线性方程:

image-20201208213612870

​ 简化为矩阵相乘的方式:AX=b

image-20201208213650113image-20201208213700781image-20201208213705822

​ 使用标准的最小均方差估计方法可以得到节点D的坐标为:

image-20201208213730871

4.最小最大法
基于测距的定位算法

​ 精度上有可取之处,但需要硬件支持,不适用低功耗低成本的应用领域。

​ 基于测距的定位机制通过测量相邻节点间的距离或角度信息,然后再使用三边测量、三角测量或最大似然估计定位计算方法来计算节点位置。

​ 测距定位过程分为以下三个阶段

​ (1)测距阶段,未知节点测量到邻近锚节点的距离或角度。

​ (2)定位阶段,计算出未知节点与三个或三个以上锚节点得到距离或角度后,利用三边测量法、三角测量法或最大似然估计法计算未知节点的坐标。

​ (3)校正阶段,对计算得到的节点的坐标进行循环求精,减少误差,提高定位算法的精度。

基于RSSI(Received Signal Strength Indicator)的定位

​ 基于接收信号强度指示的定位。已知发送节点的发送信号强度,通过测量接收信号强度,计算信号的传播损耗,根据理论或经验信号传播衰减模型将传播损耗转化为距离。得到锚节点与未知节点之间的距离信息后,采用三边测量法或最大似然估计法可计算出未知节点的位置。

基于TOA(Time Of Arrival)的定位

​ 基于到达时间的定位机制。已知信号的传播速度,通过测量信号传播时间来测量距离。需要锚节点与未知节点时间同步。

​ (1)测量信号单向传播时间,需要发送者和接收者时间同步。

​ (2)测量信号往返时间差,接收者处理延时无法避免。

基于TDOA (Time Difference Of Arrival)的定位

​ 基于到达时间差的定位机制 。通过计算两种不同无线信号到达未知节点的时间差,再根据两种信号的传播速度来计算得到未知节点与锚节点之间的距离。需要锚节点之间同步。精度高,应用广。

​ 两个信号向同一个方向发送。

image-20201208151731399

基于AOA (Angle Of Arrival)的定位

​ 基于到达角定位机制。接收节点通过天线阵列或多个接收器结合来得到发射节点发送信号的方向,计算接收节点和发射节点之间的相对方位或角度,再通过一定的算法得到节点的估计位置。利用信号传播的方向来测量到达角,到达角:信号传播方向与参考方向之间的夹角

与距离无关的定位算法

1.质心定位法

wsn17

2.DV-hop定位算法

​ DV-HOP(Distance Vector-HOP)定位机制包括3个不同的阶段,首先计算未知节点与每个信标节点的最小跳数,其次计算未知节点与信标节点之间的距离,最后计算未知节点的坐标。

1)第一阶段:计算未知节点与每个信标节点的最小跳数

​ 这个阶段使用经典的距离矢量交换协议,每个节点维护一个表 ,其中xi、yi、hi分别代表信标节点的坐标和到该信标节点的跳数。每个信标节点发送一个广播分组,该分组包含自身的位置信息和跳段个数,跳段个数初始化为0。节点收到信标节点的广播分组后检验该分组跳段数是否小于本节点表内的存储值,如果是则更新该表,然后跳段数加1并广播该分组,否则丢弃该分组。最终所有的未知节点均能获得到所有信标节点的最小跳数。

wsn18

​ 锚节点A广播的数据包以近似于同心圆的方式在网络中逐次传播,图中的数字代表距离锚节点A的跳数。

(2)第二阶段:计算未知节点与信标节点的距离

​ 每个信标节点根据自身表中记录的其他信标节点的坐标信息和跳数,按照公式计算平均每跳距离ci。然后把计算出来的平均跳段距离利用可控洪泛法进行广播,每个节点均接收第一个跳段距离,忽略后来到达的,这样确保了绝大多数节点可从最近的信标节点接收平均跳段距离。最后未知节点便可计算自己到达相应的信标节点的距离。用平均每跳距离与它接收到的最小跳数hops的乘积来近似代替它到锚节点i的距离。

wsn19

(3)第三阶段:计算未知节点的坐标
当未知节点收到3个或者更多信标节点的距离时,则可以根据三边定位或多边定位算法进行自身位置的计算。

​ DV-HOP定位算法使用平均跳段距离估算两点之间的实际距离,存在一定误差,同时在定位过程中两次洪泛,能量开销大,但是该算法对硬件要求低,实现简单。

数据融合

根据处理融合信息方法:集中式、分布式、混合式

根据融合处理的数据种类:、时间融合、空间融合、时空融合

根据信息的抽象程度:数据级融合、特征级融合、决策级融合

电源管理

传感器节点消耗能量的模块:传感器模块、处理器模块、通信模块,前两者能耗很低。

传感器节点4个组成部分:处理器单元、无线传输单元、传感器单元、电源管理单元。

节能策略:休眠机制、数据融合。

无线通信模块(收发器)4种状态:发送、接收、空闲、休眠。除休眠以外,其他三者状态耗能较高。

传感器节点模块构成:数据采集模块、数据处理和控制模块、通信模块和供电模块。

容错技术

​ 基本概念:失效、故障、差错。

​ 容错能力建立在信息冗余上。

​ WSN容错设计需要考虑的三个方面:故障模型、故障检测与诊断修复机制。

安全技术

安全需求
  • 1.数据保密性
  • 2.数据认证
  • 3.数据完整性
  • 4.数据实时性
  • 5.秘钥管理
  • 6.真实性
  • 7.扩展性
  • 8.可用性
  • 9.自组织性
  • 10.鲁棒性等方面:恶劣环境
安全协议
  • 1.SNEP(Secure Network Encryption Protocol,安全网络加密协议)

是一个低通讯开销的、实现了数据机密性、通讯机密性、数据认证、完整性认证、新鲜性保护的简单高效的安全协议。SNEP本身只描述安全实施的协议过程,并不规定实际的使用算法,具体的算法在具体实现时考虑。

  • 2.μTESLA:提供广播认证

μTESLA协议是基于时间的高效的容忍丢包的流认证协议,用以实现点到多点的广播认证 该协议的主要思想是先广播一个通过密钥Kmac认证的数据包,然后公布密钥Kmac。这样就保证了在密钥Kmac公布之前,没有人能够得到认证密钥的任何信息,也就没有办法在广播包正确认证之前伪造出正确的广播数据包。这样的协议过程恰好满足流认证广播的安全条件。

攻击分类

​ 按照攻击者的能力来分,可以分为Mote-class攻击和Laptop-class攻击,在前一种情况下,攻击者的资源和普通的节点相当,而在后一种攻击中,攻击者拥有更强的设备和资源。也就是说,在Laptop-class攻击中,恶意节点拥有的资源,包括能量、CPU、内存和无线电发射器等,优于普通节点。Laptop-class攻击所带来的危害更大。

1.对秘密和认证的攻击
2.对网路有效性的攻击

常见攻击
  • (1)DoS(Denial of Service)攻击
  • (2)Sybil攻击
  • (3)Sinkhole攻击
  • (4)Wormhole攻击
  • (5)Hello泛洪攻击
  • (6)选择转发攻击

第七章:WSN接入Internet方式

  • 1.应用层网关
  • 2.延迟容忍网络
  • 3.TCP/IP覆盖传感器网络协议栈
  • 4.传感器网络协议栈覆盖TCP/IP
  • 5.移动代理

同构网络接入方式
异构网络接入方式

  • 1.SNEP(Secure Network Encryption Protocol,安全网络加密协议)

是一个低通讯开销的、实现了数据机密性、通讯机密性、数据认证、完整性认证、新鲜性保护的简单高效的安全协议。SNEP本身只描述安全实施的协议过程,并不规定实际的使用算法,具体的算法在具体实现时考虑。

  • 2.μTESLA:提供广播认证

μTESLA协议是基于时间的高效的容忍丢包的流认证协议,用以实现点到多点的广播认证 该协议的主要思想是先广播一个通过密钥Kmac认证的数据包,然后公布密钥Kmac。这样就保证了在密钥Kmac公布之前,没有人能够得到认证密钥的任何信息,也就没有办法在广播包正确认证之前伪造出正确的广播数据包。这样的协议过程恰好满足流认证广播的安全条件。

攻击分类

​ 按照攻击者的能力来分,可以分为Mote-class攻击和Laptop-class攻击,在前一种情况下,攻击者的资源和普通的节点相当,而在后一种攻击中,攻击者拥有更强的设备和资源。也就是说,在Laptop-class攻击中,恶意节点拥有的资源,包括能量、CPU、内存和无线电发射器等,优于普通节点。Laptop-class攻击所带来的危害更大。

1.对秘密和认证的攻击
2.对网路有效性的攻击

常见攻击
  • (1)DoS(Denial of Service)攻击
  • (2)Sybil攻击
  • (3)Sinkhole攻击
  • (4)Wormhole攻击
  • (5)Hello泛洪攻击
  • (6)选择转发攻击

第七章:WSN接入Internet方式

  • 1.应用层网关
  • 2.延迟容忍网络
  • 3.TCP/IP覆盖传感器网络协议栈
  • 4.传感器网络协议栈覆盖TCP/IP
  • 5.移动代理

同构网络接入方式
异构网络接入方式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无线传感网WSN 的相关文章

  • C++全局对象初始化依赖关系处理

    class A private int m nSize public A m nSize 100 m pList new char 4 memset m pList 0 sizeof 4 sizeof char int GetSize re
  • 使用基础粒子群(PSO)算法求解一元及二元方程的Python代码

    最近在看清风的数学建模视频 其中有两道题 求一元函数的最值问题 题目 求函数 y 11 s i n x
  • 小谈Intel SGX

    目录 Intel SGX简介 背景 为什么要Intel SGX Intel SGX尚处于学术讨论 Intel SGX和可信启动什么关系 开发者眼中SGX长什么样子 SGX访问控制是什么 MEE与SGX EPC内存加密 CPU里面SGX长什么
  • 深度学习笔记(一):环境(yolov5)配置

    前言 本文为笔者在学习深度学习 进行环境配置时集各家所长总结的一些经验 旨在能够较快的配置好深度学习所需的环境 一 软件安装 1 1 Anaconda安装 直接在官网下载 Anaconda官网链接 安装包下载完毕后 进行安装 更改安装路径
  • CSS属性纪要

    1 line height 行高 跟font size属性的大小有关 一般可用来设置元素垂直居中 1 单行文字或单张图片的垂直居中 div 你好你好 div 以以上代码为例 设置box和height和line height高度一样就可以垂直
  • 原子锁

    Windows核心编程 Interlocked原子访问系列函数 http blog csdn net zhongguoren666 article details 7542975 InterlockedExchange http blog
  • 时间序列的数据分析(一):主要成分

    时间序列是一组按照时间发生先后顺序进行排列 并且包含一些信息的数据点序列 在时间序列数据中通常包含了数据的发展趋势 向上 向下 保持 和数据的变化规律 季节性 等特征 而这些特征往往具有一定的规律性和可预测性 具体来说时间序列数据具有如下几

随机推荐

  • BES2300 代码主架构笔记

    1 BES的内核用的是RTX的内核 并且用了ARM推广的CMSIS RTOS API接口 这样做的好处是可以方便内核的更换 方便移植上层代码 2 程序是从RTX CM LIB H里面的 main init 开始的 里面包括了内核的初始化 堆
  • 【更新指南】BarTender正式迎来2019 R2重大版本更新!

    BarTender 在 150 多个国家 地区拥有成千上百的用户 在标签 条形码 证卡和 RFID 标记的设计和打印领域是全球首屈一指的软件 BarTender 既可以单独运行 也可以与任何其他程序集成 几乎是所有按需打印或打标应用的完美解
  • 国泰安下载数据太大?stata传不进来?

    除了换电脑还有啥方法 其实就是一个小的tip 善用国泰安的条件筛选功能 只愿大家可以从下面的小例子中获取点扩展思维 例如最常用的财务报表数据 国泰安默认的是季度数据 但大多数时候我们需要的只是年度数据 那么我们就可以在条件筛选处加一个 不要
  • 【Android】点击应用进而打开base.apk的调用流程再分析

    点击一个应用的时候 会加载其对应的base apk 我们在AssetManager类的addAssetPath方法中添加堆栈打印 其调用堆栈为 android content res AssetManager addAssetPath As
  • 性能测试 —— Jmeter 常用重要函数汇总

    1 counter 计数器 加1的功能 疑问 假如加2 使用计数器 计数器超过最大值后重新开始计数 重点 最大值 如果运行结果超过最大值时 又会从起始值开始循环每个 用户独立计数器 多线程时 每个用户都是从起始值开始计数 跟线程号有关 th
  • Android 工程师需要了解的 Lint 知识入门篇

    前言 项目开发过程中 通过对代码规范的约束对于代码质量的提升是非常重要的 这其中除了人为的代码审查之外 我们还可以使用 lint 工具来定位并修改一些有问题的代码 帮助提高我们的代码规范程度 今天我们就一起来学学 lint 的使用 自动提示
  • filter过滤器

    1 Filter 什么是过滤器 1 Filter 过滤器它是 JavaWeb 的三大组件之一 三大组件分别是 Servlet 程序 Listener 监听器 Filter 过滤器 2 Filter 过滤器它是 JavaEE 的规范 也就是接
  • PCB布线中,重要的信号线进行包地处理

    原文地址 http zhenshanmcu blog 163 com blog static 16545766220137755225723 相关网帖 1 在PADS2007中 地包线怎么画 主要针对时钟信号 http zhidao bai
  • 自定义异常类

    public class MyException extends Exception public MyException String message super message
  • HTML5中制作彩色圆环的代码,HTML5 五彩圆环Loading加载动画实现教程

    HTML代码 CSS代码 webkit keyframes spin from webkit transform rotate 360deg transform rotate 360deg to webkit transform rotat
  • Unity做一个发射炮台,1秒发射1个,5秒后消失的例子

    思路 小球要移动 移动一段时间消失 需要translate destory 一个小球不够 需要多次COPY预制体小球 copy 一 COPY代码 把这个代码放在不是复制的球的其他物体上 然后把预制体球拖入a中 using UnityEngi
  • VNC源码研究(十)XP、Win7实现模拟发送ATL+CTRL+DEL

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家拍砖 1 vnc 4 0 winsrc 版本中实现模拟发送ATL CTRL DEL 在工程wrfb win32m中找到模拟发送ATL CTR D
  • Doris学习笔记之查询

    文章目录 查询设置 增大内存 修改超时时间 查询重试和高可用 代码方式 JDBC连接器 ProxySQL方式 简单查询 基本查询 联合 join 查询 子查询 Join查询 广播Join 默认使用 Broadcast Join 显式使用 B
  • Android程序如何全屏显示

    在一个8寸屏的Android平板电脑上开发应用程序 游戏程序 开始的时候 总是不能全屏显示 也不知道怎么设置才可以 本来LCD应该是800 600的 但总是得到600 600的结果 修改代码如下 布局文件 02
  • 005--Keil使用--出现integer conversion resulted in truncation

    warning 69 D integer conversion resulted in truncation 问题所在 变量赋值超出了变量类型的最大值 解决方法 找到该变量 适当修改变量的类型
  • android u3d验证,几种方法验证unity是否为development build

    我在月初接入了uwa的性能测试SDK 需要提交一个development build的游戏安装包给uwa进行真人真机测试 本文说下如何判断安装包是否为development build 直观上判断 如果是development build模
  • cobra的使用

    一 安装cobra go get g github com spf13 cobra cobra 这里会报错 如下 package golang org x sys unix unrecognized import path golang o
  • Qtcreator远程调试出现“The selected build of GDB does not support Python scripting.It cannot be used .."...

    版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net aristolto article details 77370853 之前使用的是Qt4 7后来换成了Qt5 x Qtcreator的版本使用4 0
  • 基数统计—— HyperLogLog 算法

    目录 基数计数基本概念 基数计数方法 B树 bitmap 概率算法 HLL 直观演示 HLL 的实际步骤 算法来源 N次伯努利过程 解释 LogLogCounting 均匀随机化 分桶平均 偏差修正 误差分析 算法应用 误差控制 内存使用分
  • 无线传感网WSN

    第一章 绪论 WSN定义 无线传感网络是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络 WSN系统组成 传感器节点 汇聚节点和管理节点 WSN的三个基本要素 传感器 感知对象 用户 观测者 WSN特点 1 自组织性 2 以数据