NTP协议流程

NTP协议的时钟同步过程如下:

  1. 客户端A发送NTP消息给服务器B,消息中包含发送时间戳 T1
  2. 服务器B收到NTP消息后,将接收时间 T2 写入消息中
  3. 服务器B发送该NTP消息给客户端A,发送时间 T3 写入消息中
  4. 客户端A收到该NTP消息的时间为 T4

从上面的流程中可以很容易地计算出:

AB之间的网络往返时间RTT(Round Trip Time):δ = (T4 - T1) - (T3 - T2)

AB之间的时间偏移:θ = ( (T2 - T1) + (T3 - T4) ) / 2

推导过程:A从发送请求消息到收到响应的时间间隔是 T4 - T1,其中 T3 - T2 是B的处理时间,所以网络往返时间

δ = (T4 - T1) - (T3 - T2)。

假设A和B的时间偏差为θ,那么 T3 - θ = T3`(θ并不等于T4-T3`, θ代表两边的时间偏差, T4 - T3`代表网络时延)。

T4和T3` 的间隔是半个RTT:T4 - T3` = δ / 2

把T3`和δ代入上面这个等式,得到:θ = ( (T2 - T1) + (T3 - T4) ) / 2。

posted @ 2021-02-19 20:13  沉川  阅读(60)  评论(0编辑  收藏  举报