5 points par GN⁺ 2023-10-06 | 1 commentaires | Partager sur WhatsApp
  • L’heure informatique commence généralement par NTP, mais derrière cela existe une longue chaîne d’approvisionnement qui remonte aux horloges de référence, au GPS, à l’Observatoire naval des États-Unis et aux standards internationaux du temps
  • Les serveurs NTP stratum 1 utilisent comme horloge de référence soit des signaux radio comme MSF ou DCF77, soit des récepteurs GPS, et dans la pratique le GPS est souvent la source la plus courante
  • En remontant la source du temps GPS, on arrive à la Schriever Space Force Base dans le Colorado, puis à l’US Naval Observatory Alternate Master Clock, et enfin à l’US Naval Observatory à Washington DC
  • L’UTC est le standard conçu pour faire coïncider le temps des horloges atomiques et la rotation de la Terre, tandis que le Bulletin C de l’IERS et la Circular T du BIPM gèrent les secondes intercalaires et les écarts par rapport à l’UTC officiel
  • La définition actuelle de la seconde, fondée sur le césium, provient du travail de calibration qui a relié, entre 1955 et 1958, l’horloge atomique de Louis Essen et Jack Parry, les observations astronomiques de William Markowitz et le signal horaire radio WWV

La hiérarchie du temps qui commence avec NTP

  • La réponse la plus courte à la question de savoir d’où un ordinateur tire l’heure est NTP
  • Mais un serveur NTP ne fabrique pas lui-même l’heure, et si l’on remonte à la source, plusieurs couches apparaissent
  • NTP distribue l’heure selon une structure en strates
    • Un serveur NTP stratum 3 reçoit l’heure d’un serveur NTP stratum 2
    • Un serveur NTP stratum 2 prend pour référence un serveur NTP stratum 1
    • Un serveur NTP stratum 1 récupère directement l’heure depuis une horloge de référence
  • Une horloge de référence peut être un signal radio comme le MSF britannique ou le DCF77 allemand, mais dans de nombreux cas il s’agit très probablement d’un récepteur GPS

Le temps GPS et l’Observatoire naval des États-Unis

  • En suivant la source du temps GPS, on arrive à la Schriever Space Force Base dans le Colorado
  • Schriever abrite plusieurs satellites top secret et des missions associées, ce qui rend difficile de s’en approcher pour prendre de bonnes photos
  • Sur place se trouve l’US Naval Observatory Alternate Master Clock
  • Cette horloge maîtresse de secours reçoit l’heure de l’US Naval Observatory à Washington DC

Les trois bases sur lesquelles l’USNO règle l’heure

  • Horloges atomiques

    • Le premier pilier de l’US Naval Observatory est constitué de nombreuses horloges atomiques
    • On y utilise des horloges à faisceau de césium montées en rack, des boîtiers noirs contenant des masers à hydrogène, ainsi que des rubidium fountains
    • L’USNO possède tellement d’horloges qu’un bâtiment entier leur est dédié
    • Une grande zone de travaux visible au centre du campus de l’USNO dans Apple Maps a été identifiée comme étant un nouveau bâtiment pour les horloges
    • La principale limite à la précision des horloges est la stabilité de l’environnement, notamment la température et l’humidité, et le nouveau bâtiment doit être équipé d’installations de climatisation très performantes
  • Informations sur la rotation de la Terre

    • Le deuxième pilier tient au fait que l’UTC est un compromis entre le temps des horloges atomiques et le temps de rotation de la Terre
    • L’USNO reçoit les informations correspondantes du service international de rotation de la Terre, l’IERS, basé à l’Observatoire de Paris
    • L’IERS publie deux fois par an le Bulletin C pour annoncer s’il y aura une seconde intercalaire six mois plus tard
    • Une seconde intercalaire peut être ajoutée ou retirée afin d’aligner l’UTC sur la rotation de la Terre
    • Le Bulletin A de l’IERS est une publication hebdomadaire contenant des informations précises sur les paramètres d’orientation de la Terre, et il est diffusé par l’US Naval Observatory
    • Pour que le GPS fournisse un positionnement précis, il faut connaître exactement l’orientation de la Terre sous les satellites
  • Vérification des horloges atomiques

    • Le troisième pilier est l’information qui permet de vérifier que les horloges atomiques de l’USNO fonctionnent correctement
    • Cette information provient du BIPM à Paris, qui maintient l’UTC de référence au niveau mondial

BIPM, UTC et seconde SI

  • Le BIPM agrège les mesures du temps provenant des laboratoires nationaux du temps du monde entier pour déterminer l’UTC officiel
  • La Circular T, publiée périodiquement, contient les écarts entre l’UTC officiel et l’UTC de chaque laboratoire national du temps
  • Le BIPM est également chargé du maintien du SI, le Système international d’unités
  • Le SI est défini par la CGPM, une organisation internationale fondée par la Convention du Mètre de 1875
  • L’UTC est une mise en œuvre de l’unité de temps du SI fondée sur une mesure quantique de l’atome de césium
  • Le chiffre d’environ 9,2 GHz présent dans la définition actuelle de la seconde vient de l’étalonnage des premières horloges atomiques au césium

Le lien entre horloge atomique au césium et seconde astronomique

  • En 1955, Louis Essen et Jack Parry ont construit la première horloge atomique au césium, et la définition actuelle de la seconde provient de l’étalonnage de cette horloge
  • Avant l’horloge atomique, la seconde était fondée sur l’astronomie, de sorte qu’Essen et Parry devaient déterminer à quelle vitesse leur horloge atomique « tic-tacquait » par rapport au standard temporel existant
  • Des astronomes de l’US Naval Observatory ont participé à ce travail de raccordement
    • William Markowitz mesurait le temps en observant le ciel
    • Louis Essen mesurait le temps en observant l’horloge atomique
    • Pour faire coïncider les deux mesures, tous deux écoutaient le signal horaire radio WWV diffusé par le National Bureau of Standards à Washington DC
    • Ce travail s’est déroulé pendant trois ans, de 1955 à 1958
  • Ce que mesurait Markowitz était l’ephemeris second
    • En 1952, l’Union astronomique internationale a modifié la définition du temps pour qu’elle repose non plus sur la rotation de la Terre, mais sur l’orbite de la Terre autour du Soleil
    • Dans les années 1930, on a découvert que la rotation de la Terre n’était pas parfaitement régulière et ralentissait ou accélérait légèrement
    • À mesure que les horloges devenaient plus précises que la rotation terrestre, l’ephemeris second est devenue un nouveau standard du temps plus précis
  • L’ephemeris second est fondée sur une éphéméride (ephemeris), c’est-à-dire un modèle mathématique du système solaire
    • L’éphéméride de référence a été élaborée par Simon Newcomb à la fin du XIXe siècle
    • Newcomb a rassemblé un vaste ensemble de données astronomiques historiques pour construire son modèle mathématique
    • Ce modèle est resté la référence jusqu’au milieu des années 1980
  • Simon Newcomb a lui aussi travaillé à l’US Naval Observatory et à l’US nautical almanac office
  • À une époque plus ancienne, on réglait plus directement les horloges en observant le passage des étoiles dans le ciel
  • La source du temps informatique n’est pas le Royal Greenwich Observatory

1 commentaires

 
GN⁺ 2023-10-06
Avis sur Hacker News
  • À propos de la synchronisation de l’heure, il existe aussi le NIST Randomness Beacon : https://csrc.nist.gov/projects/interoperable-randomness-beac...
    Ce prototype génère et publie toutes les 60 secondes une séquence complète de bits d’entropie sous forme de blocs de 512 bits ; chaque valeur est accompagnée d’un numéro de séquence, d’un horodatage et d’une signature, et inclut aussi le hachage de la valeur précédente afin d’enchaîner les valeurs.
    Quelqu’un a plaisanté en disant que c’était « mettre le temps sur la blockchain », mais en un sens le NIST fait déjà quelque chose de similaire.

    • Ce n’est pas une blockchain, c’est plutôt un Merkle DAG à auteur unique.
      Il n’y a pas besoin de consensus, et cela ressemble à un dépôt Git avec un seul auteur.
    • Je me demande à quoi cela peut servir concrètement.
      Je ne vois pas bien pourquoi publier sur une chaîne une longue chaîne aléatoire publique serait utile, à part pour prouver qu’un événement donné ne s’est pas produit avant un certain moment.
    • Je me suis toujours demandé pourquoi on n’utilisait pas ça comme racine d’un système d’aléa P2P.
      S’il existe une source de temps fiable, avec quelques clés qui ne changeront pas, et que n’importe qui peut la retransmettre, cela pourrait être assez utile.
      On pourrait même avoir des horloges sans configuration qui récupèrent l’heure depuis le téléphone ou l’ordinateur le plus proche, sans réglage manuel.
  • C’est étonnant de voir à quelle vitesse l’heure peut dériver quand on désactive la synchronisation automatique d’un ordinateur.
    Mon poste de bureau principal a actuellement 1,7 seconde d’avance, et il est possible que je n’aie pas mis l’horloge à jour depuis plusieurs semaines.
    Cela dit, ce n’est pas énorme ; d’autres systèmes peuvent se décaler bien davantage.
    Pourquoi ne pas le régler automatiquement avec NTP ? Parce qu’on peut vouloir observer la vitesse de dérive, réduire au maximum les services en cours d’exécution, éviter que le switch Ethernet devant soi ne clignote trop, ou se rappeler ce qui casse quand l’horloge est fortement décalée.
    Au final, la réponse est « parce que j’en ai envie », et les horloges internes ou les quartz de nombreux ordinateurs ne sont pas du tout précis.

    • L’erreur d’un quartz est généralement d’environ 20 ppm.
      Sur une semaine, avec 20 ppm, cela peut représenter environ 12 secondes d’écart.
      La carte mère contient probablement une pile CR2032 qui conserve l’heure même lorsque l’alimentation est coupée.
      Exemple de quartz : https://www.digikey.com/en/products/filter/crystals/171?s=N4...
    • Je ne peux pas trop entrer dans les détails, mais sur un certain produit IoT, si NTP échouait, tous les appareils prenaient lentement du retard.
      J’aimais bien cette conception, car lorsqu’on corrigeait NTP, l’heure sautait vers l’avant et créait un trou dans le temps perçu, au lieu de « vivre deux fois le même instant ».
      J’en avais donc conclu que, comme les compteurs de vitesse affichent volontairement une valeur un peu trop élevée, les quartz étaient eux aussi volontairement rendus un peu lents pour éviter que les ordinateurs ne glissent vers le futur.
    • Il y a environ 40 jours, en configurant un mini-PC comme serveur domestique, je ne savais pas que Fedora Server ne configurait pas la synchronisation NTP par défaut.
      En deux semaines, 30 secondes de dérive se sont accumulées, et Prometheus a émis une alerte, mais au début j’ai supposé à tort qu’elle venait du fait que j’avais tout installé sur un seul nœud.
      En consultant les métriques, j’ai vu que la dérive provoquait des erreurs ; j’ai alors comparé la sortie de date +'%s' sur le serveur et sur mon ordinateur portable, et l’écart dépassait largement 30 secondes.
    • D’après Wikipédia, la précision RTC typique d’un quartz est de ±100 à ±20 ppm, soit environ 8,6 à 1,7 seconde par jour.
      Les circuits RTC à compensation de température peuvent descendre sous les 5 ppm et, en pratique, être assez précis pour effectuer de la navigation astronomique, le travail traditionnel des chronomètres de marine.
      En 2011, des horloges atomiques à l’échelle d’une puce sont apparues ; elles sont beaucoup plus chères et consomment nettement plus, mais maintiennent l’heure à moins de 50 ppt près.
  • Commentaire intéressant, mais ce format est vraiment trop peu pratique pour transmettre l’information.
    Il aurait sans doute mieux valu supprimer les diapositives, réécrire le tout en paragraphes cohérents, puis réintégrer seulement les images essentielles comme supports.

    • Après une présentation hors ligne, il existe plusieurs niveaux de ce qu’on peut faire en ligne :
      annoncer que la présentation a eu lieu, mettre en ligne l’enregistrement vidéo, publier les diapositives en PDF ou autre sans explication, disposer les diapositives dans une page HTML en y ajoutant ce que l’intervenant aurait dit, et enfin tout réécrire sous forme d’article en paragraphes.
      Ici, les étapes 1 à 4 ont été faites ; se plaindre que la 5e ne l’ait pas été revient à demander un travail supplémentaire assez conséquent, donc c’est difficile de critiquer, et je suis déjà reconnaissant que la présentation ait été mise en ligne sous une forme lisible.
      Je suis d’accord pour dire que c’était difficile à lire sur mobile, surtout dans la première version, mais le format de « présentation annotée » n’est pas mauvais en soi.
      Il existe par exemple des cas comme https://idlewords.com/talks/ avec https://idlewords.com/talks/superintelligence.htm, https://noidea.dog/talks avec https://noidea.dog/impostor, ou https://simonwillison.net/tags/annotatedtalks/ avec https://simonwillison.net/2022/Nov/26/productivity/, et avec quelques ajustements CSS, par exemple en plaçant les images à droite, cela pourrait devenir plus lisible.
    • La disposition où l’image apparaît avant les phrases qu’il faut lire était particulièrement déroutante.
      C’est le genre de cas où, après « voici une illustration d’un paquet NTP », on voit apparaître la photo d’un homme assis à un bureau.
    • Il vaut bien mieux regarder la vidéo de la présentation : https://ripe86.ripe.net/archives/video/1126/
    • C’est la première fois que je voyais ce format, mais il ressemble assez bien au processus par lequel une personne curieuse descend dans le terrier du lapin d’un sujet donné.
      J’ai aimé.
    • C’était un texte amusant, qui se lit un peu comme un flux de conscience.
  • Il vaut aussi la peine de mentionner le NTP Pool, une ressource couramment utilisée par de nombreux appareils.
    C’est un groupe de serveurs NTP exploités par des bénévoles, et il est souvent choisi, en particulier par les appareils issus de l’écosystème open source.
    Microsoft, Apple et Google exploitent chacun leurs propres serveurs de temps, mais pour la plupart des autres cas, le NTP Pool est une excellente ressource : https://www.ntppool.org/en/

    • Je me souviens qu’à une époque, une version iOS boguée de Snapchat avait pratiquement infligé un DDoS au NTP Pool : https://community.ntppool.org/t/recent-ntp-pool-traffic-incr...
    • Pendant un temps, j’ai participé au pool avec une carte PCI à synchronisation GPS du RIPE NCC.
      C’était amusant, mais dans un environnement de salle machines, il était difficile de garder une antenne dôme connectée en permanence.
      Les câbles spéciaux étaient mal vus, et l’accès au toit posait des problèmes de sécurité et de fuites.
      Aujourd’hui, les horloges au rubidium sont aussi assez abordables.
      Je participe maintenant au projet de dérive/disponibilité GPS de Bert Hubert, qui mesure avec un Raspberry Pi la visibilité et la disponibilité du GPS depuis la fenêtre de mon bureau à domicile, et c’est beaucoup plus amusant.
  • Le moment où l’instrumentation ou la méthode de mesure devient plus précise, plus stable et plus fiable que l’étalon de référence est fascinant.
    Et quelqu’un, le plus souvent une personne seule, finit par le découvrir — ou, dans certains cas, par le rendre possible.
    La seconde des éphémérides reposait sur les éphémérides, un modèle mathématique du système solaire ; les éphémérides standard étaient un modèle créé à la fin des années 1800 par Simon Newcomb, à partir d’une énorme quantité de données astronomiques historiques, et elles sont restées la référence jusqu’au milieu des années 1980.
    En 1952, l’Union astronomique internationale a modifié la définition du temps pour la fonder non plus sur la rotation de la Terre, mais sur son orbite autour du Soleil, car on avait découvert dans les années 1930 que la rotation terrestre n’était pas parfaitement uniforme et qu’elle ralentissait ou accélérait légèrement.
    Les horloges étaient alors devenues plus précises que la rotation de la Terre, et la seconde des éphémérides est devenue le nouveau standard de temps plus précis.

    • Je me souviens avoir appris cela au lycée, mais je me demande quelle était concrètement la durée d’une seconde utilisée auparavant.
      Si elle était basée sur la rotation de la Terre, de quelles données se composait donc cette « énorme quantité de données astronomiques historiques » réunie par Newcomb ?
      Je me demande comment on pouvait capturer et conserver de manière fiable une durée de temps en se fondant uniquement sur la vitesse de rotation de la Terre, qui varie au fil du temps ; il s’agissait sans doute de données comparées à d’autres phénomènes naturels.
  • Pour ne pas dépendre excessivement de Big Time, il nous faudrait, à mon avis, une norme de suivi du temps maintenue par la communauté et démocratisée.

    • En fait, n’est-ce pas déjà plus ou moins le cas ?
      True Time™ est déterminé, en pratique, par la moyenne de dizaines d’horloges atomiques dans des laboratoires du monde entier ; difficile de faire plus proche d’un système « maintenu par la communauté » et « démocratisé ».
    • En lisant l’article et ce commentaire, je me demande quel serait l’impact d’une attaque organisée contre les mécanismes fondamentaux de conservation du temps.
      Il semble y avoir pas mal de redondance et de consensus, mais je serais curieux de savoir quels systèmes échoueraient, selon quel calendrier les problèmes apparaîtraient, et comment la reprise se ferait.
    • Avec un ciel nocturne dégagé et l’appareil photo d’un smartphone moderne, il doit être possible de calibrer une horloge.
      Une précision à la seconde ne paraît pas non plus absurde, même si le calibrage pourrait prendre un temps irréaliste.
  • La DARPA finance le programme Robust Optical Clock Network (ROCkN).
    Ce programme vise à créer des horloges atomiques optiques de faible taille, poids et consommation (SWaP), plus précises que les horloges atomiques GPS et offrant de meilleures performances de maintien, tout en étant utilisables hors laboratoire.
    La plupart des grands fournisseurs cloud récupèrent l’heure depuis le GPS, mais déploient aussi des équipements de classe Open Compute Time Card capables de conserver une heure précise même en l’absence de GPS.
    https://www.darpa.mil/news-events/2022-01-20

  • S’il vous reste un Raspberry Pi et que vous voulez exploiter vous-même un serveur NTP Stratum 1, cet article existe : https://austinsnerdythings.com/2021/04/19/microsecond-accura...

    • Pour un usage NTP, mieux vaut utiliser un Raspberry Pi 4 plutôt qu’une ancienne carte
      Sur les anciens modèles, le port Ethernet se trouve derrière un hub USB, ce qui introduit dans le réseau une gigue de timing des paquets de l’ordre de la milliseconde, et rend difficile l’obtention d’une précision NTP de l’ordre de la microseconde
      Pour pousser l’amusement plus loin, vous pouvez aussi le mettre dans une boîte isolée et lui appliquer une charge CPU pour le garder au chaud, afin de transformer le Raspberry Pi en une sorte d’oscillateur à quartz compensé en température par four : https://blog.ntpsec.org/2017/03/21/More_Heat.html
    • Si vous recevez l’heure directement du GPS, c’est un serveur Stratum 0
      Un serveur Stratum 1 désigne un serveur qui reçoit l’heure d’un serveur Stratum 0
  • La plupart des slides traitent de la physique de la mesure du temps, comme le GPS ou les horloges atomiques
    C’est intéressant en soi, mais pour comprendre comment mon ordinateur obtient l’heure actuelle, la question la plus pertinente est plutôt : « comment un ordinateur domestique mesure-t-il la latence des paquets envoyés par un serveur de temps distant ? »
    Des questions comme savoir s’il mesure la durée de plusieurs allers-retours pour en prendre la moyenne comme latence, ou ce qui se passe si une congestion apparaît soudainement pendant un aller-retour donné, me semblent plus mystérieuses que les questions physiques

  • Il faut faire attention à la source de temps que l’on utilise
    Il y a environ 10 à 15 ans, l’un de nos serveurs était configuré pour utiliser tick.usno.navy.mil et tock.usno.navy.mil, mais il y avait un « problème » avec l’heure diffusée par la Navy
    Du jour au lendemain, plusieurs serveurs de licences n’ont plus pu s’authentifier, et il est devenu impossible de se connecter au système
    Je savais que SSH exigeait aussi une heure exacte à quelques minutes près ; nous nous sommes connectés localement depuis un autre bureau dans le même bâtiment, avons constaté le décalage horaire, puis avons résolu le problème en changeant de serveur de temps et de méthode de synchronisation

    • Il me semble que certains souvenirs sont erronés
      SSH ne se soucie absolument pas de l’heure, sauf si vous utilisez des certificats SSH à très courte durée de vie