Resumen
- RFC 3395 normalizó verbos de aplicación dentro de los identificadores RMON, aunque clasificar una respuesta podía exigir recordar la petición anterior y seguir una transacción a través de varios paquetes.
- El modelo contaba cada paquete una sola vez y bajo una hoja completa. Si contenía varios verbos, el agente debía escoger uno mediante una política que el RFC dejó deliberadamente en manos de la implementación.
Un contador no suele mostrar sus dudas. Presenta una cifra, quizá una etiqueta como GET, y deja que el lector imagine que ambas estaban escritas en el paquete. RFC 3395 documentó una realidad menos cómoda y mucho más útil: a veces la cifra solo existe después de que una máquina conserva estado, espera pruebas posteriores y resuelve una ambigüedad.
El RFC apareció en septiembre de 2002 como documento de la vía de estándares y actualizó la referencia de identificadores de protocolo de RFC 2895. RMON podía clasificar tráfico por protocolos, pero conocer el volumen de SNMP, HTTP o FTP no distinguía operaciones con perfiles muy distintos. La extensión introdujo una forma común de registrar transacciones de aplicación. No añadió un módulo MIB ni creó nuevas operaciones de gestión.
El directorio describía la encapsulación por capas. Cada capa sumaba cuatro octetos a protocolDirID y uno a protocolDirParameters; la secuencia completa llevaba hasta una hoja concreta. El verbo pasó a ser otra capa. Su codificación ocupaba cuatro octetos: primero un cero reservado y después una enumeración sin signo de 24 bits en orden de red.
Los números explícitos podían ir de 1 a 16 777 215, debían ser únicos dentro del protocolo padre y convenía asignarlos de forma densa. El byte adicional de parámetros era cero, no porque faltara información, sino para mantener la estructura uniforme. Para estos identificadores, la configuración del mapa de direcciones no estaba soportada; las capacidades de seguimiento por host y matriz podían declararse de manera independiente.
La posición cero tenía una semántica previa. Todo protocolo de aplicación recibía de forma implícita connect(0) para el establecimiento y cierre de sesión que no correspondieran a otro verbo. Ningún registro podía reutilizar ese número. Sin embargo, la palabra no estaba prohibida: el ejemplo de HTTP daba a CONNECT explícito la forma connect(8). Leer solo el nombre y omitir padre y enumeración destruía parte de la identidad.
La macro VERB-IDENTIFIER vinculaba el protocolo padre, una descripción obligatoria, una referencia recomendable cuando existía una autoridad y la lista de nombres y valores. Los nombres distinguían mayúsculas de minúsculas y debían ser únicos dentro del padre. La normalización resolvía cómo compartir el vocabulario; no resolvía toda la observación necesaria para aplicarlo.
El ejemplo decisivo era SNMP. Una Response PDU no informa por sí sola si contesta a Get o a GetNext. La sonda tiene que recordar la petición anterior en el sentido contrario y correlacionarla. Por eso las respuestas y los informes no se registraban como verbos autónomos en el ejemplo: quedaban bajo la transacción solicitada. El contador dependía de una conversación, no de una instantánea.
TCP complicaba el cuadro de otra forma. Una operación podía quedar repartida entre varios segmentos. El analizador necesitaba seguir el flujo y reconstruir suficientes bytes. Si además una regla de captura dependía del verbo, la certeza podía llegar después de los primeros paquetes relevantes. Solo un prebúfer permitía recuperar ese comienzo; de lo contrario, la captura específica nacía incompleta.
En este diseño, «verbo» no equivalía obligatoriamente a una orden, un código de operación o un tipo de PDU. Una transacción podía agrupar varios mensajes y hasta varias entradas del directorio. FTP lo mostraba con claridad: el canal de control y la conexión de datos podían formar parte de una misma acción que interesaba medir.
La salida, pese a todo, debía ser única. Las reglas RMON exigían contar cada paquete una vez bajo una encapsulación hoja completa y aumentar el contador con el tamaño total del paquete. No era posible repartir sus bytes entre tantos verbos como aparecieran en él. Si había más de uno, el agente tenía que elegir.
El RFC propuso ideas sin convertirlas en ley: escoger el primero, el más repetido, el que ocupara más octetos o el más interesante según el conocimiento del protocolo. Cada criterio privilegia una interpretación distinta. Por ello, dos implementaciones conformes pueden recibir la misma traza y producir porcentajes diferentes.
Los registros de ejemplo para FTP, POP3, SNMP, HTTP y SMTP ayudaban a la interoperabilidad, pero no elevaban el contador a prueba de intención. GET no demuestra quién pidió algo, si tenía permiso, si la operación acabó bien ni si el contenido completo fue visible. Demuestra una atribución realizada por un agente bajo un conjunto concreto de límites.
La advertencia de seguridad era importante. La extensión no incorporaba operaciones MIB nuevas, pero una colección por verbos revelaba qué acciones de aplicación se practicaban en la red. Esa información podía necesitar protección adicional. La mayor resolución del observatorio también aumentaba la resolución de la exposición.
RFC 4502 acabaría sustituyendo a RFC 2021 como especificación de RMON-2. Esa evolución no acredita despliegue universal de RFC 3395 ni comportamientos idénticos bajo pérdida, cifrado o agotamiento de estado. Una referencia normativa ofrece una hipótesis verificable; el producto en ejecución debe aportar el hecho.
La especificación inicial mínima de Lu Heng permite entender por qué el texto no escogió una política universal. Fijó la sintaxis común, el padre, el cero implícito, las capacidades y el deber de producir una hoja. Dejó los búferes, tiempos, reconstrucción y preferencias donde podían adaptarse a cada protocolo sin congelar una heurística prematura.
La primacía del código en ejecución exige conservar con la cifra la versión de la sonda, los decodificadores, los límites de estado, las pérdidas y el criterio de selección. Una etiqueta común sin esa procedencia facilita comparar nombres, no necesariamente mediciones.
La lección histórica de RFC 3395 cabe en la distancia entre ver y clasificar. La red entregaba paquetes; la sonda construía transacciones. Cuando el contador decía GET, también estaba diciendo —aunque el panel lo ocultara— «esto es lo que mi memoria y mi política eligieron contar».
Fuentes
- RFC 3395
- Registro del RFC Editor
- Registro en IETF Datatracker
- Historial en IETF Datatracker
- Referencias en IETF Datatracker
- Erratas de RFC 3395
- RFC 2895
- RFC 2021
- RFC 4502
- RFC 1905
- RFC 2819
- RFC 959
- RFC 1939
- RFC 2616
- RFC 2821
- RFC 2119
- Lu Heng: primacía del código en ejecución
- Lu Heng: especificación inicial mínima
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
