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
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Мельников Дмитрий Анатольевич

RFC 5905, Страница 11 из 51

Метки времени представляют собой беззнаковые значения времени, а выполнение операций над ними приводит к результату, который относится к той же самой или смежной эпохе. Нулевая эра включает даты, начиная с точки отсчёта первичной эпохи до определённого момента времени в 2036 году, когда поле метки времени полностью заполниться единицами и в следующий момент времени обнулиться, и после этого начнётся первая эра (№1). В обоих форматах нулевое значение представляет собой особый случай, при котором неизвестно время или отсутствует возможность синхронизировать время. На рис.5 представлено несколько исторических NTP-дат и их значения в соответствие с Модифицированным Юлианским днём (Modified Julian Date — MJD), NTP-эпохой и NTP-меткой времени.

Дата MJD NTP-эпоха (эра) NTP-метка времени (сдвиг эпохи) Сдвиг
1 января -4712 года -2,400,001 -49 1,795,583,104 1-ый день Юлианского календаря
1 января -1 года -679,306 -14 139,775,744 2 век до нашей эры
1 января 0 года -678,491 -14 171,311,744 1 век до нашей эры
1 января 1 года -678,575 -14 202,939,144 1 век нашей эры
4 октября 1582 года -100,851 -3 2,873,647,488 Последний день Юлианского календаря
15 октября 1582 года -100,840 -3 2,874,597,888 1-ый день Григорианского календаря
31 декабря 1899 года 15019 -1 4,294,880,896 Последний день NTP-эпохи -1 (эра № -1)
1 января 1900 года 15020 0 0 Первый день NTP-эпохи 0 (эра № 0)
1 января 1970 года 40,587 0 2,208,988,800 Первый день UNIX-эпохи
1 января 1972 года 41,317 0 2,272,060,800 Первый день UTC-эпохи
31 декабря 1999 года 51,543 0 3,155,587,200 Последний день 20-го века
8 февраля 2036 года 64,731 1 63,104 Первый день NTP-эпохи 1 (эра № 1)
Рис.5. Наиболее интересные исторические NTP-даты

Пусть p будет число старших битов, отведенных для дробной части секунды. Тогда точность часов определяется выражением 2-p в секундах. С целью минимизации отклонения и содействия в формировании максимально непредсказуемых для нарушителя значений меток времени младшие биты должны быть установлены в форме реальной случайной последовательности битов. Точность часов представляет собой текущее время для считывания системного времени, в секундах.

Замечание. Точность, определённая таким образом в этом стандарте, может быть больше или меньше, чем разрешение. Параметр ρ , используемый в данном стандарте для обозначения точности, всегда больше двух.

При обработке значений дат и меток времени допускается только одна арифметическая операция — вычитание по модулю два, в результате которого получается 127- или 63- битовое знаковое значение. Чрезвычайно необходимо, чтобы разности первого порядка между двумя датами сохраняли полную 128-битовую точность, а разности первого порядка между двумя метками времени сохраняли полную 64-битовую точность. Однако, разности обычно представляют собой весьма малые значения, как правило, сравнимые с коротким промежутком времени в несколько секунд, и поэтому они могут быть преобразованы в удвоенный формат с плавающей запятой (точкой) для последующей обработки, причём без снижения точности.

Страница 11 из 51

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