如NTP rfc中所定义的
“NTP算法的目标是最小化UTC和系统时钟之间的时间差和频率差异。”
我可以理解‘时间差’,但是什么是‘频差’,NTP试图同步?
发布于 2010-08-19 02:59:15
频率差异是时差在多大程度上改变了。时间到了。
也就是说,NTP不仅试图使两个时钟更紧密地连接在一起,而且还试图使将两个时钟保持在一起。
它实际上是在利用模糊的背景知识,计算机时钟是使用石英晶体实现的,石英晶体以一定的频率振荡--“时钟频率”。这是经常时钟“滴答”发生的方式。
发布于 2010-08-19 03:00:07
频率差异是指您的时钟和NTP时钟之间的速度差异(实际上被认为是完美的)。
如果您的时钟每小时增加一分钟(与NTP服务器时钟相比),这就是频率差异。这也叫漂流。
极端的,简化的,例如:
假设您在每小时的顶端与NTP同步(00:00
,01:00
,.)但是你的钟真的坏了,在那个小时里损失了十分钟。
如果您在午夜与NTP同步,以便将您的两个时钟设置为00:00
,那么当(真实的) 01:00
出现时,您的时钟将读取00:50
(您损失了10分钟)。
这就意味着你会在0到10分钟之间的任何时候都会出现脱节。
那么,你如何用简单化的方式解决这个问题呢?
如果同步将您的时钟设置为00:05
在(真实的)午夜。您将在5分钟内退出,但是NTP时钟将逐渐爬到您的身上,在00:30
上匹配得很好,然后它就会开始领先您。
然后在(真实的) 01:00
,您将在00:55
,所以在任何一点上的错误都不会超过5分钟。
现在,NTP将尽量避免立即将您的时间从00:55
更改为01:05
,因为许多软件(如cron
)对此并不太友好。
更有可能的方法是在午夜将时钟同步起来,然后在一小时内逐渐将当地时间向前移动,以保持它们对齐(比方说,每5秒钟就增加1秒钟,这将有效地恢复一小时内损失的10分钟,这是一种非痛苦的方式)。
https://stackoverflow.com/questions/3518382
复制相似问题