配置 NTP 时间同步后,本地时间始终不正确的原因
NTP 的核心工作流程
1、客户端发起 NTP 请求,请求中会携带客户端发送请求时的时间戳(UTC 时间)。
2、服务端收到请求后,记录:收到请求的时间、返回响应的时间,这些时间都会返给客户端。
3、客户端收到服务端响应后,会结合这些时间,以及网络传输延迟等因素来计算出本地与 NTP 源之间的时间偏差
4、客户端根据计算结果,对本地系统时间进行校准。但是不是直接修改系统时间,而是调整系统时钟频率的方式。
为什么配置 NTP 后时间仍然不正确:
因为NTP 同步的是:UTC 时间(协调世界时),而非本地时间(本地时间 = UTC + 时区),NTP 协议中交互和计算的时间戳,本质上都是基于 UTC 的。
所以如果系统时区配置错误,即使 NTP 同步正常,本地显示时间仍然会出现固定时差。所以这种情况不是 NTP 时间源有问题,而是系统时区配置不正确导致的本地时间显示异常。
