这几天,服务器的状态自动上报脚本遇到了一些问题,细细排查发现是系统时间不准,比标准时间快了半分钟。于是探索了如何进行时间同步。
背景知识
参考:
NTP(NetworkTimeProtocol)是一种用于同步计算机时钟的协议,基于客户端-服务器模型(Client-Server model),通过交换数据包来保持设备时间的一致性。NTP协议的工作原理是与已知的、精准的时间源同步(如GPS、原子钟或通过互联网获得的时间源),从而调整本地时钟。

NTP协议最早于1985年提出,目前已经发展到了v4版本。它引入了许多新特性和改进,包括更准确的时钟选择算法、更强大的安全性和认证机制、更好的时钟校准算法、更灵活的配置选项等。
NTP协议的具体校时流程如下图所示。考虑到网络传输的延迟问题,NTP同步时并不会直接将服务器提供的时间作为本地时间,而是通过数据包的请求-响应时间推算出网络延迟,并根据服务器返回的时间以及网络延迟的时间校准本地实际。




1万+

被折叠的 条评论
为什么被折叠?



