Aun cuando la Internet fue en su infancia no más que unos pocos ordenadores conectados entre sí, llegó a ser evidente la necesidad de sincronizar la hora. Los ordenadores son fácilmente confundidos en particular con el tiempo que pueden viajar solamente en una dirección.
Cuando una comunicación se envía de un ordenador y recibida parece haber llegado antes de que fuera enviada y esto puede causar problemas imprevistos.
Imagínese comprar un billete de avión sólo para aparecer en el aeropuerto y encontrar alguien que ha comprado su asiento después de que usted lo hiciera sólo porque lo reservó en una computadora ¡con un reloj más lento!
El Dr. David Mills de la Universidad de Delaware, se dio cuenta de la necesidad de una herramienta de sincronización y desarrolló el Protocolo de Tiempo de Redes - Network Time Protocol (NTP). Aunque no es el primer y único protocolo de sincronización de tiempo, es el mayormente utilizado y probablemente debe su éxito, al ahora Profesor Mills, y su dedicado equipo por su continuo desarrollo
Lo que comenzó como un protocolo que podía gestionar la sincronización a unos pocos milisegundos es ahora capaz de mantener los relojes del ordenador dentro de pocos nanosegundos el uno del otro (mili = 1/milésimo nano= 1/milmillonésimo).
NTP es jerárquico y está dividido en estratos. Una fuente de reloj se denomina Estrato 0, mientras que un servidor NTP es Estrato 1, los equipos y dispositivos que reciben la hora de un servidor Estrato 1 se convierten en el Estrato 2 y así sucesivamente.
Esta estructura jerárquica significa que decenas de miles de dispositivos pueden sincronizarse al mismo tiempo sin inundar al servidor NTP o ancho de banda de la red.
Los servidores NTP se basan en la utilización de un reloj de referencia. Mientras que este puede ser cualquier objeto, desde un reloj de pulsera hasta un reloj del sistema informático, no tendría sentido utilizar un reloj de referencia que no fuera exacto a sí mismo
La mayoría de redes que utilizan un servidor NTP utilizan una fuente de tiempo UTC. El UTC o Tiempo Universal Coordinado se basa en el tiempo informado por los increíblemente precisos y costosos relojes atómicos. Las señales de tiempo de un reloj atómico pueden ser recogidas, ya sea a través de Internet (aunque la precisión es variable y depende de la distancia), transmisiones de radio especiales emitidas en varios países (entre ellos los EE.UU., Reino Unido, Alemania, Francia y Japón) o a través del GPS americano (Sistema de Posicionamiento Global).
Los servidores NTP distribuyen esta fuente de tiempo Estrato 0 entre todos los dispositivos de la red que conecta con el servidor NTP. El NTP entonces avanzará o sostendrá el reloj del sistema para igualarlo con la referencia de la sincronización.
NTP además posee medidas de seguridad incorporadas denominadas autenticación. Se trata de un conjunto de claves codificadas que son utilizadas para identificar tanto el cliente como el servidor.
Desgraciadamente la autenticación no está disponible en referencias tiempo de Internet y que es la razón por la que tanto Microsoft y Novell sugieren que las fuentes des hardware sean utilizadas como referencia de la sincronización.
NTP se encuentra actualmente en la versión 4 con la versión 5 en fase de desarrollo y es fuente abierta y libremente disponible para su descarga a través de ntp.org