Какова точность алгоритма синхронизации часов Кристиана (t + RTT - min)? - PullRequest
0 голосов
/ 19 июня 2020

Я читал лекции по алгоритму синхронизации часов Кристиана.

Алгоритм утверждает следующие предположения:

  • Минимальное значение времени односторонней передачи клиент-сервер составляет: min
  • Сервер ставит метку времени для сообщения в последний возможный момент перед его отправкой обратно.

Предположим, что клиент отправляет сообщение с запросом на синхронизацию времени с сервера .

Сервер отмечает свое текущее время T и отвечает в ответ.

Предполагая, что время отправки == время приема, клиент устанавливает свои часы на T + (RTT / 2) где RTT - время приема-передачи. В нем говорится, что точность этого находится в пределах (T + min, T + RTT - min).

Мое доказательство того, что это неверно:

Пусть время передачи отправки T c = min + x, где x> = 0.

Это потому, что член x вводит неограниченную задержку отправки, которая нам неизвестна.

Пусть время приема передачи Ts = min + y где y> = 0 (y - термин, аналогичный x для обратного направления).

Таким образом, время для установки часов клиента равно T + Ts.

Также RTT = T c + Ts = 2min + x + y

Минимально возможная граница для времени, которое может быть установлено = T + min, когда y = 0.

Максимально возможная граница для времени, которое может быть установлено = T + RTT - (min + x).

Поскольку T + RTT - (min + x) <= T + RTT - min, мы должны установить наши часы на время, превышающее время сервера, если граница указана в книге / лекции правильно. Где я ошибаюсь? </p>

Спасибо!

...