如NTP rfc中所定义
“NTP算法的目标是最小化UTC和系统时钟之间的时差和频率差异。”
我可以理解'时差'但NTP尝试同步的'频差'是什么?
答案 0 :(得分:6)
频率差异是时钟和NTP时钟之间的速度差异(实际上被认为是完美的)。
如果你的时钟每小时增加一分钟(与NTP服务器时钟相比),那就是频率差异。它也被称为漂移。
一个极端的,简化的例子:
让我们说你在每小时的最高点(00:00
,01:00
,......)与NTP同步,但你的时钟非常糟糕,并且在那个小时内损失了十分钟。
如果你在午夜与NTP同步,那么你的两个时钟都设置为00:00
,那么当(真实的)01:00
到来时,你的时钟会显示00:50
(你'你失去了十分钟。)
这意味着你将在零到十分钟之间的任何地方失去一步。
那么你如何以一种简单的方式解决这个问题?
如果同步在午夜(实际)将时钟设置为00:05
,该怎么办?你会在5分钟后出局,但是NTP时钟会逐渐爬上你的位置,在00:30
完全匹配,然后开始领先于你。
然后在(真实)01:00
,您将在00:55
,这样错误就不会超过五分钟。
现在,NTP会尽量避免将您的时间从00:55
更改为01:05
,因为很多软件(如cron
)都不会过于亲切。
更有可能在午夜将时钟同步到一起,然后逐渐使当地时间在一小时内向前移动,以使它们保持一致(比如每五秒增加一秒,这将有效地恢复一小时内失去的十分钟) - 痛苦的方式)。
答案 1 :(得分:1)
频率差异是时差在...时间变化的程度。
也就是说,NTP不仅试图将两个时钟拉得更近,而且实际上保持它们在一起。
它实际上借鉴了这种模糊的背景知识,即使用以一定速率振荡的石英晶体实现计算机时钟 - “时钟频率”。这就是频繁时钟“滴答”的发生方式。