NTP时钟同步原理及误差简析
在我们某试验系统方案设计中,由于数据同步性的要求,需要将我们WP4000变频功率分析仪的时钟与客户的NI系统的时钟进行同步,对于WP4000变频功率测试系统而言,多台分析仪之间可通过同步光纤接口达到严格同步,同步时序达us级。但要求WP4000变频功率测试系统与其它系统之间保持同步,在同步性要求不是特别高的情况下,可以采用NTP时钟同步的方式进行多系统间的同步,以下就NTP时钟同步系统误差进行简析。
一、NTP协议简介
网络时间协议NTP(Network Time Protocol)的主要开发者是美国特拉华大学的MILLS David L教授设计实现的,由时间协议、ICMP时间戳消息及IP时间戳选项发展而来。NTP用于将计算机客户或服务器的时间与另一服务器同步,使用层次式时间分布模型。在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。即使客户机在长时间无法与某一时间服务器相联系的情况下,仍可提供高准确度时间。
实际应用中,还有确保秒级精度的简单的网络时间协议SNTP(Simple Network Time Protocol)。SNTP是NTP的一个子集,主要用于那些不需要NTP的精度以较高实现复杂性的网络时间同步客户机。SNTP协议已减少了网络延时对校对准确的影响,但没有冗余服务器和校正时钟频率误差功能。
一般的计算机和嵌入式设备在时钟度方面没有明确的指标要求, 时钟精度只有10-4~10-5,每天可能误差达十几秒或更多,如果不及时校正,其累积时间误差不可忽视。许多工业控制过程需要高准确度时间,如:电力系统内众多的计算机监控系统、保护装置、故障录波器等时间同步要在ms级以内。
联网计算机同步时钟最简便的方法是网络授时。网络授时分为广域网授时和局域网授时。广域网授时精度通常能达50ms级,但有时超过500ms,这是因为每次经过的路由器路径可能不相同。现在还没有更好的办法将这种不同路径延迟的时间误差完全消除。局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级。Windows内置NTP服务,在局域网内其最高授时精度也只能达10ms级。因此,提高局域网NTP授时精度成为一个迫切需要解决的问题。
二、NTP授时原理
NTP最典型的授时方式是Client/Server方式。如下图1所示,客户机首先向服务器发送一个NTP 包,其中包含了该包离开客户机的时间戳T1,当服务器接收到该包时,依次填入包到达的时间戳T2、包离开的时间戳T3,然后立即把包返回给客户机。客户机在接收到响应包时,记录包返回的时间戳T4。客户机用上述4个时间参数就能够计算出2个关键参数:NTP包的往返延迟d和客户机与服务器之间的时钟偏差t。客户机使用时钟偏差来调整本地时钟,以使其时间与服务器时间一致。
图1 Client/Server方式下NTP授时原理
图1中:T1为客户发送NTP请求时间戳(以客户时间为参照);T2为服务器收到NTP请求时间戳(以服务器时间为参照);T3为服务器回复NTP请求时间戳(以服务器时间为参照);T4为客户收到NTP回复包时间戳(以客户时间为参照);d1为NTP请求包传送延时,d2为NTP回复包传送延时;t为服务器和客户端之间的时间偏差,d为NTP包的往返时间。
现已经T1、T2、T3、T4,希望求得t以调整客户方时钟:
....................................................式(1)
假设NPT请求和回复包传送延时相等,即d1=d2,则可解得“
.....................................式(2)
根据式(1),t也可表示为:t=(T2-T1)+d1=(T2-T1)+d/2.....................式(3)
可以看出,t、d只与T2、T1差值及T3、T4差值相关,而与T2、T3差值无关,即最终的结果与服务器处理请求所需的时间无关。因此,客户端即可通过T1、T2、T3、T4计算出时差t去调整本地时钟。
三、NTP授时精度分析
NTP授时精度与NTP服务器与用户间的网络状况有关,主要取决于NTP包往返路由的延时对称程度,往返路由的延时不对称值最大不超过网络延时。式(2)是在假设NTP请求和回复包在网上传送延时相等,即d1=d2=d/2的情况下得出的,而d1、d2的取值范围在(0...d)间,由式(3)可以得出最大授时误差是±d/2。一般广域网的网络延时在10 ms~500ms之间;局域网的网络延时在计时操作系统内核处理延迟的情况下通常小于1ms。
假定局域网内NTP延时小于1ms,理论上授时误差小于0.5ms,但对于Windows操作系统内置的NTP客户和NTP服务,并不能达到此精度。Windows NTP时钟分辨率因操作系统和硬件不同而有所不同,时钟分辨率通常为10ms或15ms。基于Windows操作系统内置的NTP授时精度最高不超过10ms。
四、基于NTP减少计算机时钟偏差
01、计算机时钟偏差分析
通用PC机自带两类时钟源:硬件时钟和软件时钟(或称为系统时钟)。不论是硬件时钟还是软件时钟,都是由石英晶体振荡器驱动的,通过累计石英晶体振荡器输出脉冲数,换算出时间。所以计算机时钟的准确度取决于晶振频率准确度。受温度变化、电压、芯片老化等因素影响,晶振频率会发生小幅度波动,其中温度对晶振频影响最大。
由于工艺和材料的原因,同一生产线上标称频率相同的石英晶体,其实际频率是不同的,实际频率与标称频率偏差率从10-4量级到10-9量级不等。以10-4量级为例,时钟每天至少误差8.64 s。
02、基于NTP减少计算机时钟频率偏差
时钟频率偏差是时钟长期计时累积误差的主要原因,要提高时钟长期计时精度,必须补偿时钟频率偏差。联网的计算机可采用NTP方式,可非常方便地校准时钟频率偏差。以NTP服务器时钟为标准时间,在某一时刻设置NTP客户机时间为NTP服务器当前时间T0,经过一段时间后,NTP服务器时间为T0+tsn,NTP客户端时间为T0+tcn。因为存在时钟频率偏差,tsn与tcn并不相等。NTP客户端时间tcn需乘以时钟频率偏差系数k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
任何晶振实际工作频率都是不稳定的,只是程度不同而已。即使温度补偿的晶振,在常温范围内(摄氏10℃~35℃)也有大约5×10-7~2×10-6的误差。晶振实际频率是受外界多种因素(温度、电压、老化等)影响而改变的。因此,时钟频率偏差系数k并非恒定不变的。每隔一定时间,NTP客户机要对时钟频率偏差系数k进行校正,才能保证计时精度。
五、进一步提高NTP授时精度的方法
局域网络延相对较大的原因在于时间戳一般都是在应用层加盖。为减少操作系统内核处理延时的影响提高NTP授时精度,发/收NTP包时间戳应尽量接近主机真实发/收包时刻。在不改变硬件的条件下,一个可行的办法是修改网卡驱动程序,将记录NTP包发/收时间戳从应用程序移至网卡驱动程序处,可消除操作系统内核处理延时不确定而引入的误差。这种方法在局域网中可大幅提高NTP授时精度至μs级。
为了减少温度引起晶振频率漂移对时钟准确度的影响,可以采用数字温漂补偿方法,提高时钟长期计时准确度。先测出工作温度范围内温度对应的温漂补偿系数,工作时每隔一定时间,根据实际温度查出对应补偿系数动态地修正时间。
时钟频率偏差和时钟分辨率低是局域网NTP授时精度不高的主要原因。
[原文:https://www.vfe.cc/]
NTP时钟同步原理及误差简析相关推荐
- ntp如何确认与服务器偏差_NTP时钟同步原理及误差简析
原标题:NTP时钟同步原理及误差简析 在我们某试验系统方案设计中,由于数据同步性的要求,需要将我们WP4000变频功率分析仪的时钟与客户的NI系统的时钟进行同步,对于WP4000变频功率测试系统而言, ...
- NTP时钟服务器原理及误差简析(京准)
NTP时钟服务器原理及误差简析 1.引言 作为数字通信网的基础支撑技术,时钟同步技术的发展演进始终受到通信网技术发展的驱动.在网络方面,通信网从模拟发展到数字,从TDM网络为主发展到以分组网络为主:在 ...
- 政务网时间同步(NTP时钟同步服务器)原理及重要性分析
政务网时间同步(NTP时钟同步服务器)原理及重要性分析 政务网时间同步(NTP时钟同步服务器)原理及重要性分析 京准电子科技官微--ahjzsz 摘要:随着电子政务的不断发展,许多省份都建立了自己的政 ...
- NTP时钟同步服务器在厂站自动化系统中应用探讨
NTP时钟同步服务器在厂站自动化系统中应用探讨 更多资料参考微♥ ahjzsz 厂 站 自 动 化 系 统 的 正 常 运 行 离 不 开 时 间 的 准 确 计量, 而 且 需 要 高 精 度 的 ...
- Centos7 NTP时钟同步配置
Centos7 NTP时钟同步配置 NTP在Linux下有两种时钟同步方式:直接同步(也称跳跃同步)和平滑同步(也称微调同步). 直接同步 使用ntpdate命令进行同步,直接进行时间变更. 如果服务 ...
- 医院综合安防系统为何要把网络服务器NTP时钟同步?
医院综合安防系统为何要把网络服务器NTP时钟同步? 医院综合安防系统为何要把网络服务器NTP时钟同步? 平安医院系统建设的最终目标是实现以物联网信息技术为支撑,建成覆盖整个医院的网络互联互通.信息资源 ...
- 整合网络时间同步系统(NTP时钟同步设备)解决方案
整合网络时间同步系统(NTP时钟同步设备)解决方案 整合网络时间同步系统(NTP时钟同步设备)解决方案 电力系统对统一时间的要求愈来愈迫切,高精度.可管理.高可靠的时间同步网已经成为现代化电力系统稳定 ...
- 计算机网络系统 NTP时钟同步服务器 IP地址汇总
计算机网络系统 NTP时钟同步服务器 IP地址汇总 中国国家授时中心的时间服务器IP地址及时间同步方法(附多个时间服务器地址) 大家都知道计算机电脑的时间是由一块电池供电保持的,而且准确度比较差经常出 ...
- 32f407tim4时钟源频率_华为以太时钟同步原理介绍(一)
1.以太时钟同步简介 以太时钟同步功能,用来实现以太网上的频率同步.它可以从线路上恢复时钟信号,或者从外时钟BITS接口输入时钟信号,然后通过以太网把频率向下游网络传递下去.使用该功能,使得时钟频率可 ...
最新文章
- Centos7-Mysql 5.6 多主一从 解决方案详细配置
- 深度解析工业软件:研究框架(140页)
- mvvm command的使用案例
- matlab拟合未定义函数或变量,关于matlab的未定义函数或变量的问题
- TF:利用TF的train.Saver将训练好的W、b模型文件保存+新建载入刚训练好模型(用于以后预测新的数据)
- mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
- SNF软件开发机器人-子系统-导出-导入功能-多人合作时这个功能经常用到
- wms智能仓储系统不可缺少?
- 【数据库原理】SQL语句练习
- 数学分析高等代数考研试题荟萃[更新至2017年12月28日]
- The “fxp/composer-asset-plugin“ plugin was skipped because it requires a Plugin API version (“^1.0“)
- 论文阅读:MPViT : Multi-Path Vision Transformer for Dense Prediction
- win7 台式电脑怎么调节屏幕亮度
- Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command ‘........‘
- 多多情报通:拼多多如何取消满返活动?拼多多满返什么意思?
- 台积电市值超越腾讯阿里,成为亚洲第一,互联网不香了?
- 双非(湖大)学子保研夏令营简历优质修改辅导
- 爬虫从入门到精通(16) |最详细的的Fiddler抓包软件介绍
- java 中的空格符、换行符等怎么表示
- 微软在欧洲开设首家物联网实验室