寻找适用于 Windows 的 NTP 服务器软件

寻找适用于 Windows 的 NTP 服务器软件

我正在寻找适用于 Windows Server 2003/2008 的 NTP 服务器,最好是免费的。我们已经尝试过内置的 Windows 时间服务器,但我们的测试确实表明它不太准确,我们看到时间差异高达 500 毫秒。我们的应用程序可以允许的最大时间差异是 ~100 毫秒。

现在我们已经使用了迈伯格NTPd适用于 Windows。它运行良好,但我们有一个大问题:如果客户端和服务器之间出现网络连接问题,ntp 服务器将处于恐慌状态,直到我们重新启动 ntp 服务,它才会向客户端提供新的时间。这是一个大问题,给我们带来了一些麻烦。几个月来它一直运行良好,直到出现一个我们没有注意到的网络问题,我们只是在一周后才注意到它,当时客户端上的时差已经有 30 秒了。

所以请推荐一些适用于 Windows 的替代 NTP 服务器。我用 Google 搜索,但得到了很多不相关的搜索结果。

编辑: 到目前为止,ntpd windows 版本非常准确,我想继续使用它。唯一的问题是网络断开后出现“恐慌状态”。也许有人知道这是什么原因造成的,以及如何修复它。另外,我忘了提到我们有一个这样的服务器/客户端设置:

服务器1-->服务器2-->服务器3-->客户端1-->客户端2-->客户端3

因此,服务器 2 从服务器 1 获取时间,服务器 3 从服务器 2 获取时间,客户端从服务器 3 获取时间。此外,还有客户端直接连接到服务器 2。重要的是,所有服务器和客户端都具有完全相同的时间(在约 100 毫秒内)

现在 Server3 及其客户端出现了网络问题。服务器运行 Windows 的 ntpd 端口,充当 NTP 服务器和客户端。客户端使用 Dimension4 作为 NTP 客户端。网络问题发生后,D4 中的错误消息如下(这是我的印象,没有确切的错误消息):

服务器响应:服务器处于紧急状态(无法同步时钟)

我通读了 ntpd 文档,唯一提到“恐慌”的地方是当时间差达到 10000 秒时,会导致 ntpd 服务器退出,但事实并非如此。此外,还有一个“-g”命令行开关可以禁用恐慌退出,但它已默认设置。

有什么想法可能导致恐慌状态以及下次如何摆脱它?

答案1

我在用网络时间,多年来,既作为客户端,又作为服务器。

该软件主要是NTP客户端,但它也可以作为LAN内的NTP服务器(选项:允许其他计算机同步到此计算机)。

答案2

我们从 W32time 中看到远好于 500 毫秒,更像是 16 毫秒,这是 Windows 系统计时器的分辨率。这是由同一千兆 LAN 上的真实 Linux stratum-2 NTPd 服务器测量的。谷歌“Windows 时间服务工具和设置”并阅读有关“updateinteval”设置的信息,可以通过组策略或直接在注册表中修改。现在无法检查,但我记得我们已将所有服务器的该设置设置为 100,这是域控制器的默认值,但不是其他 Windows 域成员。

更新:事实上,我们已将所有服务器的该值设置为 100。UpdateInterval 设置的详细信息:

更新间隔

注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

版本:Windows XP、Windows Vista、Windows 7、Windows Server 2003、Windows Server 2003 R2、Windows Server 2008 和 Windows Server 2008 R2。

此项指定相位校正调整之间的时钟滴答数。域控制器的默认值为 100。域成员的默认值为 30,000。独立客户端和服务器的默认值为 360,000。

如您所见,默认情况下,W32time 仅对非域控制器每 30,000 个时钟周期“调整”一次时钟,如果它们不是域成员,情况会更糟。Windows 上的一个时钟周期通常为 1/64 秒,具体取决于硬件,这意味着在默认配置下,时钟仅每 8 分钟左右调整一次。这对于大多数应用程序来说没问题,但对于时间敏感的应用程序来说就不行了。

更多信息可以在这里找到: http://technet.microsoft.com/en-us/library/cc773263(v=ws.10).aspx#w2k3tr_times_tools_uhlp

答案3

NIST 列出的历代软件参考清单如下:这里。我过去使用过的是clockwatch服务器。我还建议您更改同步拓扑。server1应该是网络上所有时间的源(server 2和3作为备份)。客户端只有在没有可用服务器时才应该进行对等同步。

相关内容