О точном времени
К сервису синхронизации времени по протоколу NTP все уже привыкли — оно включено по умолчанию или легко включается для большинства популярных операционных систем. Однако какая точность при этом достигается? Какие бывают сервера точного времени, и с какими можно работать простым смертным? Какие есть подводные камни, и как выбрать «правильные» сервера времени?
Типы серверов
Сервера бывают Stratum 1 и 2, 3(выше редко).
«Простым» смертным обращаться к 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 (это для России, выбираются случайно из списка
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:
Сразу бросаются в глаза сервера, имеющие постоянную ошибку до 20 мс.
Резюме
PS. Кстати, по умолчанию в Ubuntu синхронизация времени происходит один раз при загрузке системы. Если аптайм под полгода — время может сильно уехать. Устанавливаете ntpd — он корректирует время постоянно и «плавно» (без резких рывков, «размазывая» замедление/ускорение времени). В Windows синхронизация происходит раз в сутки неделю одним «скачком», что может вызвать сложности при обработке логов, если набежала большая разница.
Товарищи!
Даешь большое публичных NTP серверов в России! Особенно Stratum-1 (с ними вообще у нас напряженка, 2-3 штуки на весь exUSSR). Кстати, точное время можно брать и с Глонасс, кто возьмётся запустить первый Глонасс-powered сервер?
PPS. Не могу понять, в какой блог перенести, подскажите 🙂
Синхронизация часов
Синхрониза́ция часов (от др.-греч. σύγχρονος — одновременный) — процесс приведения к одному значению одного параметра разных объектов, называемого временем. Иногда в постулаты СТО также добавляют условие синхронизации часов по Эйнштейну, но принципиального значения оно не имеет: при других условиях синхронизации лишь усложняется математическое описание экспериментальной ситуации без изменения предсказываемых и измеряемых эффектов (см. по этому поводу работы в списке литературы основной статьи).
Смотреть что такое «Синхронизация часов» в других словарях:
синхронизация времени — [ГОСТ Р МЭК 60870 5 103 2005] Также нормированы допустимые временные задержки для различных видов сигналов, включая дискретные сигналы, оцифрованные мгновенные значения токов и напряжений, сигналы синхронизации времени и т.п. [Новости… … Справочник технического переводчика
СИНХРОНИЗАЦИЯ КОЛЕБАНИЙ — установление и поддержание такого режима колебаний двух или неск. связанных систем, при к ром их частоты равны, кратны или находятся в рациональном отношении друг с другом. В отсутствие взаимодействия частоты колебаний этих систем могут быть… … Физическая энциклопедия
синхронизация вычисления среднего значения с помощью встроенных часов реального времени — [Интент] Тематики счетчик электроэнергии EN clock synchronized demand … Справочник технического переводчика
Сверка часов — важный элемент в подготовке к войсковым и полицейским операциям, и ежедневный флотский ритуал. Результатом пренебрежения сверкой часов могут стать большие потери личного состава и техники из за нескоординированности и несинхронности действий… … Википедия
Относительности теория — физическая теория, рассматривающая пространственно временные свойства физических процессов. Закономерности, устанавливаемые О. т., являются общими для всех физических процессов, поэтому часто о них говорят просто как о свойствах… … Большая советская энциклопедия
NTP — Название: Network Time Protocol Уровень (по модели OSI): Прикладной Семейство: TCP/IP Порт/ID: 123/UDP Назначение протокола: Синхронизация часов Спецификация: RFC 5905 … Википедия
Служба точного времени — Служба точного времени организация, хранящая и предоставляющая информацию об измеренном текущем времени с высокой точностью. Телефонные службы точного времени предоставляют информацию в голосовом режиме, называя текущее время в момент… … Википедия
Motorola V547 — Производитель Motorola Камера 640×480 (0.30 млн. пикс.), цифровой Zoom 4x Сети GSM 900, GSM 1800, GSM 1900 Интерфейсы USB, Bluetooth Размеры 88x47x23 мм Вес 90 г Форм фактор раскладушка … Википедия
Как работает синхронизация времени в интернете
Можно ли синхронизировать свой комп по атомным часам
В прошлый раз мы рассказали, какие сложности могут ждать программистов, когда они пишут код для работы со временем. Сегодня перейдём на более сложный уровень: как компьютеры и другие устройства синхронизируют время между собой.
Зачем нужна синхронизация
От того, какое на компьютере установлено время, зависит многое:
В целом единственный случай, когда не нужна синхронизация, — когда компьютер работает независимо от сети, а результаты его вычислений не связаны со временем. В остальных случаях синхронизация полезна.
Как работает синхронизация
В общем виде синхронизация времени работает так:
Это всё повторяется с какой-то периодичностью — раз в час, раз в день или с любым другим интервалом.
Что такое NTP
NTP — это сокращение от Network Time Protocol, что переводится как «протокол сетевого времени».
Протокол спроектирован так, чтобы заниматься только синхронизацией времени. Для этого используются пакеты объёмом всего 48 байт, причём 24 из них заполняет устройство, а 24 — сервер. Это значит, что для точности в 0,01 секунды достаточно один раз получить и передать 48 символов. Если размер пакета сделать слишком большим, то задержки при передаче будут больше и может пострадать точность синхронизации.
Для работы NTP нужен сервер точного времени, который ответит на наш запрос. Сервер всегда знает, какое сейчас время, и моментально реагирует на каждый запрос.


Какие бывают серверы синхронизации
В протоколе NTP есть несколько классов серверов точного времени, в зависимости от точности. Эти классы называются Stratum, а цифра после названия показывает уровень сервера по отношению к самому точному времени.
Stratum 1 — самые точные серверы, которые могут учитывать время с точностью в одну триллионную долю секунды. Они получают время напрямую от атомных часов либо от сервисов GRS или «Глонасс». Для запуска и обслуживания такого сервера нужно сложное оборудование, поэтому серверов первого уровня в мире мало. Большинство из них не отвечает на запросы от обычных пользователей и обслуживает только другие серверы уровнем пониже.
Stratum 2 — серверы точного времени второго уровня. Они получают данные от серверов первого уровня и работают с погрешностью примерно 0,001 секунды. Такие серверы уже могут отвечать на большинство запросов и обслуживать серверы поменьше.
Stratum 3 получают данные от серверов второго уровня, и тут уже точность может падать до 0,05 секунды. Дальше идут уровни 4, 5 и так далее, ограничений снизу нет.
Какая точность нужна для синхронизации
Если вам просто нужно «обычное» точное время с точностью до секунды (например, на телефоне или в часах), то подойдёт любой сервер синхронизации времени. Обычно это будут сервера Stratum 3, потому что их больше всего.
Если нужно что-то обрабатывать с точностью до 0,01 секунды, то нужно найти сервер второго уровня в своей стране и подключиться к нему (так будет точнее). Например, можно использовать серверы в Саратове.
Если же вам нужна точность 0,001 секунды или выше — договаривайтесь с владельцем сервера первого уровня или создавайте свой сервер.
синхронизация времени
Также нормированы допустимые временные задержки для различных видов сигналов, включая дискретные сигналы, оцифрованные мгновенные значения токов и напряжений, сигналы синхронизации времени и т.п.
[Новости Электротехники №4(76) | СТАНДАРТ МЭК 61850]
Широковещательное сообщение, как правило, содержит адрес отправителя и глобальный адрес получателя. Примером широковещательного сообщения служит синхронизация време ни.
[ГОСТ Р 54325-2011 (IEC/TS 61850-2:2003)]
Устройства последних поколений дают возможность синхронизации времени с точностью до микросекунд с помощью GPS.
С помощью этого интерфейса сигнал синхронизации времени (от радиоприемника DCF77 сигнал точного времени из Braunschweig, либо от радиоприемника iRiG-B сигнал точного времени глобальной спутниковой системы GPS) может быть передан в терминал для точной синхронизации времени.
[Герхард Циглер. ЦИФРОВАЯ ДИСТАНЦИОННАЯ ЗАЩИТА. ПРИНЦИПЫ И ПРИМЕНЕНИЕ
Перевод с английского ]
2.13 Синхронизация часов реального времени сигналом по оптовходу
В современных системах релейной защиты зачастую требуется синхронизированная работа часов всех реле в системе для восстановления хронологии работы разных реле.
Это может быть выполнено с использованием сигналов синхронизации времени по интерфейсу IRIG-B, если реле оснащено таким входом или сигналом от системы OP
[Дистанционная защита линии MiCOM P443/ ПРИНЦИП РАБОТЫ]
СИНХРОНИЗАЦИЯ ВРЕМЕНИ СОГЛАСНО СТАНДАРТУ IEEE 1588
Автор: Андреас Дреер (Hirschmann Automation and Control)
Вопрос синхронизации устройств по времени важен для многих распределенных систем промышленной автоматизации. При использовании протокола Precision Time Protocol (PTP), описанного стандартом IEEE 1588, становится возможным выполнение синхронизации внутренних часов устройств, объединенных по сети Ethernet, с погрешностями, не превышающими 1 микросекунду. При этом к вычислительной способности устройств и пропускной способности сети предъявляются относительно низкие требования. В 2008 году была утверждена вторая редакция стандарта (IEEE 1588-2008 – PTP версия 2) с рядом внесенных усовершенствований по сравнению с первой его редакцией.
ЗАЧЕМ НЕОБХОДИМА СИНХРОНИЗАЦИЯ УСТРОЙСТВ ПО ВРЕМЕНИ?
Во многих системах должен производиться отсчет времени. О неявной системе отсчета времени можно говорить тогда, когда в системе отсутствуют часы и ход времени определяется процессами, протекающими в аппаратном и программном обеспечении. Этого оказывается достаточно во многих случаях. Неявная система отсчета времени реализуется, к примеру, передачей сигналов, инициирующих начало отсчета времени и затем выполнение определенных действий, от одних устройств другим.
Система отсчета времени считается явной, если показания времени в ней определяются часами. Указанное необходимо для сложных систем. Таким образом, осуществляется разделение процедур передачи данных о времени и данных о процессе.
Два эффекта должны быть учтены при настройке или синхронизации часов в отдельных устройствах. Первое – показания часов в отдельных устройствах изначально отличаются друг от друга (смещение показаний времени друг относительно друга). Второе – реальные часы не производят отсчет времени с одинаковой скоростью. Таким образом, требуется проводить постоянную корректировку хода самых неточных часов.
ПРЕДЫДУЩИЕ РЕШЕНИЯ
Существуют различные способы синхронизации часов в составе отдельных устройств, объединенных в одну информационную сеть. Наиболее известные способы – это использование протокола NTP (Network Time Protocol), а также более простого протокола, который образован от него – протокола SNTP (Simple Network Time Protocol). Данные методы широко распространены для использования в локальных сетях и сети Интернет и позволяют обеспечивать синхронизацию времени с погрешностями в диапазоне миллисекунд. Другой вариант – использование радиосигналов с GPS спутников. Однако при использовании данного способа требуется наличие достаточно дорогих GPS-приемников для каждого из устройств, а также GPS-антенн. Данный способ теоретически может обеспечить высокую точность синхронизации времени, однако материальные затраты и трудозатраты обычно препятствуют реализации такого метода синхронизации.
Другим решением является передача высокоточного временного импульса (например, одного импульса в секунду) каждому отдельному устройству по выделенной линии. Реализация данного метода влечет за собой необходимость создания выделенной линии связи к каждому устройству.
Последним методом, который может быть использован, является протокол PTP (Precision Time Protocol), описанный стандартом IEEE 1588. Протокол был разработан со следующими целями:
ОБЛАСТИ ПРИМЕНЕНИЯ ПРОТОКОЛА PTP
Протокол PTP может быть применен в различного рода системах. В системах автоматизации, протокол PTP востребован везде, где требуется точная синхронизация устройств по времени. Протокол позволяет синхронизировать устройства в робототехнике или печатной промышленности, в системах осуществляющих обработку бумаги и упаковку продукции и других областях.
В общем и целом в любых системах, где осуществляется измерение тех или иных величин и их сравнение с величинами, измеренными другими устройствами, использование протокола PTP является популярным решением. Системы управления турбинами используют протокол PTP для обеспечения более эффективной работы станций. События, происходящие в различных частях распределенных в пространстве систем, определяются метками точного времени и затем для целей архивирования и анализа осуществляется их передача на центры управления. Геоученые используют протокол PTP для синхронизации установок мониторинга сейсмической активности, удаленных друг от друга на значительные расстояния, что предоставляет возможность более точным образом определять эпицентры землетрясений. В области телекоммуникаций рассматривают возможность использования протокола PTP для целей синхронизации сетей и базовых станций. Также синхронизация времени согласно стандарту IEEE 1588 представляет интерес для разработчиков систем обеспечения жизнедеятельности, систем передачи аудио и видео потоков и может быть использована в военной промышленности.
В электроэнергетике протокол PTPv2 (протокол PTP версии 2) определен для синхронизации интеллектуальных электронных устройств (IED) по времени. Например, при реализации шины процесса, с передачей мгновенных значений тока и напряжения согласно стандарту МЭК 61850-9-2, требуется точная синхронизация полевых устройств по времени. Для реализации систем защиты и автоматики с использованием сети Ethernet погрешность синхронизации данных различных устройств по времени должна лежать в микросекундном диапазоне.
Также для реализации функций синхронизированного распределенного векторного измерения электрических величин согласно стандарту IEEE C37.118, учета, оценки качества электрической энергии или анализа аварийных событий необходимо наличие устройств, синхронизированных по времени с максимальной точностью, для чего может быть использован протокол PTP.
Вторая редакция стандарта МЭК 61850 определяет использование в системах синхронизации времени протокола PTP. Детализация профиля протокола PTP для использования на объектах электроэнергетики (IEEE Standard Profile for Use of IEEE 1588 Precision Time Protocol in Power System Applications) в настоящее время осуществляется рабочей группой комитета по релейной защите и автоматике организации (PSRC) IEEE.
ПРОТОКОЛ PTP ВЕРСИИ 2
В 2005 году была начата работа по изменению стандарта IEEE1588-2002 с целью расширения возможных областей его применения (телекоммуникации, беспроводная связь и в др.). Результатом работы стало новое издание IEEE1588-2008, которое доступно с марта 2008 со следующими новыми особенностями:
ПРИНЦИП ФУНКЦИОНИРОВАНИЯ СИСТЕМ НА ОСНОВЕ ПРОТОКОЛА PTP
В системах, где используется протокол PTP, различают два вида часов: ведущие часы и ведомые часы. Ведущие часы, в идеале, контролируются либо радиочасами, либо GPS-приемниками и осуществляют синхронизацию ведомых часов. Часы в конечном устройстве, неважно ведущие ли они или ведомые, считаются обычными часами; часы в составе устройств сети, выполняющих функцию передачи и маршрутизации данных (например, в Ethernet-коммутаторах), считаются граничными часами.
Процедура синхронизации согласно протоколу PTP подразделяется на два этапа. На первом этапе осуществляется коррекция разницы показаний времени между ведущими и ведомыми часами – то есть осуществляется так называемая коррекция смещения показаний времени. Для этого ведущее устройство осуществляет передачу сообщения для целей синхронизации времени Sync ведомому устройству (сообщение типа Sync). Сообщение содержит в себе текущее показание времени ведущих часов и его передача осуществляется периодически через фиксированные интервалы времени. Однако поскольку считывание показаний ведущих часов, обработка данных и передача через контроллер Ethernet занимает некоторое время, информация в передаваемом сообщении к моменту его приема оказывается неактуальной. Одновременно с этим осуществляется как можно более точная фиксация момента времени, в который сообщение Sync уходит от отправителя, в составе которого находятся ведущие часы (TM1). Затем ведущее устройство осуществляет передачу зафиксированного момента времени передачи сообщения Sync ведомым устройствам (сообщение FollowUp). Те также как можно точнее осуществляют измерение момента времени приема первого сообщения (TS1) и вычисляют величину, на которую необходимо выполнить коррекцию разницы в показаниях времени между собою и ведущим устройством соответственно (O) (см. рис. 1 и рис. 2). Затем непосредственно осуществляется коррекция показаний часов в составе ведомых устройств на величину смещения. Если задержки в передачи сообщений по сети не было, то можно утверждать, что устройства синхронизированы по времени.
На втором этапе процедуры синхронизации устройств по времени осуществляется определение задержки в передаче упомянутых выше сообщений по сети между устройствами. Указанное выполняется при использовании сообщений специального типа. Ведомое устройство отправляет так называемое сообщение Delay Request (Запрос задержки в передаче сообщения по сети) ведущему устройству и осуществляет фиксацию момента передачи данного сообщения. Ведущее устройство фиксирует момент приема данного сообщения и отправляет зафиксированное значение в сообщении Delay Response (Ответное сообщение с указанием момента приема сообщения). Исходя из зафиксированных времен передачи сообщения Delay Request ведомым устройством и приема сообщения Delay Response ведущим устройством производится оценка задержки в передачи сообщения между ними по сети. Затем производится соответствующая коррекция показаний часов в ведомом устройстве. Однако все упомянутое выше справедливо, если характерна симметричная задержка в передаче сообщения в обоих направлениях между устройствами (то есть характерны одинаковые значения в задержке передачи сообщений в обоих направлениях).
Задержка в передачи сообщения в обоих направлениях будет идентичной в том случае, если устройства соединены между собой по одной линии связи и только. Если в сети между устройствами имеются коммутаторы или маршрутизаторы, то симметричной задержка в передачи сообщения между устройствами не будет, поскольку коммутаторы в сети осуществляют сохранение тех пакетов данных, которые проходят через них, и реализуется определенная очередность их передачи. Эта особенность может, в некоторых случаях, значительным образом влиять на величину задержки в передаче сообщений (возможны значительные отличия во временах передачи данных). При низкой информационной загрузке сети этот эффект оказывает малое влияние, однако при высокой информационной загрузке, указанное может значительным образом повлиять на точность синхронизации времени. Для исключения больших погрешностей был предложен специальный метод и введено понятие граничных часов, которые реализуются в составе коммутаторов сети. Данные граничные часы синхронизируются по времени с часами ведущего устройства. Далее коммутатор по каждому порту является ведущим устройством для всех ведомых устройств, подключенных к его портам, в которых осуществляется соответствующая синхронизация часов. Таким образом, синхронизация всегда осуществляется по схеме точка-точка и характерна практически одинаковая задержка в передаче сообщения в прямом и обратном направлении, а также практическая неизменность этой задержки по величине от одной передачи сообщения к другой.
Хотя принцип, основанный на использовании граничных часов показал свою практическую эффективность, другой механизм был определен во второй версии протокола PTPv2 – механизм использования т. н. прозрачных часов. Данный механизм предотвращает накопление погрешности, обусловленной изменением величины задержек в передаче сообщений синхронизации коммутаторами и предотвращает снижение точности синхронизации в случае наличия сети с большим числом каскадно-соединенных коммутаторов. При использовании такого механизма передача сообщений синхронизации осуществляется от ведущего устройства ведомому, как и передача любого другого сообщения в сети. Однако когда сообщение синхронизации проходит через коммутатор фиксируется задержка его передачи коммутатором. Задержка фиксируется в специальном поле коррекции в составе первого сообщения синхронизации Sync или в составе последующего сообщения FollowUp (см. рис. 2). При передаче сообщений Delay Request и Delay Response также осуществляется фиксация времени задержки их в коммутаторе. Таким образом, реализация поддержки т. н. прозрачных часов в составе коммутаторов позволяет компенсировать задержки, возникающие непосредственно в них.
РЕАЛИЗАЦИЯ ПРОТОКОЛА PTP
Если необходимо использование протокола PTP в системе, должен быть реализован стек протокола PTP. Это может быть сделано при предъявлении минимальных требований к производительности процессоров устройств и к пропускной способности сети. Это очень важно для реализации стека протокола в простых и дешевых устройствах. Протокол PTP может быть без труда реализован даже в системах, построенных на дешевых контроллерах (32 бита).
Единственное требование, которое необходимо удовлетворить для обеспечения высокой точности синхронизации, – как можно более точное измерение устройствами момента времени, в который осуществляется передача сообщения, и момента времени, когда осуществляется прием сообщения. Измерение должно производится максимально близко к аппаратной части (например, непосредственно в драйвере) и с максимально возможной точностью. В реализациях исключительно на программном уровне архитектура и производительность системы непосредственно ограничивают максимально допустимую точность.
При использовании дополнительной поддержки аппаратного обеспечения для присвоения меток времени, точность может быть значительным образом повышена и может быть обеспечена ее виртуальная независимость от программного обеспечения. Для этого необходимо использование дополнительной логики, которая может быть реализована в программируемой логической интегральной схеме или специализированной для решения конкретной задачи интегральной схеме на сетевом входе.
РЕЗУЛЬТАТЫ
Компания Hirschmann – один из первых производителей, реализовавших протокол PTP и оптимизировавших его использование. Компанией был разработан стек, максимально эффективно реализующий протокол, а также чип (программируемая интегральная логическая схема), который обеспечивает высокую точность проводимых замеров.
В системе, в которой несколько обычных часов объединены через Ethernet-коммутатор с функцией граничных часов, была достигнута предельная погрешность +/- 60 нс при практически полной независимости от загрузки сети и загрузки процессора. Также компанией была протестирована система, состоящая из 30 каскадно-соединенных коммутаторов, обладающих функцией поддержки т.н. прозрачных часов и были зафиксированы погрешности менее в пределах +/- 200 нс.
Компания Hirschmann Automation and Control реализовала протоколы PTP версии 1 и версии 2 в промышленных коммутаторах серии MICE, а также в серии монтируемых на стойку коммутаторов MACH100.
ВЫВОДЫ
Протокол PTP во многих областях уже доказал эффективность своего применения. Можно быть уверенным, что он получит более широкое распространение в течение следующих лет и что многие решения при его использовании смогут быть реализованы более просто и эффективно чем при использовании других технологий.




