Как синхронизировать часы в локальной сети?
Предположим, у нас есть несколько систем, подключенных к локальной сети и не подключенных к Интернету. Что может быть лучшим способом обеспечить синхронизацию каждого из этих часов? Не обязательно, чтобы они были синхронизированы со временем UTC, но достаточно для синхронизации между собой.
Я думал об использовании NTP, настроив NTP-сервер в одной из систем. Но мне нужно посоветовать, если это будет гораздо более громоздким по сравнению с требованием. Также желательно попытаться вручную вычислить время прохождения сигнала в оба конца и время сервера с использованием сокетов TCP?
1 ответ
Решение для небольшой локальной сети, синхронизируемой друг с другом даже с использованием недисциплинированных локальных часов одной из машин, может быть выполнено в простой одноранговой сети NTP с одной настройкой с локальными часами в качестве резервной копии на случай сбоя всех источников реального времени.
Один пример мультисерверной / одноранговой сети ntp. Обратите внимание, что у каждого ntp нет одинаковых серверов в списке. Это для лучшего использования одноранговой синхронизации. Таким образом, синхронизация между коллегами может соответствовать разным временным результатам.
1a 1b 1c 1d 1e 1f outside
. \ / ...... \ / ...... \ / ..............
2a ---p--- 2b ---p--- 2c inside
/|\ /|\ /|\
/ | \ / | \ / | \
3a 3b 3c 3e 3f 3g 3h 3i 3j
Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer
#Diagram + more info: http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm
NTP-сервер A (myntp.server.a)
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
peer myntp.server.b
peer myntp.server.c
NTP-сервер B (myntp.server.b)
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
peer myntp.server.a
peer myntp.server.c
Если ОДИН сервер (например, myntp.server.a) запускает локальные часы, все будет синхронизироваться с этим - как бы плохо это ни было - но по крайней мере часы в сети останутся вместе - подробнее на: http://compgroups.net/comp.protocols.time.ntp/undisciplined-local-clocks/1874258
Дополнительная информация: http://doc.ntp.org/4.1.1/confopt.htm