我们正准备就 NTP 层作为时间准确性指标展开争论。引发整个争论的声明是:
第 5 层可以休息四分钟。
我的理解是,NTP 会尽其所能地提供正确的时间,无论您距离权威时钟有多少跳数(层数)。我理解,层数越高意味着时间服务器出现故障或网络不稳定导致计算错误的可能性就越大。我理解,除了层数(抖动、延迟等)之外,还应该检查更多内容来确定时钟的准确性。我还理解,应该有 3 或 4 个(或更多?)上游时间服务器以实现冗余和统计可靠性。
在内部,几个生产系统是第 5 层。我无法从我的第 5 层测试系统延伸到第 2 层以获取偏移量。
ntpdate -q 1.debian.pool.ntp.org
server 208.53.158.34, stratum 0, offset 0.000000, delay 0.00000
6 Jan 15:47:46 ntpdate[]: no server suitable for synchronization found
但联系我的几个内部第 3 层服务器后,差异约为 -0.007。(甚至更少!)
我正在寻找可以给非技术经理提供的理由来缓解他们的恐惧。目前我倾向于这样的做法。
层级只是对来自权威时钟的跳数的测量。我们的内部 NTP 服务器从层级 2 服务器接收时间。这在互联网上相当标准。(否则层级 1 服务器会过载。过载的时间服务器会报告错误的时间。)我们的内部层级 3 服务器和层级 5 生产系统之间的差异大约为 7千秒。第 3、4 和 5 层时间服务器均归我们所有,并通过我们的网络进行通信。除非我们的内部第 3 层时间服务器(用作整个公司的时间源)疯狂地不准确,我们不应该担心层作为系统时间准确性的指标。
我意识到我需要让管理层说明可接受的误差是多少。(我们不参与生死攸关的决定,我们不向客户提供时间服务,我们也不交易股票,因为几秒钟的误差会让我们面临巨大的财务责任。我从谈话中了解到,4 分钟对一些业务部门来说很重要。哎呀,4 分钟可能会让 NFS 发疯!)
有人能指出我的推理和过程哪里错了吗?有没有更好的论据?有没有网站/链接描述随着层数的增加,时间的准确性我可以将其用作研究吗?
答案1
正如您所说,层级仅测量自称可靠的服务器的跳数。如果您使用的是连接性良好的可靠服务器,那么您的时间不太可能偏离标准时间太远。您的结论是正确的。您的时间服务器的准确性取决于层级最低的服务器。我同意您的说法,它很好地总结了一切。
将所有层的延迟和偏移量相加,以获得最坏情况的方差。这将假设最大程度的非对称网络传输时间。在第 5 层,这应该远低于一秒。在内部,您只需考虑第 3 层服务器(应进行对等连接)的偏移量。这在您的网络中似乎非常低。
您的 3 级服务器应该能够报告其 2 级服务器的数据。我通过 IPv6 隧道连接到时间服务器,延迟为 35 到 70 毫秒。偏移量小于 4 毫秒。轮询时间为 1024 秒(约 17 分钟)。
在企业网络中,我希望使用 NTP 的服务器能够以百分之几秒的精度同步。看来您的组织已经实现了这一点。我曾遇到过几分钟的偏移,但这些偏移发生在未同步的服务器上。有许多程序可以监控 NTP 服务器并报告是否存在问题。
表明存在需要调查的问题的标志包括:
- 偏移量较大(超过几毫秒)。
- 服务器上的轮询时间较短。(启动后不久出现这种情况是正常的,但很快就会上升到 1024)。
- 高抖动(尽管它可能比偏移略高)。
- 延迟较高(取决于距离,但通常为几百分之一秒。
- 服务器上已运行超过 10 分钟的可达性值(除 377 之外)。
我放弃显示一个或两个以上此类标志的服务器。
在网络内部,所有这些值都应该非常低,并且层数不应该是一个重要因素。只要级别保持在分配给本地时钟层的层以下,就不应该允许显着的时间差异。
我调查过带有 1 级服务器的系统,这些服务器报告的时间与正确时间相差数天。这些服务器很可能使用没有伪造因素的本地时钟。(我使用 10,但认为任何超过 8 级的服务器都是可疑的。)幸运的是,您可以选择时间服务器。