Economía digital | Artículos | 01 MAY 1998

¿Cuál es la hora exacta?

Nacho Palou.

Casi cualquiera que haga uso del correo electrónico se habrá encontrado más de una vez con que algunos mensajes entrantes desaparecen entre el correo antiguo cuando éste queda ordenado por fechas . Es un problema menor aunque relativamente habitual, que ocurre porque el ordenador del usuario que envió el mensaje no tiene correctamente ajustadas la fecha y la hora .

Los problemas de tiempo no se limitan a las fechas de los mensajes . Otros problemas con el mismo origen son fechas de creación de ficheros varios lustros atrás en el tiempo o procesos automáticos programados que ocurren en el momento más inesperado, por poner un par de ejemplos .

Con un sencillo programa cliente cualquier ordenador con acceso a Internet puede mantener siempre su reloj en la hora correcta haciendo uso del protocolo NTP ( Protocolo de Tiempo en Red ) , capaz de sincronizar automáticamente el reloj interno del ordenador con una precisión de unos pocos milisegundos respecto a los relojes atómicos que marcan la hora oficial que rige al mundo .

Para sincronizar los relojes el usuario debe conectar con un servidor NTP el cual proporcionará una serie de información con la que el ordenador cliente deberá calcular qué hora debe marcar el reloj local . La exactitud final de la operación depende en parte del ajuste del servidor y de la situación geográfica del usuario: cuanto más lejos esté del servidor NTP menos preciso será el ajuste, aunque en cantidades despreciables para alguien “normal”, del orden de unas pocas decenas de milisegundos .

¿ Cómo funciona ?

Los servidores NTP habitualmente están sincronizados según la hora UTC ( Universal Time Coordinated, Hora Universal Coordinada, determinada no por el movimiento de la Tierra sino por una serie de relojes atómicos repartidos por el planeta y conectados entre si precisamente por NTP ) bien con otros ordenadores o bien al estar conectados directamente por alguno de sus buses con algún dispositivo hardware que se la proporcione, como un reloj atómico .

Dependiendo de esto un servidor NTP tiene distintos niveles de precisión llamados stratum ( del latín; significa estrato o nivel ) . Por ejemplo, un servidor NTP conectado directamente a un reloj atómico será un servidor principal o de estratum 1; si a éste se conecta otro servidor vía NTP a través de una red y sincroniza su reloj con él se convertirá, automáticamente, en un servidor NTP de stratum 2 .

Los dispositivos hardware a los que habitualmente están conectados los servidores con el stratum más alto ( stratum 1 o servidores principales ) obtienen la hora directamente por dispositivos tales como radio relojes sintonizando la señal de alguna agencia oficial del gobierno, receptores de señales GPS ( Global Positioning System, Sistema de Posicionamiento Global, capaz de proporcionar la hora con una precisión inferior al microsegundo, especialmente si se trata de aparatos militares ) o relojes atómicos .

Una configuración NTP típica incluye servidores redundantes y otras medidas para asegurar un servicio fiable y de precisión, además de medidas de seguridad ( por ejemplo autenticación cifrada ) para proteger el sistema ante posibles ataques externos .

La subred de servidores NTP actualmente aglutina unos 50 ordenadores principales y decenas de servidores secundarios sincronizados directamente con la UTC a través de conexiones por radio, satélite o módem, y están repartidos por América del Norte, Europa y Asia . En total existen unos 100 . 000 ordenadores entre clientes y servidores haciendo uso del protocolo NTP a lo largo de Internet .

¿ Por qué sincronizar ?

Recientes proyectos de procesamiento distribuido están demostrando que es más cómodo, económico y eficaz hacer trabajar varios procesadores de consumo juntos que un procesador de gran potencia aislado .

Sin embargo, para ciertas tareas de procesamiento distribuido resulta fundamental que todos los sistemas implicados tengan sus relojes sincronizados, ya que el desafase en un ordenador convencional oscila entre los 0,1 y 10 segundos por día, lo que afortunadamente se puede corregir fácilmente sincronizando el reloj interno con una fuente externa .

Utilizando NTP no sólo se pueden sincronizar relojes con la hora oficial: también puede surgir la necesidad de que todos lo ordenadores de una red local lleven la misma hora para procesos científicos o de contabilidad, entre otras muchas aplicaciones .

Sincronizando

Para hacer uso del protocolo NTP es necesario una utilidad cliente . Por ejemplo, para Windows 95 y NT existe Netdate 3 . 14; para OS/2 NTPD 1 . 0, y en Macintosh se suelen utilizar Network Timer 2 o Vremya . Existen también clientes NTP para Windows 3 . 1x, NT, Unix, Linux o DOS .

Un vez tenga el programa adecuado ( habitualmente no ocupan más que unas pocas decenas de kilobytes ) tendrá que conectar con un servidor NTP público que le permita obtener la información necesaria . Algunos programas llevan configurado uno por defecto, pero otros no .

NTP hace un cálculo robusto de tres variables que son clave en la relación entre un servidor NTP y el cliente, como son el retardo o la demora de la red, la dispersión del tiempo durante el intercambio de paquetes ( la medida del error máximo de reloj entre los dos ordenadores ) y la corrección que debe aplicarse al reloj cliente para sincronizarlo .

Al conectar con el servidor, el ordenador sobre el que se ejecuta el cliente NTP envía información sobre su actual cálculo de la hora . Midiendo el tiempo que el paquete tarda en ir y volver es posible conocer el desfase que hay entre ambos relojes, cuyo valor se utiliza junto con la hora que devuelve el servidor NTP para calcular la hora local con la máxima precisión posible respecto a la distancia que

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios