RFC: 5905
Оригинал: Network Time Protocol Version 4: Protocol and Algorithms Specification
Предыдущие версии: RFC 958, RFC 1059, RFC 1119, RFC 1305, RFC 1361, RFC 1769, RFC 2030, RFC 4330
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Мельников Дмитрий Анатольевич

Прежде чем будут обновлены значения переменных состояния xmt и org, проводятся две важных контрольных проверки с целью защиты против дубликатов, поддельных или повторно переданных NTPv4-собщений. Из рассмотренного ранее примера, NTPv4-собщение будет являться дубликатом или повторно переданным, если метка времени отправки t3 в NTPv4-собщении совпадёт с переменной состояния org, равной T3. NTPv4-собщение будет являться поддельным, если метка времени отправки t1 в NTPv4-собщении не совпадёт с переменной состояния xmt, равной T1. Если эти две контрольных проверки прошли успешно, то тогда переменные состояния обновляются, а само NTPv4-собщение уничтожается. Для защиты от повторной передачи последнего переданного NTPv4-собщения, переменная состояния xmt устанавливается в ноль сразу после успешной проверки NTPv4-сообщения на предмет его фиктивности.

Четыре наиболее важные метки времени, T1 … T4, используются для вычисления сдвига времени сервера В относительно сервера А:

θ = T(B) - T(A) = ½×[(T2 - T1) + (T3 - T4)]

а задержка петлевого маршрута:

δ = T(ABA) = (T4 - T1) - (T3 - T2)

Необходимо отметить, что значения в круглых скобках вычисляются на основе 64-битовых беззнаковых метках времени и преобразуются в знаковые величины, состоящие из 63 соответствующих битов и знака плюс (один бит). Эти величины могут представлять собой даты, начиная с последних 68 лет и кончая последующими 68 годами. Однако, сдвиг и задержка вычисляются как суммы и разности таких значений, в которых только 62 бита отводятся для числа, а два бита отводятся под знак числа, и поэтому могут представлять собой явные значения, начиная с последних 34 лет и кончая последующими 34 годами. Другими словами, время клиента должно быть синхронизировано от сервера времени не ранее, чем за 34 лет до начала действия протокола. Это фундаментальное ограничение, связанное с 64-битовыми целочисленными арифметическими действиями.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.