使用w32tm / stripchart来判断两个Windows主机之间的时间差异是否可行?发现两个主机时间差异的更好方法是什么?

第二个问题的答案是”是的,有更好的方法来衡量两个主机之间的 时间差异.微软说得对.他们指向,其中列出了一大堆其他软件(和硬件).可能比w32tm.exe好.我相信很多都是,因为微软显然不支持w32tm.exe作为超高精度工具.”

windows 时间(和w32tm.exe)符合RFC 1305(NTPv3),包括补偿网络延迟.补偿网络延迟是网络时间协议的基本特征之一. (参见Marz ullo的算法,这是NTPv3 使用的算法.)

让我对你的问题感到沮丧的是,高精度对你来说非常重要,但是你没有给出任何关于你需要精确精度的提示. 1秒? 1毫秒? 1纳秒?通用计算机的时钟分辨率与处理器接收的时钟中断频率相关,通常由运行在32.768 KHz(功率为2)的晶体振荡器控制,但这对温度,电压等敏感. .典型windows机器上的HAL认配置实时时钟每15.6毫秒启动一次,或大约每秒64次.但是,您仍然可以将RTC调低至1ms,您还可以通过软件将该15.6毫秒时间片细分为更小的片段,以实现高性能应用.无论如何,NTP 时间戳本身是一个64位无符号定点数,因此理论上的限制大约为232皮秒的精度,但windows 时间实现甚至没有接近. windows 时间 显示的NTP精度为-6,并且不支持某些最新和最好的NTP算法,因此实际上它可能永远不会产生比一个硬件时钟滴答或正负16毫秒更精确的精度.

上图是系统上时钟中断的频率.请注意,即使是时钟中断(32位windows上的IRQL 28和64位windows上的IRQL 13)也可以被更高的中断(例如处理器间中断)抢占,并且即使是通过纳秒.

所以回到NTP.

w32tm / stripchart /co mputer:10.0.1.8是测试一台windows机器与另一台机器之间的 时间差异的完美有效方法.它确实考虑了网络延迟,正如我们上面讨论的那样,它与NTPv3 兼容.但是不要相信我的话.您可以在Wireshark跟踪(w32tm.exe发送到windows NTP 服务器的客户端数据包)中查看自己的事务:

Microsoft不保证使用 windows Time的亚秒精度,因为他们不需要支持它以使其任何产品都能正常工作.但是,这并不意味着w32tm.exe仍然不具备亚秒精度.

如果你确实需要比这更准确的时间,你可能会使用另一种使用稍微不同的算法的NTP实现额外的毫秒或10精度.但如果你真的需要更准确的时间,我个人根本不会建议NTP.我将铯钟直接连接到您的机器上,而不是使用先发制人的操作系统.

Original: https://www.cnblogs.com/lvdongjie/p/16540874.html
Author: Avatarx
Title: 使用w32tm / stripchart来判断两个Windows主机之间的时间差异是否可行?发现两个主机时间差异的更好方法是什么?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547475/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球