6

NTP时间服务器优先级配置 - xjournal

 8 months ago
source link: https://www.cnblogs.com/xujiecnblogs/p/17926431.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

先思考一个问题:当一个客户端配置向多个NTP时间服务器校时,此时客户端优先向哪个时间服务器同步时间呢?

一个完整的NTP校时请求分四步:

1、客户端向服务器发起校时请求

2、服务器收到客户端发送的校时请求

3、服务器处理客户端的校时请求并发送(响应)给客户端

4、客户端收到服务器响应的信息并修正自身时间

下面我们从服务器与客户端两个方向来分析:

1. 服务器优先级

先来了解一下NTP协议中的stratum(层次):

NTP时间服务器有层次(stratum)之分,取值范围1~15,顶层的参考时钟编号为0。NTP官网对stratum的解释:

2985032-20231225164725487-233063944.png

“层是同步距离的衡量标准。与抖动或延迟相反,分层是一种更静态的测量方法。基本上,从客户端的角度来看,它是服务器到参考时钟的数量。因此,参考时钟本身位于层 0,而最近的服务器位于层 1。在网络上,没有任何有效的 NTP 信息是分层 0 的。

与第 n 层服务器同步的服务器将在第 n + 1 层运行。层的上限是 15。分层的目的是通过优先选择分层较低的服务器来避免同步循环。”

根据官网解释,NTP时间服务器的层次结构如下图所示:

2985032-20231225164731023-1639772834.png

另根据RFC5905(NTPv4)协议和算法规范中对于stratum的描述得知

2985032-20231225164736593-247664250.png

“随着分层号的增加,其精确度也会降低,这取决于特定的网络路径和系统时钟稳定性。 以同步距离衡量的平均误差,与分层数和衡量的往返延迟大致成正比增加。”

根据NTP的stratum可知,第1层服务器在NTP层次结构中具有最高的优先级。层数越大距离参考时钟距离越远,其精度越差。

当有多个NTP服务器时,可以通过修改其层数来调整它们的优先级。例如,可以将某个NTP服务器的层数设置为1,而将另一个服务器的层数设置为2。这样,层数较低的服务器将具有更高的优先级,因为它离参考时间源更近。在设置多个NTP时钟源的优先级时,需要根据网络环境和需求进行合理的调整。通过选择合适的层数和可能的配置选项,可以确保网络中的设备能够准确地同步时间。

附:Stratum取值范围:

2985032-20231225164745793-556898168.png
  • 0表示未指定或无效
  • 1表示主服务器(例如,配备GPS/BD卫星或CDMA/5G基站的时间服务器)
  • 2-15表示二级服务器,通过NTP协议实现的二级服务器
  • 16表示不同步的
  • 17-255保留

2. 客户端优先级

客户端系统种类繁多,下面以Linux(centos)和Windows两个系统来举例设置同步优先级。

2.1、Linux系统(centos)

Linux系统有两个时间同步守护进程:ntpd和chronyd,centos6.5及之前的版本使用的是ntpd,centos7及之后的版本使用的是chrony。两者在配置上基本一样,下面以chrony举例:

从官网可知,chrony.conf配置文件中,可配置多个时钟源,如下图所示:

2985032-20231225164755699-2105160835.png

可通过设置[option]为“prefer”选项来设置优先同步哪一台时钟源

2985032-20231225164759706-458907403.png

    与不带 prefer 选项的信息源相比,优先选择此信息源。”

2.2、Windows系统

Microsoft官方给出了配置多个时间服务器的方法,如下图

2985032-20231225164805025-1045219550.png

Windows命令提示符:

w32tm /config /manualpeerlist:"ntpserver.contoso.com clock.adatum.com" /syncfromflags:manual /update

优先级设置

2985032-20231225164809737-1597129014.png

优先级设置命令

w32tm /config /manualpeerlist:"ntpserver.contoso.com,0x8 clock.adatum.com,0x2" /syncfromflags:manual /update

2985032-20231225164816497-1305363096.png

查询配置参数命令

reg query HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

2985032-20231225164820442-1869754829.png

end.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK