En un sistema con un servidor central, la solución de sincronización es trivial; el servidor dictará la hora del sistema. El algoritmo de Cristian y el algoritmo de Berkeley son soluciones potenciales al problema de sincronización de reloj en este entorno.
En la computación distribuida, el problema adquiere más complejidad porque no se conoce fácilmente un tiempo global. La solución de sincronización de reloj más utilizada en Internet es el Protocolo de Tiempo de red (NTP), que es una arquitectura cliente-servidor en capas basada en la transmisión de mensajes de Protocolo de Datagramas de Usuario (UDP). Las marcas de tiempo de Lamport y los relojes vectoriales son conceptos del reloj lógico en la computación distribuida.
En una red inalámbrica, el problema se vuelve aún más desafiante debido a la posibilidad de colisión de los paquetes de sincronización en el medio inalámbrico y la mayor velocidad de deriva de los relojes en dispositivos inalámbricos de bajo costo.
- Berkeley algorithmEdit
- Sincronización de red mutua de muestreo de relojeditar
- El algoritmo de Cristianeditar
- Sistema de posicionamiento Globaleditar
- Códigos de tiempo de grupos de instrumentación de rango intercaladit
- Protocolo de tiempo de rededitar
- Protocolo de tiempo de precisióneditar
- Sincronización de transmisión de referenciaeditar
- Sincronización de Infraestructura de difusión de Referenciaeditar
- Synchronous EthernetEdit
- Redes inalámbricas ad hoceditar
Berkeley algorithmEdit
El algoritmo Berkeley es adecuado para sistemas donde un reloj de radio no está presente, este sistema no tiene forma de asegurarse del tiempo real que no sea manteniendo un tiempo promedio global como el tiempo global. Un servidor de tiempo obtendrá periódicamente el tiempo de todos los clientes de tiempo, promediará los resultados y luego informará a los clientes el ajuste que se debe hacer a sus relojes locales para alcanzar el promedio. Este algoritmo destaca el hecho de que los relojes internos pueden variar no solo en el tiempo que contienen, sino también en la velocidad del reloj.
Sincronización de red mutua de muestreo de relojeditar
La sincronización de red mutua de muestreo de reloj (CS-MNS) es adecuada para aplicaciones distribuidas y móviles. Se ha demostrado que es escalable a través de redes de malla que incluyen nodos no adyacentes vinculados indirectamente, y es compatible con IEEE 802.11 y estándares similares. Puede tener una precisión del orden de unos pocos microsegundos, pero requiere conectividad inalámbrica física directa con un retardo de enlace insignificante (menos de 1 microsegundo) en los enlaces entre nodos adyacentes, lo que limita la distancia entre nodos vecinos a unos pocos cientos de metros.
El algoritmo de Cristianeditar
El algoritmo de Cristian se basa en la existencia de un servidor de tiempo. El servidor de tiempo mantiene su reloj mediante el uso de un reloj de radio u otra fuente de tiempo precisa, luego todas las demás computadoras en el sistema permanecen sincronizadas con él. Un cliente de tiempo mantendrá su reloj haciendo una llamada de procedimiento al servidor de tiempo. Las variaciones de este algoritmo hacen cálculos de tiempo más precisos al tener en cuenta el tiempo de propagación de la radio de red.
Sistema de posicionamiento Globaleditar
Además de su uso en navegación, el Sistema de Posicionamiento Global (GPS) también se puede usar para la sincronización de relojes. La precisión de las señales de tiempo GPS es de ±10 nanosegundos.
Códigos de tiempo de grupos de instrumentación de rango intercaladit
Los códigos de tiempo IRIG son formatos estándar para transferir información de tiempo. Los estándares de frecuencia atómica y los receptores GPS diseñados para la sincronización de precisión a menudo están equipados con una salida IRIG. Las normas fueron creadas por el Grupo de Trabajo de Telecomunicaciones del Grupo de Instrumentación de Rango Intermedio del ejército de los Estados Unidos (IRIG), el órgano de normas del Consejo de Comandantes de Rango. El trabajo en estas normas comenzó en octubre de 1956, y las normas originales fueron aceptadas en 1960.
Protocolo de tiempo de rededitar
El Protocolo de tiempo de red (NTP) es un protocolo altamente robusto, ampliamente implementado en Internet. Bien probado a lo largo de los años, generalmente se considera el estado de la técnica en protocolos de sincronización de tiempo distribuido para redes no confiables. Puede reducir los desplazamientos de sincronización a tiempos del orden de unos pocos milisegundos a través de Internet pública y a niveles de menos de milisegundos a través de redes de área local.
Una versión simplificada del protocolo NTP, Simple Network Time Protocol (SNTP), también se puede usar como un protocolo de sincronización primario/secundario sin estado de un solo disparo, pero carece de las características sofisticadas de NTP, y por lo tanto tiene niveles de rendimiento y confiabilidad mucho más bajos.
Protocolo de tiempo de precisióneditar
El Protocolo de tiempo de precisión (PTP) es un protocolo maestro/esclavo para la entrega de tiempo de alta precisión a través de redes de área local.
Sincronización de transmisión de referenciaeditar
El algoritmo de Sincronización de Tiempo de Transmisión de Referencia (RBS) se usa a menudo en redes inalámbricas y redes de sensores. En este esquema, un iniciador emite un mensaje de referencia para instar a los receptores a ajustar sus relojes.
Sincronización de Infraestructura de difusión de Referenciaeditar
El protocolo de Sincronización de Infraestructura de Difusión de Referencia (RBIS) es un protocolo de sincronización maestro/esclavo, como RBS, basado en un paradigma de sincronización receptor/receptor. Está diseñado específicamente para ser utilizado en redes inalámbricas IEEE 802.11 configuradas en modo de infraestructura (es decir, coordinadas por un punto de acceso). El protocolo no requiere ninguna modificación del punto de acceso.
Synchronous EthernetEdit
Synchronous Ethernet utiliza Ethernet de manera sincrónica, de modo que cuando se combina con protocolos de sincronización como PTP en el caso del proyecto White Rabbit, se logra una precisión de sincronización de sub-nanosegundos.
Redes inalámbricas ad hoceditar
La sincronización se logra en redes inalámbricas ad hoc mediante el envío de mensajes de sincronización de múltiples saltos y cada nodo se sincroniza progresivamente con el nodo que es el remitente inmediato de un mensaje de sincronización. Los ejemplos incluyen el Protocolo de Sincronización de Tiempo de Inundación (FTSP) y Harmonia, ambos capaces de lograr la sincronización con precisión del orden de microsegundos.