rfc - NTP 协议(protocol)中 Root Delay 字段的用途是什么?

标签 rfc ntp

这是关于 Network Time Protocol ,在 RFC 5905 中指定.
我知道 NTPv4 数据包的 Root Delay 字段(或 Synchronizing Distance 字段,在以前的版本 NTPv3 中命名)是一个数字,表示到主/引用时钟的估计往返延迟。
但是,为什么协议(protocol)需要知道到主时钟的延迟 ?如规范中所述,它正确使用 Origin、Receive 和 Transmit 时间戳字段来计算正确的时间(与服务器/对等方合作),以及 甚至没有 在时间计算“行程”中与主时钟的任何直接或间接通信。
是不是因为服务器/对等体过去已经被引用时钟同步了,现在想通知客户端已经发生的延迟?
顺便问一下,相关的 Root Dispersion 字段是什么意思?不幸的是,我不了解色散概念,没有真正详细解释。

最佳答案

ntpd 不仅设置本地时钟,还可以充当其他 ntp 客户端的时间服务器。为此,它需要知道其准确性。为了计算这一点,它查看来自(可能是完美的)根时钟的最小和最大往返延迟以及其系统时钟中的自身误差。然后它可以向客户宣传它的时钟有多好。

根延迟 DELTA 是根时钟的延迟范围(最大值 - 最小值)。这部分贡献的误差假定为 DELTA/2。

色散是本地系统时钟自上次与上游时钟同步以来的误差。所以这看起来像一个锯齿函数,在同步时下降到 0,然后线性增长直到下一次同步。

关于rfc - NTP 协议(protocol)中 Root Delay 字段的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254709/

相关文章:

php header 邮件 header "554 Message not allowed - Headers are not RFC compliant[291]"

c - C中的RTSP服务器没有客户端响应

amazon-s3 - 由于本地机器的时钟偏差导致 S3 RequestTimeTooSkewed 错误

ruby - NTP时间欺骗

c++ - QT ntp 并消除差异

linux - 在 bash 中从外部服务器打印时间

Java协议(protocol)设计

linux - epoll的实现有没有rfc?

node.js - native websocket api NodeJS的较大的消息?

linux - 为什么 chronyc makestep 不能立即同步时间?