联网计算机同步时钟简便的方法是网络授时。网络授时分为广域网授时和局域网授时。广域网授时精度通常能达50ms级,但有时超过500ms,这是因为每次经过的路由器路径可能不相同。现在还没有更好的办法将这种不同路径延迟的时间误差完全消除。局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级。Windows内置NTP服务,在局域网内其授时精度也只能达10ms级。因此,提高局域网NTP授时精度成为一个迫切需要解决的问题。
假定局域网内NTP延时小于1ms,理论上授时误差小于0.5ms,但对于Windows操作系统内置的NTP客户和NTP服务,并不能达到此精度。Windows NTP时钟分辨率因操作系统和硬件不同而有所不同,时钟分辨率通常为10ms或15ms。基于Windows操作系统内置的NTP授时精度不超过10ms。
基于NTP减少计算机时钟频率偏差 时钟频率偏差是时钟长期计时累积误差的主要原因,要提高时钟长期计时精度,必须补偿时钟频率偏差。联网的计算机可采用NTP方式,可非常方便地校准时钟频率偏差。以NTP服务器时钟为标准时间,在某一时刻设置NTP客户机时间为NTP服务器当前时间T0,经过一段时间后,NTP服务器时间为T0+tsn,NTP客户端时间为T0+tcn。因为存在时钟频率偏差,tsn与tcn并不相等。NTP客户端时间tcn需乘以时钟频率偏差系数k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
NTP意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒误差内。它使用Marzullo算法的修改版来选择的时间服务器,其设计旨在减轻可变网络延迟造成的影响。NTP通常可以在公共互联网保持几十秒的误差,并且在理想的局域网环境中可以实现超过1毫秒的精度。不对成路由可拥塞控制可能导致100毫秒(或更高)的错误。