Résumé

  • Le 26 octobre à RIPE 93, Maria Matejka, responsable du développement de BIRD, a confronté NETCONF/XML, RESTCONF/JSON et CORECONF/CBOR.
  • Sa proposition sur le transcodage YANG montre une chaîne JSON "+3" susceptible de devenir un entier après passage par XML.

Au contrôle des passeports, deux caractères présentent le même visage et des papiers différents. +3 entre comme texte dans une requête JSON. Il ressort d'une passerelle XML et le destinataire peut le ranger parmi les nombres. La machine n'a perdu aucun caractère; elle a perdu la question à laquelle ces caractères répondaient.

À la réunion RIPE 93 du 26 octobre, Maria Matejka, qui dirige le développement de BIRD chez CZ.NIC, a passé en revue la ménagerie des interfaces de gestion réseau. Ses diapositives originales enchaînent NETCONF et XML, RESTCONF et JSON, puis CORECONF et CBOR. YANG décrit le modèle de données. Chaque encodage transporte ses valeurs à sa manière. Ajouter une porte à l'équipement donne du choix aux outils et du travail à celui qui garde les clés.

La proposition individuelle de Matejka, publiée en mars, rend le problème concret. Une feuille YANG accepte soit int32, soit string. La requête JSON "item": "+3" sélectionne la chaîne, conformément au codage de RFC 7951. L'écriture XML conserve +3 mais ne porte plus ce choix JSON. À l'autre bout, l'analyse d'une union peut sélectionner le membre numérique. L'identité de la valeur a changé sans bruit.

Le relais acquiert alors un pouvoir qu'une boîte de conversion laisse facilement dans l'ombre. La proposition demande de consulter le modèle YANG, de choisir la représentation de sortie selon le type, de valider et de vérifier qu'un aller-retour ne réinterprète pas la valeur. Elle prévoit aussi un avertissement et une annotation indiquant le type d'origine. Le registre de l'IETF classe aujourd'hui ce texte individuel de mars parmi les brouillons expirés. La conférence d'octobre remet le problème opérationnel sur la table.

Le cas dépasse les unions. RFC 7951 encode certains entiers en nombres JSON, mais int64, uint64 et decimal64 en chaînes JSON; CBOR dispose encore d'autres représentations compactes. Un intermédiaire qui ignore le schéma peut transformer une migration de format en choix tacite de politique. Le bouton « convertir » ne mérite pas une autorité sans témoin.

Les diapositives signalent que des pièces de CORECONF restent en chantier. Pour les chemins déjà en service, la vérification utile est simple à énoncer: envoyer les valeurs typées par chaque interface annoncée et comparer ce que l'équipement applique réellement. Le journal doit conserver les octets et la pièce d'identité du type.

Sources originales