Cómo funciona un servidor NTP
publicado por Richard N Williams on 30th enero, 2008
Network Time Protocol (NTP) es uno de los protocolos más antiguos de Internet que aún se utiliza. Inventado por el Dr. David Mills de la Universidad de Delaware, se ha utilizado desde 1985. NTP está diseñado para sincronizar los relojes en computadoras y redes a través de Internet o redes de área local (LAN).
NTP (actualmente la versión 4) es en realidad tres cosas en una; un programa de software que se ejecuta en segundo plano de Windows o UNIX; un protocolo que intercambia valores de tiempo entre servidores y clientes; y un conjunto de algoritmos que procesa los valores de tiempo para avanzar o retroceder el reloj del sistema.
NTP usa un algoritmo (algoritmo de Marzullo) para sincronizar el tiempo en una red usando una referencia de tiempo. Aunque las redes se pueden sincronizar con relojes internos o referencias de temporización basadas en Internet, Microsoft y otros recomiendan encarecidamente que se utilice una referencia de temporización externa para garantizar la autenticación. Una referencia de temporización absoluta debe usar UTC (Coordinated Universal Time o Temps Universel Coordonné) que admite características tales como segundos intercalares - agregado para compensar la ralentización de la rotación de la Tierra.
NTP funciona dentro del conjunto de protocolos TCP / IP y UDP se basa en, una forma menos compleja de NTP existe llamado Protocolo simple de tiempo de red (SNTP) que no requiere el almacenamiento de información acerca de las comunicaciones anteriores, necesarios por NTP. Se utiliza en algunos dispositivos y aplicaciones donde la alta precisión de tiempo no es tan importante, que también está incluido en la mayoría de los sistemas operativos Windows pero las versiones más recientes tienen la plena NTP ya instalado, que también se puede descargar a través de Internet de forma gratuita.
Sincronización con NTP es relativamente simple, se sincroniza el tiempo con referencia a una fuente de reloj fiable como un reloj atómico, aunque estos son muy caros y son por lo general sólo se encuentran en los laboratorios de física a gran escala, sin embargo NTP puede utilizar el posicionamiento global (GPS) o red de transmisión de radio especialista para recibir la hora UTC de estos relojes.
NTP utiliza marcas de tiempo para representar la hora actual del día de cada marca de tiempo es efímero, en otras palabras, siempre es mayor que la marca de tiempo anterior como el tiempo no corre hacia atrás. NTP analiza los valores de fecha y hora, incluyendo la frecuencia de errores y la estabilidad. Un servidor NTP mantendrá una estimación de la calidad de sus relojes de referencia y de sí mismo.
La distancia desde el reloj de referencia se conoce como los niveles de estrato y que existe para evitar ciclos en el NTP. Stratum 0 son dispositivos tales como relojes de referencia conectados directamente a un ordenador. Estrato 1 son ordenadores conectados al estrato dispositivos 0, mientras que el estrato 2 son ordenadores que envían solicitudes NTP a los servidores de estrato 1. NTP puede soportar hasta 256 estratos.
NTP de tiempo están en dos formatos, sino que retransmiten los segundos desde un punto de ajuste en el tiempo (conocido como la época privilegiada, fijado en 00: 00 1 enero 1900) El algoritmo NTP utiliza esta marca de tiempo para determinar la cantidad para avanzar o retroceder el sistema o reloj de la red.
El programa NTP (conocido como daemon en UNIX y un servicio en Windows) se ejecuta en el fondo del sistema. NTP se niega a creer el momento en que se lo informa hasta que se hayan realizado varios intercambios de paquetes, cada uno pasando una serie de pruebas. Solo si las respuestas de un servidor satisfacen la prueba, conocidas como especificaciones de protocolo, se considera el servidor. Por lo general, toma unos cinco minutos (cinco buenas muestras) hasta que se acepta un servidor NTP como fuente de sincronización.
Un servidor de tiempo de GPS típico puede proporcionar información de tiempo dentro de unos pocos nanosegundos de UTC siempre que haya una antena situada 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.