ntpd 过分不准确

Ale*_*x I 4 windows ntp time ntpd

我已经设置了 ntpd(Windows 7 客户端上的 Windows 的 Meinberg ntp-4.2.6p5@london 版本),并选择了一堆附近的服务器来降低 ping 时间(通常为 10-20ms ping)。然而,我的时钟似乎只能精确到 100 毫秒或更短,并且不会随着时间的推移而变得更好。我原以为它可以比 ping 时间准确,这令人失望。如何让它更好地工作?

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+pool-test.ntp.o 216.218.254.202  2 u  259 1024   17   12.920  -106.39 111.972
+palpatine.steve 208.201.242.2    3 u  239 1024   17   16.959  -102.84 112.056
+grom.polpo.org  127.67.113.92    2 u  259 1024   17   17.362  -184.43  74.468
+paladin.latt.ne 204.123.2.72     2 u  378 1024    3   24.211  -106.97  61.825
+public-ntp1.iso 204.13.164.164   3 u  259 1024   17   33.080  -100.17  65.970
+nist1.symmetric .ACTS.           1 u  214 1024   17   17.548  -108.30 111.951
*nist1-sj.ustimi .ACTS.           1 u  245 1024   17   21.826  -111.02  63.313
Run Code Online (Sandbox Code Playgroud)

抖动和偏移怎么会比延迟大得多?当 ping 时间为 12 毫秒时关闭 100 毫秒似乎很荒谬,我读错了吗?

事实上,我不知道NTP是做任何事情去改变我的时钟-这似乎得到一个时间,但不一定设置任何东西。我该如何检查?

还有一些信息:

ntpdc> sysinfo
system peer:          nist1-sj.ustiming.org
system peer mode:     client
leap indicator:       00
stratum:              2
precision:            -11
root distance:        0.02182 s
root dispersion:      0.15431 s
reference ID:         [216.171.124.36]
reference time:       d4dae2b5.3c32ce54  Fri, Mar  1 2013  0:17:57.235
system flags:         auth monitor ntp kernel stats
jitter:               0.045776 s
stability:            0.000 ppm
broadcastdelay:       0.000000 s
authdelay:            0.000000 s

more "c:\Program Files (x86)\NTP\etc\ntp.drift"
192.049

more "c:\Program Files (x86)\NTP\etc\ntp.conf"
driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift"
server nist1.symmetricom.com iburst
server nist1-sj.ustiming.org iburst
server 149.20.68.17 iburst
server 173.230.144.109 iburst
server 65.19.178.219 iburst
server 204.2.134.162 iburst
server 173.230.144.109 iburst
server 207.115.64.229 iburst
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望时间与配置的服务器的中位数相差不超过 50 毫秒,如果距离更远,我希望它步进。是否有任何我可以设置的配置选项可以让 ntp 做到这一点?

Chr*_*s S 5

NTP 旨在在几乎所有网络上在 1 秒内获得准确时间。所以在这方面 100ms 运行正常。在今天的实际使用中,NTP 在几乎所有硬件上的时间通常保持在 20 毫秒内,而在具有稳定 RTC 的硬件上则保持在 5-10 毫秒内。

如果您的服务器以一致的数字(与其同行相比)持续关闭,那么它的 RTC 中可能会有很多抖动。NTP 可以通过打击它的同行来不断获得“正确”的时间来弥补这一点。但是,不建议这样做,并且对与您同行的人不太礼貌。

NTP 不“设置”时钟(默认情况下)。它“旋转”时钟,使其运行得更快或更慢,直到时钟达到目标时间。然后重新调整压摆率以补偿“漂移”(NTP 计算出的 RTC 与对等点相比快或慢的量)。

另外,我同意 tgharold 的所有回答的建议。