· 11 мин чтения

PTPv2 в корпоративной сети: когда NTP уже мало и как синхронизировать к микросекундам

Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. Раз в пару месяцев у меня появляется клиент, у которого «раньше всё работало, а сейчас каналы записи камер расходятся», или «биржевая касса выдаёт ошибку timestamp mismatch», или «журнал аудита ФСТЭК не проходит проверку — время скачет на секунды». NTP синхронизирует часы достаточно для обычной офисной работы, но для задач с требованием точности меньше миллисекунды — нужен PTP. Расскажу, когда он реально нужен бизнесу и как собрать это самостоятельно, не переплачивая за enterprise-решения Cisco PTP4K.

Когда NTP мало

NTP (Network Time Protocol) по умолчанию даёт точность 1-50 мс внутри локальной сети и 10-100 мс через интернет. Для 95% корпоративных задач этого хватает: Windows-логи совпадают, журналы 1С читаются, аудит работает. Но есть сценарии, где это становится проблемой:

PTPv2 (IEEE 1588-2008) даёт точность 100 нс — 10 мкс в типовом бизнес-сегменте. Это на три порядка лучше NTP.

Как это работает в двух словах

PTP состоит из трёх типов устройств:

Протокол отправляет Sync, Delay_Req, Delay_Resp сообщения с точными timestamp. Если сетевые карты поддерживают hardware timestamping — эти timestamp ставятся ASIC'ом в момент отправки/приёма, а не OS, что даёт наносекундную точность. Если не поддерживают — остаётся software timestamp с точностью 100-500 мкс.

Требования к оборудованию

КомпонентМинимумОптимум
GrandmasterLinux-сервер + USB GPS-модульMeinberg LANTIME, Microsemi SyncServer
СвитчиОбычный L2 (сойдёт до 5-10 hop)С boundary/transparent clock: Cisco Catalyst 9300, Huawei CE, Eltex MES5324
Сетевые карты серверовIntel I350Intel X710/X550, Mellanox ConnectX-5
Клиенты (камеры, кассы)Поддержка PTP в прошивкеHardware timestamping

В реальности у среднего бизнеса «оптимум» часто недоступен. Мы работаем с «минимумом»: Linux + USB GPS, обычные управляемые свитчи (хотя бы с корректной приоритизацией PTP), серверные сетевухи I350/I210, камеры с включённым PTP через web-интерфейс. Точность получается 100-500 мкс — уже на два порядка лучше NTP, бизнесу хватает.

Grandmaster на Linux — минимальная конфигурация

Ставим Debian 12 на сервер с сетевухой Intel I350. Подключаем USB GPS-модуль (популярный — u-blox NEO-M8, стоит ~2500 руб), антенну выводим на крышу здания с видом неба.

# Ставим пакеты
apt install linuxptp gpsd gpsd-clients chrony ntpsec

# Включаем GPS
systemctl enable --now gpsd
gpsmon  # проверяем, что GPS видит спутники

# Настраиваем chrony как источник времени от GPSD для PHC
cat > /etc/chrony/chrony.conf <<EOF
refclock SHM 0 refid GPS precision 1e-1
refclock SHM 1 refid PPS precision 1e-9
driftfile /var/lib/chrony/chrony.drift
makestep 1.0 3
rtcsync
hwtimestamp *
EOF
systemctl restart chronyd

# ptp4l — основной демон PTP
cat > /etc/linuxptp/ptp4l.conf <<EOF
[global]
twoStepFlag             1
slaveOnly               0
priority1               128
priority2               128
domainNumber            0
logAnnounceInterval     1
logSyncInterval         0
logMinDelayReqInterval  0
network_transport       L2
time_stamping           hardware
tx_timestamp_timeout    10

[eth0]
EOF

# phc2sys — синхронизирует PHC с системным clock (который от chrony)
cat > /etc/default/phc2sys <<EOF
OPTS="-s CLOCK_REALTIME -c eth0 -w -m"
EOF

systemctl enable --now ptp4l phc2sys

После этого сервер становится grandmaster clock с точностью к GPS (100 нс на секунду) и распространяет время через PTP на все slaves.

Slave на Linux-серверах

# Slave-конфиг ptp4l
cat > /etc/linuxptp/ptp4l-slave.conf <<EOF
[global]
slaveOnly               1
priority1               255
priority2               255
domainNumber            0
network_transport       L2
time_stamping           hardware
[eth0]
EOF

systemctl start ptp4l@slave
systemctl start phc2sys@slave

# Проверка
pmc -u -b 0 "GET CURRENT_DATA_SET"
# Смотрим на offsetFromMaster — должно быть в пределах 100 нс — 10 мкс

Camera / Cisco switch / Eltex — настройка

Cisco Catalyst 9300 (boundary clock):

ptp mode boundary
ptp priority1 128
ptp priority2 128
interface Gi1/0/1
 ptp role master
 ptp enable
interface Gi1/0/2
 ptp role slave
 ptp enable

Eltex MES5324:

ptp mode boundary
interface gi0/1
 ptp enable
 ptp role master
exit
show ptp port gi0/1

AXIS / Hikvision IP-камеры: включить PTP в разделе System → Date & Time → Protocol → PTP. Указать VLAN с grandmaster. Через 5-10 минут offset уходит в наносекунды.

Кейс: синхронизация камер для ресторана

В марте 2026 к нам обратился клиент — сеть ресторанов премиум-сегмента, 4 зала, 26 камер на зал, итого 104 IP-камеры на объект. Требовалось: собирать раскадровку конфликта клиент-официант с 4-5 разных камер в одном временном интервале, разница между кадрами — не более 40 мс (один кадр при 25 fps).

До нас ntp.chrony работал на сервере регистратора, камеры ходили на него по NTP. Разбежка: до 800 мс между самыми дальними камерами. Раскадровка получалась сдвинутой, клиенты жаловались на невозможность сопоставить моменты.

Что мы сделали за 6 рабочих дней:

  1. Поставили на сервере регистратора ptp4l с GPS-антенной на крышу ресторана (u-blox NEO-M8, ~ 4800 руб с доставкой и креплением).
  2. Настроили Cisco Catalyst 9300 в режим boundary clock (PTP был включён, но не использовался).
  3. Включили PTP на всех 104 камерах Hikvision через массовый экспорт конфига.
  4. Проверили offset: все камеры в пределах 5-50 мкс от grandmaster (в 10-16 тыс раз лучше NTP).
  5. Обновили софт регистратора — включили опцию «использовать timestamp из RTP headers, а не из своего часового пояса».
  6. Проверили на тестовом кейсе: 5 камер, один удар мяча по стакану, раскадровка, разница между кадрами 0-30 мс (один-два кадра).

Стоимость проекта — 115 000 руб. Клиент доволен, раскадровка теперь идеально синхронная. Интересный побочный эффект: ptp4l показал, что в большом зале один из свитчей имел странную задержку (JTS-buffer переполнялся) — мы его заменили, уменьшилась общая latency сети на 30%.

Кейс: точная синхронизация для финтеха

Второй клиент — НКО-брокер, 45 рабочих мест, оборот 8-12 млрд руб в день. У них требование по 719-П ЦБ: timestamp в журнале транзакций — точность не хуже 100 мкс, и нужно доказать протоколом. До нас использовался NTP на Windows Server с ntpd.conf — точность 30-60 мс, но в отчёте показывали «не хуже 100 мс» (наобум).

Проект на 3 недели:

  1. Закупили Meinberg LANTIME M200 с GPS и резервной антенной — 280 000 руб через партнёра.
  2. Поставили в серверной, подключили к двум uplink-свитчам Huawei CE6800 в режиме boundary clock.
  3. Настроили ptp4l на всех 12 торговых серверах с Intel X710 сетевыми картами.
  4. Добавили мониторинг offsetFromMaster в Grafana, алерты в Slack при >10 мкс.
  5. Обновили приложение: timestamp в журналах берётся из clock_gettime(CLOCK_REALTIME) с nanosecond-точностью, пишется в лог.
  6. Провели испытания с ФСТЭК-аудитором: offsetFromMaster стабильно в пределах 500 нс — 2 мкс, протокол принят.

Стоимость проекта — 680 000 руб. включая железо. Клиент прошёл ЦБ-проверку без замечаний.

Проблемы и грабли

Мониторинг

# Grafana-дашборд берёт из pmc:
pmc -u -b 0 "GET CURRENT_DATA_SET" | \
  awk '/offsetFromMaster/ {print "ptp_offset_from_master_ns " $2}'

# Алерт: если offset > 10000 (10 мкс) — telegram уведомление

Настроим PTPv2 в вашей сети — от 85 000 руб.

Я лично проектирую и разворачиваю PTPv2 IEEE 1588 в корпоративных сетях Москвы и области. Подбор grandmaster (Linux+GPS или коммерческий Meinberg/Microsemi), настройка boundary clock на Cisco/Huawei/Eltex, синхронизация серверов, камер, АТС и кассовых систем. Типовой проект для офиса 30-50 рабочих мест — 1-2 недели. Для финтеха/критичной инфраструктуры — 3-5 недель с аудитом ФСТЭК.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — PTPv2 в корпоративной сети

Разве NTP не хватает бизнесу?
Для большинства задач — хватает. NTP даёт точность 1-50 мс. PTPv2 нужен когда требуется меньше 1 мс: журналы финансовых транзакций, аудит-логи со временем к микросекунде, синхронизация камер видеонаблюдения кадр-в-кадр, координация АТС с несколькими серверами, требования ФСТЭК по точности логов.
Что такое grandmaster clock?
Grandmaster — главный источник времени в PTP-сети. Обычно это устройство с GPS-антенной или attached к атомным часам. В сети может быть несколько, PTP-алгоритм BMCA сам выбирает лучший. Для среднего бизнеса достаточно одного grandmaster с GPS и резервного из NTP.
Как проверить, что PTP работает?
На Linux с ptp4l и phc2sys команда pmc -u -b 0 GET CURRENT_DATA_SET показывает offsetFromMaster. Стабильное значение меньше 1 мкс — отлично. Для визуализации есть grafana-дашборды с метриками ptp4l. На Cisco показывает show ptp clock.
Нужны ли специальные сетевые карты?
Для точности до микросекунд — нужны карты с hardware timestamping (Intel I210, I350, X550+). Без них точность останется на уровне 100-500 мкс, что может быть достаточно для бизнес-задач, но не для аудио или видео синхронизации. Mellanox ConnectX-4/5 тоже поддерживают hardware timestamping.
Сколько стоит PTPv2 для офиса 50 рабочих мест?
Зависит от уровня точности. Базовая инсталляция с одним grandmaster на Linux + GPS-антенна + ptp4l на серверах + boundary clock на управляемых свитчах — от 85 000 руб. работа + 35-60 тыс руб на GPS-модуль и антенну. Для критичных систем (финансы, биржа) проект может вырасти до 400-600 тыс руб.