2016-10-25 2 views
1

Машина, синхронизирующая с сервером времени, записывает с нее временные метки и время туда и обратно. Как вы узнаете из временных меток и времени в оба конца, какое время вы должны использовать для установки часов? В какое время машина должна установить часы? Как бы вы приблизили точность настройки?Как установить часы машин с использованием временных меток и времени прохождения в оба конца

ответ

0

Я приведу пример, чтобы проиллюстрировать, как вы можете это сделать.

Пусть у вашей машины M есть часы раньше времени сервер S на x = 50 мс. Задача M - выяснить это 50 мс. Предположим, что сетевая задержка равна d = 10 мс.

  • На момент 1000 М думает, что время было 1050. Он посылает к 1050 S.
  • В момент времени 1010 S принимает сообщение, и отправляет обратно свое текущее время 1010.
  • На момент 1020 S думает время было 1070, и она принимает сообщение, содержащее 1010.

Теперь М устанавливает два уравнения:

  • (1050-х) + d = 1010 // M отправить (1050-x); прибывает S с задержкой d.
  • 1070-x = 1010 + d // M получает сообщение при 1070-x, что равно 1010 плюс задержка d.

Решая уравнения, M знает, что его часы опережают x = 50 мс.

Смежные вопросы