在安装过程中,官方文档显示.不要开启NTP,我就比较好奇.这是什么东西呢?
网络时间协议(英语:Network Time Protocol,缩写:NTP)
是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,位于OSI模型的应用层。自1985年以来,NTP是目前仍在使用的最古老的互联网协议之一。NTP由特拉华大学的David L. Mills设计。
NTP意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒的误差内。[1]:3它使用Marzullo算法的修改版来选择准确的时间服务器,其设计旨在减轻可变网络延迟造成的影响。NTP通常可以在公共互联网保持几十毫秒的误差,并且在理想的局域网环境中可以实现超过1毫秒的精度。不对称路由和拥塞控制可能导致100毫秒(或更高)的错误。
该协议通常描述为一种主从式架构,但它也可以用在点对点网络中,对等体双方可将另一端认定为潜在的时间源。发送和接收时间戳采用用户数据报协议(UDP)的端口123实现。这也可以使用广播或多播,其中的客户端在最初的往返校准交换后被动地监听时间更新。NTP提供一个即将到来闰秒调整的警告,但不会传输有关本地时区或夏时制的信息。
NTP使用64比特的时间戳,其中32位表示秒,32位表示秒的小数,给出一个每232秒(136年)才会翻转的时间尺度,理论分辨率2−32秒(233皮秒)。NTP以1900年1月1日作为开始时间,因此第一次翻转将在2036年2月7日发生。
NTP的未来版本可能将时间表示扩展到128位:其中64位表示秒,64位表示秒的小数。当前的NTPv4格式支持“时代数字”(Era Number)和“时代偏移”(Era Offset),正确使用它们应该有助于解决日期翻转问题。据Mills称:“64位的秒小数足以分辨光子以光速通过电子所需的时间。64位的秒足以提供明确的时间表示,直到宇宙变暗。”
时钟同步算法
往返延迟时间δ
典型的NTP客户端将定期轮询不同网络上的三个或更多服务器。为同步其时钟,客户端必须计算其时间偏移量和来回通信延迟。时间偏移“θ”定义为:
- ,
往返延迟“δ”为:
- ,
其中:
- t0 是请求数据包传输的客户端时间戳,
- t1 是请求数据包回复的服务器时间戳,
- t2 是响应数据包传输的服务器时间戳
- t3 是响应数据包回复的客户端时间戳。[1]:19
“θ”和“δ”的值通过过滤器并进行统计分析。异常值被剔除,并从最好的三个剩余候选中导出估算的时间偏移。然后调整时钟频率以逐渐减小偏移,创建一个反馈回路。
当客户端和服务器之间的输入和输出路由都具有对称的标称延迟时,同步是正确的。如果路由没有共同的标称延迟,则将差异取半作为测量误差。