Català  

Servidor Reloj

De Guifi.net - Wiki Hispano

¿Qué es NTP?

Network Time Protocol (NTP) es un protocolo de sincronización de relojes sobre una red de datos de latencia variable y mediante la transmisión de paquetes.

El protocolo NTP usa el puerto 123 de UDP como capa de transporte y está diseñado especialmente para resistir los efectos de una latencia variable.

NTP usa el algorismo de Marzullo, a partir de la escala de tiempo UTC. NTPv4 puede mantener la sincronización hasta los centisegundos (1/100s), sobre la red publica de Internet, y puede tener una precisión de hasta 200 microsegundos (1/5000 s).

NTP es uno de los protocolos más antiguos de Internet que aún se mantienen operativos (desde antes de 1985). NTP se diseñó originariamente por Dave Mills, de la Universidad de Delaware, quien lidera aún el grupo de mantenimiento con distintos voluntarios.

El demonio NTP es un proceso de usuario que se ejecuta constantemente en una máquina que soporta el protocolo NTP. Para conseguir la máxima eficacia de este protocolo es importante tener el bucle de fase cerrado (en inglés, Phase-Locked Loop) del reloj NTP estándar implementado en el kernel del sistema operativo, en lugar de usar sólo los eventos del demonio NTP externo. Todas las versiones recientes de los sistemas GNU/Linux y Solaris lo traen implementado.

Las tramas de 64 bits que usa NTP están formadas por una parte de 32 bits que almacena los segundos y otra parte de 32 bits que almacena las fracciones de segundo. De esta forma, NTP tiene una escala de tiempo de 232 segundos (unos 136 años), con una resolución teórica de 2-32 segundos (0.233 nanosegundos).

Los detalles prácticos del protocolo NTP están explicados en: RFC 778, RFC 891, RFC 956, RFC 958, i RFC 1305. (NTP no se tiene que confundir con el protocolo daytime (RFC 867) ni con el protocolo Time (RFC 868).) La versión de NTP actual es la 4, aunque hasta el 2005, sólo se ha documentado hasta la versión 3 dentro de los RFC. El grupo de trabajo sobre NTP de la IETF tiene como objetivo estandarizar el trabajo de la comunidad NTP desde el RFC 1305.

Un protocolo más sencillo que NTP, que no necesita almacenar la información de anteriores comunicaciones es el Simple Network Time Protocol, o SNTP. Para más información, ver los RFC 1361, RFC 1769 y RFC 2030.

La página más importante de información relacionada con la implementación del protocolo NTP sobre distintas plataformas es NTP homepage. Existen otras empresas que ofrecen soluciones para servidores de tiempo, como ELPROMA, EndRun Technologies, Spectracom, Symmetricom, Meinberg y FEI-Zyfer.


Servidor de reloj

  • Instalamos el paquete Debian/Ubuntu
apt-get install ntp
  • Permitimos a las IPs de la red acceder al servidor:
echo "#guifi.net users" >> /etc/ntp.conf
echo "restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap" >> /etc/ntp.conf
  • Iniciamos el servidor y comprobamos que se ha sincronizado correctamente:
/etc/init.d/ntp start
ntpq -p
  • ¡Listo! Si en algún momento queremos usar el servicio desde otro equipo haremos:
ntpdate -u ip_del_servidor
  • Si no funciona simplemente tendremos que instalar el cliente NTP al PC cliente:
apt-get -f install ntpdate



Referencias

...partiendo de otras experiencias y manuales como:

Herramientas personales