我有一个应用程序,我们正在使用一些非标准的networking设备(无法更改)进入stream量突发之间的hibernate状态。 第一个数据包的networking延迟非常高,因为它基本上是唤醒系统,等待它重新连接,然后进行第一次往返。 后续的消息(提供在接下来的一分钟左右)要快得多,但仍然是高度潜伏的。 一组典型的ping看起来像2500ms,900ms,880ms,885ms,900ms,890ms等等。
鉴于NTP在计算偏移之前使用了多次往返,我可以期待ntpd如何处理这种链接? 根据与ntp服务器之间的差异(以及更快的)以下消息,是否会忽略最初慢的第一次往返?
简短的答案是肯定的,NTP会select往返时间较短的往返时间戳。 曾经有一个calldelay选项可以告诉NTP有关这个问题,通常是由使用按需拨号技术强加呼叫延迟的networking创build的。 但是,现在NTP自动执行此操作。
如果你想加快初始时间同步,你可能希望在server / peer线上使用iburst关键字。 这告诉NTP使用8间隔的数据包而不是1来测量时间。 它将忽略任何有更高往返时间的数据包。 如果你有带宽,你可以使用burst使它每次测量时间使用8个数据包。