Mon expérience est avec ntp plutôt qu'avec openntpd.
Vous devez savoir que le protocole NTP commence généralement par l'envoi de paquets toutes les minutes (64 secondes), mais s'installe généralement en envoyant et en recevant un paquet toutes les 17 minutes pour chaque serveur que vous avez dans votre fichier /etc/ntp.conf. Les pannes de réseau ou une horloge instable dans votre appareil peuvent toutefois augmenter cela. Chaque paquet a une charge utile d'environ 68 octets, ce qui représente probablement un peu plus de 100 octets, dans chaque sens, par interrogation.
La rdate et la ntpdate lors de la mise en service du réseau sont de bonnes idées pour régler l'heure. Et si c'est tout ce dont vous avez besoin devrait bien fonctionner pour vous.
Cependant, si vous devez synchroniser l'heure sur une période prolongée, le protocole ntp a été conçu pour cela. L'horloge de votre appareil fonctionnera un peu vite ou lentement en fonction de la chaleur ou de la fraîcheur, même si elle a probablement une horloge contrôlée par cristal - et le chronométrage continu est censé s'adapter à cela.
Voici quelques suggestions si vous avez besoin d'un chronométrage continu et souhaitez réduire la bande passante utilisée. Ils font référence aux éléments de ntp.conf.
N'utilisez pas iburst. (Mais il faudra plus de temps pour régler l'heure initialement).
Augmentez minpoll vers le haut à partir de 6 (2 ^ 6 secondes est 64 secondes). Cela réduit le trafic lorsque le protocole démarre après le démarrage du réseau.
Augmentez maxpoll vers le haut à partir de 10 (2 ^ 10 secondes est 1024 secondes ou environ toutes les 17 minutes. Vous pouvez aller jusqu'à 17 pour interroger toutes les 36 heures environ. Je n'ai pas essayé cela moi-même.
N'utilisez qu'un nombre minimum de serveurs, si vous en aviez un qui peut être atteint de manière fiable à partir de vos appareils intégrés, cela aurait été formidable. Plus il y a de serveurs, plus le chronométrage peut être fiable, mais le trafic augmente, c'est donc un compromis.
Si je me souviens bien, l'intervalle d'interrogation ntp peut être réglé au maximum sur 1024 secondes. La solution la plus simple serait peut-être d'exécuter ntpdate à chaque démarrage et plus tard de temps en temps à partir de crontab.
Si votre horloge démarre avec une heure aléatoire à chaque démarrage, vous ne pourrez probablement pas exécuter ntpd de toute façon et vous devrez d'abord utiliser ntpdate. Ntpd refuse de synchroniser l'heure si la différence est trop grande entre votre horloge et celle des serveurs.
la source
ntpd
qui se chargera de ce cas d' utilisation mieux quecron
peut eecis.udel.edu/~mills/ntp/html/ntpdate.htmlNTP, comme TCP, a une certaine théorie profonde et expérience pratique intégrée au protocole; si vous modifiez ses paramètres fondamentaux, il cesse d'avoir les propriétés de synchronisation pour lesquelles il a été conçu.
Si votre appareil est connecté sporadiquement, peut-être que le bon vieux RDATE vous servira le mieux. Il ne gère pas l'horloge, ni la moyenne des pairs, ni ne peut être protégé contre divers hacks subtils qu'un homme du milieu pourrait jouer si cela en valait la peine. Il obtient simplement une date de référence à partir d'un serveur distant et claque l'horloge locale avec un marteau. Mais, il le fait quand vous le souhaitez, et son comportement est déterministe.
La précision du RDATE est bien pire que celle du NTP, je ne lui ferais pas confiance mieux que ± 1 seconde, mais si vous n'êtes attaché que sporadiquement, un timing plus précis n'est pas pertinent; en effet, selon la relativité, il pourrait même ne pas avoir de sens.
la source
Pour que le
minpool
/maxpool
soit pris en compte, vous devez ensuite l'ajouter par serveur dans votrentp.conf
.Il n'est pas tout à fait recommandé de jouer avec le démon NTP (il a une méthode intégrée pour optimiser la fréquence) mais vous devrez ajouter ces options comme ceci:
Ici, si vous définissez la fréquence minimale sur 2 ^ 12 secondes et la valeur maximale sur 2 ^ 17 secondes.
Par défaut, j'ai découvert que le NTP ferait une demande toutes les minutes environ. C'est beaucoup trop. Ici, j'ai réduit la fréquence d'une fois par heure à une fois par jour (grossièrement).
la source