ntp基于什么协议,ntp时间同步协议

来自https://www.Sohu.com/a/206862105 _ 130560

SNPT秒数量级的时间精度

NTP授受的精度与NTP服务器和用户之间的网络状况有关。 广域网授受的精度通常达到50ms级,但有时超过500ms; 在LAN的情况下,由于路由器没有路径延迟的问题,所以授课时间的精度理论上可以提到亚毫秒级; 但是,Windows内置了NTP服务,在局域网内最高授时精度也只能达到10ms级。

一、NTP协议简介

3358 www.Sina.com/NTP 网络时间协议)的主要开发人员是由美国特拉华大学的MILLS David L教授设计实现的,包括时间合同、ICMP时间戳消息和IP时间戳NTP用于将计算机的客户端或服务器时间与另一台服务器同步,并使用分层的时间分布模型。 配置时,NTP可以利用冗馀服务器和多个网络路径获得时间的高准确性和高可靠性。 即使客户端长时间无法连接到服务器,客户端也可以提供高精度的时间。

在实际应用中,还有确保秒级精度的简单网络时间协议sntp[simplenetworktimeprotocol] )。 SNTP是NTP的子集,主要用于不需要NTP精度来实现复杂性的网络时间同步客户端。 SNTP协议降低了网络延迟对校准的准确影响,但没有冗馀服务或补偿时钟频率误差的功能。

一般计算机和嵌入式设备没有时钟精度的明确指标,时钟精度只有10-4~10-5,每天可能有10几秒以上的误差,必须及时修正,累积时间误差不容忽视。 许多工业控制过程需要高精度的时间,例如电力系统中许多计算机监控系统、保护装置、故障录波器等的时间同步必须在ms级以内。

网络计算机同步时钟最简单的方法是在网络授时。 网络课分为广域网课和局域网课。网络时间协议目前没有更好的方法来完全消除这种不同路径延迟的时间误差。 http://www.Sina.com/http://www.Sina.com /因此,提高LANNTPhttp://www.Sina.com/成为一个亟待解决的问题。

广域网授时精度通常能达50ms级,但有时超过500ms

NTP最典型的授时方式是客户端/服务器方式。 如图1所示,客户端首先向服务器发送包括远离客户端的时间戳T1的NTP分组,服务器在接收到分组时,依次写入分组到达的时间戳T2、分组离开的时间戳T3,并直接写入分组到达的时间戳T3 在客户端接收到响应包时,记录包返回的时间戳T4。 客户端可以使用上述四个时间参数来计算两个关键参数,即NTP分组的往返延迟d和客户端与服务器之间的时钟偏差t。 客户端使用时钟偏差调整本地时钟,使该时间与服务器时间相匹配。

图1客户端/服务器方式中的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 ) t=T2-T1 ) d/2 .式3)

可见t、d仅与T2、T1的差值以及T3、T4的差值相关,而与T2、T3的差值无关,即最终结果与服务器处理请求所需的时间无关。 因此,客户端可以通过在T1、T2、T3和T4处计算时差t来调整本地时钟。

局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级

Windows内置NTP服务,在局域网内其最高授时精度也只能达10ms级涉及NTP服务器和用户之间的网络状况,主要取决于NTP分组往返的延迟对称度,往返的延迟不对称值最大不超过网络延迟。 当假设NTP请求等于因特网上的回复分组的传输延迟即d1=d2=d/2 )时获得表达式2),但是d1、d2可能的值的范围在0.d )之间,并且其中典型的广域网延迟介于1ms至500 ms之间的其他网络延迟,在对OS内核的处理延迟进行计数的情况下,通常小于1ms。

假设LAN中的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授时精度不高的主要原因。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注