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

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

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

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

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

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

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

1. 服务器优先级

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

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

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

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

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

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

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

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

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

附:Stratum取值范围:

  • 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配置文件中,可配置多个时钟源,如下图所示:

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

“首选

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

2.2、Windows系统

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

Windows命令提示符:

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

优先级设置

优先级设置命令

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

查询配置参数命令

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

NTP时间服务器优先级介绍的更多相关文章

  1. 搭建NTP时间服务器~使用NTP同步时间~构建主机间时间自动同步关系

    NTP是一个时间服务器,同时它也是一个时间客户端. 我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性. 常用的公共NTP时间服务器有: cn.ntp.org.cn 中国 n ...

  2. 搭建内网的NTP时间服务器

    NTP时间服务器 标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 1.简介 NTP(Network Time Protocol,网络时间协议) ...

  3. 国内可用的Internet时间同步服务器地址(NTP时间服务器)

    不知道什么鬼我这系统自带的Internet时间同步服务器地址居然不可用,终端ping系统自带服务器两个居然都不通???难道时间服务器也和谐么? 好在阿里云提供了7个NTP时间服务器也就是Interne ...

  4. NTP时间服务器实战应用详解-技术流ken

    简介 在搭建集群服务中,要保证各节点时间一致,NTP时间服务器就成为了一个好帮手了. 系统环境 系统版本:centos6.7 服务器IP:10.220..5.166/24 客户端IP:10.220.5 ...

  5. 国内常用的几个NTP时间服务器

    问题描述: 经常Windows或者Linux系统上面的时间跟我们本地的时间不一致 有时候就是Windows的Internet时间设置里面的Windows自带的时间同步服务器不好使 Linux配置NTP ...

  6. 企业内部在centos7.2系统中必杀技NTP时间服务器及内网服务器时间同步(windows和linux客户端同步)

    网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Unive ...

  7. Linux NTP时间服务器

    NTP 时间服务器 ntp也是一种协议 ntp软件(支持ntp协议)  CentOS6自带 CentOS7需要安装 chrony软件(支持ntp协议)   CentOS7自带 安装ntp CentOS ...

  8. Centos7 Ntp 时间服务器

    Centos7 Ntp 时间服务器 安装环境 [root@m02 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 安装 ...

  9. Ntp时间服务器与定时任务Crontab

    一 NTP时间服务器 1 局域网内的NTP同步配置 注意 所有配置操作必须是root用户 ,局域网内node21作为NTP Server,node22,node23作为NTP Client与服务器进行 ...

  10. 局域网部署ntp时间服务器

    搭建ntp时间服务器 时间服务器配置 须切换到root用户,再进行操作 检查ntp是否安装 [root@hadoop01 ~]# rpm -qa | grep ntp 如果没有安装,须安装 [root ...

随机推荐

  1. YShow性能测试平台搭建

    ShowSlow安装 ShowSlow是一个YSlow性能数据收集平台,用于将收集的性能数据 ShowSlow是用php实现的,所以我们需要搭建一台服务器来接收YSlow数据 我搭建的环境是:ubun ...

  2. E-GraphSAGE: A Graph Neural Network based Intrusion Detection System 笔记

    E-GraphSAGE: A Graph Neural Network based Intrusion Detection System 目录 E-GraphSAGE: A Graph Neural ...

  3. oracle-组合索引字段位置与查询效率之间的关系

    Oracle索引组合字段的位置不同,当查询条件不能覆盖索引时,影响查询效率.查询条件是不是索引字段的第一列影响执行计划,实验验证 实验1:查询条件为组合索引的第一列--创建测试表 create tab ...

  4. Arduino – Turn LED ON and OFF With Button

    In this Arduino tutorial I will show you how to turn an LED on and off with a push button. In fact, ...

  5. Merge-Lrc 合并歌词的小工具

    Merge-Lrc 背景 音乐区有群友希望各种乱七八糟的歌词(lrc 格式居多,里面甚至还有翻译)可以整理成单一的文件,或者一个仅翻译的歌词可以和原文的歌词合并.于是就开发了这款工具.地址:https ...

  6. junit4单元测试报错Invalid project specified

    junit4单元测试报错Invalid project specified. 前天在进行单元测试的时候出现了Invalid project specified的报错查了一下发现是项目名字的问题.项目名 ...

  7. 【BUU刷题日记】——第一周

    [BUU刷题日记]--第一周 一.[极客大挑战 2019]PHP1 题目说自己有一个备份网站的习惯,所以要了解一下常见的网站源码备份格式及文件名: 格式:tar.tar.gz.zip.rar 文件名: ...

  8. 用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子

    用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子 wmproxy 将实现http/https代理, socks5代理, 后续将实现websocket代理, 内外网穿透等, 会将实现过 ...

  9. JS动态在父元素里追加元素——insertAdjacentHTML

    insertAdjacentHTML() 方法将指定的文本解析为 Element 元素,并将结果节点插入到 DOM 树中的指定位置.它不会重新解析它正在使用的元素,因此它不会破坏元素内的现有元素.这避 ...

  10. 搞懂Event Loop

    本文关键: V8是单线程的 任务队列排队执行 抽出io命令抽出到evenloop线程,消息线程,区别与主线程.(同步和异步) 微任务和宏任务执行顺序 重绘和回流 以上流程无限循环 可以这样理解,一个人 ...