如何使用时间戳和往返时间设置机器时钟

时间:2016-10-25 02:40:12

标签: time distributed-system clock-synchronization

与单个时间服务器同步的计算机记录时间戳和往返时间。您如何知道您应该使用哪些时间设置时钟的时间戳和往返时间?机器什么时候设定时钟?您如何估算设置的准确性?

1 个答案:

答案 0 :(得分:0)

我将使用一个示例来说明如何执行此操作。

让你的机器M提前一个时钟服务器S x = 50ms。 M的工作是找出50ms。进一步假设网络延迟为d = 10ms。

  • 在1000时,M认为时间是1050.它向S发送1050。
  • 在时间1010 S接收消息,并发回其当前时间1010。
  • 在1020时,S认为时间是1070,并且它收到包含1010的消息。

现在M设置了两个方程式:

  • (1050-x)+ d = 1010 // M在(1050-x)发送消息;迟到的时候到达S.
  • 1070-x = 1010 + d // M收到1070-x的消息,这是1010加上延迟d。

通过求解方程式,M知道它的时钟提前x = 50ms。