Что такое NTP-сервер

Развитие компьютерных сетей и систем связи вызвало потребность в точной синхронизации сетевых устройств и узлов. Существует множество технологий синхронизации часов (clocks) для сетевых устройств, из которых наиболее известен сервис протокола синхронизации сетевого времени NTP (Network Time Protocol), позволяющий получать точное время в локальной сети или в публичной сети Интернет.

Синхронизация времени важна также для надёжности и безопасности сети. Все больше операций и приложений проводится через Интернет в пределах нескольких часовых поясов, поэтому очень важно, чтобы рабочие станции, работающие в разных часовых поясах, были синхронизированы.

NTP-сервер представляет собой пул общедоступных серверов, работающих по технологии NTP, при помощи которого можно обеспечить точным временем компьютеры или другие сетевые устройства.

Протокол NTP

Протокол NTP был разработан в Университете штата Делавэр (США) в начале 80-х годов 20 века и является одним из старейших протоколов Интернет, используемых до сегодняшнего дня. NTP предназначен для синхронизации компьютеров, подключённых к сети с точностью до нескольких миллисекунд от т.н. «универсального координированного времени» UTC (Universal Time Coordinated). Этот протокол использует алгоритм пересечений (Intersection Algorithm), модифицированную версию алгоритма Марцулло (Marzullo's algorithm) для выбора точных серверов времени, чтобы устранить эффект задержки передачи по сети.

Рисунок 1. Пример обмена сообщениями между сетевыми узлами с использованием протокола NTP, на верхнем слое показаны источники эталонного времени, например, атомные часы.

Рисунок 1. Пример обмена сообщениями между сетевыми узлами с использованием протокола NTP, на верхнем слое показаны источники эталонного времени, например, атомные часы.

Протокол NTP может поддерживать точность синхронизации времени через Интернет в пределах десятков миллисекунд и при идеальных условиях в локальных сетях может достигать точности менее одной миллисекунды. Несимметричные маршруты и перегрузка сети могут при этом давать ошибки в 100 мс или более.

Для достижения максимальной точности предпочтительна постоянная работа программного обеспечения NTP в режиме системной службы. В семействе операционных систем Microsoft Windows — это служба W32Time, в Linux — демон Ntpd или chronyd.

Протокол SNTP

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

Протокол NTP описан в терминах модели «клиент-сервер», однако, его можно легко использовать и в одноранговых сетях (peer-to-peer), где обе стороны рассматривают друг друга в качестве потенциального источника точного времени. В обоих случаях источник точного времени посылает метки времени по протоколу UDP (User Datagram Protocol) через порт с номером 123. При этом может использоваться многоадресная рассылка (multicasting) или общая рассылка (broadcasting), при которой клиенты после начальной калибровки принимают сигналы уточнения времени. NTP выдаёт предупреждение при требуемой коррекции в пределах одной секунды, однако, при этом не передаётся никакой информации о временных зонах или переходе через линию смены дат.

В настоящее время используется версия 4 (NTPv4), которая описана в документе RFC 5905, и она обратно совместима с версией 3, которая описана в RFC 1305.

Безопасная версия NTS

Есть также «безопасная» версия NTP, под названием NTS (Network Time Security), с использованием протоколов TLS (Transport Layer Security) и блочным шифрованием AEAD (Authenticated Encryption with Associated Data, «аутентифицированное шифрование с присоединёнными данными»). NTS описан в документе RFC 8915.

Рисунок 2. Пример реализации узла сервера точного времени NTP (источник: habr.com/ru/post/255179/).

Рисунок 2. Пример реализации узла сервера точного времени NTP (источник: habr.com/ru/post/255179/).

Радиопередатчики точного времени

Серверы NTP корпоративного класса принимают сигналы от источников времени GPS, а также через радиоканалы от одного из радиопередатчиков сигналов точного времени, например, WWVB, который расположен в шт. Колорадо (США), и работает с 1963 года. Они могут обеспечивать синхронизацию времени для тысяч устройств в сети заказчика.

Рисунок 3. Станция радиопередатчиков сигналов точного времени WWVB, в шт. Колорадо (США).

Рисунок 3. Станция радиопередатчиков сигналов точного времени WWVB, в шт. Колорадо (США).

В таблице ниже представлен список радиопередатчиков сигналов точного времени, поддерживаемый Администрацией адресного пространства Интернет IANA (Internet Assigned Numbers Authority)

Таблица 1. Список источников сигналов точного времени IANA.

ID

Источник

GOES

Геостационарный спутник системы экологического мониторинга и наблюдения

GPS

Система глобального позиционирования

GAL

Система местоопределения «Галилео»

PPS

Общий радиосигнал с длительностью импульса, равной 1 секунде

IRIG

Группа стандартизации в телеметрии, США

WWVB

Низкочастотный радиопередатчик, 60 кГц, Форт Коллинз, Колорадо, США

DCF

Низкочастотный радиопередатчик, 77.5 кГц, DCF77, Майнфлинген, ФРГ

HBG

Низкочастотный радиопередатчик, 75 кГц, Прангинс, Швейцария

MSF

Низкочастотный радиопередатчик, 60 кГц, Антхорн, Великобритания

JJY

Низкочастотный радиопередатчик, 40 кГц, Фукусима, 60 кГц, Сага, Япония

LORC

Среднечастотный радиопередатчик, 100 кГц, радионавигация, LORAN-C

TDF

Среднечастотный радиопередатчик, 162 кГц, Аллоуис, Франция

CHU

Высокочастотный радиопередатчик, Оттава, Онтарио, Канада

WWV

Высокочастотный радиопередатчик, Форт Коллинз, Колорадо, США

WWVH

Высокочастотный радиопередатчик, Кауаи, Гавайи, США

NIST

Телефонный модем Национального института стандартов и технологий США

ACTS

Телефонный модем Национального института стандартов и технологий США

USNO

Телефонный модем Национальной обсерватории США

PTB

Телефонный модем Национального метрологического института Германии

Кластер серверов точного времени

pool.ntp.org — это кластер (пул) серверов точного времени, распределённых по всему земному шару, предоставляющий надёжный и простой NTP-сервис. В настоящее время услугами кластера пользуются десятки миллионов систем по всему миру. Он используется по умолчанию в большинстве дистрибутивов Linux и во многих сетевых устройствах.

Данный проект разрабатывает и сопровождает Аск Бьорн Хансен (Ask Bjørn Hansen), а также множество добровольцев. Исходный код проекта полностью открыт. Хостинг и канал подключения для головных серверов проекта в настоящее время предоставляются компаниями Packet (packet.com) и NetActuate (netactuate.com).

NTP-сервер MSK-IX в России

Сервер MSK-IX NTP – сервер точного времени, поддерживаемый московским узлом обмена интернет-трафика MSK-IX. Сервер точного времени предназначен для синхронизации внутренних часов компьютеров и сетевого оборудования (серверов, маршрутизаторов, смартфонов и др.) с эталонным источником MSK-IX по протоколу NTP.

MSK-IX NTP относится к серверам времени первого уровня точности (Stratum One Time Servers). Эталон сигнала времени берётся от глобальных спутниковых систем ГЛОНАСС и GPS.

MSK-IX NTP Server представляет собой группу распределённых серверов в Москве, Санкт-Петербурге, Екатеринбурге и Новосибирске. Серверы MSK-IX также включены в международный пул NTP-серверов pool.ntp.org.

Как пользоваться службой NTP Server?

При конфигурации оборудования нужно использовать следующие параметры:

  • Имя сервера ntp.msk-ix.ru
  • IPv4-адрес 194.190.168.1
  • IPv6-адрес 2001:6d0:ffd4::1

Для сокращения маршрута до MSK-IX NTP следует использовать службу Route Server или создать непосредственный пиринг с MSK-IX DNS Cloud. Это можно сделать бесплатно по дополнительной заявке при заключении договора на подключение к MSK-IX.

Заключение

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