首页 理论教育 传感器网络时间同步机制

传感器网络时间同步机制

时间:2023-06-26 理论教育 版权反馈
【摘要】:传感器网络中多数结点是无人值守的,仅携带少量有限的能量,即使是进行侦听通信也会消耗能量,因此时间同步机制必须考虑能量的消耗。由于传感器网络的特点以及能量、价格和体积等方面的约束,使得NTP、GPS等现有时间同步机制不适用于传感器网络,需要修改或重新设计时间同步机制来满足传感器网络的要求。传感器网络应用的多样性导致了对时间同步机制需求的多样性,不可能用一种时间同步机制满足所有的应用要求。

传感器网络时间同步机制

1)传感器网络时间同步的要求

在分布式系统中,不同的结点都有自己的本地时钟。由于不同结点的晶体振荡器频率存在偏差以及温度变化和电磁波干扰等原因,即使在某个时刻所有结点都达到时间同步,它们的时间也会逐渐出现偏差,而分布式系统的协同工作需要结点间的时间同步,因此时间同步机制是分布式系统基础框架的一个关键机制。分布式时间同步涉及物理时间和逻辑时间两个不同的概念。物理时间用来表示人类社会使用的绝对时间;逻辑时间表达事件发生的顺序关系,是一个相对概念。分布式系统通常需要一个表示整个系统时间的全局时间,全局时间根据需要可以是物理时间或逻辑时间。

时间同步机制在传统网络中已经得到广泛应用,如网络时间协议(Network Time Protocol,NTP)是Internet采用的时间同步协议,GPS、无线测距等技术也用来提供网络的全局时间同步。在传感器网络应用中同样需要时间同步机制,例如时间同步能够用于形成分布式波束系统、构成TDMA调度机制和多传感器结点的数据融合,在结点间时间同步的基础上,用时间序列的目标位置检测可以估计目标的运行速度和方向,通过测量声音的传播时间能够确定结点到声源的距离或声源的位置。

传感器网络中结点的造价不能太高,结点的微小体积不能安装除本地振荡器和无线通信模块外更多的用于同步的器件,因此价格和体积成为传感器网络时间同步的重要约束。传感器网络中多数结点是无人值守的,仅携带少量有限的能量,即使是进行侦听通信也会消耗能量,因此时间同步机制必须考虑能量的消耗。现有网络的时间同步机制往往关注于最小化同步误差来达到最大的同步精度方面,而较少考虑计算和通信的开销,没有考虑计算机能量的消耗,相应的计算机性能对传感器结点而言高很多,能源也能够不断得到供给。由于传感器网络的特点以及能量、价格和体积等方面的约束,使得NTP、GPS等现有时间同步机制不适用于传感器网络,需要修改或重新设计时间同步机制来满足传感器网络的要求。

通常在传感器网络中,除了非常少量的传感器结点携带如GPS的硬件时间同步部件外,绝大多数传感器结点都需要根据时间同步机制交换同步消息,与网络中的其他传感器结点保持时间同步。在设计传感器网络的时间同步机制时,需要从以下几个方面进行考虑:

(1)扩展性:在传感器网络应用中,网络部署的地理范围大小不同,网络内结点密度不同,时间同步机制要能够适应这种网络范围或结点密度的变化。

(2)稳定性:传感器网络在保持连通性的同时,因环境影响以及结点本身的变化,网络拓扑结构将动态变化,时间同步机制要能够在拓扑结构的动态变化中保持时间同步的连续性和精度的稳定性。

(3)鲁棒性:由于各种原因可能造成传感器结点失效,另外现场环境随时可能影响无线链路的通信质量,因此要求时间同步机制具有良好的鲁棒性。

(4)收敛性:传感器网络具有拓扑结构动态变化的特点,同时传感器结点又存在能量约束,这些都要求建立时间同步的时间很短,使结点能够及时知道它们的时间是否达到同步;

(5)能量感知:为了减少能量消耗,保持网络时间同步的交换消息数尽量少,必需的网络通信和计算负载应该可预知,时间同步机制应该根据网络结点的能量分布,均匀使用网络结点的能量来达到能量的高效使用。

由于传感器网络具有应用相关的特性,在众多不同应用中很难采用统一的时间同步机制,即使在单个应用中,多个层次上可能都需要时间同步,每个层次对时间同步的要求也不同。例如在一个目标跟踪系统中,可能存在下面的潜在时间同步需求[1]

(1)通过波束阵列确定声源位置进行目标监测,波束阵列需要使用公共基准时间。如果用分布式无线传感器结点实现波束阵列,就需要局部结点间的瞬间时间同步,允许的最大误差约为100μs。

(2)通过对目标相邻位置的连续检测,估计目标的运动速率和方向。这种时间同步机制要求的同步时间长度和地理范围都要比波束阵列大,精度相对有所降低,最大误差与目标运动速率相关。

(3)为了减少网络通信量和提高目标跟踪精度,传感器网络通常需要数据融合,将网络结点收集的目标信息在网络的传输路径结点中及时进行汇聚和处理,而不是简单地发送原始数据到汇聚结点。数据融合需要时间同步的误差相对波束形成低很多,但地理范围相对大很多,同步时间长度也相对长很多,可能要求一直保持时间同步。

(4)在应用中,用户需要与传感器网络进行交互,如询问上午10点钟的情况,这种交互的时间精度要求可能不高,但是需要传感器网络与外部时间进行同步。

传感器网络应用的多样性导致了对时间同步机制需求的多样性,不可能用一种时间同步机制满足所有的应用要求。传感器网络的时间同步机制的主要性能参数如下:

(1)最大误差:指一组传感器结点之间的最大时间差量,或相对外部标准时间的最大差量。通常情况下,最大误差随着需要同步的传感器网络范围的增大而增加。

(2)同步期限:指结点间需要一直保持时间同步的时间长度。传感器网络需要在各种时间长度内保持时间同步,从瞬间同步到伴随网络存在的永久同步。

(3)同步范围:指需要结点间时间同步的区域范围。这个范围可以是地理范围,如以米度量的距离;也可以是逻辑距离,如网络的跳数。

(4)可用性:指在范围内的覆盖完整性。有些时间同步机制能够同步区域内的每个结点,基于网络的机制通常能够同步每个结点,而有些机制对硬件要求高,仅能同步部分结点,如GPS系统。

(5)效率:指达到同步精度所经历的时间以及消耗的能量。需要交换的同步消息越多,经历的时间越长,消耗的网络能量就越大,同步的效率相对就越低。(www.xing528.com)

(6)代价和体积:时间同步可能需要特定硬件,在传感器网络中需要考虑部件的价格和体积,这对传感器网络非常重要。

2)网络时间同步机制

在传统网络中提出了多种网络时间同步机制,C/S模式是其中一种常用的时间同步模式。在此模式中,时间服务器周期性地向客户端发送时间同步消息,同步消息中包含服务器的当前时间。如果服务器到客户端的典型延迟相对期望精度小,只需要一个时间同步消息就能实现客户端与服务器之间的时间同步。通常的扩展是客户端产生时间同步请求消息,服务器回应时间同步应答消息,通过测量这两个分组总的往返时间来估计单程的延迟,从而计算出从服务器给分组打上时标到客户端接收到分组打上时标之间的时间间隔,获得相对精确的时间同步。

采用这种设计思想的一个典型例子是NTP,它被Internet用作网络时间同步协议。NTP最早是由美国Delaware大学的Mills教授提出的,它的设计目的是在Internet上传递统一的标准时间,从1982年最初提出到现在已发展了30多年,最新的NTPv4精确度已经达到了毫秒[2]。实现方案是在网络上指定若干时钟源服务器,为用户提供授时服务,并且这些服务器站点之间能够相互比对以提高准确度。世界标准时间协调(Universal Time Coordinator,UTC)是当前所有时钟基准的国际标准,它的两个来源分别是位于美国科罗拉多的WWV短波广播电台和地球观测卫星。为了获取准确的世界标准时间,时间服务器需要从这两个时钟源获取当前时间。

NTP采用层次型树形结构,整个体系结构中有多棵树,每棵树的父结点都是一级时间基准服务器,一级时间基准服务器直接与UTC时间源相连接。NTP要将时间信息从这些一级时间服务器传输到分布式系统的二级时间服务器成员或客户端,二级时间服务器按照层次方式排列。NTP利用电话行业的术语来标注不同层次,每一层次称为一层(stratum),层数表示时间服务器到外部UTC时钟源的距离。父结点是一级服务器,处于第1层,二级服务器处于第2层到第n层。第2层服务器从第1层服务器获取时间,第3层服务器从第2层服务器获取时间,以此类推。成员的层次数越小,越接近一级服务器,它的时间就越准确。为了避免较长的同步循环,将层次数限制为15。客户端通常是多个上层结点的子结点。

NTP的基本原理如图4-1所示,需要同步的客户端首先发送时间请求消息,然后服务器回应包含时间信息的应答消息。T1表示客户端发送时间请求消息的时间(以客户端的时间系统为参照),T2表示服务器收到时间请求消息的时间(以服务器的时间系统为参照),T3表示服务器回复时间应答消息的时间(以服务器的时间系统为参照),T4表示客户端收到时间应答消息的时间(以客户端的时间系统为参照),δ1和δ2分别表示时间请求消息和时间应答消息在网上传播所需要的时间。假设客户端时钟比服务器时钟快θ,下列关系式成立:

图4-1 NTP的基本通信模型

假设时间请求消息和时间应答消息在网上传播的时间相同,即δ1=δ2,则可解得:

可以看到θ和δ的值只与(T2-T1)和(T3-T4)有关,与时间服务器处理请求消息所需的时间无关。(T2-T1)和(T3-T4)实质上是消息从客户端(服务器)到服务器(客户端)的传输延迟。客户端根据T1、T2、T3和T4的数值计算出与服务器的时差θ,调整它的本地时间。

在NTP中,消息传输延迟的计算精度决定了时间同步的精度。消息传输的非确定性延迟是影响客户端与服务器的时间同步精度的主要因素。为了详细分析时间同步误差,在从发送结点到接收结点之间的关键路径上,Kopetz和Schwabl[3]把消息传输延迟细分为4个部分(如图4-2所示):

图4-2 消息传输过程中的延迟分解

第一,发送时间TS:指发送结点用来构造和发送时间同步消息所用的时间,包括时间同步应用程序的系统调用时间、操作系统的上下文切换和内核协议处理时间以及把消息从主机发送到网络接口的时间。

第二,访问时间TA:指发送结点等待访问网络传输信道的时间,这与底层MAC协议密切相关。在基于竞争的MAC协议如以太网中,发送结点必须等到信道空闲后才能传输数据,发送过程中产生冲突需要重传。无线局域网802.11协议的RTS/CTS机制要求发送结点在数据传输前交换控制消息,获得对无线传输信道的使用权;TDMA协议要求发送结点必须得到分配给它的时槽才能发送数据。

第三,传播延迟TD:指消息离开发送结点后,从发送结点传输到接收结点所经历的时间间隔。当发送结点和接收结点共享物理介质时,如LAN或adhoc无线网络中的邻居结点,消息传播延迟非常小,仅仅是消息通过介质的物理传播时间。相反,在广域网中传播延迟往往比较大,包括在路由转发过程中的排队和交换延迟,以及在各段链路上的传输延迟。

第四,接收时间TR:指从接收结点的网络接口接收到消息到通知主机消息到达事件所用的时间,这通常是网络接口产生消息接收信号需要的时间。如果接收消息在接收主机操作系统内核的底层打上时标,如在网络驱动中断程序中处理,接收时间就不包括系统调用、上下文切换,甚至从网络接口到主机传送所需要的时间。

在上述消息传输延迟的4个部分中,对于不同的应用网络,访问延迟往往变化比较大,广域网的传输延迟抖动也比较大,发送延迟和接收延迟的变化相对较小。如何准确估计消息传输延迟是提高时间同步精度的关键技术。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈