Introducción a Network Time Protocol
publicado por Stuart on 8th septiembre, 2008
(Network Time ProtocolNTP) es uno de los protocolos más antiguos de Internet aún en uso. 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 locales o más amplias (LAN / WANS).
En una economía mundial moderna, la sincronización del tiempo es esencial para llevar a cabo transacciones sensibles al tiempo, como reservar un boleto de avión para hacer una oferta en un sitio de subastas en Internet. Si los relojes no se sincronizaron al mismo tiempo, es posible que su asiento de avión se venda después de haberlo comprado y que los administradores de Ebay no puedan descubrir cuál fue la última oferta.
NTP es un sistema de niveles múltiples, cada nivel se denomina estrato. Los servidores en cada nivel se comunican entre sí (pares) y brindan tiempo para reducir los estratos. Los servidores en el estrato superior, el estrato 1 se conectan a un reloj atómico a través de Internet o mediante un receptor de radio o GPS, mientras que un servidor 2 de estrato se conectará a un estrato 1.
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 .
Servidores de tiempo NTP trabajar dentro del paquete TCP / IP y confiar en UDP (User Datagram Protocol). 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).
El programa NTP (conocido como un daemon en UNIX y un servicio en Windows) se ejecuta en segundo plano y se niega a creer la hora en que se lo informa hasta que se hayan realizado varios intercambios, cada uno pasando un conjunto de pruebas. Si las respuestas de un servidor satisfacen estas 'especificaciones de protocolo', el servidor es aceptado. Por lo general, toma alrededor de cinco buenas muestras (cinco minutos) hasta que se acepta un servidor NTP como fuente de sincronización.
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.
Existe una versión simplificada de NTP llamada Simple Network Time Protocol (SNTP) que no requiere el almacenamiento de información sobre comunicaciones previas como lo requiere NTP. Se usa en algunos dispositivos y aplicaciones en los que el tiempo de alta precisión no es tan importante y está instalado en versiones anteriores de Microsoft Windows. Windows desde 2000 ha incluido el Servicio de hora de Windows (w32time.exe) que usa SNTP para sincronizar el reloj de la computadora. NTP también está disponible en UNIX y LINUX (descarga a través de NTP.org).