NTP时间服务器在电信时间同步网络中的应用
时间:2011-04-21 阅读:7729
1.1概述
在通信领域,时间同步是指各网络节点设备、应用系统的时钟使用同一时间参考基准———协调世界时(UTC),通过某种方式使其时钟的时刻和时间间隔与UTC
同步。由于电信网自身无法提供UTC,需要建立时间同步网络,各网元设备或应用系统通过这个网络获得UTC并与UTC进行时间同步。
对电信网上的各种时间设备进行UTC时间同步,必须解决以下3个方面的问题:
a)尽量选取高精度的时间源;
b)将高精度的时间传送到时间设备,尽量减小传输误差;
c)用时间来同步设备时间,充分利用设备各自的时间校准机制自动实现时间同步,尽量排除人工因素。
1.2时间同步技术
目前在时间基准和国家时间基准层面使用的主要基准时钟是铯原子钟,其原子秒的不确定度已经提高到2×10-15,商用的小铯钟的频率复现性也已达到或优于5×10-
13的水平。但是,在应用层面上并不需要这样高的时间度。目前有多种时间同步技术,其时间同步度也有较大差异,如表1
所示。用户可根据业务对时间精度的需求,采用不同的时间传送技术来得到所需精度的时间。
2NTP协议
2.1概述
NTP(NetworkTimeProtocol)是设计用来在IP网上使不同设备能维持相同时间的一种同步时间协议。目前广泛应用的是NTPv3标准(RFC-
1305)。SNTP(SimpleNetworkTimeProtocol)是NTP的一个子集,仅用于同步子网的末端。
2.2NTP时间服务器的工作模式
NTP时间服务器有3种工作方式:
a)客户机/服务器模式:采用一对一连接,客户机可以被服务器同步,服务器不能被客户机同步。
b)对称模式:与客户机/服务器模式基本相同,但双方均可同步对方或被对方同步,先发出申请建立连接的一方工作在主动模式下,另一方则工作在被动模式下。
c)广播/多播模式:是一对多的连接,服务器周期性地主动发出时间信息,客户机据此信息调整自己的时间,由于忽略网络时延,精度较低,适用于高速局域网上。应用时可根据需要选择不同的工作模
式,其中zui常用的工作方式是客户机/服务器模式。
2.3NTP的网络体系结构
NTP协议以UTC作为时间标准,根据需求可采用不同的网络结构来实现。对于大型通信网络,一般采用分层的类树型结构,时间按NTP服务器的等级传播。距离UTC
源近的时间服务器有较高的时间准确度,将时间服务器的准确度用一个称为Stratum的数值来表示,根据每个时间服务器距离UTC
时间源的远近将其归入到不同层(Stratum)中。
*层为一级时钟源层,Stratum值为1。位于*层的时间服务器为主服务器,通过的外部时钟源获取时间信息,并使自身的时间与UTC
同步,是整个系统的基础。
第二层及以下层除层数不同、时间精度不一样外没有本质上的区别。
出于对度和可靠性的考虑,下层时间服务器同时引用若干个上层及同层时间服务器作为参考源。网络中的时间服务器可以扮演多重角色。如第二层的时间服务器,对于*层来说是客户机,对于第
三层则是服务器,对于同层的时间服务器则可以是对等服务器。图1
示出的是一个三层时间网络的结构。
中箭头方向表示时间的传播方向及提供时间同步服务的方向。箭头的发出方为校时服务的提供方,箭头的指向方为校时服务的请求方。Stratum等级相同时间服务器间的时钟同步是双向的,双方可相互校
时。层间的时钟同步路径称为主用同步路径,同层内的时钟同步路径称为备份同步路径。在主用同步路径不可用时,时间服务器利用备份同步路径从本层的时间服务器校正时间,这时其准确度Stratum值
将增加1。通信网中的网元设备从其设定的时间服务器获取时间。
2.4NTP工作原理
NTP协议可测定时间服务器时钟和客户机时钟之间的时间偏移量。为了做到高度,客户机必须测量服务器—客户机传播延时,以计算和服务器之间的时间偏移量。由于无法计算单行方向的延时,时间
同步协议测量整个来回延时,并假定各个方向的传播时间是恒定相同的。一般来说,这是一个很有用的近似值,但是在今天的Internet
中,由于不同的服务提供商、网络路径,与其相关联的延时可以*不同。NTP协议的工作原理如图2所示。
系统时钟同步的工作过程如下:
a)客户机发送一个NTP消息给服务器,该消息带有它离开客户机时的时间戳T1;
b)当上述NTP消息到达服务器时,服务器加上自己的时间戳T2;
c)服务器再发送这个NTP消息给客户机,此时再附加上它离开服务器时的时间戳T3;
d)当此NTP消息到达客户机时,客户机记录此时的时间戳T4。
根据上述过程时间关系可得:
T2=(T1+θ)+δ
T4=(T3-θ)+δ
可求解得到服务器和客户端之间的时间偏差θ、两者之间单程的网络传输时间δ:
可以看到,θ、δ只与T2和T1的差值、T4和T3的差值相关,而与T3和T2
的差值无关,即zui终的结果与服务器处理请求所需要的时间无关。据此,客户机即可通过这4个时间戳计算出的时间偏差θ和网络传输时间δ去调整本地时钟。
2.5NTP的时间处理过程
在NTP实现时,将使用复杂的算法和机制来确保时钟同步的高性。在一个时间同步设备上。NTP的处理流程如图3所示。
NTP
利用多个对等的时间服务器来获得高度和可靠性。当从多个对等服务器获取时间同步信息后,每个独立工作的过滤器从这些信息中选取*的样本与本地时间进行比较,通过选择和聚类算法对往返
延迟、偏移等参数进行分析,选取若干个较为准确的服务器。合成算法对这些服务器的信息进行综合,获取更为准确的时间参考。环路滤波器和可变频率振荡器在时钟校正算法的控制下,调节本地时钟
的时间和频率。
2.5.1针对某一个时间服务器的数据过滤处理
NTP采用一种收敛算法用于提高从一个时间服务器获得的网络延迟δ与时钟偏差θ的准确度,减少噪声因素的影响。客户机存有从这个时间服务器得到的的n
个(δ,θ)值,从中选择δ值zui小的(δ,θ)值,然后取定对应的θ值作为本次处理的时钟偏差值。同时,处理过程还根据上述n
个(δ,θ)值序列计算出一个评价因子,以标识该服务器时钟的质量。在Internet及各种局域网上的实验一致表明,上述对zui近n
个(δ,θ)值序列取δzui小值的过滤处理算法比采用中值算法及裁减中值算法能获得更高的时间精度。
2.5.2针对多个时间服务器的对等选择与组合处理
在NTP网络结构中,讲到NTP
的时间服务器通过多条网络路径与多个上层或同层服务器相连,通过上述*个处理过程,将获得针对多个时间服务器的多个处理结果。如果能够选择其中合适的服务器并对该服务器的信息进行处理,
将可以获得更高的时间准确度和更高的可靠性。NTP
使用一种对等选择与组合处理算法来解决这个问题,其基本思路[1]是:服务器的Stratum值越小、距离UTC
时间源越近、同步偏差越小、此时间服务器也越可靠,因而与Stratum
值小、同步距离小的服务器进行同步的准确度就越高。客户机首先根据*个处理过程中得到的评价因子、服务器的Stratum值及服务器的同步距离等参数对这些时间服务器进行排队,然后根据一定的准
则将扰动zui大的时间服务器去除,zui后采用合成算法计算其他时间服务器数据的统计平均值。
2.5.3本地时钟校正
为避免时钟的抖动及振荡,维持时钟的单调性,NTP并没有将前两步处理得到的时钟偏差直接用来调整本地时钟,而是将NTP
节点本地时钟校正的处理看作一个锁频/相环,通过一个环路滤波器转换为一个对可变频率振荡器VFO
的控制量来控制振荡器的振荡频率,间接调整系统时钟。此过程的详细算法在参考文献3中有详细的描述。NTP建立的本地时钟校正模型如图4所示。
3NTP时间服务器在时间同步网络中的应用
NTP时间服务器在时间同步网中得到了越来越多的应用。采用NTP
协议来实现时间同步具有投资少的优势,其精度能满足交换设备、数据网络、计费、电子商务、网管等的需求。用户可以通过互联网或自建NTP
时间同步网来进行时间同步。
NTP时间服务器在电信时间网络中的应用包括两个方面的内容:
a)采用NTP构建时间同步网络;
b)各种网元、应用系统使用NTP从NTP时间网络获取时钟并进行时钟校正。
3.1采用NTP时间服务器构建时间同步网
电信网络中采用NTP
协议构建时间同步网时,一般采用前文中描述的类树型结构。一级时间服务器一般位于骨干网的全国中心,二级及以下时间服务器可以根据网络情况向下部署至省级、地(市)中心等,网元设备等可以
从距其zui近的时间服务器进行时间同步。
图5为一个二级时间同步组网模式,网络设备及下级的时间服务器利用NTP协议从上级的时间服务器进行时间同步及校正。
一级时间服务器直接连接可靠的UTC时间源,如GPS卫星接收系统、原子钟等,获得UTC时间的经济并zui常用的方法是从GPS获得。GPS接收机从
卫星信号中获取并输出高精度的UTC标准时间信号,一级时间服务器据此进行时间同步。考虑到可靠性,每个网络可配置2
个一级服务器分别作为主、备用服务器,并分布在不同的2个局点。
二级时间服务器可以是的时间服务器,也可以是支持NTP协议的通信设备,如交换机的BAM、路由器等。它接收一级时间服务器的时间信息,通过NTP
协议校准时间,并可以作为时间服务器向下级时间服务器或网络设备提供时间服务。在时间服务器上也可以安装授时软件来作为授时服务器,向各种不支持NTP协议的设备授时。
上下级时间服务器之间、时间服务器与同步设备间应采用可靠的通信网络,如传输、PSTN、DDN、DCN、IP
网等各种通信网络。通常上下级时间服务器之间设置为转接次数较少的固定路由,传输距离也不宜太长。
采用NTP协议构建时间同步网,由于系统结构简单,且采用标准的接口,故便于维护及平滑扩容。
3.2网络节点时间同步的机制
电信网络中支持NTP协议的各种网络节点设备可以从所接入的时间同步网络进行时间的同步和校正。由于这些设备一般位于时间同步网的边缘,故可以采用简化的SNTP
来进行时间同步。
在网络节点设备每次启动时,系统会先启动一个NTP
时间同步进程,此进程被用来立即同步本地设备和时间服务器的时间。这是同步本地时间和服务器时间的zui快方式。此进程通常NTP
服务器作为一个参数,网络节点设备的时钟被设置为和服务器的时间匹配。当这个进程使用多个NTP服务器作为参数时,网络节点设备会使用Stratum值zui小的NTP
服务器。如果级别相等,网络节点设备会使用加权平均数。
在设备正常运行中,设备后台系统中有一个持续运行的时间同步守护进程,此进程会定时校验客户机的时钟和NTP
服务器的时间。守护进程通常是在系统启动的时候启动。因为客户机的时钟可能产生漂移,守护进程会周期性地向时间服务器发送同步请求,在必要时修正客户机的时间,并记录每次处理的时间差,根
据这个时间差来计划下一次检查的时间间隔。如果这个时间差比较大,下一次的时间检查间隔会比较小;如果时间差很小,下一次的检查间隔会比较大,这样可以在保证网络节点设备时间准确性的同时
,减轻时间服务器的负载及网络流量。
3.3使用NTP时间服务器应注意的问题
基于目前NTP协议的功能及应用情况,在使用NTP协议建设时间同步网络时,为了保证时间同步网络的正常运行,应注意下列问题:
a)在设计大型的时间同步网时,应避免采用单星型或树型结构,防止某一时间服务器出现故障时影响下级时间服务器的使用。建议采用前文中介绍的类树型结构,同时引用若干个上层时间服务器及同层
时间服务器作为参考源。这样不但提高了系统的可靠性,也能够提高系统的时间精度。
b)由于NTPv3中尚未支持NTP
节点间的鉴权等安全措施,在建设时间同步网络时,应采取相应的措施避免时间服务器受到攻击。如对于非面向公众的生产型时间同步网络,时间服务管理员应严格配置NTP
服务器的访问允许范围,拒绝服务范围以外的其他请求。
c)网络用户在进行参数配置时,应避免惟一的NTP服务器,而是应提供一个服务器列表,防止当惟一的服务器发生故障时影响服务。
d)终端设备的时间同步周期不宜设置得过小,以避免引起大的时间服务器负载压力和网络流量。
e)网络用户在进行参数配置时,应避免直接NTP时间服务器的IP地址,而是设置NTP时间服务器的域名,这样可利用DNS
服务器通过域名解析将访问负载分散到其他时间服务器。
4NTP协议的发展
随着计算机网络的发展,越来越多的应用对时间同步提出了更高的要求。NTP的应用也越来越广泛,在Internet上工作的时间服务器已超过10万台。目前,NTP
v4
正在研究中,它改进了时钟模型,可望在各种同步源和网络的情况下更地预测和调节频率和时间;它提出了相应的新算法以降低网络抖动和振荡器漂移的冲突;它将重新设计工作在频率锁相环、相
位锁相环或者两者混和模式下的时钟校正算法;还将提供关于自动配置、可靠性、降低Internet
流量和加强网络安全性的鉴权等方面的新特性。NTP的新版本将为各种时间应用提供更高精度的时间同步服务。