从 NTP 服务器获取时间时,最终用户应该在 refid 和 stratum 字段中设置什么?
When getting the time from an NTP server, what should an end user set in the refid and stratum field?
标题几乎解释了它。我只使用 NTP 服务器作为时间源,我只需要 100µs 左右的精度。
在协议的 stratum 和 refid 字段中使用什么的最佳实践是什么?
我将从 time.nist.gov 服务器获取我的时间,所以我不知道我的上游服务器的层级是什么。
当作为客户端连接时,这些字段是从您接收时间的上游服务器填充的。
作为示例,这里是我从 ntpq -p
(服务器数据匿名)
的输出
remote refid st t when poll reach delay offset jitter
==============================================================================
PRIVATE .STEP. 16 u - 1024 0 0.000 0.000 0.000
-PRIVATE1 .GPS. 1 u 55 64 377 29.585 0.071 0.312
-PRIVATE2 .GPS. 1 u 40 64 377 9.468 0.209 0.129
-PRIVATE3 1.1.1.1 2 u 12 64 377 6.943 -0.270 0.142
-PRIVATE5 .PPS. 1 u 20 64 377 16.383 -0.531 0.197
+PRIVATE6 .DCFa. 1 u 22 64 377 8.661 -0.036 0.126
-ISP1 2.2.2.2 2 u 36 64 377 11.720 -0.027 0.280
#PRIVATE7 .GPS. 1 u 47 64 377 24.781 -1.405 1.118
+ISP2 .PPS. 1 u 4 64 377 6.012 0.062 0.154
-ISP3 .PPS. 1 u 14 64 377 13.993 -0.463 0.206
-ISP4 .CDMA. 1 u 57 64 377 71.712 -0.109 0.249
ntp.mcast.net .MCST. 16 u - 64 0 0.000 0.000 0.002
LOCAL(0) .LOCL. 10 l 69d 64 0 0.000 0.000 0.000
xSHM(0) .GPS. 0 l 9 16 377 0.000 -25.278 7.907
*SHM(1) .PPS. 0 l 11 16 377 0.000 -0.030 0.060
文档 here 将有助于解释更多内容,但基础知识是;
st = Stratum - 这就是 'close' 列出的服务器来自实际时间接收器的方式。在我的示例中,PRIVATE6
服务器本身是第 1 层服务器,直接从第 0 层设备(在本例中为 DCFa 接收器)获取时间,但是如果您查看底部,您会看到我有 SHM(1)
作为直接连接到我的服务器的 GPS PPS 设备,层数为 0
。
refid = 参考 ID - 这是您从中获取时间的服务器本身获取时间的地方。在我上面的例子中,大多数服务器从直接连接的硬件那里获得时间,但是如果你在我的列表中查看 PRIVATE3
,你会看到它有一个 IP 地址作为其参考源——那是因为该服务器依赖于另一台服务器它的时间(而是一个 'real' 自己的时钟,例如 GPS/DCF/MSF)
离您获得的时间源 'further' 层级总是增加 1。
GPS RX (S0) -> 服务器 运行 GPS (S1) -> a.n.other 服务器 (S2) -> 终端客户端。
如果您要构建稳健的时序域,则 ntp 需要 最少 3 台服务器,理想情况下 5 台服务器才能最好工作,并尽量减少中毒的机会。 (你的时间被几个流氓服务器从真实情况中拉走了)你应该选择(如果可以的话)离你很近的服务器(如往返时间)和理想的 S2 或更好的服务器。 我个人不会使用 time.nist.gov
或任何其他知名的 ntp 服务器,因为它们通常距离太远,负载高且 RTT 差 如果你四处看看你应该能够找到一些合适的服务器,或者用不多的钱你可以用 GPS 接收器建立自己的服务器。
标题几乎解释了它。我只使用 NTP 服务器作为时间源,我只需要 100µs 左右的精度。
在协议的 stratum 和 refid 字段中使用什么的最佳实践是什么?
我将从 time.nist.gov 服务器获取我的时间,所以我不知道我的上游服务器的层级是什么。
当作为客户端连接时,这些字段是从您接收时间的上游服务器填充的。
作为示例,这里是我从 ntpq -p
(服务器数据匿名)
remote refid st t when poll reach delay offset jitter
==============================================================================
PRIVATE .STEP. 16 u - 1024 0 0.000 0.000 0.000
-PRIVATE1 .GPS. 1 u 55 64 377 29.585 0.071 0.312
-PRIVATE2 .GPS. 1 u 40 64 377 9.468 0.209 0.129
-PRIVATE3 1.1.1.1 2 u 12 64 377 6.943 -0.270 0.142
-PRIVATE5 .PPS. 1 u 20 64 377 16.383 -0.531 0.197
+PRIVATE6 .DCFa. 1 u 22 64 377 8.661 -0.036 0.126
-ISP1 2.2.2.2 2 u 36 64 377 11.720 -0.027 0.280
#PRIVATE7 .GPS. 1 u 47 64 377 24.781 -1.405 1.118
+ISP2 .PPS. 1 u 4 64 377 6.012 0.062 0.154
-ISP3 .PPS. 1 u 14 64 377 13.993 -0.463 0.206
-ISP4 .CDMA. 1 u 57 64 377 71.712 -0.109 0.249
ntp.mcast.net .MCST. 16 u - 64 0 0.000 0.000 0.002
LOCAL(0) .LOCL. 10 l 69d 64 0 0.000 0.000 0.000
xSHM(0) .GPS. 0 l 9 16 377 0.000 -25.278 7.907
*SHM(1) .PPS. 0 l 11 16 377 0.000 -0.030 0.060
文档 here 将有助于解释更多内容,但基础知识是;
st = Stratum - 这就是 'close' 列出的服务器来自实际时间接收器的方式。在我的示例中,PRIVATE6
服务器本身是第 1 层服务器,直接从第 0 层设备(在本例中为 DCFa 接收器)获取时间,但是如果您查看底部,您会看到我有 SHM(1)
作为直接连接到我的服务器的 GPS PPS 设备,层数为 0
。
refid = 参考 ID - 这是您从中获取时间的服务器本身获取时间的地方。在我上面的例子中,大多数服务器从直接连接的硬件那里获得时间,但是如果你在我的列表中查看 PRIVATE3
,你会看到它有一个 IP 地址作为其参考源——那是因为该服务器依赖于另一台服务器它的时间(而是一个 'real' 自己的时钟,例如 GPS/DCF/MSF)
离您获得的时间源 'further' 层级总是增加 1。
GPS RX (S0) -> 服务器 运行 GPS (S1) -> a.n.other 服务器 (S2) -> 终端客户端。
如果您要构建稳健的时序域,则 ntp 需要 最少 3 台服务器,理想情况下 5 台服务器才能最好工作,并尽量减少中毒的机会。 (你的时间被几个流氓服务器从真实情况中拉走了)你应该选择(如果可以的话)离你很近的服务器(如往返时间)和理想的 S2 或更好的服务器。 我个人不会使用 time.nist.gov
或任何其他知名的 ntp 服务器,因为它们通常距离太远,负载高且 RTT 差 如果你四处看看你应该能够找到一些合适的服务器,或者用不多的钱你可以用 GPS 接收器建立自己的服务器。