Что такое NTP сервера? Как работают сервера времени?
А вы задумывались как синхронизируется время на ваших устройствах? В интернете? За синхронизацию времени отвечают специальные протоколы.
Точное время на наших устройствах и в интернете поддерживается благодаря специальным протоколам, таким как NTP (Network Time Protocol) и работе серверов точного времени. NTP работает по иерархической структуре, передавая время от атомных часов и спутников через различные слои серверов к конечным пользователям. Мы не замечаем работу этих серверов, но каждый день наши устройства связываются с серверами точного времени.
Что такое протокол NTP?
Протокол NTP создан в Университете штата Делавэр (США) в начале 1980-х годов. Он обеспечивает синхронизацию компьютера, подключенного к сети, с точностью до нескольких миллисекунд относительно универсального координированного времени (UTC). В основе работы протокола лежит алгоритм пересечений, представляющий собой модификацию алгоритма Марцулло, который используется для выбора наиболее точных серверов времени и минимизации влияния задержек при передаче данных по сети. Схема:
Stratum 0 или слой 0 - атомные часы или часы на спутниках самое точное время, точность до миллиардных секунд.
Stratum 1 или слой 1 – сервера переводят время со stratum 0 в систему NTP. Точность 0,001 секунды, связаны с часами и между собой. Учитывается географическое положение. Вычисляется среднее время и уходит в Stratum 2.
Stratum 2 или слой 2 – здесь формируются кластеры по регионам и подготавливается распространение для Stratum 3.
Stratum 3 или слой 3 – большое количество серверов, здесь время имеет бытовую точность 0,05 секунды. Со Stratum 3 время уходит к пользователям.
Существует несколько вариантов NTP серверов:
SNTP или Simple Network Protocol
Протокол используется в системах, где не требуется высокая точность, а также в пользовательских программах.
Протокол NTP работает по принципу «клиент-сервер», но его применяют и в одноранговых сетях (сеть основывается на равноправие участников, каждое устройство является серверов и клиентом), где устройства обмениваются точным временем между собой. Источник времени отправляет данные через протокол UDP на порт 123. Это происходит с помощью многоадресной или общей рассылки, когда клиенты получают сигналы для синхронизации часов. Если необходимо скорректировать время менее чем на одну секунду, NTP уведомит об этом, но не будет передавать информацию о временных поясах или смене дат.
NTS
Защищённая версия NTP, называемая NTS (Network Time Security). Она использует протоколы TLS (Transport Layer Security) и блочное шифрование AEAD (Authenticated Encryption with Associated Data, «аутентифицированное шифрование с присоединёнными данными»). Протокол NTS даёт надёжную криптографическую защиту от манипуляций пакетами, предотвращает отслеживание, хорошо масштабируется, устойчив к потере сетевых пакетов и приводит к наименьшим потерям точности, возникающим в процессе защиты соединения.
Где используется?
Большинство современных устройств: смартфоны, компьютеры, умные колонки и тд. Яркий пример использования серверов точного времени – это навигаторы. Время отправки данных со спутников GPS, ГЛОННАС занимает время, если время не учитывать, то погрешность навигаторов была бы в районе 100 метров. Благодаря использованию точного времени, средняя точность навигаторов в районе 5 метров.
Частота обращение к серверам времени, зависит от конкретных условий и требований сети. К примеру, Windows обращается к серверам только раз в неделю, но этот параметр можно изменить через реестр.
На мобильных устройствах синхронизация может происходить с периодичностью от нескольких раз в минуту до одного в 10-15 минут, в зависимости от модели.
Кто этим занимается?
В основном поддержанием серверов точного времени занимаются частные некоммерческие организации. Одна из таких организаций это pool.ntp.org. Это огромный пул северов относящийся к Stratum 3, то есть это те сервера, которые передают время на наши устройства. Любой человек имеющий сервер с определенными требованиями и знаниями может стать участником данного сообщества.
В России также есть сервера точного времени, самый известный из них это MSK-IX. Он относится к Stratum 1, в качестве источника точного времени используется эталонный сигнал со спутниковой системы ГЛОНАСС. Сервера MSK-IX входят в пул pool.ntp.org.
Как пользователь видит работу этих серверов?
Мы с вами видим работу этой большой системы серверов каждый день, но точное время для нас уже настолько привычно, что мы не придаем этому большого значения. Разумеется, на нашем компьютере точное время - иначе будут некорректно работать некоторые программы.
На смарт-часах время тоже точное - как может быть иначе?
Чаще всего мы замечаем работу таких серверов, когда прилетаем в другой часовой пояс - большинство смартфонов показывают и время вашего «домашнего» часового пояса, и того, в котором вы оказались.
Даже маленькие и привычные вещи могут оказаться довольно сложно и интересно устроенными.
А чтобы узнать больше интересного о том, как работает сеть и устройства в ней, подпишитесь на наши соцсети, чтобы не пропускать новые статьи и видео!