我有一个依赖gpsd和ntpd的应用程序来准确设置linux机器上的系统时间。
gpsd喂NMEA + PPS
应用程序通过网络每秒大约25MB,我认为系统上的负载会在某种程度上导致时间抖动。 (加载PCI Express总线导致不规则的中断延迟)
我有另一台机器完全没有加载,我可以设置为读取GPS并充当加载机器的NTP服务器。 (加载的机器将获得startum 1 ???)
我希望从以太网上同一子网上的第0层NTP服务器获得时间的准确度是多少?
我希望这不是太偏离主题,我相信其他人会很高兴答案记录在这里。 ; - )
答案 0 :(得分:4)
我在NTP accuracy上可以找到的最佳信息,似乎在局域网设置中指向1-2毫秒:
NTP v4带有支持它的内核模块,能够比1ms精度好得多,可能高达1ns。根据[Dave Mills]的文章,NTP v3在局域网中精确到1-2ms,在WAN网络中精确到10ms。 http://www.cis.udel.edu/~mills/ntp.html
其他文章表明,使用准确的时间源,例如GPS时间源,NTP精确到50us,但Linux内核支持上的链接表示可以达到几毫秒的精度。 http://www.atomic-clock.galleon.eu.com/support/ntp-time-server-accuracy.html
另一篇文章说它依赖于网络延迟的可预测性(即低抖动网络)。 http://www.postel.org/pipermail/end2end-interest/2003-April/002925.html
答案 1 :(得分:2)
在这种情况下,NTP通常被认为适用于小的单位数ms。
在运行了几天之后,任何实际时钟都不应该有太多的抖动,因为ntpd实现了一堆非常长的时间常数过滤。
但是,你并没有真正说出你是如何衡量时间的,你所使用的任何机制可能与基础同步一样紧张(如果不是更多)。
如果你有一个繁忙的网络和真正深度缓冲的网卡,那么这可能无济于事,因为数据包到达和中断服务之间的抖动会更大。以太网交换机的功能越大,时间也越差 - 老式集线器在这方面要优于交换机。
答案 2 :(得分:0)
有问题的NTP服务器的层级与时钟/服务器的准确性无关。它纯粹意味着远离你的“参考时钟”。
更重要的是,关于NTP准确性(当然,就时间而言)是服务器之间的网络延迟,正在使用的服务器类型以及可能的服务器负载。根据您使用的NTP服务器,他们会记录他们的时间准确程度。每个服务器软件都使用各种算法来根据网络延迟和服务器负载来计算时间,这取决于这些算法的准确性。
例如,MS NTP服务器声明它将在2秒内准确无误。 OpenNTPd表示他们不会给你可能的服务器准确性。有些情况下,第3层服务器可能比第2层服务器等更准确。