NTP 同步如何工作?

网络工程 ntp
2022-02-15 04:20:17

我正在尝试对 NTP 算法有一个基本的了解。我在这里阅读了时间交换部分我有几个问题。服务器 A 和服务器 B 正在尝试同步它们的时间。

  • A 向 B 发送一个数据包。在数据包中,它将自己的时间戳标记为original timestamp
  • B 收到数据包。向 A 发送一个数据包,其时间戳记为received time stampB 还添加了一个称为 的时间戳transmit time stampB如何计算这个?
  • A 收到数据包。A 将再次记录自己的接收时间以估计数据包的传输时间。假设延迟对称,行进时间(延迟)估计为“总延迟减去远程处理时间”的一半。

这里有 2 个未知数 - 数据包传输所需的时间和两个时钟之间的偏移量。上面的信息还不足以解决这两个未知数吗?

1个回答

假设延迟对称,行进时间(延迟)估计为“总延迟减去远程处理时间”的一半。

处理时间是“接收”和“发送”(来自服务器)之间的差异。客户端知道它何时发送请求 - “发起” - 以及何时收到答案。发送和接收之间的差异,减去服务器处理延迟,就是偏移量。提出了几个这样的请求,以更好地了解各种延迟,即。抖动,或 NTP 所说的色散。

是的,这都是经过计算的猜测。路线变化、交通模式变化、排队等等。如果你想要一个绝对可靠、准确的时钟,请使用 GPS 时钟。(或将 $$$$$ 放在您自己的原子钟上。)