当延迟变化很大时,ntpd 的工作效果如何?

当延迟变化很大时,ntpd 的工作效果如何?

我有一个应用程序,其中我们使用了一些非标准网络设备(无法更改),这些设备在流量爆发之间进入休眠状态。网络延迟是非常第一个数据包的延迟较高,因为它本质上是唤醒系统,等待系统重新连接,然后进行第一次往返。后续消息(假设它们在下一分钟左右)要快得多,但延迟仍然很高。一组典型的 ping 看起来像 2500ms、900ms、880ms、885ms、900ms、890ms 等。

鉴于 NTP 在计算偏移量之前使用了多次往返,我可以期望 ntpd 在这种链接上工作得如何?最初缓慢的第一次往返是否会因为后续往返 ntp 服务器的消息差异很大(且速度更快)而被忽略?

答案1

简短的回答是肯定的,NTP 会优先选择低往返时间戳而不是高往返时间戳。以前有一个calldelay选项可以告知 NTP 此问题,通常是由使用按需拨号技术的网络创建的,这些技术会造成呼叫延迟。但是,现在 NTP 会自动执行此操作。

如果您想加快初始时间同步的速度,您可能希望iburstserver/peer行上使用关键字。这告诉 NTP 使用 8 个间隔开的数据包而不是 1 个来测量时间。它将忽略任何往返时间更长的数据包。如果您有带宽,您可以使用burst它让它每次测量时间时使用 8 个数据包。

相关内容