Resumen

  • RFC 9890 reserva la unicidad para el nombre inicial de un módulo o submódulo YANG y exige que sus revisiones reutilicen ese nombre; las revisiones del módulo también mantienen el espacio de nombres XML inicial.
  • Esa pareja estable identifica una estirpe editorial, no bytes idénticos, la revisión implantada en un servidor, sus features, deviations, configuración aplicada ni resultado operativo.

La ventana de cambio terminó sin alertas. Antes y después aparecían las mismas dos cadenas: nombre del módulo y namespace. El sistema de gobierno tomó la coincidencia como prueba de que el esquema no había cambiado.

La coincidencia demostraba algo más limitado. Seguía siendo el mismo módulo. No decía qué revisión aportaba las definiciones, si el servidor la implementaba o solo la importaba, ni qué opciones y desviaciones alteraban el esquema efectivo. El identificador había sobrevivido porque la revisión debía conservarlo.

RFC 9890 corrige la guía original de RFC 6020. La frase anterior exigía unicidad para todos los nombres de módulos y submódulos del registro IANA y para todos los espacios de nombres XML. Leída literalmente, chocaba con la práctica: una revisión del mismo módulo necesita repetir el nombre para seguir siendo una revisión y no un módulo nuevo.

La norma nueva fija la frontera. Los nombres de las versiones iniciales deben ser únicos. El namespace XML del módulo inicial también. Después, cada revisión de módulo o submódulo conserva el nombre inicial y cada revisión de módulo conserva su namespace.

No es una licencia para que dos autores tomen la misma etiqueta. La primera asignación reserva una línea. Las revisiones reutilizan la clave porque pertenecen a ella. IANA mantiene juntas identidad y evolución sin fingir que el contenido quedó inmóvil.

El registro YANG Module Names lo muestra con claridad. ietf-yang-types tiene entradas asociadas a varios archivos fechados. La repetición del nombre no es corrupción del registro; es la estructura que permite localizar revisiones distintas dentro de la misma estirpe.

Cuatro campos, cuatro afirmaciones

El nombre identifica la línea del módulo. El espacio de nombres califica nodos en XML. La fecha de revisión distingue una versión declarada. Los bytes recuperados contienen las definiciones concretas. Ninguno sustituye a los otros.

Un control de cambios que solo compara nombre y namespace puede declarar igualdad donde existe evolución. Un control de duplicados que ignora revisiones puede rechazar una entrada válida. RFC 9890 resuelve la segunda confusión para IANA; los operadores deben resolver la primera en sus propios registros.

RFC 7950 añade un borde importante. Un import puede indicar revision-date. Sin esa selección, queda indefinido de qué revisión se toman las definiciones. Con prefijos diferentes incluso pueden importarse varias revisiones de un mismo módulo. Un manifiesto compuesto solo por nombres no reproduce el build.

La evidencia de fuente debe incluir fecha de revisión, URL, hash de bytes, módulo importador y restricción de versión. Si una herramienta resuelve una dependencia sin fijar, deben guardarse la versión del resolvedor, el conjunto disponible y el archivo elegido. Que una compilación posterior también termine bien no garantiza que haya usado el mismo significado.

Un registro público no observa la máquina

RFC 9890 modifica un procedimiento IANA y declara que no introduce una operación ni requisito nuevo de gestión. El registro prueba admisión y pertenencia a una línea. No puede observar qué router, controlador o servicio cargó el módulo.

RFC 8525 asigna esa función a YANG Library. Un servidor describe sus conjuntos de módulos, esquemas y datastores. Para cada módulo importan revisión, features, módulos de deviation y condición de implementado o import-only. La coincidencia con IANA permite enlazar fuentes; no demuestra por sí sola soporte.

El content-id representa la información actual de YANG Library en un servidor concreto y cambia cuando cambia esa información. No tiene que ser hash global ni producir el mismo valor para contenido igual. Es un marcador de fotografía local: permite unir una decisión con el inventario que la sustentó.

Un módulo implementado usa una revisión en los datastores de ese servidor, aunque varias revisiones puedan aparecer para imports. Por eso “presente” sigue siendo insuficiente. Puede significar implementado, dependencia o simplemente publicado.

Del esquema al efecto hay más fronteras

RFC 8342 define el esquema de datastore después de incorporar features y deviations. Dos dispositivos con la misma revisión pueden exponer esquemas efectivos distintos. La revisión exacta es necesaria, pero no completa la observación.

Después viene el estado. <running> puede sufrir transformaciones antes de <intended>. Intended expresa lo que el sistema intenta aplicar. Operational combina configuración aplicada y estado del sistema. Hardware, protocolos y tiempo de propagación pueden separar esos valores.

La escalera correcta conserva cada autoridad. IANA coordina la línea publicada. Revisión y hash describen la fuente. YANG Library declara la selección del servidor en una captura. Los datastores muestran intención y aplicación. La telemetría del servicio muestra el resultado.

Una entrada válida no es certificado de conformidad. Un inventario actual no prueba aplicación. Una coincidencia operacional no prueba el objetivo de negocio.

El primer nombre es una decisión duradera

RFC 9907 prohíbe reutilizar un nombre publicado incluso si el RFC pasa a Historic. Cambiar el nombre crea un módulo nuevo. Cuando cambia contenido publicado, se añade una revisión con fecha única y se conservan las revisiones anteriores.

La estabilidad reduce coste para imports, herramientas y documentación. También impide reciclar sin consecuencias un nombre mal elegido. La coordinación funciona porque la clave dura y el contenido evoluciona de manera explícita.

IANA custodia el registro. Los autores responden por la definición. Los implementadores eligen soporte. Los operadores autorizan despliegues y observan estado. Los dueños de automatización deciden qué recibo permite actuar. Un único indicador de “YANG compatible” borra esa distribución.

El nombre siguió igual porque la estirpe siguió. El módulo cambió porque las revisiones son su mecanismo de evolución. Un expediente responsable no sacrifica ninguna de las dos verdades.

Fuentes