当前位置: 首页 > news >正文

【NTP系列】chrony同步原理

1、时间请求与响应

  • ​客户端向服务器发送 ​NTP 请求报文,记录发送时间 T1。
  • ​服务器收到请求后,记录接收时间 T2,并返回响应报文,包含:
    • T2(服务器接收时间)
    • T3(服务器发送响应时间)
  • ​客户端收到响应后记录时间 T4。

2、计算时间偏差

  • 客户端通过公式计算与服务器的时间偏差(Offset):

        Offset = [(T2 - T1) + (T3 - T4)] / 2

3、调整时钟

  • 若偏差较小(默认 <1 秒),Chrony 通过 ​调整时钟频率 逐步纠正时间。
  • 若偏差较大(≥1 秒),Chrony 直接 ​步进(stepping)​ 调整时间(需配置 makestep 参数)。

4、验证同步状态
在客户端执行以下命令验证同步是否成功:

# 查看当前同步源状态
chronyc sources -v

# 输出示例
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.88.123                 3   6   377    39   +156us[ +156us] +/-   12ms

# 查看时间偏差和频率调整状态
chronyc tracking

# 输出示例
Reference ID    : C0A80164 (192.168.88.123)
Stratum         : 4
Ref time (UTC)  : Thu Oct  5 14:23:45 2023
System time     : 0.000156 seconds slow of NTP time
Last offset     : +0.000123 seconds
RMS offset      : 0.000045 seconds
Frequency       : 1.234 ppm slow
Residual freq   : +0.001 ppm
Skew            : 0.123 ppm
Root delay      : 0.012345 seconds
Root dispersion : 0.000123 seconds
Update interval : 64.2 seconds
Leap status     : Normal
^* 表示当前使用的参考源。
Last offset 显示最后一次同步的时间偏差(应为微秒级)。

相关文章:

  • java版鸿鹄招采系统源码 招投标系统源码 供应商招投标平台源码
  • 使用Mybatis 连接数据库 项目示例
  • 图解LLM智能体(LLM Agents):构建与运作机制的全面解析
  • 网络编程——套接字、创建服务器、创建客户端
  • PyQt基础——简单闹钟ui实现(图形化界面、定时器事件)
  • CH347使用笔记:CH347结合STM32CubeIDE实现单片机下载与调试
  • [Banana Pi BPI-R4] RDK 和联发科推出Wi-Fi 7 宽带 CPE 的新硬件参考平台
  • 大语言模型中的 Function Calling
  • Oracle ASM Failgroup故障组
  • vulhub-Billu-b0x攻略
  • DevOps工具链
  • 【c++】内存序 和 内存一致性模型
  • HAL库实现SPI读写FLASH(W25Q32)
  • 组合Composition(has-a)
  • python日期
  • [Mysql]创建数据库基础
  • Rocky Linux 9.x 基于 kubeadm部署k8s 1.32
  • 【H2O2 | 软件开发】前端深拷贝的实现
  • 基于javaweb的SpringBoot公司日常考勤系统设计与实现(源码+文档+部署讲解)
  • CMake基础之-控制流
  • 金科股份重整方案通过,正式进入重整计划执行环节
  • “春申阡陌”漆画展:将传统漆艺融入现代创作
  • 游戏论|暴君无道,吊民伐罪——《苏丹的游戏》中的政治
  • 要更加冷静地看待“东升西降”的判断
  • 上海第四批土拍成交额97亿元:杨浦宅地成交楼板单价半年涨近7000元
  • 图集|俄罗斯举行纪念苏联伟大卫国战争胜利80周年阅兵式