【问题标题】:How to set a machines clock using time stamps and round trip time如何使用时间戳和往返时间设置机器时钟
【发布时间】:2016-10-25 02:40:12
【问题描述】:

与单个时间服务器同步的机器会记录时间戳和往返时间。您如何从时间戳和往返时间知道您应该使用哪个时间来设置时钟?机器应该将时钟设置为几点?您如何估计设置的准确性?

【问题讨论】:

    标签: time distributed-system clock-synchronization


    【解决方案1】:

    我将使用一个示例来说明如何做到这一点。

    让你的机器 M 比服务器 S 早 x=50ms。 M 的工作是计算出这 50 毫秒。进一步假设网络延迟为 d=10ms。

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

    现在 M 建立了两个方程:

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

    通过解方程,M 知道它的时钟提前了 x=50 毫秒。

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 2014-07-11
      • 2017-07-23
      • 1970-01-01
      • 2012-04-17
      相关资源
      最近更新 更多