无线传感器网络技术原理及应用ppt课件 第5章.ppt
第5章 服务支撑技术,5.1 时间同步技术5.2 数据融合技术5.3 定位技术5.4 网络安全技术5.5 容错设计技术5.6 服务质量保证小结,本章目标理解时间同步技术。掌握数据融合技术。理解定位技术。了解网络安全应用技术。了解容错设计技术。了解服务质量保证问题。,学习导航,时间同步技术作为无线传感器网络的基础技术之一,不仅是无线传感器网络中各种应用正常运行的必要条件,并且其同步精度直接决定了其他服务的质量。本节主要介绍无线传感器网络时间同步的基本概念、方法、协议和应用。,5.1 时间同步技术,5.1.1 概述时间同步就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。在集中式系统中,由于所有进程或者模块都可以从系统唯一的全局时钟中获取时间,因此系统内任何两个事件都有着明确的先后关系。而在分布式系统中,由于物理上的分散性,系统无法为彼此间相互独立的模块提供一个统一的全局时钟,而由各个进程或模块各自维护它们的本地时钟。,由于这些本地时钟的计时速率、运行环境存在不一致性,因此即使所有本地时钟在某一时刻都被校准,一段时间后,这些本地时钟也会出现不一致。为了让这些本地时钟再次达到相同的时间值,必须进行时间同步操作。无线传感器网络是一种新的分布式系统。节点之间相互独立并以无线方式通信,每个节点维护一个本地计时器,计时信号一般由晶体振荡器提供。由于晶体振荡器制造工艺的差别,并且其在运行过程中易受到电压、温度以及晶体老化等多种外在因素的影响,每个晶振的频率很难保持一致性,必须对其进行时间同步操作。,目前,无线传感器网络时间同步需要重点解决以下三个方面的问题:如何设计时间同步协议,使得同步精度尽可能高,即同步误差尽可能得小。如何设计满足应用需求的低功耗的时间同步协议,以尽可能地延长网络的生命周期。如何设计可扩展性强的时间同步协议或算法,以适应不断扩大的网络规模和由此带来的系统动态性的增强。,5.1.2 方法目前无线传感器网络的时间同步方法有很多,可以将其分为三类:排序、相对同步和绝对同步。外同步和内同步。全网同步和局部同步。1. 排序、相对同步和绝对同步一些研究者将时间同步的需求分为排序、相对同步和绝对同步三个不同的层次。实现对事件的排序是最简单的时间同步需求,即实现对事件发生的先后顺序的判断,这是第一个层次。,相对同步是第二个层次,节点维持其本地时钟的独立运行,动态获取并存储它与其他节点之间的时钟偏移和时钟漂移,根据这些信息,实现不同节点本地时间值之间的相互转换,达到时间同步的目的。相对同步的典型代表为RBS协议(详见5.1.3节)。相对同步并不直接修改节点本地时间,保持了本地时间的连续运行。,第三个层次是绝对同步:节点的本地时间参考基准并保持时刻一致,因此除了正常的计时过程对节点本地时间进行修改外,节点本地时间也会被时间同步协议所修改,其典型代表协议为TPSN(详见5.1.3节)。,2. 外同步和内同步外同步是指同步时间参考源来自于网络外部。典型外同步的例子为:时间基准节点通过外接GPS接收机获得UTC(Universal Time Coordinated,外部时间调节)时间。网内的其他节点通过时间基准节点实现与UTC时间的间接同步;或者为每个节点都外接GPS接收机,从而实现与UTC时间的同步。内同步是指同步时间参考源来自于网络内部,例如网内某个节点的本地时间。,3. 全网同步与局部同步根据不同应用的需要,若需要网内所有节点的时间同步,则称为全网同步。而某些时间触发类应用,往往只需要部分与该事件相关的节点时间同步即可,称为局部同步。,5.1.3 协议本节将介绍无线传感器网络领域内具有代表性的时间同步协议。典型的时间同步协议有DMTS协议、RBS协议以及TPSN协议。1. DMTS协议DMTS(Delay Measurement Time Synchronization,延迟测量时间同步)协议中选择一个节点作为时间主节点广播同步时间。所有接收节点测量这个时间广播分组延迟,设置它的时间为接收到分组的时间加上这个广播分组延迟,这样所有接收到广播分组的节点都与主节点进行时间同步。时间同步精度主要由延迟测量的精度所决定。,图5-1 DMTS同步报文的传输,主节点在检测到信道空闲时,给广播分组加上时间戳t0,用来去除发送中的处理延迟和MAC层的访问延迟。在发送广播分组前,主节点需要发送前导码和起始字符,以便接收节点进行接收同步,根据发送的信息个数n和发送每比特位需要的时间t,可以估计出前导码和起始字符的发送时间为nt。接收节点在广播分组到达时刻加上本地时间t1,并调整自己的时钟之前时刻再记录时间t2,接收端的接收处理延迟就是t2-t1。,如果忽略无线信号的传播延时,接收节点从t0时刻到调整时钟前的时间长度约为nt+(t2-t1)。因此接收节点为了与发送节点时钟同步,调整其时钟为t0+nt+(t2-t1)。DMTS协议没有考虑传播延时、编解码时间的影响,并且没有对时钟漂移进行补偿,同步精度不高。但通过单个的广播报文,一次就可以同步广播域内的所有节点,并且计算简单,是一种非常简单有效的同步协议。,2. RBS协议RBS(Reference Broadcast Synchronization,参考广播同步)协议不是同步报文的收发双方,而是同步报文的多个接收者,可以适用于单跳网络和多跳网络中。1) 单跳网络单跳网络是指发送节点与接收节点中间没有路由中继,所以称为单跳网络。RBS协议的基本原理如图5-2所示。,图5-2 RBS协议基本原理,发送节点广播一个信标分组,广播域中两个节点都能够接收到这个分组。每个接收节点分别根据自己的本地时间记录接收到信标分组的时刻,然后交换它们记录的信标分组接收时间。两个接收时间的差值相当于两个接收节点间的时间差值t2-t1,其中一个接收节点可以根据这个时间差值更改它的本地时间,从而达到两个接收节点的时间同步。,图5-3 三跳网络的物理拓扑结构,2) 多跳网络RBS协议可以实现两个多跳节点之间的同步。图5-3所示为一个三跳网络的物理拓扑结构。以图5-3中的节点1和节点9为例,由于节点9和节点4处于以节点C为参考节点的单跳区域中,由于单跳RBS协议,它们之间的本地时间可以相互转换。因此以节点4为媒介,节点9的本地时间可以和节点1的本地时间相互转换。同理,网络中的所有节点可以互换本地时间,以达到时间同步。,RBS协议使用接收者/接收者同步机制排除了发送方延迟的不确定性,摒弃了以DMTS协议为代表的传统发送者/接收者同步协议,获得了较高的精度。,3. TPSN协议TPSN(Timing-sync Protocol for Sensor Networks,传感器网络时间同步)协议的目的是提供传感器网络全网范围内节点间的时间同步。一些研究者认为传统的发送者/接收者同步协议的同步精度较低的根源在于:基于单向报文所估算出的报文传播延迟不够精确。如果采用双向报文,基于报文的对称性,有可能精确计算出报文的传输延迟,因此能获得高的同步精度。TPSN协议引入了双向报文交换协议,如图5-4所示。,图5-4 双向报文交换,T1和T4用节点A的本地时间记录,T2和T3用节点B的本地时间记录。节点A向节点B发送一个同步请求报文,节点B在接收到该报文后,记录下接收时刻T2,并立即向节点A返回一个同步应答报文,并把T2和该报文的发送时刻T3嵌入在报文中,当节点A收到该报文时,记录下接收时刻T4。令t为当节点A的本地时刻为T1时,节点A和B之间的时间偏移。由于T1T4时间比较短,可认为当节点A的本地时刻为T4时,其与节点B之间的时偏没有变化。,假设报文的传输延迟相同,均为d。由 , (5-1)可得 , (5-2)因此在T4时刻,若在节点A的本地时间上增加修正量t,就达到和节点B之间瞬时的时间同步,此时刻称为同步点。,5.1.4 应用时间同步是无线传感器网络的基本中间件技术,不仅对其他中间件,而且对各种应用都起着基础性作用,一些典型的应用如下。1. 多传感器数据压缩和融合当传感器节点密集分布时,同一事件将会被多个传感器节点接收到。如果直接把所有的事件都发送给基站节点进行处理,将造成对网络带宽的浪费。,由于通信开销远高于计算开销,因此对一组邻近节点所侦测到的相同事件进行正确识别,并对重复的报文进行信息压缩后再传输将会节省大量的电能。为了能够正确地识别重复报文,可以为每个时间标记一个时间戳,通过该时间戳可达到对重复事件的鉴别。时间同步越精确,对重复事件的识别也会更有效。,数据融合技术可在无线传感器网络中得到充分发挥,如果要实施数据融合技术,网络中的节点必须以一定精度保持时间同步,否则无法实施数据融合。,2. 低功耗MAC协议无线传感器网络MAC层协议设计的一个基本原则是尽可能地关闭无线通信模块,只在无线信息交换时短暂唤醒它,并在快速完成通信后,重新进入休眠状态,以节省宝贵的电能。如果MAC协议采用最直接的时分多路复用策略,利用占空比的调节便可实现上述目标,但需要参与通信的受访首先实现时间同步,并且同步精度越高,防护频带越小,相应的功耗也越低。因此高精度的时间定位是低功耗MAC协议的基础。,3. 测距定位定位功能是许多典型的无线传感器网络应用的必需条件,也是当前的一项研究热点。如果网络中的节点保持时间同步,节点间传输的时间容易被确定。由于电磁波在一定介质中的传输速递是确定的,因此传输时间信息很容易转换为距离信息。所以测距的精度直接依赖于时间同步的精度。,4. 协作传输要求由于无线传感器网络节点的传输功率有限,距离较远的节点之间传输不能达到理想的效果,而协作传输的基本思想为:网络内多个节点同时发送相同的信息,基于电磁波的能量累加效应,远方基站将会接收到一个瞬间功率很强的信号,从而实现直接向远方节点传输信息的目的。要实现协作传输,不仅需要新型的调制和解调方式,而且精确的时间同步也是基本前提。,无线传感器网络的基本功能是收集并返回其传感器节点所在检测区域的信息。传感器网络节点的资源十分有限,在收集信息的过程中采用各个节点单独传送数据到汇聚节点的方法既浪费了通信带宽和能量,又降低了信息的收集效率。数据融合技术在一定程度上缓解了能量问题和信息收集效率。,5.2 数据融合技术,5.2.1 概念数据融合是将来自多个传感器和信息源的多份数据或信息进行相关的处理,去除冗余数据,组合出更有效、更符合用户需求的数据的过程。对于无线传感器网络的应用,数据融合技术主要用于处理同一类型传感器的数据。数据融合的定义有三个要点:数据融合是多信源、多层次的处理过程,每个层次代表信息的不同抽象程度。,数据融合过程包括数据检测、关联、估计与合并。数据融合的输出包括低层次上的状态身份估计和高层次上的总战术态势评估。,5.2.2 策略数据融合策略可以分为应用层数据融合、路由层数据融合以及独立的数据融合。1. 应用层数据融合无线传感器网络具有以数据为中心的特点,应用层数据融合的设计需要考虑以下几点:应用层的用户接口需要对用户屏蔽底层的操作,用户不必了解具体是如何收集上来的,即使底层实现有了变化,用户也不必改变原来的操作习惯。,无线传感器网络可以实现多任务,应用层应该提供方便、灵活的查询提交手段。通信过程的代价相对于本地计算的代价要高,应用层数据的表现形式应便于进行网内计算,以便大幅度减少通信的数据量,减少能量消耗。应用层数据融合示例如图5-5所示。,图5-5 应用层数据融合示例,图中,假设汇聚节点要查询房间101104中湿度值大于80%的最大值,低于80%的值将会被过滤掉,并且每个节点采集的数据包括房间号和湿度值。根据数据融合策略,详细传输过程如下: 节点4采集的湿度值为80%,节点4将数据传输给节点3。, 节点3通过数据融合得出房间101的湿度值最大为81%,所以节点3将它的数据传输给节点2。 在节点2采集的湿度值小于80%时,将过滤掉它本身采集的湿度值78%,选择传输节点3采集的值,所以节点2将要传输给节点1的值为(101,81%)。 节点1传输给汇聚节点的值为(101,81%)、(102,80%)。同理,房间3和房间4采集传输的值分别为(103,82%)和(104,80%)。,2. 路由层数据融合无线传感器网络中的路由方式可以根据是否考虑数据融合分为两类:地址为中心的路由。图5-6所示为以地址为中心的路由,每个源节点沿着到汇聚节点的最短路径转发数据,而不考虑数据融合的路由。数据为中心的路由。数据在转发的途径中,中间节点根据数据的内容,对来自多个数据源的数据进行融合操作。源节点并未各自寻找最短的路径,而是在中间节点处对数据进行融合,然后再继续转发,如图5-7所示,数据在节点B处进行融合。,图5-6 以地址为中心的路由,图5-7 以数据为中心的路由,以地址为中心的路由和以数据为中心的路由对能量消耗的影响与数据的可融合程度有关。如果原始数据信息存在冗余度,则网络中对能量的消耗将会变大。因为以数据为中心的路由可以减少网络中的转发数据量,因此将表现出很好的节能效果。研究表明,在所有原始数据完全相同的情况下,以数据为中心的路由的节能优势比以地址为中心的节能优势明显。,如果在所有数据源的数据之间没有任何冗余信息的情况下,以数据为中心的路由无法进行数据融合,不能发挥节省能量的作用,反而以地址为中心的路由选择的最短路由路径比较节能。,3. 独立的数据融合协议层以应用层或网络层技术相结合的数据融合技术主要有以下几个缺点:破环了网络协议层的完整性,上下层协议不透明。为了跨协议层理解数据,需要对数据进行命名,而命名机制导致来自统一源节点的不同类型的数据之间不能融合。采用了网内处理的手段,虽然带来了较好的融合程度,但会导致信息丢失过多,且容易引入较大的延迟。,针对于此,研究者提出了AIDA(Application Independent Data Aggredation,独立于应用的数据融合机制)。AIDA的基本思想就是不关心数据内容,而是根据下一跳地址进行多个数据单元的合并,通过减少数据封装头部的开销以及MAC层的发送冲突来达到节省能量的效果。提出AIDA的目的除了要避免依赖于应用的融合方案的弊端外,还将增强数据融合对网络负载状况的适应性。当网络负载较轻时,不进行融合或进行低程度的融合;而在网络负载较重,MAC层发送冲突较严重时,进行较高程度的融合。AIDA协议层位于网络层和MAC层之间,对上下协议层透明,其基本组件如图5-8所示。,图5-8 AIDA基本组件,从图5-8可知,AIDA可以划分为两个功能单元:融合功能单元和融合控制单元。融合功能单元负责对数据包进行融合或解融合的操作;融合控制单元负责根据链路的忙闲状态控制融合操作的进行,调整合并的最大分组数。AIDA的工作过程可以分别从发送和接收两个方向进行说明。发送方向(从网络层到MAC层):从网络层发来的数据分组(网络单元)被放入融合缓冲池中,AIDA融合功能单元根据设定的分组数,将下一跳地址相同的网络单元合并成一个AIDA单元,并递交给MAC层进行传输;融合分组数的确定以及何时调用功能则由AIDA融合控制单元决定。,接收方向(从MAC层到网络层):融合功能单元将MAC层递交上来的AIDA单元拆散为原来的网络层分组传递给网络层,这样做虽然会在一定程度上降低效率,但其目的是为了保证协议层的模块性,并且允许网络层对每个数据分组重新路由。AIDA提出的出发点并不是将网络的生存时间最大化,而是要构建一个能够适应网络负载变化、独立于其他协议层的数据融合协议层;能够在保证不降低信息的完整性和降低网络端到端延迟的前提下,以数据融合为手段,减轻MAC层拥塞冲突,降低能量的消耗。,5.2.3 作用无线传感器网络中数据融合的作用主要集中在节省整个网络的能量、增强数据的准确性和提高收集数据的效率三个方面。1. 节省整个网络的能量无线传感器网络是由大量传感器节点覆盖到的监测区域组成的。鉴于单个传感器节点的监测范围和可靠性是有限的,因此在部署网络时,需要使传感器节点达到一定的密度以增强整个网络的可靠性和监测信息的准确性,有时需要使多个节点的监测范围互相交叠。,这种监测区域的相互重叠将导致邻近节点报告信息存在一定程度的冗余。比如对于监测温度的传感器网络,每个位置的温度可能有多个传感器节点进行监测,这些节点所报告的温度数据会非常接近或完全相同。在这种冗余程度很高的情况下,把这些节点报告的数据全部发送给汇聚节点与仅发送一份数据相比,除了使网络消耗更多的能量外,汇聚节点并没有获得更多的信息。,数据融合就是针对上述情况对冗余数据进行网内处理,即中间节点在转发传感器数据之前,首先对数据进行整合,去除冗余信息,在满足应用需求的前提下将需要传输的数据量最小化。网内处理利用的是节点的计算资源和存储资源,其能量消耗与传送数据相比要少。,2. 获取数据的准确性无线传感器网络由大量低廉的传感器节点组成,部署在各种各样的环境中,从传感器节点获得的信息存在较高的不可靠性,这些不可靠因素主要来自于以下几个方面:受到成本及体积的限制,节点配置的传感器精度一般较低。无线通信的机制使得传送的数据更容易因受到干扰而遭破坏。,恶劣的工作环境除了影响数据传送外,还会破环节点的功能部件,令其工作异常,产生错误数据。因此采集少数几个分散的传感器节点的数据较难确保得到正确的信息,需要通过对监测同一对象的多个传感器所采集的数据进行整合,来有效提高所获得的信息的精度和可信度。数据可以全部单独传送到汇聚节点后进行集中融合,这种方法得到的结果有时会产生融合错误,因此往往不如在网内进行融合处理的结果精确。,数据融合一般需要数据源局部信息的参与,如数据产生的地点、产生数据的节点所归属的簇等。相同地点的数据,如果属于不同的簇可能代表完全不同的数据含义,因此不同簇内采集的相同类型的感知数据是不能融合的,例如不同簇内采集的温度值是不能融合的。所以局部信息的参与使得局部融合比整体融合更精确。,3. 提高收集数据的效率在网内进行数据融合,可以在一定程度上提高网络收集数据的整体效率。数据融合减少了需要传输的数据量,可以减轻网络的传输拥塞,降低数据的传输延迟;即使有效数据量并未减少,但通过对多个数据分组进行合并并减少数据分组个数,可以减少传输中的冲突碰撞现象,也能提高无线信道的利用率。,在无线传感器网络中,位置信息对传感器网络的监测活动至关重要,事件发生的位置或获取信息的节点位置是传感器节点监测消息中包含的重要信息,没有位置信息的检测消息是没有意义的。因此,,5.3 定位技术,确定时间发生的位置或获取消息的节点位置是传感器网络最基本的功能之一,对无线传感器网络应用的有效性起关键作用。,5.3.1 概述定位就是确定位置。确定位置有两层含义:一是确定自己在系统中的位置;二是确定目标在系统中的位置。无线传感器网络的定位是指自组织的网络通过特定方法提供节点位置信息。这种自组织网络定位分为节点自身定位和目标定位。节点自身定位:确定网络中节点的坐标位置的过程,是节点自身属性的确定过程,可以通过人工标定或者各种子节点定位算法完成。,目标定位:确定网络覆盖范围内一个事件或者一个目标的位置,是把网络中已知位置信息的节点作为参考节点,确定时间或者目标在网络中所处的位置。无线传感器网络的定位方法有以下几种:根据是否测量距离分为基于测距的定位和不需测距的定位。根据部署场合分为室内定位和室外定位。根据信息采集的方式分为被动定位和主动定位。本节主要介绍基于测距的定位和无需测距的定位。,5.3.2 基于测距的定位基于测距的定位技术是通过测量和估计节点之间的距离,以及根据几何关系来计算节点之间的位置。比较常用的方法是多边定位/三边定位和角度定位。1. 多边定位/三边定位使用多边定位/三边定位的方法需要测量距离,有了距离后根据三边来确定节点位置。测量距离可用的方法有:RSSI (Received Signal Strength Indicator,接收信号强度指示)信号传播时间/时间差/往返时间、接收信号相位差、近场电磁测距等。本节将着重介绍接收信号强度测距。,图5-9 多边定位,1) 多边定位多边定位是利用已知参考节点的坐标来计算待定节点的坐标。图5-9所示为多边定位示意图。已知参考节点A1、A2、A3、A4的坐标为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、。设待定节点N的坐标为(x,y),则有 (5-3),将第1个至第n个方程分别减去第n个方程,整理得 (5-4)写成线性方程形式,其中,因为,所以方程两边乘以,即可以得到。,2) 三边定位三边定位是多边定位的特例,如图5-10所示。,图5-10 三边定位,若已知三个参考节点A1、A2、A3位置分别为(x1,y1)、(x2,y2)、(x3,y3),被测节点到参考节点的距离分别为r1、r2、r3,那么有 (5-5),根据多边定位的估计,如式(5-6)所示可以计算节点N的位置(x,y)为 (5-6),3) 接收信号强度测距接收信号强度测距是通过信号在传播中的衰减来估计节点之间的距离。由于信号在传播过程中信号强度会降低,根据接收机收到的信号强度,可以估计发射机与接收机的距离。无线信道的数学模型如下: (5-7),式中:d为接收端与发射端之间的距离(m);d0为参考距离(m),一般取1 m;pr(d)是接收端的接收信号功率(dBm);pr(d0)是参考距离点对应的接收信号功率(dBm);XdBm是一个平均值为0的高斯随机变量(dBm),反映了当距离一定时,接收信号功率的变化;n为路径损耗指数,是一个与环境相关的值。在实际应用中,可采用简化的Shadowing模型: (5-8),并且通常取d0=1 m,从而得到实际应用中的RSSI测距公式: (5-9),式(5-9)中,A为信号传输距离为1m时接收信号的功率(dBm),典型值取-45 dBm。可以看出RSSI和无线信号传输距离之间有确定关系。另外,RSSI的测量具有重复性和互换性。在应用环境下,RSSI适度的变化有规律可循。但在实际应用环境中,多径、绕射、障碍物等不稳定因素都会对无线信号的传输产生影响,所以在解决好环境因素的影响后,RSSI才可以进行室内和室外的测距及定位。,2. 接收信号角度定位常用的接收信号角度定位方法是通过“顶点和夹角的射线定位法”来实现的。此定位方法的基本思想描述如下:由已知两个顶点和夹角的射线来确定一点,如图5-11所示。,图5-11 两个顶点和夹角的射线定位,参考节点A1(x1,y1)和A2(x2,y2)收到的信号夹角分别是和,可以计算出节点N的坐标(x,y)为 (5-10),接收信号角度法使用信号夹角进行定位。这种方法需要特殊硬件测量接收信号的方向夹角。因为测量的信号夹角不可能很精确,所以接收信号角度不理想。,5.3.3 无需测距的定位无需测距的定位技术即不需要直接测量距离和角度信息。无需测距的定位不是通过测量节点之间的距离,而是仅根据网络连通性确定网络中节点之间的跳数,同时根据已知参考节点的位置坐标等信息,估计出每一跳的大致距离,然后估计出节点在网络中的位置。典型的无需测距的定位算法有质心定位算法、DV-Hop定位算法、APIT算法以及不定型定位算法。本节主要介绍质心定位算法和DV-Hop定位算法。,1. 质心定位算法质心是指多边形的几何中心,是多边形顶点坐标的平均值。设多边形顶点位置的向量表示为,则质心为。这种方法非常简单,根据网络的连通性确定目标节点周围的参考节点,直接求解参考节点构成的多边形质心。质心定位算法虽然实现简单、通信开销小,但仅能实现粗粒度定位,需要较高的参考节点密度,参考节点部署位置对定位效果影响很大。,2. DV-Hop定位算法DV-Hop定位算法通过测量确定分布在两个参考节点之间的待定节点构成的多跳网络的跳数,估算出每一跳的距离,从而确定每个节点的位置。DV-Hop定位算法示意图如图5-12所示。,图5-12 DV-Hop定位算法示意图,图5-12中,节点B估算出整个网络的每一跳距离大约是(40+75)/(2+5)。节点B可以根据单位距离和到A、C、D节点经历的跳数来估算自己的位置。DV-Hop算法分为以下三个步骤: 计算节点与参考节点之间的跳数:参考节点广播自身的距离向量,以跳数为单位。网络的每个节点获得自身到参考节点以跳数为单位的距离。每个节点维护一个表,并且和邻居节点交换更新的信息。, 计算节点与参考节点之间的距离:若一个参考点获得到达另一个参考点的跳数距离,就估计每一跳的平均距离,并且更新邻居节点的跳数信息。任何节点收到更新的每跳距离后,就可以估计到达参考节点的以米为单位的距离。更新的每跳距离通过两个参考节点的实际位置和相距跳数来计算。 计算节点的位置:使用三边测量或者多边测量的方法计算出节点的位置。DV-Hop定位算法在获得平均每跳距离的计算过程中,节点之间通信量过大,没有考虑不良节点(无法定位的节点)的影响,导致平均定位误差较大。,5.3.4 定位系统目前较为流行的定位系统包括全球范围的GPS(Global Positioning System,全球定位系统)和伽利略系统、区域范围的北斗和LORAN系统,以及无线传感器网络相关的定位系统。1. 全球范围的GPS和伽利略系统GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。,其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆检测和应急通信等一些军事目的,是美国独霸全球战略的重要组成。目前,GPS精度达到5 m,专用车载GPS导航仪已经广泛适用于车辆导航等应用领域。伽利略系统能够与美国的GPS、俄罗斯的GLONASS系统实现多系统内的相互合作,任何用户将来都可以用一个接收机采集各个系统的数据或者各系统数据的组合来实现定位导航要求,,伽利略系统可以分发实时的米级定位精度信息,这是现有的卫星导航系统所没有的。同时,伽利略系统能够保证在许多特殊情况下提供服务,如果失败也能够在几秒中内通知用户。,2. 区域范围的北斗和LORAN系统北斗双星定位系统是我国自行建立起来的一种区域性定位系统。2003年5月,我国成功发射了第三颗“北斗一号”导航定位卫星,作为“北斗导航定位系统”的备份星,连同2000年10月和12月发射升空的两颗“北斗一号”导航定位卫星和一个地面中心站,形成了一个较为完善的“双星导航定位系统”。双星导航定位系统应归于“卫星无线电定位服务”。,LORAN(LOng RAnge Navigation)也是一种地区导航系统。基站以一定的时间间隔发送低频信号,船只、飞机等接收到多个信号基站的信号后,可以计算出自身所处的位置。LORAN系统的发展经历了LORAN-A、LORAN-C、LORAN-D和LORAN-F,最为重要的是LORAN-C系统。LORAN-C是测量脉冲和测量相位相结合的双曲线导航系统,工作频率为90110 kHz。美国增强LORAN系统已经作为GPS的补充和后备。,3. 无线传感器网络定位系统无线传感器定位系统以无线传感器网络为基础,配合专用定位硬件设备或者使用无线收发器自身的能力,计算目标在网络中的位置,实现定位功能。Microsoft的RADAR定位系统利用“指纹识别”技术进行定位,解决WLAN中定位移动计算设备的问题。室内定位系统Badge是一种基于测距的定位技术。该系统使用超声波系信号的传播时间实现三维空间定位,使用多边定位方法提供精度。,无需测距的定位技术主要处于算法研究阶段,算法仿真较多,实现的系统相对较少,主要原因是部署大规模网络比较困难,难以获得定位系统需要的支撑网络。,5.3.5 应用领域定位的用途大体分为导航、跟踪、虚拟现实和网络路由。每一种用途有若干个应用场合。导航:是定位最基本的用途。导航是了解移动物体在坐标中的位置,并且了解其所处的环境,进行路径规划,指导移动物体成功到达目的地的工作。车辆、船舶、飞机等交通工具都配备了导航系统。跟踪:是快速增长的应用,使系统实时地了解物体所处位置和移动轨迹。物品跟踪在工厂生产、库存管理和医院仪器管理等环境中有广泛的应用和迫切的需求。,虚拟现实:需要实时定位物体的位置方向。参与者在场景中做出的动作,需要通过定位技术识别并输入到系统。定位的精度和实时性影响参与者的真实感。网络路由:位置信息为基于地理位置的路由提供了支持。基于地理位置的网络路由是优化的路由。网络了解每个节点的位置,或者至少了解相邻节点的位置,可以作出优化路由的选择。在无线传感器网络中,优化路由可以提高系统性能、安全性和节省电能资源。,无线传感器网络是一种应用相关网络,在一些应用领域安全是一个重要的问题。例如商业上的小区无线安防网络,军事上的在敌控区监视敌方军事部署的传感器网络等,对数据的采样和传输过程,甚至节点的物理分布,都要采取安全措施。,5.4 网络安全技术,5.4.1 概述由于无线传感器网络节点大多被部署在无人区域或者环境比较恶劣的地区,所以无线传感器网络的安全问题尤其突出。要解决无线传感器网络的安全问题需要解决以下几个问题:机密性问题:所有敏感数据在存储和传输的过程中都要保证其机密性,让任何人在截获物理通信信号的时候不能直接获得消息内容。,点到点的消息认证问题:网络节点在接收到另外一个节点发送过来的消息时,能够确认这个数据包确实是从该节点发送过来的。完整性鉴别问题:网络节点在接收到一个数据包的时候,能够确认这个数据包和发出来的是一样的,没有被中间节点篡改或者在传输中通信出错。新鲜性问题:数据本身具有时效性,网络节点能够判断最新接收到的数据包是否是发送者最新产生的数据包。,造成新鲜性问题一般有两种原因:一是由网络多路径延时的非确定性导致数据包的接收错序而引起的,二是由恶意节点的攻击而引起的。认证组播、广播问题:认证组播/广播解决的是单一节点向一组节点/所有节点发送统一通告的认证安全问题。认证广播的发送者是一个,而接收者是很多个,所以认证方法和点到点通信认证方式完全不同。,安全管理问题:安全管理包括安全引导和安全维护两个部分。安全引导是指一个网络系统从分散的、独立的、没有安全通道保护的个体集合,按照预定的协议机制,逐步形成统一完整的、具有安全信道保护的、连通的安全网络的过程。,5.4.2 安全协议SPINS(Security Privacy In Sensor Network,无线传感器网络安全隐私)协议族是最早的无线传感器网络的安全框架之一,包含了SNEP(Secure Network Encryption Protocol,安全网络加密协议)和TESLA(micro Timed Efficient Streaming Loss-tolerant Authentication Protocol,微型容忍丢失的流认证协议)两个安全协议。SENP协议提供数据机密性、点到点通信认证、完整性和新鲜性等安全服务;TESLA协议则提供对广播消息的数据认证服务。,1. SNEP协议SNEP协议中,通信双方共同维护两个计数器,分别代表两种数据传输方向。每发送一组数据后,通信双方各自增加计数器。通过共享计数器状态,SNEP协议通信开销比较低。基于计数器交换协议,通信双方可以进行计数器同步。SNEP协议中,使用消息认证码提供认证和数据完整性服务,MAC认证可以保证点到点认证和数据的完整性。采用加密认证方式,可以加快接收者认证数据包的速度:,接收者在收到数据包后马上可以对加密文件进行认证,发现问题直接丢弃,无需对数据包进行解密。另外,逐跳认证方式只能选择加密认证方式,因为中间节点没有端到端的通信密钥,不能对加密的数据包进行解密。SNPE协议支持数据的新鲜性认证,通过在消息中嵌入计数器值,可以实现使SNEP协议提供“弱数据新鲜性”。在MAC计算中加入一个随机数即可实现“强数据新鲜性”保证。“弱数据新鲜性”是指消息中只提供消息块的顺序,不携带时延信息。,2. TESLA协议TESLA协议是为低功耗设备传感器节点专门打造的实现广播认证的微型化TESLA协议版本。在基站和节点松散同步的假设情况下,基于对称密钥体制,TESLA协议通过延迟公开广播认证密钥来模拟对称认证。TESLA协议实现了基站广播认证数据过程和节点广播认证消息过程。在基站广播认证数据过程中,基站用一个密钥计算消息认证码。,基于松散时间同步,节点知道同步误差上界,因而了解密钥公开时槽,从而知晓特定消息的认证密钥是否已经被公开。如果该密钥未公开,节点可以确信在传送过程中消息不会被篡改。节点缓存消息直至基站广播公开相应密钥。如果节点收到正确密钥,就用该密钥认证缓存中的消息;如果密钥不正确或者消息晚于密钥到达,该消息可能被篡改,将会被丢弃。,TESLA协议中,基站的消息认证码密钥来自一个单向散列密钥链,单向散列函数F公开。首先,基站随机选择密钥Kn作为密钥链中第一个密钥,重复运用函数F产生其他密钥,即Ki=F(Ki-1) 0in-1密钥链中每个密钥都关联一个时槽。基站可以根据消息发送的相应时槽选择密钥来计算消息认证码,如图5-13所示。,图5-13 TESLA协议单向密钥链实例,假设接收者已知K0,并和发送方实现松散时间同步,密钥延时两个时槽后公开。数据包P1和P2在时槽1使用密钥K1计算各自的消息认证码。同理P3用K2计算消息认证码,接收者在两个时槽后才能进行认证。假设P4、P5、P6丢失,这使接收者不能验证接收到的P1和P2。如果接收者收到P7,此时接收者可验证P3,同时恢复K1,如果满足,则。这样接收者就可以验证P1和P2。,5.4.3 密钥分配管理密码系统的两个基本要素是密码体制和密钥管理。密码体制规定明文和密文之间的变换方法。由于密码体制的反复使用,仅靠保密密码体制难以保证系统安全。根据近代密码学观点,密码系统的安全取决于密钥的安全。因此,密钥管理是系统所有安全服务的基础,它包括加密系统密钥的产生、分配、存储、使用、重构、失效和撤销等全过程。传感器网络中,大规模合法传感器节点间协商或共享密钥显得非常困难。在一定程度上,密钥管理是确保传感器网络安全通信的最大难题。,1. 密钥的分配无线传感器网络密钥预分配模型根据分配方式可以分为预安装模型、确定预分配模型和随机预分配模型。 预安装模型无需进行密钥协商,其代表为主密钥模型和成对密钥模型。(1) 主密钥模型:网络中所有节点预安装相同主密钥。该模型安全弹性差,攻击者俘获任一节点中的主密钥,就相当于俘获了整个网络。,(2) 成对密钥模型:每对通信节点分配一个唯一的密钥,安全性能较高,但是对于存储能力有限的无线传感器节点来说是不现实的,并且不利于网络扩展。 确定预分配模型通常基于数学的方法,在安全门限内可提供无条件安全,有效地抵御节点被俘获。其缺点是计算开销大,且当被俘获节点数超过安全门限值时,整个网络被攻破的概率急剧升高。, 随机预分配模型旨在保证任意节点之间建立安全通道的前提下,尽量减少模型对节点资源的要求。其基本思想是在网络散布之前,每个节点从一个较大密钥池中随机选择少量密钥构成密钥环,使得任意两个节点之间能以某种较大概率共享相同的密钥。这样,安全通信可以在具有相同密钥的节点间进行。其过程主要包括四个阶段:(1) 建立一个足够大的密钥池。,(2) 密钥环预装入阶段。节点被散布前,每个节点从密钥池中随机选择一个小的密钥集合作为密钥环,并存储在节点中。(3) 共享密钥发现阶段。如果在两个节点各自的密钥环中存在相同的密钥,则该密钥即可作为这两个节点安全通信的共享密钥。(4) 安全路径建立阶段。如果两个节点各自的密钥中不存在相同的密钥,则需通过其他节点作为中继,建立一跳安全通信路径,进而协商会话密钥。,随机与分配模型可缓解节点存储空间制约问题,网络的安全弹性也较好,但共享密钥发现过程通常比较复杂,同时存在安全连通问题。,2. 密钥管理在安全通信信道建立之前,网络中密钥分配问题是密钥管理中最核心的问题,无线传感器网络密钥管理问题通常需要解决以下几个方面的问题:抗俘获攻击的安全弹性问题。攻击者可对传感器节点实施物理捕获和俘虏是传感器网络固有的安全弱点。因此,在存在部分节点及其密钥遭到攻击者俘获的情况下,要求密钥管理具有良好的安全弹性。,轻量级问题。传感器节点在计算能力、存储能力、通信带宽和能