Résumé

  • En 1985, trois documents distincts décrivaient l’heure en réseau : la RFC 958 présentait les messages NTP, la RFC 956 les algorithmes de sélection d’horloge, et la RFC 957 les expériences.
  • Les résultats dépendaient des liaisons et des conditions observées. Les quelques millisecondes annoncées exigeaient de nombreux échantillons ; elles ne garantissaient pas la précision de toutes les horloges d’Internet.

Face à la seconde intercalaire, une heure ne suffit pas

Le moment difficile n’était pas seulement de lire une heure, mais de savoir d’où venait son écart. Une seconde intercalaire annoncée, un signal radio de référence et un paquet ralenti sur une liaison partagée pouvaient tous influer sur l’observation. Les premiers documents NTP répartissent ces problèmes entre messages, algorithmes et mesures.

Publiée en septembre 1985, la RFC 958 définit la représentation et le format des messages NTP. Le paquet transporte davantage qu’une valeur horaire : il décrit l’horloge de référence, la précision locale, l’erreur estimée et la dérive. Quatre horodatages marquent le départ de la requête, son arrivée au serveur, le départ de la réponse et son retour au client. Ils permettent d’estimer le décalage et le délai aller-retour. Mais le protocole ne précise pas les algorithmes qui doivent choisir entre plusieurs horloges ou filtrer les observations ; il laisse cette question à des travaux ultérieurs.

Cette limite compte parce que les horloges réelles divergent pour de multiples raisons : matériel, logiciel, réception radio, délai réseau ou erreur d’exploitation. La RFC 956 traite la synchronisation comme une estimation statistique : comparer les observations, repérer les valeurs aberrantes et évaluer l’heure la plus crédible. Une seule mesure ne suffit pas à juger une horloge.

Les liaisons servaient aussi au trafic ordinaire

La RFC 957 apporte le pendant expérimental. Elle décrit la conception horaire de DCnet et des essais réunissant des hôtes, des références et plusieurs types de liaison. Certains tests portent sur des horloges synchronisées par des chemins qui transportaient également du trafic courant. Il s’agissait de mesurer l’effet du partage entre messages de temps et données, et pas seulement d’une conversation isolée en laboratoire.

Une série menée fin juin et début juillet 1985 associait six hôtes, trois horloges de référence et plusieurs liaisons. Le calendrier était volontaire : les essais coïncidaient avec une seconde intercalaire annoncée dans la diffusion de l’heure du National Bureau of Standards. Le dispositif examinait aussi si la fréquence du réseau électrique pouvait servir de référence, tout en distinguant son observation de son emploi pour corriger les horloges locales.

Le rapport ne transforme pas ces configurations en note universelle pour Internet. Les résultats varient selon les hôtes et les liaisons. Sa conclusion reste conditionnelle : sur les chemins ARPANET testés, une synchronisation de l’ordre de quelques millisecondes était possible avec un nombre suffisamment élevé d’échantillons. La RFC 956 décrit elle aussi des résultats de l’ordre de dix millisecondes dans ses essais et souligne le rôle du nombre de mesures. Ce sont des observations expérimentales, pas une promesse de service.

Trois documents, trois niveaux de preuve

Les documents répondent à des questions différentes. La RFC 958 décrit l’échange entre pairs ; la RFC 956 expose des méthodes pour interpréter des relevés bruités ; la RFC 957 rapporte le comportement d’une mise en œuvre et d’un dispositif d’essai précis. Les confondre ferait passer un format proposé pour un algorithme, ou une expérience pour la preuve d’un fonctionnement universel.

En 1988, la RFC 1059 décrit NTP comme une architecture, un protocole et un ensemble d’algorithmes, en précisant que la conception avait beaucoup évolué depuis la RFC 958. Cette consolidation ultérieure aide à voir ce que les textes de 1985 ne fixaient pas encore. Elle ne dit pas quand chaque système a adopté la version suivante.

L’accomplissement historique n’était donc pas une horloge parfaite, mais une chaîne de preuves : un message transportait des données temporelles, des algorithmes comparaient les références et traitaient les valeurs aberrantes, puis des essais mesuraient le résultat sur des chemins réels. Toute ancienne mesure de précision devrait conserver son chemin, sa référence, son nombre d’échantillons et ses conditions. « Un paquet indiquait l’heure » n’équivaut pas à « le réseau synchronisait ses horloges ».

Sources