Resumen

  • RFC 9710 cambia en el registro IPFIX de IANA el tipo abstracto de forwardingStatus de unsigned8 a unsigned32, aunque la versión actual debe exportarse en un octeto mediante codificación de tamaño reducido.
  • El Template activo declara la longitud que ocupa el campo en el Data Record; esa longitud no sustituye al tipo abstracto.
  • Actualizar la referencia normativa no actualiza un colector desplegado, no corrige por sí solo un archivo histórico ni prueba qué ocurrió con el paquete.

El máximo no es el tamaño de cada envío

El aparente conflicto está en el elemento 89. Sus dos bits superiores del octeto actual distinguen Unknown, Forwarded, Dropped y Consumed; los otros seis codifican una razón. RFC 7270 lo definió como unsigned32, pero durante años el registro mostró unsigned8. RFC 9710 corrige la tabla y, a la vez, ordena usar la forma reducida de un octeto para la versión existente.

El diseño conserva dos datos distintos. unsigned32 es el espacio máximo del modelo y permite que una versión futura asigne los bits superiores. La longitud del Field Specifier en el Template dice cuántos octetos envió realmente el Exporting Process. RFC 7011 permite eliminar ceros iniciales de enteros sin signo. Por eso un Template con longitud uno y un tipo abstracto de cuatro octetos pueden describir el mismo registro válido.

Un colector que ignore uno de esos datos falla de manera previsible. Si siempre reserva un byte, no podrá reconocer una extensión futura. Si siempre toma cuatro, desplazará los campos siguientes de un Data Record actual. El significado exige el identificador del Information Element, el Template correcto, su Observation Domain y la Transport Session correspondiente.

RFC 9710 describe además el registro como insumo operativo. Sus cambios buscan facilitar la extracción automática —pone como ejemplo un cron— que los colectores necesitan para admitir nuevos elementos e interpretar nuevos valores. Ese lenguaje convierte la descarga de IANA en una dependencia versionada: URL, momento de captura, hash, generador, artefacto compilado y despliegue deberían formar una cadena auditable.

Una etiqueta no es un recibo de entrega

El valor 0x40 significa Forwarded sin más detalle; 0x89, Dropped por bad TTL. El Errata 5262 verificado corrigió una explicación equivocada del segundo ejemplo. La exactitud de la tabla importa, pero su autoridad termina donde termina la observación del exportador.

forwardingStatus es una afirmación del Exporting Process sobre un Flow. No es una prueba firmada por el destino, una reconstrucción paquete por paquete ni una atribución causal definitiva. Un responsable puede necesitar el Template original, la configuración del exportador, contadores de interfaz, capturas o telemetría independiente y la política que autoriza una decisión. El salto de “el exportador dijo Dropped” a “el servicio falló por esta causa” no está codificado en esos ocho bits.

Tampoco se puede imponer la tabla nueva a un archivo viejo y asumir que la historia quedó arreglada. Los bytes no cambian; la interpretación segura depende del Template y del software de entonces. RFC 5610 mantiene aparte los type records en banda: están limitados a una sesión, no pueden reemplazar la definición interna del colector y no sustituyen la actualización del registro IANA.

Fuentes