Résumé

  • RFC 9713 ajoute au registre IANA des types d’enregistrements administratifs une colonne de version et oblige un élément BPv7 à ne retenir que les valeurs marquées 7.
  • Les valeurs 64384–64511 sont réservées à l’expérimentation BPv7 et 64512–65535 à l’usage privé ; elles évitent une attribution publique concurrente, pas des significations privées incompatibles.
  • La preuve exploitable sépare allocation, version, spécification référencée, capacité du logiciel, convention locale, réception, décision de politique, action et résultat observé.

Le même nombre, deux colonnes

Imaginons un opérateur qui lit « 2 — Custody signal » dans un ancien tableau et transmet la valeur à un agent BPv7. Le nom existe bien dans l’histoire du protocole, mais la nouvelle colonne dit 6, pas 7. La donnée de registre est correcte ; son application à la version courante ne l’est pas.

RFC 7116 avait créé le registre pour BPv6 autour d’un code sur quatre bits. RFC 9171 a ensuite défini l’enregistrement administratif BPv7 comme un tableau CBOR à deux éléments : un entier non signé puis un contenu propre au type. La spécification citait le registre sans rendre explicite l’appartenance de chaque ligne à une version.

RFC 9713 ajoute donc la dimension manquante. Un élément administratif BPv7 doit chercher la présence du chiffre 7 dans la colonne Bundle Protocol Version. La surface commune n’est plus « un nombre », mais « un nombre dans une version ».

La référence conserve le sens

Le RFC refuse expressément de définir l’interopérabilité BPv6/BPv7 pour un code commun ou d’affirmer que les deux versions l’interprètent de la même façon. Chaque spécification de type doit décrire sa relation avec chaque version.

Le registre vivant le montre. La valeur 1 renvoie aux spécifications des rapports d’état. Depuis RFC 9713, les valeurs BPv7 13, 14 et 255 ont aussi été inscrites. Pour 255, le registre dit « ACME Node ID Validation » ; RFC 9891 définit les objets, jetons, structures CBOR et contrôles. La ligne indique où chercher. Elle ne contient pas elle-même la grammaire complète.

Un dossier d’exploitation doit donc conserver l’instantané IANA, la cellule de version et la révision exacte de la référence. Sans ce triplet, « enregistré » peut masquer un parseur ancien ou une sémantique empruntée à une autre version.

Une plage privée n’est pas un dictionnaire mondial

RFC 9713 réserve 64384–64511 à Experimental Use et 64512–65535 à Private Use pour BPv7. IANA ne placera pas une nouvelle attribution publique dans ces plages. C’est la garantie.

RFC 8126 en fixe aussi la limite : les usages privés sont définis localement, IANA n’enregistre pas leurs affectations et plusieurs sites peuvent employer la même valeur de manière incompatible. L’espace expérimental n’est pas non plus conçu pour l’interopérabilité générale.

Deux entreprises peuvent donc choisir 65000 tout en respectant le registre, puis découvrir lors d’une fusion ou d’une interconnexion qu’elles ont attribué deux sens opposés. Le registre a évité une collision centrale ; il n’a pas négocié leur accord. Il faut un document extérieur qui nomme le propriétaire de la convention, sa portée, sa version, sa date de retrait et son comportement de repli.

Le Bundle livré peut contenir un record ignoré

RFC 9713 impose d’ignorer une ADU mal formée ou un type que l’élément ne sait pas traiter. Mais cette décision ne retire pas le fait que le Bundle enveloppe a été livré à l’élément administratif, ni les traitements connexes du BPA.

Cette séparation protège deux vérités à la fois. Le transport peut avoir réussi tandis que le traitement applicatif échoue. Et le transport réussi ne prouve ni compréhension ni action.

Une chronologie sérieuse enregistre séparément : livraison de l’enveloppe, reconnaissance du record administratif, extraction du code, validation de la version, résolution de la référence et de la convention privée, parsing, contrôle d’origine et d’intégrité lorsqu’il existe, autorisation locale, tentative d’action, changement d’état et effet observé. Toute étape ultérieure peut manquer alors que la première reste vraie.

La coordination s’arrête à la revendication inscrite

RFC 9713 ne change pas la procédure Specification Required et ne crée aucune nouvelle structure de sécurité. Les considérations de RFC 9171 continuent de s’appliquer. Le document rend une table partagée plus précise ; il n’authentifie pas l’émetteur, ne certifie pas un parseur et ne donne pas à un record le droit de modifier un système.

Les essais Running-Code Primacy, Minimum Initial Specification et Reality Layers de Heng Lu servent ici de grille éditoriale déclarée : un registre commun doit rester étroit et vérifiable, tandis que l’adoption et l’exécution restent locales. Ils ne décrivent pas l’intention normative de l’IETF.

Sources