第七章、时间同步技术内容提要1.基本概念2.传统与挑战3.典型时间同步协议4.新型同步机制5.总结内容提要1.基本概念2.传统与挑战3.典型时间同步协议4.新型同步机制5.总结基本概念•时间同步的定义•WSN时间同步技术背景•时间同步技术的分类•时间同步技术的应用场合•关键问题:时钟模型时间同步技术的定义•无线传感器网络中每个节点都有自己的内部时钟,即本地时间。由于不同节点的晶体振荡频率存在偏差,再加上温度的差异、电磁波干扰等,即使在某个时间点所有节点时钟一致,一段时间后他们的时间也会再次出现偏差。•无线传感器网络的时间同步是指各个独立的节点通过不断与其他节点交换本地时钟信息,最终达到并且保持全局时间协调一致的过程。即以本地通信确保全局同步。思考•为什么需要时间同步?•时间同步能解决什么问题?根据CSMA/CA协议,当节点要传输一个分组时,它首先侦听信道状态。如果信道空闲,而且经过一个帧间间隔时间DIFS后,信道仍然空闲,则站点立即开始发送信息。如果信道忙,则站点始终侦听信道,直到信道的空闲时间超过DIFS。当信道最终空闲下来的时候,节点进一步使用二进制退避算法,进入退避状态来避免发生碰撞。当信道空闲时间大于DIF时使用信道DIFSPIFSSIFS信道忙竞争窗口退避窗口下一帧时间槽时间DIFS推迟发送CSMA/CA协议需要严格的时间同步网络节点在进入退避状态时,启动一个退避计时器,当计时达到退避时间后结束退避状态。在退避状态下,只有当检测到信道空闲时才进行计时。如果信道忙,退避计时器中止计时,直到检测到信道空闲时间大于DIFS后才继续计时。当多个节点推迟且进入随机退避时,利用随机函数选择最小退避时间的节点作为竞争优胜者。节点A节点B节点C节点D推迟推迟推迟竞争窗口帧帧节点EDIFS推迟竞争窗口帧竞争窗口帧帧竞争窗口退避时间剩余退避时间侦听侦听睡眠睡眠●节点协同进行周期性侦听和睡眠的状态切换,确保节点能同步进行侦听和睡眠调度。●调度周期:周期性侦听和睡眠的时间之和为一个调度周期。S-MAC协议需要严格的时间同步S-MAC协议(SensorMAC)是在802.1lMAC协议的基础上,针对传感器网络的节省能量需求而提出的。流量自适应侦听机制的基本思想是在一次通信过程中,通信节点的邻居在通信结束后不立即进入睡眠状态,而是保持侦听一段时间。如果节点在这段时间内接收到RTS,则可以立刻接收数据,无须等到下一次调度侦听周期,从而减少了数据分组的传输延迟。如果在这段时间内没有接收到RTS,则转入睡眠状态直到下一次调度侦听周期。流量自适应侦听机制需要时间同步RTSA数据1RTS数据2BCTSACK侦听睡眠侦听CTSACKBCTSACK侦听侦听CTSACKRTSA数据1RTS数据2侦听睡眠WSN时间同步技术背景•集中式系统与分布式系统–集中式:在事件间有着明确的时间先后关系时,不存在同步问题;时间关系不明确时仍存在。–分布式:同步是必需的,只是对同步的要求程度不同•需要解决的问题–同步精度–功耗–可扩展性WSN时间同步机制的主要性能参数•最大误差:一组传感器节点之间的最大时间差或相对外部标准时间的最大差值。•同步期限:节点保持时间同步的时间长度。•同步范围:节点保持时间同步的区域范围。•可用性:范围覆盖的完整性。•效率:达到同步精度所经历的时间以及消耗的能量。•代价和体积:需要考虑节点的价格和体积。时间同步技术的分类•根据同步的级别,可以分为排序、相对同步与绝对同步,其间为递进关系。•排序只能区分事件发生的先后•相对同步:维持本地时钟的运行,定期获取其他节点的时钟偏移和飘移,经过换算达到同步的目的。如RBS协议•绝对同步:本地时钟和参考时钟保持一致,修改本地时钟。如TPSN协议•根据参考源不同,可以分为外同步(与外部某时间同步,如GPS)与内同步(网络内部某个节点的时钟)。•根据同步对象的范围不同,可以分为局部同步与全网同步时间同步技术的应用场合•多传感器数据压缩与融合–邻近传感节点对相同事件的感知数据需要融合,基于时间戳判断是否同一事件,需要时钟同步•低功耗MAC协议、路由协议–不发送数据时,节点处于休眠状态,网络节点的同步休眠需要时钟同步•测距、定位–距离测量和定位是基于无线电信号的传输时间,时间同步越准确,距离测量也越准确•分布式系统的传统要求–分布式系统的数据库查询,状态等一致性的要求•协作传输、处理的要求–协作传输是基于电磁波的能量累加效应,多个节点以相同的调制解调方式同时发送信号,使得远处的汇集节点能接收到信号时间同步技术的重要性•时间同步技术对无线传感器网络的节点定位、无线信道时分复用、低功耗睡眠、路由协议、数据融合、传感事件排序等应用及服务,都会产生直接或间接地重要影响。•时间同步机制几乎渗透至每一个与数据相关的环节,其实现的好坏直接决定了以数据为中心的无线传感器网络整体系统性能的优劣。关键问题:时钟模型•硬件时钟模型•软件时钟模型硬件时钟模型•基本名词–时间、晶振、时钟(RTC)–时钟偏移(clockoffset):是指两个时钟瞬时读数的差。晶振计时的时刻与实际时刻的差值,反映计时的准确性–时钟率偏移(ClockSkew):是指两个时钟的频率差。它可以看作是Clockoffset的一阶导数。–时间漂移(ClockDrift):是指时钟频率的变化,反映晶振的稳定性。实际晶振的频率有可能随着外界环境温度、湿度的变化而有所改变。ClockDrift可以看作是Clockoffset的二阶导数。•速率恒定模型–该模型认为频率保持恒定不变,最常用,但不适应环境变化剧烈的场合•飘移有界模型–常用于确定同步误差上下界,频率稳定度常用ppm(百万分之一)•飘移变化有界模型–时钟的漂移变化率是有限的。软件时钟模型•以软件虚拟时钟•一般是个分段连续、严格单调的函数相关术语•信标节点和未知节点•邻居节点•跳数、跳段距离•基础设施•到达时间、到达时间差•接收信号强度指示•到达角度•视线关系、非视线关系内容提要1.基本概念2.传统方法与面临的挑战3.典型时间同步协议4.新型同步机制5.总结传统同步:NTP与GPS•NTP:网络时间协议•GPS:全球定位系统NTP(NetworkTimeProtocol)•体系结构•NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。NTP(NetworkTimeProtocol)•体系结构(单机)NTP的适用性NTP不适合于WSN:•体积、计算能力和存储空间存在限制•传输方式不同:无线而非有线•目标不同:WSN仅需局部最而非全局最优GPS(GlobalPositionSystem)•从根本上解决了人类在地球上的导航与定位问题。•每颗卫星上配备有高精度的铷、铯原子钟,并不断发射其时间信息•地面接收装置同时接收4颗卫星的时间信息,采用伪距测量定位方法可计算出时间和位置信息•缺点(室内、功耗、安全性、可靠性)时间同步协议应用于无线传感器网络面临的挑战•室内、矿井、森林,有遮挡•网络规模大、多点协作•传输延迟的不确定性•低功耗、低成本和小体积•可扩展性、移动性•健壮性、安全性传输延迟的不确定性SendtimeAccesstimeTransmissiontimeReceptiontimeReceivetimePropagationtimeSenderReceiver•发送时间:发送节点构造和发送时间同步消息所用时间。e.g.,系统调用时间;内核调度时间;消息从主机发送到网络接口时间。•访问时间:发送节点等待访问网络传输信道的时间。•传输延迟:发送节点传输到接收节点所经历的时间。•传播时间(Transmissiontime):发送节点发送数据所经历的时间•接收时间:从接收节点的网络接口接收到消息到消息接收结束•收到时间(Receivetime)通知主机消息达到事件所经历的时间间隔。传输延迟的进一步细化时间典型值特性Sendtime&Receivetime0~100ms不确定,依赖处理器负载、操作系统系统调用开销Accesstime10~500ms不确定,依赖信道负载。Transmissiontime&Receptiontime10~20ms确定,依赖报文长度和发送速率。Propagationtime1μs(距离300米)确定,依赖收发方物理距离和传播媒质特性。Interruptwaitingtime在大多数情况下5μs,在重负载下,可达30μs不确定,依赖处理器类型和处理器负载。Encodingtime&Decodingtime100~200μs,2μs的抖动确定,依赖射频芯片的种类和设置。Bytealignmenttime0~400μs确定,依赖发送速率和收发字节偏移。低功耗、低成本和小体积•软硬件都要受到该限制•存储与计算能力均比较小•电能供应的紧张(电池体积有限)•网络规模大、密度高•通信距离近分布式、协作可扩展性(Scalability)•在大规模网络中尤为重要•满足不同的网络类型、网络规模•满足不同的应用需求健壮性•外部环境复杂,抗干扰能力要强•需要应对安全性挑战•无线传感器网络拓扑动态性较强•网络规模变化、需求变化内容提要1.基本概念2.传统与挑战3.典型时间同步协议4.新型同步机制5.总结典型时间同步协议•NTP(NetworkTimeProtocol)•DMTS(DelayMeasurementTimeSynchronization)•RBS(ReferenceBroadcastSynchronization)•TPSN(Timing-syncProtocolforSensorNetworks)•HRTS(HierarchyReferencingTimeSynchronizationProtocol)•FTSP(FloodingTimeSynchronizationProtocol)DMTS(DelayMeasurementTimeSynchronization)•DMTS基于同步消息在传输路径上所有延迟的估计,实现节点间的时间同步•在DMTS机制中,选择一个节点作为时间主节点(leader)广播同步时间。所有接收节点测量这个时间广播分组(packet)的延迟,设置它的时间为接收到分组携带的时间加上这个广播分组的传输延迟,这样所有接收到广播分组的节点都与主节点进行时间同步。时间同步的精度主要由延迟测量的精度所决定。•主节点在检测到信道空闲时,给广播分组加上时间戳t0,用来去除发送端的处理延迟和MAC层的接入延迟。•在发送广播分组前,主节点需要发送前导码和起始字符,以便接收节点进行接收同步,根据发送的信息位个数n和发送每比特位需要的时间t,可以估计出前导码和起始字符的发送时间位nt。•接收节点在广播分组到达时刻加上时间戳t1,并在调整自己的时钟之前时刻再记录时间t2,接收端的接收处理延迟就是(t2-t1)。这样,如果忽略无线信号的传播延迟,接收节点从t0时刻到调整时钟前的时间长度约为nt+(t2-t1)。因此,接收节点为了与发送节点时钟同步,调整其时钟为t0+nt+(t2-t1)。发送者接收者:DMTS•简单直观•单报文同步同步精度低t0+nt+(t2-t1)•广播方式同步能耗低发送者接收者发送前导码、同步字(nt)嵌入时标t0:(回避发送端的处理延迟和MAC层的访问延迟)接收前导码、同步字接收ACK接收数据发送ACK接收处理时标t1时标t2发送时间访问时间发送者