Resumen

  • RFC 9565 vincula tcpControlBits al registro oficial de banderas de cabecera TCP de IANA y exige exportar como se observen tanto los bits asignados como los no asignados.
  • Cada uno de sus bits responde a una pregunta estrecha: si apareció al menos una vez en algún paquete del Flow. No conserva orden, sentido, cantidad ni combinación por paquete.
  • Antes de convertir el valor en una decisión hay que conservar ancho, Template, época del exportador, dirección y límites de observación, y añadir evidencia cronológica cuando la conclusión la requiera.

En un panel de seguridad aparece un flujo con SYN, ACK y RST. La tentación es cerrar el caso: hubo intento de conexión, respuesta y rechazo. Sin embargo, el registro puede haber agregado un SYN retransmitido en un sentido, miles de ACK en el otro y un RST observado después de que una temporización dividiera la conversación. También puede representar un único sentido. El panel tiene tres banderas; no tiene los acontecimientos que las relacionan.

RFC 9565 no promete esos acontecimientos. Su objetivo es más preciso y necesario. Actualiza la definición del elemento de información 6 de IPFIX para que las posiciones de control sigan al registro IANA de TCP Header Flags, en vez de depender de una tabla estática incrustada en una RFC. Mantiene el tipo unsigned16 con semántica de banderas y ordena transmitir los bits asignados o no asignados tal como los vea el proceso de medición.

Así, una extensión futura o un uso inesperado no desaparece porque el colector emplee un vocabulario antiguo. Pero lo observado continúa siendo una reducción.

Muchas trayectorias caben en el mismo valor

La operación de agregación equivale a un OR sobre los paquetes asociados al Flow. Si cualquier paquete tiene un bit, el resultado lo tiene. Al terminar, ya no se sabe qué paquete aportó cada posición. Tampoco cuántas veces ocurrió, si dos posiciones coexistieron, qué extremo las emitió ni qué relación temporal tuvieron.

Por eso SYN más ACK no es una prueba del three-way handshake. FIN más ACK no demuestra un cierre ordenado. RST no indica por sí solo quién abortó ni en qué punto. Incluso la ausencia de una bandera sólo habla dentro de la capacidad y duración de aquella medición. IPFIX define Flows según claves, puntos de observación y políticas de expiración; TCP mantiene su propia máquina de estados en los extremos. Confundir ambos planos permite que un resumen de tráfico suplante al sistema que pretende describir.

La diferencia no es académica. Una regla de detección puede usar el bitmap para seleccionar candidatos y buscar luego evidencia más rica. El error comienza cuando el candidato se convierte en veredicto automático de éxito, intención maliciosa o incumplimiento.

El Template fija cuánto pudo decir el campo

Cada Data Record se interpreta mediante un Template que identifica elementos y longitudes. RFC 9565 permite codificar tcpControlBits en tamaño reducido. Si ocupa un octeto, representa únicamente las posiciones 8 a 15 y no formula afirmación alguna sobre las posiciones 4 a 7. Esa forma es la adecuada para un proceso de medición que no pueda informar toda la extensión.

Un almacén que rellena el segundo octeto con ceros y descarta el Template cambia la naturaleza de la prueba. “No medido” pasa a parecer “medido y ausente”. Para conservar la posibilidad de auditoría hacen falta el ancho original, el identificador y secuencia del Template, el Observation Domain, la versión del exportador y la época en la que estuvo vigente.

Las posiciones 0 a 3 tampoco son banderas disponibles: coinciden con la zona de Data Offset. Deben ignorarse o ponerse a cero en este elemento; la longitud de cabecera se informa mediante tcpHeaderLength. Un analizador que etiqueta las dieciséis posiciones sin esa distinción produce datos ordenados y semántica falsa.

El registro evoluciona; las instalaciones no lo hacen a la vez

RFC 9293 refleja las asignaciones habituales, mientras RFC 8311 cambió el tratamiento de una posición relacionada anteriormente con NS. La historia de RFC 7125 también importa: definiciones antiguas obligaban a poner a cero posiciones que la revisión actual quiere preservar como observación. De ahí que el cero sea ambiguo entre ausencia real, limitación de ancho, regla heredada o hueco de captura.

El caso inverso es igualmente peligroso. Un colector desactualizado puede llamar “reservado” a un bit que IANA ya ha asignado. RFC 9565 da prioridad a conservarlo, no a borrarlo para satisfacer la taxonomía local. La interpretación exige unir registro, fecha, software, Template y tráfico.

Este reparto encaja con las capas de realidad de Heng Lu. IANA gobierna el símbolo. La RFC gobierna el contrato de intercambio. El código en ejecución gobierna qué pudo observar y exportar. El paquete y los extremos producen la realidad operativa. El entero final no recibe autoridad para reconstruir las otras capas.