关于NTP,你需要知道的一切

关于NTP,你需要知道的一切,第1张

NTP,是 Net Time Protocol 的缩写,意即网络时间协议。
NTP是在分组交换、延迟时间可变的数据网络上进行时钟同步的网络协议。
NTP由特拉华大学(University of Delaware)的David L Mills设计。
说起来它的历史相当长了,自1985年以来,NTP是目前仍在使用的最古老的互联网协议之一。

NTP 只考虑 UTC 时间,不考虑时区,不考虑夏令时等。

NTP使用UDP,端口123。

NTP使用一种树状的,半分层的时间源系统。每一层叫做 stratum (见下图)。每个 stratum 都有一个编号,从0开始,最大到15,16被用来标记设备未同步。

一般情况下,第 n+1 层 stratum 从第 n 层同步时间。

图来自 WikiPedia

时间计算方式参考下图,

时间偏移“θ”定义为:

往返延迟“δ”为:

其中:

t0 是请求数据包传输的客户端时间戳,
t1 是请求数据包回复的服务器时间戳,
t2 是响应数据包传输的服务器时间戳,
t3 是响应数据包回复的客户端时间戳。

图来自 WikiPedia

别着急,下面我们看看这个值是如何计算出来的,小学数学知识就够了。

t1,t2是属于同一个时钟的,因此它们的差值是有意义的,同理,t3,t0的差值也是有意义的。
t3 - t0 是数据包传输的全部时间,服务器处理的时间是 t2 - t1 , 那么 往返 网络传输时间就是

δ=(t3 - t0) - (t2 - t1) ,这个应该没问题吧?(有问题请面壁思考1分钟

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12630230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存