Résumé
draft-dikshit-netconf-yang-push-causal-ordering-00veut rendre comparables les notifications de plusieurs éditeurs au moyen d’une composante physique et d’une composante logique HLC. Le besoin existe: un compteur local ne compare pas deux origines.- La propriété démontrée par l’article fondateur va de la causalité vers l’ordre de l’horloge. Elle ne permet pas de conclure, parce qu’une valeur est plus petite, qu’un événement a causé l’autre. Deux éditeurs peuvent aussi émettre la même paire.
- Un ordre exploitable doit donc conserver identité, époque de processus, règle de départage, état des horloges, lacunes, dépendances explicites, périmètre d’observation, autorité de décision et résultat réseau observé.
L’égalité que le tableau ne montre pas
Le projet part d’une limite bien définie de YANG-Push version 2. Le numéro de séquence augmente chez un éditeur donné. Il aide le récepteur à repérer une perte, un retard ou un réordonnancement dans cette série. Le nombre 105 de l’éditeur A ne se compare pas au nombre 40 de l’éditeur B. Chaque processus possède son propre point de départ, son propre débit d’événements et son propre redémarrage.
L’horloge logique hybride semble offrir une sortie élégante. Chaque notification porterait un temps physique en millisecondes et un petit compteur logique. Le récepteur comparerait les deux valeurs dans l’ordre lexicographique. Une variation du compteur départage les événements qui partagent le même temps physique dans un processus, tandis que le temps rapproche le résultat d’une chronologie lisible.
Mais deux processus indépendants peuvent lire la même milliseconde et émettre chacun leur premier événement logique. Leur paire est alors identique. Les deux champs proposés ne suffisent pas à désigner un premier unique. Ce cas n’est pas un paradoxe de laboratoire: le changement d’échelle, les lots périodiques et les horloges arrondies rendent les égalités plausibles. Une promesse d’ordre total doit expliquer comment elle les traite.
Départager ne signifie pas découvrir une cause
Il existe une réparation simple pour le tri. Le système peut ajouter un identifiant stable d’éditeur, une époque de démarrage et, au besoin, un identifiant d’événement. Il compare d’abord la paire HLC, puis l’identité. Le résultat devient déterministe: les mêmes entrées produisent la même liste.
Cette réparation doit être nommée pour ce qu’elle est. Si A précède B parce que la chaîne représentant A est plus petite, cette priorité ne dit rien sur le monde observé. A n’a pas envoyé de message à B. B n’a pas lu l’état de A. Aucun calcul commun ne lie nécessairement leurs observations. Le départage fournit une convention de rangement, pas une arête dans un graphe causal.
La distinction est au cœur des horloges logiques. L’article HLC originel conserve une implication: si e est arrivé avant f au sens distribué — ordre local, envoi puis réception, ou transitivité — alors l’horloge de e est inférieure à celle de f. La réciproque n’est pas fournie. Deux événements concurrents peuvent recevoir des valeurs différentes à cause de leurs horloges physiques. Le plus petit nombre n’explique pas le plus grand.
Les horloges vectorielles offrent davantage d’information. Une comparaison composante par composante peut distinguer une précédence causale d’une concurrence. Leur coût grandit avec l’ensemble des participants. L’HLC choisit un autre compromis, constant et proche du temps physique. Le choix peut être excellent pour le transport de télémétrie; il devient dangereux seulement quand l’aval lui attribue la preuve abandonnée par ce compromis.
Identité et époque appartiennent à la preuve
Même un départage par éditeur demeure fragile si l’identité ne possède pas de cérémonie. Un nom d’hôte peut survivre au remplacement d’une machine. Une image clonée peut reproduire le même nom et un état d’horloge ancien. Un processus redémarré peut repartir avec un compteur logique remis à zéro. Une haute disponibilité mal documentée peut faire parler deux instances sous une seule identité.
Le récepteur doit donc savoir qui signe ou authentifie l’émission, quelle époque de processus est active, comment l’état HLC a été restauré, et si deux incarnations ont coexisté. Il doit conserver la règle de collision appliquée. Sinon, une série visuellement monotone peut réunir des producteurs différents, tandis qu’une régression apparente peut n’être qu’un changement d’époque légitime.
Le compteur YANG-Push local reste utile à côté de l’HLC. Il répond à la continuité de la source. L’HLC répond à un ordre compatible avec certaines dépendances et proche du temps. L’identité et l’époque répondent à la continuité du principal. Aucun champ ne remplace les autres. Leur fusion dans une «position globale» efface précisément les désaccords dont un auditeur a besoin.
L’avance de l’horloge ne crée pas une autorité
Le projet reconnaît qu’un éditeur peut annoncer une composante physique très en avance. Ses notifications se rangeraient alors tard dans la chronologie et pourraient déplacer fenêtres, agrégations ou choix du dernier événement. La proposition demande au récepteur de considérer suspecte une valeur qui dépasse son horloge de plus qu’un epsilon configuré.
Epsilon est une frontière opérationnelle, non un certificat. L’horloge du récepteur peut elle-même être fautive. Deux sites peuvent utiliser des sources de temps différentes. Une période de maintien sans synchronisation peut rester sous le seuil tout en dégradant l’ordre. À l’inverse, une correction légitime peut dépasser le seuil. RFC 5905 décrit le fonctionnement de NTP; RFC 9581 décrit des informations temporelles structurées. Ni l’un ni l’autre n’authentifie l’événement ni ne prouve sa cause.
Le traitement du suspect fait partie du résultat. Rejeter crée une lacune. Mettre en quarantaine retarde le calcul. Réécrire la valeur remplace une affirmation de l’éditeur par une décision du collecteur. Accepter peut contaminer un classement. Le reçu doit conserver valeur reçue, état de synchronisation, seuil, décision et valeur éventuellement dérivée.
Une liste ordonnée peut rester incomplète
L’ordre ne porte que sur les notifications disponibles. Un éditeur absent, un filtre NACM, une reconnexion, une notification fusionnée, un chemin non décodable ou une saturation du collecteur peuvent retirer des faits sans troubler la monotonie des autres séries. Le silence d’une source n’est pas une valeur négative. Une absence ne devient exploitable qu’après avoir prouvé que la source attendue était active, autorisée, comprise et observée pendant la fenêtre.
Deux notifications valides peuvent également décrire des instants différents d’un système en transition. L’une vient d’un processus d’interface; l’autre d’un processus de routage. Leur ordre HLC ne garantit pas qu’une combinaison de leurs valeurs ait existé dans le même datastore. Pour parler d’un instantané cohérent, il faut une barrière, une version transactionnelle ou une règle de lecture que les éditeurs partagent réellement.
Le dossier exploitable garde donc plusieurs temps: événement, observation, émission, réception et décision. Il garde le schéma et le content-id, le filtre de souscription, la visibilité d’accès, l’identité de l’éditeur, son époque, sa séquence, la paire HLC, les transformations et les lacunes. Une affirmation causale ajoute un message ou une dépendance métier. Une action ajoute l’autorité, la cible exacte, le résultat du protocole, la relecture de l’état appliqué et l’observation indépendante du service.
La portée exacte du projet
La révision 00 est un Internet-Draft individuel du 30 août 2026, à vocation informative, qui expire le 1er mars 2027. Le Datatracker précise qu’un tel document n’est pas approuvé par l’IETF et n’a pas de statut formel dans son processus de normalisation. Il ne prouve ni consensus NETCONF, ni mise en œuvre, ni interopérabilité, ni déploiement.
Son mérite est de rendre visible une difficulté que les agrégateurs rencontrent déjà: les compteurs locaux ne deviennent pas globaux par simple juxtaposition. La bonne lecture conserve ensuite la limite mathématique. L’HLC peut respecter une relation causale connue. Elle ne transforme pas toute comparaison numérique en relation causale, et le départage d’une égalité ne transforme pas une convention en fait du réseau.
Sources
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/history/
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/references/
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/referencedby/
- https://datatracker.ietf.org/doc/html/draft-dikshit-netconf-yang-push-causal-ordering-00
- https://www.ietf.org/archive/id/draft-dikshit-netconf-yang-push-causal-ordering-00.txt
- https://datatracker.ietf.org/doc/draft-dikshit-netconf-yang-push-causal-ordering/00/
- https://datatracker.ietf.org/doc/draft-ietf-netconf-yang-push-2/
- https://datatracker.ietf.org/doc/draft-ietf-netconf-distributed-notif/
- https://datatracker.ietf.org/doc/draft-ietf-netconf-notif-envelope/
- https://www.rfc-editor.org/rfc/rfc8641.html
- https://www.rfc-editor.org/rfc/rfc8639.html
- https://cse.buffalo.edu/tech-reports/2014-04.pdf
- https://www.rfc-editor.org/rfc/rfc5905.html
- https://www.rfc-editor.org/rfc/rfc9581.html
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
