Minha experiência é com ntp em vez de openntpd.
Você deve saber que o protocolo NTP geralmente começa com o envio de pacotes a cada minuto (64 segundos), mas geralmente se instala enviando e recebendo um pacote a cada 17 minutos para cada servidor que você possui no seu arquivo /etc/ntp.conf. No entanto, interrupções na rede ou um relógio instável no seu dispositivo podem aumentar isso. Cada pacote tem uma carga útil de cerca de 68 bytes, portanto é provavelmente um pouco mais do que 100 bytes, em cada sentido, por pesquisa.
Rdate e ntpdate no momento da inicialização da rede são boas idéias para definir o horário. E se isso é tudo o que você precisa, deve funcionar bem para você.
Se você precisar manter o tempo sincronizado por um longo período, no entanto, o protocolo ntp foi projetado para fazer isso. O relógio no seu dispositivo funcionará um pouco rápido ou devagar, dependendo de como fica quente ou frio, mesmo que provavelmente tenha um relógio controlado por cristal - e a cronometragem em andamento deve se ajustar a isso.
Aqui estão algumas sugestões, se você precisar de cronometragem contínua e desejar reduzir a largura de banda usada. Eles se referem aos itens no ntp.conf.
Não use iburst. (Mas levará mais tempo para definir o horário inicialmente).
Aumente o minpoll para cima de 6 (2 ^ 6 segundos é 64 segundos). Isso reduz o tráfego quando o protocolo é iniciado depois que a rede é ativada.
Aumente o maxpoll de 10 para 10 (2 ^ 10 segundos é 1024 segundos ou a cada 17 minutos. Você pode ir até 17 para pesquisar a cada 36 horas. Eu não tentei isso sozinho.
Use apenas um número mínimo de servidores, se você tivesse um que possa ser alcançado de maneira confiável a partir de seus dispositivos incorporados, isso seria ótimo. Quanto mais servidores, mais confiável a cronometragem pode ser, mas o tráfego aumenta, por isso é uma troca.
Se bem me lembro, o intervalo de pesquisa ntp pode ser definido para no máximo 1024 segundos. Talvez a solução mais simples seja executar o ntpdate em cada inicialização e depois de vez em quando a partir do crontab.
Se o seu relógio iniciar com um tempo aleatório em cada inicialização, você provavelmente não poderá executar o ntpd de qualquer maneira e precisará usar o ntpdate primeiro. O Ntpd se recusa a sincronizar o horário se a diferença for muito grande entre o relógio e o relógio dos servidores.
fonte
ntpd
que lidar com este caso de uso melhor do quecron
lata eecis.udel.edu/~mills/ntp/html/ntpdate.htmlO NTP, como o TCP, possui alguma Teoria Profunda e Experiência Prática incorporada ao protocolo; se você alterar seus parâmetros fundamentais, ele deixará de ter as propriedades de sincronização para as quais foi projetado.
Se o seu dispositivo estiver conectado esporadicamente, talvez o bom e velho RDATE o atenda melhor. Ele não suporta o giro do relógio, nem a média dos pares, nem pode ser protegido contra vários ataques sutis que um homem do meio poderia jogar se valesse a pena. Ele apenas obtém uma data de referência de um servidor remoto e bate no relógio local com um martelo. Mas, faz quando você quer, e seu comportamento é determinístico.
A precisão do RDATE é muito pior do que o NTP oferece, eu não confiaria por mais de ± 1 segundo, mas se você estiver apenas esporadicamente conectado, um tempo mais preciso não será relevante; de fato, de acordo com a relatividade , pode até não ser significativo.
fonte
Para que o
minpool
/maxpool
seja levado em consideração, você deve adicionar por servidor no seuntp.conf
.Não é recomendável mexer com o deamon NTP (ele possui um mathod interno para otimizar a frequência), mas você precisará adicionar esta opção assim:
Aqui, se definir a frequência mínima para 2 ^ 12 segundos e o máximo para 2 ^ 17 segundos.
Por padrão, descobri que o NTP faria uma solicitação a cada minuto ou mais. Isso é demais. Aqui reduzi a frequência de uma vez por hora para uma vez por dia (bastante).
fonte