Synchronisation de l'horloge - Clock synchronization

La synchronisation d'horloge est un sujet en informatique et en ingénierie qui vise à coordonner des horloges autrement indépendantes . Même lorsqu'elles sont initialement réglées avec précision, les horloges réelles différeront après un certain temps en raison de la dérive de l'horloge , causée par les horloges comptant le temps à des taux légèrement différents. Il existe plusieurs problèmes résultant des différences de fréquence d'horloge et plusieurs solutions, certaines étant plus appropriées que d'autres dans certains contextes.

Terminologie

Dans la communication série , la synchronisation d'horloge peut se référer à la récupération d'horloge qui réalise la synchronisation de fréquence, par opposition à la synchronisation de phase complète . Une telle synchronisation d'horloge est utilisée en synchronisation dans les télécommunications et la détection automatique de débit en bauds .

Le fonctionnement plésiochrone ou isochrone fait référence à un système avec une synchronisation de fréquence et des contraintes lâches sur la synchronisation de phase. Le fonctionnement synchrone implique une synchronisation plus étroite basée sur le temps peut-être en plus de la fréquence.

Problèmes

En raison des difficultés à gérer le temps à plus petite échelle, il existe des problèmes liés au décalage d'horloge qui deviennent plus complexes dans l' informatique distribuée dans laquelle plusieurs ordinateurs devront réaliser la même heure globale. Par exemple, dans les systèmes Unix , la commande make est utilisée pour compiler du code nouveau ou modifié et cherche à éviter de recompiler du code inchangé. La commande make utilise l'horloge de la machine sur laquelle elle s'exécute pour déterminer quels fichiers source doivent être recompilés. Si les sources résident sur un serveur de fichiers distinct et que les deux machines ont des horloges non synchronisées, le programme make peut ne pas produire les résultats corrects.

La synchronisation est requise pour une reproduction précise des médias diffusés en continu . La synchronisation de l'horloge est une composante importante des systèmes audio sur Ethernet .

Solutions

Dans un système avec un serveur central, la solution de synchronisation est triviale ; le serveur dictera l'heure du système. L'algorithme de Cristian et l' algorithme de Berkeley sont des solutions potentielles au problème de synchronisation d'horloge dans cet environnement.

En informatique distribuée, le problème devient plus complexe car un temps global n'est pas facilement connu. La solution de synchronisation d'horloge la plus utilisée sur Internet est le Network Time Protocol (NTP) qui est une architecture client-serveur en couches basée sur le passage de messages UDP ( User Datagram Protocol ). Les horodatages de Lamport et les horloges vectorielles sont des concepts de l' horloge logique en informatique distribuée.

Dans un réseau sans fil , le problème devient encore plus difficile en raison de la possibilité de collision des paquets de synchronisation sur le support sans fil et du taux de dérive plus élevé des horloges sur les appareils sans fil à faible coût.

Algorithme de Berkeley

L'algorithme de Berkeley convient aux systèmes où une horloge radio n'est pas présente, ce système n'a aucun moyen de s'assurer de l'heure réelle autrement qu'en maintenant une heure moyenne globale comme heure globale. Un serveur de temps récupère périodiquement l'heure de tous les clients de temps, fait la moyenne des résultats, puis rapporte aux clients l'ajustement qui doit être apporté à leurs horloges locales pour atteindre la moyenne. Cet algorithme met en évidence le fait que les horloges internes peuvent varier non seulement dans le temps qu'elles contiennent mais aussi dans la fréquence d'horloge .

Synchronisation mutuelle du réseau avec échantillonnage d'horloge

La synchronisation mutuelle de réseau à échantillonnage d'horloge (CS-MNS) convient aux applications distribuées et mobiles. Il s'est avéré évolutif sur les réseaux maillés qui incluent des nœuds non adjacents indirectement liés, et est compatible avec IEEE 802.11 et des normes similaires. Il peut être précis de l'ordre de quelques microsecondes, mais nécessite une connectivité sans fil physique directe avec un délai de liaison négligeable (inférieur à 1 microseconde) sur les liaisons entre nœuds adjacents, limitant la distance entre nœuds voisins à quelques centaines de mètres.

L'algorithme de Cristian

L'algorithme de Cristian repose sur l'existence d'un serveur de temps. Le serveur de temps maintient son horloge en utilisant une horloge radio ou une autre source de temps précise, puis tous les autres ordinateurs du système restent synchronisés avec lui. Un client de temps maintiendra son horloge en effectuant un appel de procédure au serveur de temps. Des variantes de cet algorithme permettent des calculs de temps plus précis en prenant en compte le temps de propagation radio du réseau .

Système de positionnement global

En plus de son utilisation dans la navigation, le système de positionnement global (GPS) peut également être utilisé pour la synchronisation de l'horloge. La précision des signaux horaires GPS est de ±10 nanosecondes.

Codes temporels du groupe d'instrumentation inter-gamme

Les codes temporels IRIG sont des formats standard pour le transfert d'informations de synchronisation. Les étalons de fréquence atomique et les récepteurs GPS conçus pour une synchronisation précise sont souvent équipés d'une sortie IRIG. Les normes ont été créées par le groupe de travail sur les télécommunications de l' Inter-Range Instrumentation Group (IRIG) de l'armée américaine , l'organisme de normalisation du Range Commanders Council. Les travaux sur ces normes ont commencé en octobre 1956 et les normes originales ont été acceptées en 1960.

Protocole de temps réseau

Network Time Protocol (NTP) est un protocole très robuste, largement déployé sur Internet. Bien testé au fil des ans, il est généralement considéré comme l'état de l'art en matière de protocoles de synchronisation temporelle distribués pour les réseaux peu fiables . Il peut réduire les décalages de synchronisation à des temps de l'ordre de quelques millisecondes sur l'Internet public, et à des niveaux inférieurs à la milliseconde sur les réseaux locaux .

Une version simplifiée du protocole NTP, Simple Network Time Protocol (SNTP), peut également être utilisée comme protocole de synchronisation primaire/secondaire sans état à un seul coup , mais ne possède pas les fonctionnalités sophistiquées de NTP, et a donc des performances et des niveaux de fiabilité bien inférieurs. .

Protocole de temps de précision

Precision Time Protocol (PTP) est un protocole maître/esclave permettant de fournir une heure très précise sur les réseaux locaux.

Synchronisation de diffusion de référence

L' algorithme de synchronisation de l'heure de diffusion de référence (RBS) est souvent utilisé dans les réseaux sans fil et les réseaux de capteurs. Dans ce schéma, un initiateur diffuse un message de référence pour inciter les récepteurs à régler leurs horloges.

Référence Synchronisation de l'infrastructure de diffusion

Le protocole Reference Broadcast Infrastructure Synchronization (RBIS) est un protocole de synchronisation maître/esclave, comme RBS, basé sur un paradigme de synchronisation récepteur/récepteur. Il est spécialement conçu pour être utilisé dans les réseaux sans fil IEEE 802.11 configurés en mode infrastructure (c'est-à-dire coordonnés par un point d'accès). Le protocole ne nécessite aucune modification du point d'accès.

Ethernet synchrone

L'Ethernet synchrone utilise Ethernet de manière synchrone, de sorte que lorsqu'il est combiné avec des protocoles de synchronisation tels que PTP dans le cas du projet White Rabbit , une précision de synchronisation inférieure à la nanoseconde est atteinte.

Réseaux ad hoc sans fil

La synchronisation est réalisée dans les réseaux ad hoc sans fil par l'envoi de messages de synchronisation d'une manière à sauts multiples et chaque nœud se synchronisant progressivement avec le nœud qui est l'expéditeur immédiat d'un message de synchronisation. Les exemples incluent le Flooding Time Synchronization Protocol (FTSP) et Harmonia, tous deux capables d'obtenir une synchronisation avec une précision de l'ordre de la microseconde.

Voir également

Les références

Liens externes