О точном времени — АСУ ТП: сообщество инженеров

О точном времени

Коротко о статье

Статья объясняет типы NTP-серверов (Stratum 1, 2, 3), их точность и правила подключения. Приводятся рекомендации по выбору серверов и настройке синхронизации в зависимости от требуемой точности.

Главное
  • Серверы Stratum 1 получают время от атомных часов, GPS или CDMA и имеют точность от триллионных до миллионных долей секунды.
  • Подключение к Stratum 1 разрешено только при обслуживании не менее 100 клиентов, желательно выбирать серверы в своей стране.
  • Stratum 2 серверы синхронизируются от Stratum 1 и при правильной настройке дают погрешность менее 1 мс.
  • Публичные пулы Stratum 2, например pool.ntp.org, обеспечивают балансировку нагрузки и высокую доступность.
  • Для точности до ±0.01 секунды рекомендуется использовать ntpd с 3–6 серверами Stratum 2 в своей стране.
  • Точность выше 0.001 секунды требует настройки собственного Stratum 1 сервера от GPS или CDMA.
Термины и технологии
  • NTP
  • Stratum 1
  • Stratum 2
  • Stratum 3
  • ntpd
  • GPS
  • CDMA
  • pool.ntp.org

Кому полезно: Инженерам АСУ ТП и системным администраторам, настраивающим точное время.

По теме на сайте

Первоисточник: habr.com

Выжимка составлена редакцией сайта с помощью ИИ по тексту статьи.

К сервису синхронизации времени по протоколу NTP все уже привыкли — оно включено по умолчанию или легко включается для большинства популярных операционных систем. Однако какая точность при этом достигается? Какие бывают сервера точного времени, и с какими можно работать простым смертным? Какие есть подводные камни, и как выбрать «правильные» сервера времени?

Типы серверов

Сервера бывают Stratum 1 и 2, 3(выше редко).

Stratum 1 — получают точное время непосредственно от источника точного времени: атомных часов (например time-a.nist.gov, точность — трилионные доли секунды) или GPS приемника (ntpx.imvp.ru точность — миллиардные доли секунды). Есть сервера получающие точное время через сотовую сеть CDMA (миллионные доли секунды). При работе с ntpd узнать тип сервера можно командой ntpq -np: «PPS» значит GPS, «ACTS» значит прямое соединение с атомными часами (там же и другая ценная статистика — пинг, «дрожжание» пинга(jitter), ранг сервера(1,2…) ).

«Простым» смертным обращаться к Stratum-1 серверам строго запрещено, т.к. нагрузка на них и так очень большая (а на многие Stratum-1 сервера вообще нет публичного доступа). Считается что вы можете подключаться к Stratum-1 серверам или просить доступ к ним, если вы держите NTP сервер, обслуживающий не менее 100 клиентов. Полный список серверов можно увидеть тут: support.ntp.org/bin/view/Servers/StratumOneTimeServers. Естественно, желательно подключатся к серверам в своей стране.

Stratum 2 — получают точное время от Stratum-1 серверов. При правильной настройке и выборе серверов-источников точного времени имеют погрешность менее 1мс. Подключатся обычно можно всем, но многие сервера регулярно умирают от нагрузки (например time.windows.com). www.pool.ntp.orgподдерживает round-robin списки публичных Stratum-2 NTP серверов. Таким образом обеспечивается балансировка нагрузки, и они практически всегда доступны. Подключиться к этим серверам можно по адресам 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org и 3.ru.pool.ntp.org (это для России, выбираются случайно из списка ~50 серверов).

Stratum 3 — получают время от Stratum-2 серверов, и т.д.

Практическая точность

Stratum-1
Это график разницы системного времени с временем полученным со Stratum-1 серверов (canonical.com — Stratum-2 сервер, для сравнения).
*.nist.gov — расположены в США, из-за «большого» пинга иногда случаются жуткие «выбросы». Ошибка с Российских Stratum-1 серверов обычно укладыватся в +- 1 мс.

Stratum-2
Это — разница с Stratum-2 серверами: 4 из Российского пулла, 1 из европейского, дефолтный сервер времени убунты (europium.canonical.com), и те же *.nist.gov:

Резюме

Время на серверах и рабочих станциях нельзя пускать на «самотёк», иначе отклонение времени может достичь минут.

Если точность +-0.05 секунды вас устраивает, можно не заморачиваться с выбором серверов, и синхронизироваться с сервером по умолчанию

Если необходима точность до +-0.01 секунды, нужно найти Stratum-2 NTP в вашей стране, построить с них графики отклонения (Munin+плагин ntp_peers), и отбросить «кривые». Под windows это конечно будет затруднительно сделать. Затем в linux установить демон ntpd, и дать ему 3-6 серверов для синхронизации (он сам будет выбирать наиболее «качественные»).

Если нужна точность до +-0.001 секунды И вы будете предоставлять сервис точного времени в вашей организации — подключайтесь к Stratum-1 серверам в вашей стране. Ваш сервис крайне желательно делать публичным.

Если нужно точнее 0.001 секунды — остается только настраивать свой Stratum-1 сервер от GPS или CDMA. В обоих случаях нужно либо антенну с улицы вести, или чтобы сигнал «добивал» (в случае с GPS — малореально). Атомные часы объемом менее кубометра пока не делают, так что этот вариант отпадает

PS. Кстати, по умолчанию в Ubuntu синхронизация времени происходит один раз при загрузке системы. Если аптайм под полгода — время может сильно уехать. Устанавливаете ntpd — он корректирует время постоянно и «плавно» (без резких рывков, «размазывая» замедление/ускорение времени). В Windows синхронизация происходит раз в сутки неделю одним «скачком», что может вызвать сложности при обработке логов, если набежала большая разница.

Источник: https://habr.com/ru/post/79461/

🔗 О точном времени

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх