Résumé

  • Le projet rend transportables l’heure de génération, le nom d’hôte, un compteur 32 bits propre au processus éditeur et le sens de l’heure d’observation; chacun reste une assertion bornée par un schéma et un contexte d’exploitation.
  • Une décision automatisée exige encore huit reçus distincts: schéma, identité authentifiée, époque du processus, horloges, abonnement, identité du contenu, chaîne aval et résultat faisant autorité.

Le collecteur reçoit un objet impeccable. La racine s’appelle envelope. L’heure se parse, le nom correspond au routeur attendu, le numéro suit le précédent et la mise à jour placée dans contents se décode. La syntaxe n’a rien à reprocher. C’est précisément le moment où il faut réduire la portée de la conclusion.

La révision 05 du projet, datée du 18 mai 2026, corrige une faiblesse concrète. L’en-tête de RFC 5277 n’offre qu’un eventTime obligatoire et ne s’étend pas. Après transfert vers un intermédiaire ou une base de séries temporelles, le contexte du transport initial peut disparaître. Le texte propose donc une structure YANG commune, sérialisable en XML, JSON ou CBOR, qui voyage avec la charge utile.

Le Datatracker le présente comme un Internet-Draft actif du groupe NETCONF, destiné au statut Proposed Standard et en attente du feu vert de la présidence du groupe. Ce n’est pas un RFC. Il faut lire sa valeur comme une amélioration de la qualité des assertions, non comme une fusion de toutes les preuves.

Valider la forme ne valide pas le monde

Une fois activé, l’en-tête devient un conteneur racine envelope. event-time est obligatoire; hostname et sequence-number sont des extensions optionnelles; contents est un nœud anydata. RFC 8791 définit la structure abstraite, tandis que RFC 7951 et RFC 9254 encadrent JSON et CBOR.

Un validateur peut établir la conformité des nœuds, types, espaces de noms et encodages au jeu de schémas chargé. Il ne démontre pas que ce jeu est le bon, que l’anydata interne a été vérifié ni que ses valeurs sont exactes. Au 10 septembre 2026, la page Datatracker affiche quatre erreurs et deux avertissements YANG. L’historique contient aussi un constat plus ancien de vérifications yanglint et pyang sans erreur, en précisant que le contenu anydata n’entrait pas dans la validation des exemples. Dates et périmètres diffèrent; aucune de ces mentions n’est une preuve d’exécution.

Le reçu de schéma doit donc conserver révision du module, features, sérialisation, espaces de noms ou SID, version du validateur, schémas chargés et profondeur réelle de la validation.

Le nom d’hôte est une étiquette

Le projet décrit hostname comme le nom du nœud ayant publié le message et le tient pour unique dans le réseau. Sa description YANG ajoute qu’il est généralement configuré par l’administrateur. Dans un domaine de nommage maîtrisé, c’est un excellent pivot de corrélation. Cela ne lui confère aucune faculté d’authentification.

La section sécurité exige d’ailleurs un transport sûr et une authentification mutuelle pour NETCONF ou RESTCONF. Elle prévient aussi que le nom exposé peut aider à cartographier le réseau ou à injecter de fausses notifications. Recevoir edge-17.example sur un canal non authentifié prouve uniquement que quelqu’un a écrit cette chaîne.

Il faut lier le nom à l’homologue authentifié ou à une clé de signature, au certificat et à son époque, à l’équipement, au processus éditeur, à l’autorité de nommage et à l’autorisation de l’abonnement. RFC 8341 maintient en outre une frontière entre authentification et droit de lire ou d’émettre certains contenus.

Une séquence continue appartient à une époque

sequence-number est un counter32: départ à 1, incrément par notification publiée par le processus, retour à 0 après 4294967295. Dans une époque stable et observée, un trou ou une inversion révèle une discontinuité utile.

Mais le projet n’attribue pas d’identifiant durable à l’époque du processus et ne prescrit pas la persistance du compteur au redémarrage. Un récepteur arrivé au numéro 914 ignore ce qui s’est passé avant. Un processus remplacé peut repartir sous le même nom. Un relais peut perdre, dupliquer ou réordonner. Le compteur peut revenir naturellement à zéro. L’affirmation correcte n’est donc pas «rien n’a été perdu», mais «aucun trou n’a été observé dans la plage conservée, pour cette identité et cette époque déclarées».

Le reçu associe compteur, processus authentifié, démarrage, première valeur vue, décision de bouclage, début d’observation, relais et accusé de persistance aval.

Chaque temps répond à une question différente

event-time indique la génération de l’événement, expliquée ici comme le moment où le message YANG-Push est construit et envoyé. L’extension d’observation ajoute timestamp pour la mesure périodique ou la détection d’un changement, puis point-in-time distingue current-accounting, initial-state et state-changed.

Cette distinction évite une erreur de séries temporelles: une mesure juste avant la limite d’un intervalle et un envoi juste après ne doivent pas être confondus. Elle ne certifie cependant pas l’horloge. RFC 6991 définit le format date-and-time, y compris -00:00 pour un fuseau inconnu. Une valeur précise ne prouve ni synchronisation NTP/PTP, ni traçabilité UTC, ni borne d’erreur.

Heure d’observation, heure d’événement, anchor-time, réception et écriture en base doivent rester distinctes, accompagnées de la source d’horloge et de son incertitude.

Une capacité déclarée n’est pas un message constaté

RFC 9196 permet de publier des capacités à l’installation ou à l’exécution. La révision 05 y ajoute le support de l’enveloppe, du couple nom/séquence et de l’heure d’observation. Un client peut ainsi négocier sans deviner.

Une valeur vraie signifie «pris en charge». Elle ne prouve pas que l’interrupteur global est activé, que le champ optionnel figure dans cette instance, qu’il est correct ou que les intermédiaires le conservent. Support, configuration, émission et conservation sont quatre états.

L’interrupteur est global au serveur. Son changement termine tous les abonnements configurés et dynamiques, après émission de subscription-terminated avec l’ancien en-tête. Des formats anciens et nouveaux peuvent donc coexister dans le réseau. Un reçu de migration doit conserver transaction, abonnements terminés, compatibilité des récepteurs et nouvelles époques.

Le contenu reste conditionné par l’abonnement

RFC 8639 rattache la livraison aux filtres, récepteurs, permissions et événements de cycle de vie. RFC 8641 distingue abonnements périodiques et on-change, datastore, filtre, ancrage, temporisation et synchronisation. Une push-update est complète selon les termes de l’abonnement; une push-change-update peut condenser des changements intermédiaires pendant la temporisation.

L’enveloppe ne recopie pas ce contrat. L’identifiant d’abonnement permet une recherche, mais ne prouve pas que la version retrouvée est celle qui a gouverné la génération. Un filtre, une permission, un datastore ou un récepteur peut changer alors que nom et compteur restent continus. Il faut conserver une empreinte du contexte effectif et les notifications de cycle de vie.

RFC 8342 sépare état intended, running et operational. La fidélité à une vue de datastore ne démontre ni le comportement du plan de données, ni l’effet sur le service.

La chaîne aval réclame une identité de contenu

Le projet de base dit que contents transporte les valeurs sans modification, mais ne les signe pas. Un canal NETCONF ou RESTCONF sûr protège une association. Après décodage, réencodage, relais, agrégation ou stockage, cette assurance ne suit pas automatiquement les octets.

Le projet YANG provenance propose justement d’étendre l’enveloppe avec une signature COSE calculée sur contents. Son propre périmètre est instructif: la signature protège origine et intégrité au moment de signer; elle ne garantit ni fraîcheur, ni justesse des données d’un signataire légitime, ni absence de compromission, ni continuité des signatures entre intermédiaires, ni bonne association entre Key ID et source faisant autorité.

Le reçu de contenu conserve empreinte exacte, canonicalisation, sérialisation, signataire, politique de clé, résultat de vérification, élément de fraîcheur et chaque transformation. La véracité de l’observation reste un contrôle séparé.

Huit reçus, aucune certitude empruntée

Il faut huit reçus: schéma et périmètre de validation; identité authentifiée; continuité du processus; horloges et incertitude; abonnement et autorisation; identité du contenu et signature; transport et conservation aval; datastore faisant autorité et résultat indépendant.

L’enveloppe aide à les nommer et à les transporter. L’erreur serait de laisser le hostname emprunter l’authentification, le compteur emprunter un historique durable, l’horodatage emprunter la synchronisation, la capacité emprunter la présence effective ou des octets valides emprunter la vérité du réseau.

Dossier normatif complémentaire

L’historique Datatracker conserve la limite de version. La syntaxe temporelle vient de RFC 3339; l’ancien en-tête, de RFC 5277; le contexte de gestion sûre comprend RFC 6241 et RFC 8040; le langage de modèle est défini par RFC 7950; le cadre des plans de télémétrie par RFC 9232. Ces textes définissent des mécanismes, pas un résultat déployé.