联网计算机同步时钟简便的方法是网络授时。网络授时分为广域网授时和局域网授时。广域网授时精度通常能达50ms级,但有时超过500ms,这是因为每次经过的路由器路径可能不相同。现在还没有更好的办法将这种不同路径延迟的时间误差完全消除。局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级。Windows内置NTP服务,在局域网内其授时精度也只能达10ms级。因此,提高局域网NTP授时精度成为一个迫切需要解决的问题。
基于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的工作模式 Server/Client mode:用户向一个或多个服务器发出服务请求,根据所交换的信息,从中选择认为准确的时间,并调整本地的时钟。 Multicast/Broadcast mode:此种模式是适用于在高速的LAN上。利用一个或多个服务器在固定的周期向某个多播地址做广播。 Symmetric mode:两个以上的Server互相进行时间消息的通讯,可以相互校正对方的时间,以维持整个subnet的时间的一致性。