【NTP系列】ntp同步原理
同步流程
(1)NTP 报文交换
- 客户端向服务器发送 NTP 请求报文,记录发送时间 T1。
- 服务器接收请求,记录时间 T2,并在响应报文中返回 T2 和 T3(服务器发送响应的时间)。
- 客户端收到响应后记录时间 T4。
(2)计算时间偏差与延迟
- 时间偏差(Offset):Offset=2(T2−T1)+(T3−T4)
- 网络延迟(Delay):Delay=(T4−T1)−(T3−T2)
(3)时钟调整策略
- 渐进调整(Clock Slewing):
- 若偏差较小(默认 <128 ms),通过微调时钟频率逐步纠正时间(每天最多调整 0.5 秒)。
- 步进调整(Clock Stepping):
- 若偏差 ≥128 ms,直接重置时间(需配置 tinker panic 0 允许大偏差调整)。
验证客户端同步状态
(1)查看同步状态
ntpq -p # 显示同步源状态
输出示例:
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.88.123 yunqi.example.com 2 u 45 64 3 1.234 -0.045 0.123
* 表示当前同步的服务器,st=2 表示服务器的层级。
(2)检查时间偏差
ntpdate -q 192.168.88.123 # 手动查询服务器偏差
输出示例:
server 192.168.88.123, stratum 2, offset -0.000123 sec, delay 0.01234 sec