我的既得利益:我是Meinberg代理商:-)
是的NTP可以实现低至约100的端到端精度。如果您将运行Chrony或ntpd的裸机上的Linux“客户端”同步到受GPS,本地原子钟或某些此类来源约束的基于Linux的NTP服务器,则将产生50 us(微秒)的抖动。
在具有本地GPS(具有PPS互连)的计算机上,您可能会看到OS中运行的ntpd实例与其PPS refclock驱动程序的输入之间存在0-2微秒的偏移。
剩余的50 us“通过LAN端到端”是缓冲的几个阶段,可变的IRQ延迟,对LAN和所涉及的计算机总线产生干扰的其他流量的结果。50 us是指流量很少的LAN。即使只是一个交换机也可能会增加几微秒的抖动-具有复杂功能的高端交换机会增加更多的延迟和抖动。换句话说,要在实际条件下在某些实用的LAN上达到那50微秒可能非常困难。
同样,那些cca <2us的PPS偏移仅是由性能良好的PC硬件上的IRQ延迟不确定性和一般总线延迟抖动引起的。
请注意,NTP及其实现ntpd和Chrony肯定会测量NTP事务往返时间,并减去(实际上是)往返的一半,以此作为过滤掉系统传输延迟(单向)的措施。它们还执行异常值拒绝,仲裁共识,系统对等选举,并且任何NTP恶魔都会过滤对上游查询的响应。因此,正如其他人所说,您在Ping和Traceroute中看到的毫秒数不会直接抵消您的本地时钟。重要的是事务往返的可变性,即到上游NTP服务器的路径上的其他流量。Ntpq -p是您的朋友。
带有TCXO的基本GPS定时接收机可以在其PPS输出上产生100-200 ns的残留抖动+漂移。只要GPS保持锁定,对于NTP就足够了。(使用TCXO时,保持性能不是很好。)使用OCXO的高质量定时GPS可以在100 ns之内,可能更像是10-30 ns的残留误差(与全局UTC的偏移量)。
请注意,与在GPS发生器中进行基准测试的情况相比,实际的卫星在头顶上方飞行并在大气层中向您发射光束时,对接收器来说可能要难一些。
PTP是一把锤子。您需要在主时钟,从时钟以及在任何开关中都需要硬件支持-但是如果您有足够的支持,则残余偏移量可能会降低至低的两位数纳秒。我亲自在运行有硬件支持的i210 NIC的ptp4l中看到了这一点(时间戳的分辨率为纳秒)。
i210芯片是一个奇迹。它具有4个通用引脚,可用于输入或输出PPS信号。带有i210的参考Intel附加NIC板(及其多家大型供应商的OEM版本)配备了一个插针接头连接器,使您可以访问至少两个这些GPIO插针(SDP被Intel称为)。除了实现PTP超级主端口外,还可以利用PPS输入在数据包捕获中进行精确的时间戳记。您需要精确的PPS来源和自定义的软件来运行伺服环路,从而将i210的PHC微调到ext.PPS。在我的测试平台上,这导致残余偏移量达到单位ns(每1 s迭代)。这就是您在捕获时间戳记中获得的精度,如果您在现代Linux内核上运行最新的tcpdump或Wireshark(所有软件都需要支持纳秒级分辨率)。更好的是:我一直努力并构建了一个简单的PLL合成器,以为NIC时钟产生25MHz的频率,并锁定在精确的上游10MHz参考上。之后,我的数据包捕获设备的伺服环路中的剩余偏移量降为零(证明我的10 MHz参考与同一GPS盒中的PPS相位同步)。
请注意,可以指定PTP大师以每8 ns提供实际粒度的时间戳(在具有1 ns分辨率的数据类型中)。这很有道理-千兆位以太网倾向于使用125 MHz时钟,用作MAC内部的字节时钟,该时钟可能也用于GMII,它也是金属1000Base-TX(四对)中的符号时钟并行,每个符号每对2位)。因此,除非您将1000Base-FX(光纤)与SERDES结合使用,并且在PHY中使用硬件时间戳记单元的极端实现方式(可工作到单个SERDES位),否则这8 ns就是您在千兆位以太网上实际希望得到的。一些芯片数据表(支持PTP)甚至声称MII数据路径没有缓冲,并且有些抖动可能来自那里。
PTP数据包实际上包含以某种数据类型存储的时间戳,该数据类型允许深度亚纳秒的分辨率。但是,如今,“亚纳秒分数场”通常未被使用。迄今为止,只有白色兔子项目(与CERN的瑞士研究中心有关)才实施了ns-ns精度。
PTP也可在纯软件中使用,而无需硬件加速。在那种情况下,对于基于SW的GM和基于SW的客户端,期望获得与NTP类似的残留抖动-即在专用但不支持PTP的LAN上大约50 us。我记得在直接互连(在它们之间没有切换)和仅SW的客户端(在不知道PTP的PC NIC上)上,从硬件大师获得的亚微秒精度。与NTP相比,PTP的伺服收敛更快。
在做一些“作业”时,我最近发现在广域光纤路径上传输PPS或类似的“离散”定时信号可能会受到温度依赖的传播时间“漂移”的影响。尽管我无法通过实验进行测试,但互连网上的某些消息来源的数据是每公里和开尔文介于40到76皮秒之间。请注意,虽然这种“热漂移”不可能减轻单工PPS传输中的“带内”,但PTP会根据其标准路径延迟测量值(取决于全双工传输)对其进行固有的后补偿。
在不同的计时技术/接口下,“规则”的外观概述非常重要。哪种精度水平对您足够好,取决于您的应用程序和实际需求。