Мой опыт с ntp, а не с openntpd.
Вы должны знать, что протокол NTP обычно начинается с отправки пакетов каждую минуту (64 секунды), но обычно устанавливается путем отправки и получения одного пакета каждые 17 минут для каждого сервера, который есть в вашем файле /etc/ntp.conf. Однако сбои в работе сети или нестабильные часы в вашем устройстве могут увеличить это. Каждый пакет имеет полезную нагрузку около 68 байтов, так что это, вероятно, чуть более 100 байтов, в каждом случае, за опрос.
Rdate и ntpdate во время подключения к сети являются хорошими идеями для установки времени. И если это все, что вам нужно, должно хорошо работать для вас.
Однако если вам нужно синхронизировать время в течение продолжительного времени, протокол ntp был разработан для этого. Часы в вашем устройстве будут работать немного быстрее или медленнее, в зависимости от того, насколько он теплый или холодный, даже если на нем, вероятно, установлены часы с кварцевым управлением, и текущая хронометража предназначена для этого.
Вот несколько советов, если вам нужно постоянное хронометраж и вы хотите уменьшить используемую пропускную способность. Они ссылаются на элементы в ntp.conf.
Не используйте iburst. (Но это займет больше времени, чтобы установить время изначально).
Увеличьте minpoll вверх с 6 (2 ^ 6 секунд - 64 секунды). Это уменьшает трафик при запуске протокола после запуска сети.
Увеличьте maxpoll вверх с 10 (2 ^ 10 секунд - это 1024 секунды или примерно каждые 17 минут. Вы можете пройти до 17, чтобы опросить примерно каждые 36 часов. Я сам не пробовал.
Используйте только минимальное количество серверов, если бы у вас был один, к которому можно было бы надежно подключиться со встроенных устройств, это было бы здорово. Чем больше серверов, тем надежнее может быть отсчет времени, но трафик увеличивается, поэтому это компромисс.
Если я правильно помню, интервал опроса ntp может быть установлен максимум на 1024 секунды. Возможно, самым простым решением было бы запускать ntpdate при каждой загрузке, а затем время от времени из crontab.
Если ваши часы запускаются со случайным временем при каждой загрузке, то вы, вероятно, не сможете запустить ntpd в любом случае, и вам придется сначала использовать ntpdate. Ntpd отказывается синхронизировать время, если разница между вашими часами и часами сервера слишком велика.
источник
ntpd
которые будут обрабатывать этот вариант использования лучше, чемcron
может eecis.udel.edu/~mills/ntp/html/ntpdate.htmlNTP, как и TCP, имеет некоторые глубокие теории и практический опыт, встроенные в протокол; если вы измените его основные параметры, он перестанет иметь свойства синхронизации, для которых он был разработан.
Если ваше устройство время от времени подключается, возможно, старый добрый RDATE будет вам полезен . Это не относится к повороту часов, усреднению сверстников и не может быть защищено от различных хитрых взломов, которые может сыграть человек посередине, если это того стоит. Он просто получает контрольную дату с удаленного сервера и бьет по местным часам молотком. Но он делает это, когда вы этого хотите, и его поведение является детерминированным.
Точность RDATE намного хуже, чем обеспечивает NTP, я бы не стал доверять ей лучше, чем ± 1 секунда, но если вы привязаны лишь время от времени, более точная синхронизация не имеет значения; действительно, в соответствии с относительностью это может даже не иметь смысла.
источник
Для того, чтобы
minpool
/maxpool
был принят во внимание, вы должны добавить затем на сервер в вашемntp.conf
.Не очень рекомендуется связываться с NTP-демоном (он имеет встроенный метод для оптимизации частоты), но вам нужно будет добавить эти опции, например:
Здесь, если установить минимальную частоту вращения 2 ^ 12 секунд, а максимальную - 2 ^ 17 секунд.
По умолчанию я узнал, что NTP будет делать запрос каждую минуту или около того. Это слишком много. Здесь я снизил частоту с одного часа до одного раза в день (приблизительно).
источник