Introducción al Network Time Protocol (NTP)
publicado por Richard N Williams on 29th enero, 2008
Network Time Protocol (NTP) es uno de los protocolos más antiguos de Internet que aún se utiliza en la actualidad. Desarrollado por el Dr. David Mills de la Universidad de Delaware, ha estado en uso constante y se ha actualizado continuamente desde 1985. NTP es un protocolo diseñado para sincronizar los relojes en computadoras y redes a través de Internet o redes de área local (LAN).
NTP usa un algoritmo (algoritmo de Marzullo) para sincronizar el tiempo en una red usando escalas de tiempo como UTC (Coordinated Universal Time o Temps Universel Coordonné) y puede soportar características como segundos intercalares - agregado para compensar la desaceleración de la rotación de la Tierra.
NTP (la versión 4 es la última) puede mantener el tiempo en Internet público dentro de los 10 milisegundos (1 / 100th de un segundo) y puede funcionar aún mejor con LAN precisiones de 200 microsegundos (1 / 5000th de segundo) en condiciones ideales .
Los servidores de tiempo NTP funcionan dentro del paquete TCP / IP y dependen de UDP (Protocolo de datagramas de usuario). Una forma menos compleja de NTP llamada Simple Network Time Protocol (SNTP) que no requiere el almacenamiento de información sobre comunicaciones previas, necesaria para NTP, se usa en algunos dispositivos y aplicaciones donde el tiempo de alta precisión no es tan importante y también se incluye como estándar en el software de Windows (aunque las versiones más recientes de Microsoft Windows tienen instalado el NTP completo y el código fuente es gratuito y está disponible en Internet).
La sincronización de tiempo con NTP es relativamente simple, sincroniza el tiempo con referencia a una fuente confiable de reloj. Esta fuente podría ser relativa (el reloj interno de una computadora o la hora en un reloj de pulsera) o absoluta (una fuente de reloj UTC, como un reloj atómico, que es tan exacta como es humanamente posible).
Los relojes atómicos son los dispositivos de cronometraje más absolutos. Trabajan en el principio de que el átomo, cesio-133, tiene un número exacto de ciclos de radiación cada segundo (9,192,631,770). Esto ha demostrado ser tan precisa el Sistema Internacional de Unidades (SI) se ha definido la segunda como la duración de los ciclos de 9,192,631,770 de la radiación del átomo de cesio-133.
Sin embargo, los relojes atómicos son extremadamente caros y son por lo general sólo se encuentran en los laboratorios de física a gran escala. Sin embargo, NTP puede sincronizar las redes a un reloj atómico usando ya sea el sistema de posicionamiento global (GPS) o red de transmisión de radio especialista.
El más utilizado es el sistema GPS que consiste en un número de satélites que proporcionan información precisa de posicionamiento y localización. Cada satélite GPS sólo puede hacer esto mediante la utilización de un reloj atómico que a su vez puede ser puede ser utilizado como una referencia de temporización.
Un receptor GPS típico puede proporcionar información de temporización dentro de unos pocos nanosegundos de UTC, siempre y cuando no hay una antena situado, con una buena vista del cielo.
También hay varias transmisiones nacionales de radio de frecuencia y tiempo que se pueden usar para sincronizar un servidor NTP. En Gran Bretaña, la señal (llamada MSF) es transmitida por el Laboratorio Nacional de Física en Cumbria, que sirve como referencia de tiempo nacional del Reino Unido, también hay sistemas similares en Colorado, EE. UU. (WWVB) y en Frankfurt, Alemania (DCF-77). Estas señales proporcionan tiempo UTC para una precisión de 100 microsegundos, sin embargo, la señal de radio tiene un rango finito y es vulnerable a la interferencia.
La distancia desde el reloj de referencia se conoce como niveles de estrato y existen para evitar ciclos en el NTP y confirmar la precisión. Stratum 0 son dispositivos tales como relojes atómicos conectados directamente a una computadora. Stratum 1 son computadoras conectadas a dispositivos Stratum 0 (como a través de un receptor GPS), mientras que Stratum 2 son computadoras que envían solicitudes NTP a los servidores Stratum 1. NTP puede admitir hasta estratos 256.
Todas las versiones de Microsoft Windows desde 2000 incluyen el Servicio de hora de Windows (w32time.exe) que tiene la capacidad de sincronizar el reloj de la computadora con un servidor NTP. Cabe señalar que Microsoft recomienda que se utilicen referencias de tiempo externas en lugar de las basadas en Internet, ya que no se pueden autenticar. Existen servidores NTP especializados que pueden sincronizar el tiempo en las redes utilizando la señal de MSF (o equivalente) o GPS.