跳到主要内容

4. 定义

本节定义若干技术术语. 时间尺度 (timescale) 是一种参考框架, 其中时间表示为一个位数不定, 单调递增的二进制计数器的值. 使用小数点时, 它按秒和秒的小数部分计数. 协调世界时 (Coordinated Universal Time, UTC) 时间尺度由 ITU-R TF.460 [ITU-R_TF.460] 定义. 在 1865 年"米制公约"的支持下, CGPM [CGPM] 于 1975 年强烈认可使用 UTC 作为民用时间的基础.

UTC 时间尺度表示由国家标准实验室发布的平太阳时 (mean solar time). 系统时间 (system time) 由硬件和操作系统维护的系统时钟 (system clock) 表示. NTP 算法的目标是同时最小化 UTC 与系统时钟之间的时间差和频率差. 当这些差异降低到标称容差以下时, 即称系统时钟已同步到 UTC.

事件的日期 (date) 是该事件发生时的 UTC 时间. 日期是用大写 T 表示的临时值. 运行时间 (running time) 是另一种时间尺度, 与 NTP 程序的同步函数相一致.

时间戳 (timestamp) T(t) 表示运行时间 t 处的 UTC 日期, 或相对于 UTC 的时间偏移量. 其具体含义应可由上下文明确. 令 T(t) 为时间偏移量 (time offset), R(t) 为频率偏移量 (frequency offset), D(t) 为老化率 (aging rate, 即 R(t) 对 t 的一阶导数). 那么, 如果 T(t_0) 是在 t = t_0 时确定的 UTC 时间偏移量, 则时间 t 处的 UTC 时间偏移量为

T(t) = T(t_0) + R(t_0)(t-t_0) + 1/2 * D(t_0)(t-t_0)^2 + e

其中 e 是本文档稍后讨论的随机误差项. D(t) 项在表征精密振荡器时很重要, 但对于计算机振荡器通常会忽略. 本文档中, 所有时间值均以秒 (s) 为单位, 所有频率值均以秒每秒 (seconds-per-second, s/s) 为单位. 有时用百万分率 (parts-per-million, ppm) 表示频率偏移量会更方便, 其中 1 ppm 等于 10^(-6) s/s.

在计算机计时应用中, 评估计时功能的性能非常重要. NTP 性能模型包括 4 个统计量, 每当客户端与服务器完成一次测量时都会更新这些统计量. 偏移量 (offset, theta) 表示服务器时钟相对于系统时钟的最大似然时间偏移量. 延迟 (delay, delta) 表示客户端与服务器之间的往返延迟. 离散度 (dispersion, epsilon) 表示测量中固有的最大误差. 它以等于经规训的系统时钟最大频率容差 (PHI) 的速率增加, 典型值为 15 ppm. 抖动 (jitter, psi) 定义为最近若干偏移量差值的均方根 (root-mean-square, RMS) 平均值, 表示估计该偏移量时的标称误差.

theta, delta, epsilon 和 psi 统计量分别表示系统时钟相对于每个服务器时钟的测量结果, 而 NTP 协议还包含一些机制, 可组合多个服务器的统计量, 以更准确地规训并校准系统时钟. 系统偏移量 (system offset, THETA) 表示服务器总体的最大似然偏移估计. 系统抖动 (system jitter, PSI) 表示估计系统偏移量时的标称误差. delta 和 epsilon 统计量从参考时钟开始在每个 stratum 层级累积, 产生根延迟 (root delay, DELTA) 和根离散度 (root dispersion, EPSILON) 统计量. 同步距离 (synchronization distance, LAMBDA) 等于 EPSILON + DELTA / 2, 表示所有原因造成的最大误差. 第 11.2 节给出了这些统计量的详细公式. 依赖这些统计量的应用程序可以使用它们来评估同步功能的性能.