Protocole de temps réseau (NTP)
Qu’est-ce que le protocole NTP (Network Time Protocol) ?
NTP, ou « Network Time Protocol » (protocole de temps réseau), est un protocole utilisé pour synchroniser les horloges des appareils connectés à un réseau avec l’heure exacte. Il fonctionne au niveau de la couche application (couche 7) du modèle de référence OSI et est défini dans la « RFC 1305 » par l’Internet Engineering Task Force (IETF).
Lors de la synchronisation de l’heure à l’aide du protocole NTP, un client NTP envoie une requête à un serveur NTP. Le protocole de transport sous-jacent utilisé est UDP, et le port du serveur est le port UDP 123. Le serveur NTP renvoie le temps universel coordonné (UTC), une norme de temps fondée sur le temps atomique international, établi à l’aide d’horloges atomiques au césium. Il existe d’autres références temporelles mondiales, comme le GMT (heure moyenne de Greenwich), qui repose sur la vitesse de rotation de la Terre, mais l’UTC est la plus couramment utilisée. Comme des écarts peuvent exister entre l’UTC et l’UT1, des secondes intercalaires sont parfois ajoutées à l’UTC afin de mieux aligner l’heure sur la rotation de la Terre.
Les serveurs NTP sont organisés de manière hiérarchique sur Internet. Les serveurs NTP de niveau supérieur sont appelés « strate 1 », et la valeur numérique de la strate augmente à chaque niveau inférieur. Les serveurs NTP synchronisent leur horloge avec plusieurs serveurs de niveau supérieur. Les serveurs de strate 1 obtiennent l’heure exacte auprès de la « strate 0 », qui comprend des sources de temps précises telles que le GPS et les horloges atomiques. Les sources de temps de strate 0 offrent une précision inférieure à une microseconde (1/1 000 000 de seconde) et sont directement connectées aux serveurs de strate 1.
Comme le protocole NTP transmet des données temporelles sur les réseaux, il doit tenir compte des délais de communication en les mesurant et en les compensant. NTP calcule le temps de communication aller-retour et l’utilise pour corriger les délais réseau. Toutefois, cela suppose que les délais sont symétriques dans les deux sens. Si les délais diffèrent entre le trajet aller et le trajet retour, la moitié de cette différence contribue à la marge d’erreur.
