El algoritmo de Cristian (introducido por Flaviu Cristian en 1989) [1] es un método de sincronización de reloj que se puede utilizar en muchos campos de la informática distributiva, pero se utiliza principalmente en intranets de baja latencia . Cristian observó que este algoritmo simple es probabilístico, ya que solo logra la sincronización si el tiempo de ida y vuelta (RTT) de la solicitud es corto en comparación con la precisión requerida. También sufre implementaciones que utilizan un solo servidor, lo que lo hace inadecuado para muchas aplicaciones distributivas donde la redundancia puede ser crucial.
Descripción
El algoritmo de Cristian trabaja entre un proceso P y un servidor de tiempo S conectado a una fuente de referencia de tiempo. En pocas palabras:
- P solicita el tiempo de S
- Después de recibir la solicitud de P, S prepara una respuesta y agrega la hora T de su propio reloj.
- P luego establece su tiempo en T + RTT / 2
Si el RTT se divide en partes iguales entre solicitud y respuesta, la sincronización está libre de errores. Pero debido a influencias impredecibles, esta suposición no suele ser cierta. Los RTT más largos indican una interferencia que generalmente es asimétrica. La compensación y la fluctuación de fase de la sincronización se minimizan, por tanto, seleccionando un RTT adecuado de un conjunto de muchos pares de solicitud / respuesta. La aceptación de un RTT en un momento determinado depende de la desviación del reloj y de las estadísticas del RTT. Estas cantidades se pueden medir en el curso de la sincronización, lo que optimiza el método por sí mismo.
Ver también
- Varianza de Allan
- Algoritmo de Berkeley
- Sincronización de reloj
- Protocolo diurno , protocolo de sincronización de hora más antiguo que utiliza el puerto 13 de TCP o UDP
- Marca de tiempo ICMP y Respuesta de marca de tiempo ICMP , protocolo de sincronización de tiempo más antiguo que usa ICMP
- Hora atómica internacional
- Grupo NTP , una colección de computadoras en todo el mundo que proporcionan una hora muy precisa a través del Protocolo de tiempo de red.
- Mal uso y abuso del servidor NTP
- ntpd , OpenNTPD y Ntpdate
- Protocolo de tiempo de precisión
- Sincronización
- Protocolo de hora , protocolo de sincronización de hora más antiguo mediante el puerto 37 de TCP o UDP
- Servidor de tiempo
Referencias
- ^ Cristian, Flaviu (1989), "Sincronización probabilística del reloj" (PDF) , Computación distribuida , Springer , 3 (3): 146-158, doi : 10.1007 / BF01784024