如何在不查询服务器的情况下检查其他 NTP 服务器的 NTP 版本?NTPv3 和 NTPv4 网络数据包不同,我知道我可以在 ntpd 同步时捕获数据包并对其进行分析。但是,我认为这不够优雅。您还有其他方法可以确定服务器是 NTP v3 还是 NTP v4?
这样做很重要,因为 NTP v3 的准确性远低于 NTP v4(在典型的互联网上,误差为几毫秒到几十毫秒)。
NTPv4 于 2001 年推出(http://doc.ntp.org/4.1.0/release.htm),但似乎仍有一些服务器使用 ntpv3。我想从我的对等列表中删除这些服务器。该如何完成?
我在我的服务器列表中使用版本 4 命令,这足够吗?
答案1
检查您的时间服务器网站以确定。像我一样,我经常使用 time.nrc.ca,他们在其网站上将用户引导到 time4.nrc.ca 以使用 v4。我给出这个例子是因为最好检查网站以获取信息。
答案2
对于 Linux,我运行了-h
一个无效的参数,但输出显示了正在运行的 NTP 版本
# ntpd -h
/usr/sbin/ntpd: illegal option -- h
ntpd - NTP daemon program - Ver. 4.2.8p12
Usage: ntpd [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \
[ <server1> ... <serverN> ]
Try 'ntpd --help' for more information.
上面你可以看到4.2.8p12
答案3
我一直在谷歌搜索同样的内容,并检查了各种手册页,似乎在怀疑时假设版本 4。您可以将您的客户端指定给用户 1-4,并且所有客户端都将与版本 4 ntpd 服务器兼容。