Лучшие вопросы
Таймлайн
Чат
Перспективы
SNTP
протокол синхронизации времени Из Википедии, свободной энциклопедии
Remove ads
SNTP (англ. Simple Network Time Protocol) — протокол синхронизации времени по компьютерной сети. Является упрощённой реализацией протокола NTP. Используется во встраиваемых системах и устройствах, не требующих высокой точности, а также в пользовательских программах точного времени. SNTP протокол является частным случаем NTP протокола с некоторыми упрощениями. Таким образом SNTP клиент может обращаться к любому NTP-серверу, как к серверу SNTP.
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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads