4

我有一个应用程序,它依赖 gpsd 和 ntpd 来准确设置 linux 机器上的系统时间。

gpsd 输入 NMEA + PPS

该应用程序在网络上每秒运行约 25MB,我认为系统上的负载以某种方式导致时间抖动。(加载的 PCI express 总线导致不规则的中断延迟)

我有另一台完全没有加载的机器,我可以设置它来读取 GPS 并充当已加载机器的 NTP 服务器。(加载的机器将开始启动 1 ???)

我期望来自以太网同一子网上的第 0 层 NTP 服务器的时间有多准确?

我希望这不是太离题,我相信有时其他人会很高兴答案记录在这里。;-)

4

3 回答 3

4

我能找到的关于NTP accuracy的最佳信息,似乎在 LAN 设置中指向 1-2 ms:

NTP v4 与内核模块支持它,能够比 1ms 精度好得多,可能和 1ns 一样好。根据 [Dave Mills] 文章,NTP v3 在 LAN 中精确到 1-2 毫秒,在 WAN 网络中精确到 10 毫秒。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

于 2008-09-24T14:05:09.990 回答
2

在这种情况下,NTP 通常被认为适用于小个位数毫秒。

在它运行了几天之后,实际时钟中应该不会有太多的抖动,因为 ntpd 实现了一堆非常长的时间常数过滤。

但是,您并没有真正说出您是如何测量时间的,并且您使用的任何机制都可能与(如果不超过)底层同步一样紧张。

如果您确实有一个繁忙的网络和具有真正深度缓冲的网卡,那么这可能无济于事,因为数据包到达和中断服务之间的抖动会更大。您的以太网交换越花哨,它的时序也就越差——在这方面,老式集线器比交换机好。

于 2008-09-24T14:15:59.857 回答
0

所讨论的 NTP 服务器的层级与时钟/服务器的准确性无关。这纯粹是指距您所在的“参考时钟”的距离。

更重要的是,关于 NTP 准确性(当然,关于时间)是服务器之间的网络延迟、正在使用的服务器类型以及潜在的服务器负载。根据您使用的 NTP 服务器,他们会记录其时间的准确性。每个服务器软件都使用各种算法来根据网络延迟和服务器负载计算时间,这取决于这些算法的准确性。

例如,MS NTP 服务器声明它将在 2 秒内准确。OpenNTPd 已声明他们不会为您提供服务器可能的准确性。在某些情况下,第 3 层服务器可能比第 2 层服务器更准确,等等。

于 2013-03-22T15:24:21.193 回答