Лучшие вопросы
Таймлайн
Чат
Перспективы

SNTP

протокол синхронизации времени Из Википедии, свободной энциклопедии

Remove ads

SNTP (англ. Simple Network Time Protocol) — протокол синхронизации времени по компьютерной сети. Является упрощённой реализацией протокола NTP. Используется во встраиваемых системах и устройствах, не требующих высокой точности, а также в пользовательских программах точного времени. SNTP протокол является частным случаем NTP протокола с некоторыми упрощениями. Таким образом SNTP клиент может обращаться к любому NTP-серверу, как к серверу SNTP.

Краткие факты Название, Уровень (по модели OSI) ...
Remove ads

Формат времени

В протоколе SNTP используется одинаковый с протоколом NTP формат представления времени — 64-битное число, состоящее из 32-битного счётчика секунд и 32-битного счётчика долей секунд. Нулевое значение счётчика времени соответствует нулю часов 1 января 1900 г., 6 ч 28 м 16 с 7 февраля 2036 г. и т. д. Для успешного функционирования протокола необходимо, чтобы клиент знал своё время в пределах ±34 лет относительно времени сервера.

Remove ads

Формат сообщения

Подробнее Байт ...
  • Индикатор коррекции (ИК) показывает предупреждение о будущей вставке или удалении секунды в последней минуте суток:
Подробнее ИК, Значение ...
  • Номер версии (НВ) — текущее значение 4.
  • Режим:
Подробнее Режим, Значение ...
  • Страта — поле определено только для сообщений сервера:
Подробнее Страта, Значение ...
  • Интервал опроса — беззнаковое целое, двоичная экспонента которого показывает максимальный интервал между последовательными сообщениями в секундах. Определено только для сообщений сервера, допустимые значения от 4 (16 с) до 17 (около 36 ч).
  • Точность — знаковое целое, двоичная экспонента которого показывает точность системных часов. Определено только для сообщений сервера, типичные значения от −6 до −20.
  • Задержка — знаковое число с фиксированной запятой, находящейся между 15 и 16 знаками, показывающее полное время распространения сигнала туда и обратно до источника синхронизации сервера времени. Определено только для сообщений сервера.
  • Дисперсия — беззнаковое число с фиксированной запятой, находящейся между 15 и 16 знаками, показывающее максимальную ошибку из-за нестабильности часов. Определено только для сообщений сервера.
  • Идентификатор источника — источник синхронизации сервера, строка для страты 0 и 1, IP-адрес для вторичных серверов. Определено только для сообщений сервера.
  • Время обновления — время, когда системные часы последний раз были установлены или скорректированны.
  • Начальное время, время приёма, время отправки определены ниже.
  • Ключ идентификации, дайджест сообщения — необязательные поля, используемые для аутентификации.
Remove ads

Работа клиента

Суммиров вкратце
Перспектива

Клиент SNTP может работать в одноадресном, широковещательном и многоадресном режимах. В одноадресном режиме клиент посылает запрос (режим 3) и ждёт ответ (режим 4) от сервера. В широковещательном режиме клиент не посылает запросы, а ожидает сообщения (режим 5) от одного или нескольких серверов. В многоадресном режиме клиент посылает запрос (режим 3) по широковещательному адресу и ждёт ответ (режим 4) от одного или нескольких серверов. Первый ответивший сервер используется для последующих одноадресных запросов, остальные ответы игнорируются.

Подробнее Поле, Одно- многоадресный ...

В одноадресном и многоадресном режиме клиент заполняет поля «НВ», «Режим» и, необязательно, «Время отправки». Остальные поля заполняются нулями. Сервер, получая запрос от клиента, подготавливает своё сообщение для ответа, копируя поле «Время отправки», указанное в запросе клиента, в поле «Начальное время», а также заполняет поля «Время приёма» и «Время отправки». «Время прибытия» фиксируется клиентом в момент приёма ответа от сервера.

Подробнее Наименование, Код ...

Клиент, получая ответ от сервера, в качестве текущего времени устанавливает T4 + t, где t - сдвиг локального времени. Этот сдвиг учитывает задержку передачи пакетов, в связи с чем синхронизированное время клиента максимально приближенно ко времени сервера.

Сдвиг локального времени t и задержка передачи пакетов d вычисляется по формулам:

t = ((T2 - T1) + (T3 - T4)) / 2
d = (T4 - T1) - (T3 - T2)

Формула для сдвига t получается из следующего уравнения: T` = T4 + t = T3 + d/2

В широковещательном режиме клиент не получает информации о задержке распространения и коррекция не производится.

Remove ads

См. также

Ссылки

RFC 4330 — Simple Network Time Protocol (SNTP) Version 4

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads