Il était une époque fort lointaine où connaître l’heure exacte était aussi simple que de passer un coup de téléphone. L’horloge parlante, créée en France en 1933, permettait à chacun de connaître l’heure exacte. Un mécanisme étrange, relié à l’horloge la plus précise, donnait l’heure à qui le demandait. Si l’horloge évoluait pour devenir encore plus précise (horloge atomique au césium), le service restait le même.
À ma grande surprise, le 3669 est encore actif de nos jours. Il semble être encore bien utilisé malgré un coût élevé de 1,35 € par appel et 0,34 € la minute. Remarque, l’appel à l’horloge parlante ne dure jamais plus d’une minute. Sinon, pour moins cher, il suffisait d’écouter la radio pour connaître l’heure exacte. S’il est bien ennuyeux d’attendre une heure pour régler sa montre, les radios d’informations se révélaient précises.
Pourtant, cela fait bien longtemps que l’on ne règle plus date et l’heure sur les ordinateurs, les téléphones portables et les tablettes. Et pourtant, ils sont toujours à l’heure, même lors des changements d’heure. Magie ? Sorcellerie ? Science ? En fait, la question du temps tient une place importante du moment que deux ordinateurs peuvent communiquer entre eux. Un protocole a donc été mis en place pour partager cette même information.
Ce protocole se nomme NTP. Non, il ne s’agit pas d’un nouveau groupe de rap mais de l’acronyme pour Network Time Protocol, en français Protocole de Temps via le Réseau. Tout équipement informatique à une horloge interne qui lui permet de synchroniser chaque élément qui le constitue. En fait, il y a plusieurs quartz, mais l’idée est qu’un ordinateur peut mesurer le temps de manière relative.
Pour le mesurer de manière absolue, il faut lui donner une référence, de préférence commune aux autres équipements, comme lorsqu’on règle une horloge. L’ordinateur stockera alors cette donnée dans un registre et la mettra à jour chaque seconde. Le registre en question fait 32 bits. 2^32, un ordinateur peut donc stocker 4,295 milliards de secondes. Pour tout équipement informatique qui doit indiquer ou enregistrer l’heure, la référence est au 1er janvier 1900.
Ce pourrait être suffisant, mais en 2036, le stockage de l’heure sur 32 bits ne fonctionnera plus. De là à prédire la fin du monde, je vous laisse voir avec Paco Rabanne. Entre temps, je pense qu’on aura corrigé le tir. On sera passé à un registre plus grand (de 64 bits par exemple). C’est bien beau de savoir comment un ordinateur mesure le temps mais la question initiale est comment il se met à jour.
D’où ce fameux protocole : NTP. Un nœud ‘père’ indique l’heure à des nœuds ‘fils’ qui indiquent l’heure à leurs nœuds ‘fils’, … En principe, nos ordinateurs et smartphones se situent au 3ème ou au 4ème niveau. Le protocole autorise au maximum jusqu’à 16 nœuds pour s’assurer de la précision de l’information. De même, lorsqu’un équipement se synchronise sur l’horloge d’un autre, le coût (en seconde) de sa demande est estimé pour corriger le calcul.
Le premier nœud est relié directement à une horloge atomique. En moyenne, ces horloges se décalent d’une seconde tous les 160 millions d’années. Et comme chaque nœud corrige la donnée indiquée par le nœud parent lors d’une requête, l’écart entre deux équipements synchronisés par le NTP est infime. La correction porte sur le coût réseau (en secondes) d’une requête NTP.
Chaque équipement informatique connaît donc l’adresse d’un serveur NTP. Chaque jour, il l’interroge pour se recaler. Ensuite, en connaissant le jour et la position géographique, il se cale sur la bonne heure. Et Magie ! Lors des changements d’heure, il se met automatiquement à jour. Lorsque vous voyagez, votre téléphone se met à l’heure du pays de destination (si votre forfait téléphonique le permet).
Si vous voulez plus de détails sur ce protocole (structure des trames réseau, correction de la réponse, …) je vous renvoie aux RFC : RFC 1305 pour la version 3 et RFC 5905 pour la version 4.
De nos jours, connaître l’heure exacte ne nécessite donc même plus de passer un coup de fil. Il suffit juste de regarder son téléphone ou de le demander à son enceinte connectée. Je ne sais pas comment l’annoncer à Parker Lewis.