我们中的许多人对我们的计算机和其他设备偶尔出现问题,保留了准确的时间设置,但是与NTP服务器的快速同步使得一切顺利。但是如果我们自己的设备丢失准确性,NTP服务器如何保持这样准确?
今天的问题
照片由LEOL30(Flickr)提供。
问题
SuperUser阅读器Frank Thornton想知道NTP服务器如何保持这么准确:
我注意到,在我的服务器和其他机器上,时钟总是漂移,以便它们必须同步才能保持准确。NTP服务器时钟如何防止漂移,并始终保持如此准确?
NTP服务器如何保持这样准确?
答案
SuperUser的贡献者Michael Kjorling有us:
的答案
NTP服务器依靠高度准确的时钟进行精确计时。中央NTP服务器的常见时间源是原子钟或GPS接收器(请记住,GPS卫星在船上具有原子钟)。这些时钟被定义为准确的,因为它们提供了高度精确的时间参考。
关于GPS或原子钟,什么都不是什么神奇的,让他们准确地告诉你什么时间。由于原子钟的工作原理,它们非常擅长,曾经被告知什么时间,保持准确的时间(因为第二个是以原子效应定义的)。事实上,值得注意的是,GPS时间与UTC不同,我们更习惯于观看。这些原子钟反过来又与国际原子时间或TAI同步,以便不仅准确地告诉时间的流逝,而且时间。
一旦您在连接到互联网这样的网络的系统上有一个确切的时间,这是协议工程的问题,可以通过不可靠的网络在主机之间传输精确的时间。在这方面,第2层(或远离实际时间来源)NTP服务器与桌面系统与一组NTP服务器同步没有什么不同。
当您有几个准确的时间(从NTP服务器或其他地方获得),并了解本地时钟的进度(这很容易确定),您可以计算您的本地时钟一旦锁定,该值可以用于连续调整本地时钟,使其报告值非常接近于准确的时间流逝,即使本地实时时钟本身是非常不准确的。只要你的本地时钟不是很不稳定,这应该允许保持准确的时间一段时间,即使你的上游时间源由于任何原因不可用。
一些NTP客户端实现(可能大多数ntpd守护程序或系统服务实现)执行此操作,其他(如ntpd这通常被称为漂移文件,因为它持续存储时钟漂移的度量,但严格来说,它不必作为特定文件存储在磁盘上。
在NTP中,层次0根据定义是准确的时间源。层1是使用层0时间源作为其时间源(并且因此略低于层0时间源的精度)的系统。层2再次比层1稍微精确,因为它将其时间与层1源同步,等等。实际上,这种精确度的损失是如此之小,除了最极端的情况之外,它完全可以忽略不计。
有什么要补充说明吗?在评论中发出声音。想要阅读其他技术精湛的Stack Exchange用户的更多答案?在这里查看完整的讨论话题。
."