NTP 及其在电信时间同步网络中的应用

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

你可能感兴趣的:(NTP 及其在电信时间同步网络中的应用)