Добавил:
Да поможет вам Котельников Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
20
Добавлен:
23.06.2024
Размер:
15.29 Mб
Скачать

Технологии синхронизации по времени

Рассмотрим, что представляет собой каждый из способов синхронизации времени.

GPS (Global Positioning System) – Глобальная система позиционирования. Синхронизация времени осуществляется во время определения местонахождения устройства, оснащенного GPS- приёмником. Для этого устройство ловит сигнал со спутников, установленных на околоземной орбите. Каждый из спутников имеет атомные часы, за счет чего система GPS обеспечивает хорошую точность. Минусом данного метода является необходимость в GPS-антенне, сигнал от которой может быть нестабильным.

1PPS (1 pulse per second) – Сигнал 1PPS не содержит метки времени. Master-устройство посылает 1 импульс в секунду по отдельной сети: оптоволоконной линии, витой паре или коаксиальному кабелю. Часы Slave используют этот импульс только для синхронизации начала каждой секунды. Устройства не могут с помощью 1PPS получить информацию по дате и времени, поэтому его чаще всего используют совместно с другими протоколами синхронизации, например NTP.

NTP (Network Time protocol) – Протокол сетевого времени широко распространен в сетях Ethernet и Интернет. Принцип работы NTP основан на многоуровневой системе с множеством источников времени.

IRIG-B (Inter Range Instrumentation Group) – С помощью данной технологии передается информация о дате и времени вместе с импульсным сигналом синхронизации. IRIG-B используют выделенную сеть для передачи информации. Сеть может быть построена на оптическом волокне, витой паре или коаксиальном кабеле.

NTP

Stratum 0

В качестве эталонных часов на Stratum 0 выступают системы спутниковой навигации (ГЛОНАСС, GPS и пр.), атомные часы или радиопередатчики. Раз в секунду они генерируют импульсный сигнал (1PPS), который вызывает прерывание и генерирует метку времени на подключенных устройствах. Устройства слоя 0 также известны как опорные часы. Серверы NTP не могут позиционировать себя в системе как Stratum 0. Если в пакете передачи данных в поле Stratum установлен 0, это указывает на неопределенный слой.

Stratum 1

На этом слое находятся устройства, системное время которых синхронизировано с точностью до нескольких микросекунд от эталонных часов. Серверы времени на этом уровне могут работать в одноранговом режиме с другими серверами Stratum 1 для резервирования и проверки точности. Их также называют первичными серверами времени.

Stratum 2

Это устройства, которые синхронизируются по сети от серверов уровня 1. Часто устройства уровня 2 опрашивают несколько серверов уровня 1. Компьютеры Stratum 2 также могут быть одноранговыми с другими компьютерами Stratum 2, чтобы обеспечить более стабильное и надежное время для всех устройств в группе одноранговых узлов.

Максимальное теоретическое число слоев равно 15; Stratum 16 используется для указания того, что устройство не синхронизировано. Механизмы протокола NTP на каждом устройстве системы взаимодействуют таким образом, чтобы построить кратчайший путь к серверам Stratum 1 для всех клиентов. Это позволяет минимизировать накопленную задержку в передаче данных и повысить точность синхронизации. В основе алгоритма построения связующего дерева с минимальной длиной пути лежит алгоритм Беллмана-Форда.

Метки времени

Изначально NTP использовал 64-битные метки времени, состоявшие из 32-битной части для секунд и 32-битной части для долей секунды, что давало временную шкалу, которая прокручивалась бы каждые 232 секунды (136 лет) и давало теоретическое разрешение 2-32 секунды (233 пикосекунды). Отсчет времени начинался с 1 января 1900 года, поэтому первая эпоха закончилась бы 7 февраля 2036 года.

Последняя версия протокола NTPv4 вводит 128-битный формат представления времени: 64 бита для секунд и 64 бита для долей секунды, что дает временную шкалу более 584 млрд лет и разрешение в 0,05 аттосекунд. Дополнительно было введено 32-битное поле номера эры, которое устранило даже ставшей теоретической проблему окончания каждой эпохи.

Алгоритм синхронизации часов

Клиент NTP регулярно опрашивает один или несколько серверов. При этом он вычисляет смещение времени и круговую задержку. Смещение времени θ представляет собой разницу в абсолютном времени между часами сервера и клиента и определяется по формуле:

Круговая задержка δ определяется как время передачи сигнала по линиям связи от клиента к серверу и обратно. Это время, затраченное на отправку сигнала, плюс время, которое требуется для подтверждения, что сигнал был получен:

где t0 — метка времени клиента для передачи пакета запроса, t1 — метка времени сервера приема пакета запроса,

t2 — метка времени сервера для передачи ответного пакета, t3 — метка времени клиента приема ответного пакета.

Каждый уровень системы NTP называется слоем и содержит источники времени.

Слой 0 — эталонные часы (например, атомные часы или часы GPS)

Слой 1 — серверы времени, подключённые напрямую к эталонным часам. Часы этого слоя считаются лучшими источниками времени в системе

Слой 2 — серверы времени, которые синхронизируются с часами слоя 1

Всего слоев может быть до 16 (часы 16 слоя считаются не синхронизированными). Устройства предыдущего слоя всегда выступают в качестве серверов времени для устройств более низкого слоя. Каждое устройство в такой иерархической системе может получать данные о времени с устройств своего слоя и предыдущего. Полученные данные сравниваются по определенному алгоритму и выбирается наиболее точное время. Подобная развернутая многоуровневая система также позволяет оптимизировать трафик и нагрузку на устройства в сети.

Алгоритм расчета смещения времени и круговой задержки

Вычисляемые значения θ и δ пропускаются через фильтры и подвергаются статистическому анализу. Выбросы из общей выборки отбрасываются и оценка временного смещения производится на основе оставшихся значений. Зная величины смещения времени и круговую задержку клиент подстраивает собственное время, чтоб добиться θ равного нулю.

Точная синхронизация достигается, когда входящие и исходящие маршруты между клиентом и сервером симметричны, то есть имеют одинаковую задержку. Если маршруты несимметричны, то существует систематическое смещение в половину разницы между временем передачи пакета от клиента к серверу и обратно.

Соседние файлы в папке Специализированные ЦСП и ОСП