时钟同步那些事

时间的多重定义

首先要从“时间”这个概念入手。什么是时间?

最早的,人类根据天文现象,结合地球自转公转规律,定义了一套时间标准——世界时(Universal Time,简称 UT)。我们经常听到的「格林尼治标准时间」(Greenwich Mean Time,简称 GMT)就是指的世界时,因为世界时是在这个英国伦敦格林尼治天文台观测计算出来的。世界时定义了时分秒的概念,比如地球自转一周则认为过去了1day,把1day平均分成24份,得到了1hour,随后平分60份得到了1minute,随后得到了1second……

但是,这个时间并不准确,因为地球的公转是个椭圆,地球自转也受到各种因素的影响,因此每一天的时长其实是不同的,从而我们得到的每一个second也是不同的,它没有一个标准不变的周期,那如何才能得到一个标准不变的周期呢?

我们需要一个持久的,稳定的运动体系,于是科学家们从微观世界入手,它们找到了铯原子,以铯原子的振动频率为基准,制造出了原子钟,确定了世界原子时,重新用铯原子的振动频率定义了一秒钟的长度,且这个时长高度准确,周期接近于不变。叫做「国际原子时」(International Atomic Time,简称 TAI)

问题又出现了,人类世界已经高度依赖世界时,我们不可能用一个和世界时不同步的时钟来生活,那怎么办呢?

答案是,两个都用。我们用将原子时和世界时融合,得到协调世界时,即在使用时间时,以原子时为准(信息时代更需要周期稳定不变的时间标准),但是原子时会被调整,如果和世界时出现误差,则校准原子时,如提前一些或者靠后一些,从而得到了现在被普遍使用的时间——协调世界时。(Coordinated Universal Time,简称 UTC)

中国基于协调世界时,加上了8h的时区差,确立了北京时间,并且广播给整个中国大陆使用。国家授时中心将北京时间广播给全国的时间服务器,我们生活中使用的时间都来自时间服务器。

计算机通过ntp完成时间服务器的“自动校准”,且NTP支持以“润物细无声”的方式去调整时间,即不会直接修改时间避免出现倒流,而是平均的缓缓地调整时间,使得需要被校准的误差均匀得分布在不同的秒数中,从而使得程序逻辑不会出现问题。

 计算机网络中的时钟同步

 见我下一篇文章——论文精读 一篇关于时间同步的综述

参考

网络时间同步是怎么实现的?怎样消除延迟带来的影响?

https://www.zhihu.com/question/21045190/answer/2013345266

时间戳的基本概念

https://blog.csdn.net/weixin_57763462/article/details/120067326

posted @ 2023-03-27 17:25  爱和九九  阅读(129)  评论(0编辑  收藏  举报