Resumen

  • La opción Hello de RFC 5384 acredita que un vecino acepta el formato Encoded-Source de tipo 1, no que entienda todos los tipos de atributo contenidos en él.
  • Ante valores distintos del mismo tipo procedentes de varias adyacencias, la regla genérica escoge la dirección numéricamente menor, salvo que la especificación del atributo disponga otra cosa. El ganador es determinista, no necesariamente autorizado, correcto para el negocio ni eficaz en el plano de datos.

Un desempate que no conoce el propósito

El conflicto nace con mensajes válidos. Dos routers se unen al mismo árbol, identificado por fuente y grupo, y cada uno añade un atributo del mismo tipo con valor diferente. El router que los recibe debe mantener estado y, quizá, enviar un único conjunto hacia su vecino superior. No puede dejar la elección al azar ni alternar sin límite.

RFC 5384 ordena a los emisores. Gana el atributo de la adyacencia PIM cuya dirección IP sea numéricamente menor. En IPv6 se compara la dirección de enlace local; si dos vecinos usan la misma dirección, decide el índice de interfaz. Una especificación concreta puede sustituir esta regla por otra adaptada al significado del atributo.

La propiedad obtenida es convergencia. No hay en el algoritmo una evaluación de prioridad contractual, propietario del servicio, actualidad de la orden o calidad del camino. Un cambio de numeración puede alterar el ganador sin tocar ninguno de los valores en disputa.

Por eso el estado final no basta para una auditoría. Ver un único valor activo demuestra que el router aplicó algún procedimiento; no prueba que las partes estuvieran de acuerdo. La interfaz de operaciones que oculta las alternativas convierte una convención técnica en una falsa imagen de consenso.

Saber leer el formato no equivale a compartir su semántica

RFC 5384 reserva el tipo de codificación 1 para que una dirección fuente codificada pueda llevar atributos TLV asociados a un árbol. El tipo 1 debe contener al menos un atributo. Cuando no hay ninguno, se utiliza el tipo 0.

El router no debe enviar este formato por una interfaz si algún vecino PIM de esa interfaz no anunció la opción Join Attribute en sus Hello. No se limita al vecino superior: los demás necesitan analizar el paquete para participar en supresión o sustitución de Join.

Sin embargo, la opción solamente expresa disposición a recibir la envoltura. El propio RFC advierte que quien la anuncia no entiende necesariamente todos los tipos posibles. No existe una opción genérica por tipo porque el protocolo no tendría una reacción inmediata sencilla para cada ausencia.

Los contratos específicos lo confirman. RFC 6420 añade una opción MT-ID, reglas de validación y resolución propias. RFC 6807 define Population Count y otra señal de capacidad. RFC 7887 permite compartir una misma pareja atributo-valor en el nivel del mensaje, del grupo o de la fuente, pero declara que la codificación compacta no cambia el significado.

Una matriz de conformidad debe registrar por separado el soporte de tipo 1, cada atributo concreto, la versión, la interfaz y las políticas locales. La casilla «PIM Join Attributes» no tiene resolución suficiente para aprobar una puesta en producción.

Un router puede transportar lo que no entiende

El bit F distingue atributos transitivos y no transitivos. Si un router desconoce el tipo y F vale 1, debe reenviarlo. Si F vale 0, debe descartarlo. Los demás atributos continúan su recorrido; cuando no queda ninguno, se transmite un Join de tipo 0.

Que un valor aparezca más arriba en la red no significa que todos los saltos lo interpretaran. Puede haber cruzado un nodo que solo obedeció la instrucción de propagación. Es una prueba de custodia de bytes, no de acuerdo semántico.

Incluso ese nodo puede recibir dos conjuntos transitivos incompatibles del mismo tipo. Si no son idénticos byte a byte y no contienen el mismo número de instancias, aplica la regla genérica de conflicto. Así puede seleccionar un significado opaco mediante la dirección menor.

La documentación del incidente debe decir exactamente qué ocurrió: recepción, análisis de la envoltura, comprensión o desconocimiento del tipo, reenvío, descarte y selección. «Validado» solo es correcto cuando existe un control que realmente verificó el significado y la autoridad.

El estado tiene dueño de procedencia

Cuando un atributo influye en el árbol o en lo que se anuncia aguas arriba, RFC 5384 exige asociarlo a la adyacencia de la que llegó. El vínculo no es ornamentación. Permite retirar el estado cuando llega un Prune o expira el vecino adecuado.

El router puede conservar también las alternativas que perdieron. Si desaparece el proveedor ganador, la siguiente adyacencia en el orden puede aportar inmediatamente el nuevo valor. Esa memoria reduce el tiempo de convergencia.

No preserva necesariamente la política. El sustituto pudo estar suprimido durante horas y hacerse efectivo solo por una avería. El servicio puede seguir enviando tráfico mientras cambia la instrucción que gobierna su árbol. Un sistema que guarda solo la instantánea activa confundirá con un cambio intencional lo que fue una consecuencia del fallo.

El registro mínimo incluye todos los conjuntos por vecino, dirección e interfaz, regla aplicada, ganador, alternativas, evento de expiración y nuevo anuncio superior. Sin estos datos, el operador sabe cuál fue el resultado pero no puede explicar por qué cambió.

La actualización sustituye el conjunto completo

RFC 5384 no describe deltas. Un Join nuevo cuyo conjunto difiere del anterior reemplaza por completo el estado previo para esa adyacencia y árbol. Los atributos que ya no aparecen se consideran retirados. El conjunto vacío se expresa mediante tipo 0. Un Prune retira lo aportado por ese vecino.

Esto exige conservar instantáneas completas. Si antes llegaban A y B y ahora solo B, A ha desaparecido aunque no haya un TLV de borrado. Un recolector que acumule novedades dejará A como dato fantasma y reconstruirá una política que el protocolo ya retiró.

RFC 7887 amplía el alcance posible de una codificación a todo el mensaje o a un grupo. La eficiencia aumenta, y con ella la superficie de una equivocación amplia. El control de cambios debe comparar estado anterior y posterior en cada nivel, no solo contar TLV nuevos.

La autenticación identifica, pero no concede competencia

RFC 5384 condiciona la seguridad del atributo a la del paquete PIM y remite riesgos adicionales a cada tipo. RFC 5796 puede proteger origen e integridad de mensajes PIM de enlace local. Es una base necesaria para atribuir la petición.

Dos vecinos autenticados pueden seguir en desacuerdo. La firma o el código de autenticación demuestra qué principal envió los bytes, no qué equipo tiene derecho a cambiar la política del servicio. Tampoco convierte la dirección menor en una jerarquía empresarial.

La autorización necesita una tabla externa: responsables por servicio, rangos de fuente y grupo, tipos permitidos, valores, precedencias, excepciones y aprobación. Cuando la configuración local prevalece —como especifica RFC 6420 para MT-ID—, esa configuración y su historial forman parte del recibo de autoridad.

Controlar el árbol no demuestra el resultado

El atributo seleccionado puede cambiar una consulta RPF, un vecino superior u otra decisión de construcción. Aun así, sigue siendo evidencia del plano de control. No prueba la instalación final, el camino observado, la ausencia de duplicación, la legitimidad de receptores ni la recepción útil por la aplicación.

Hay que conservar una cadena: intención configurada; capacidades; Join exacto; interpretación; resolución del conflicto; Join superior; estado instalado; observación de paquetes; recepción y resultado. Ningún eslabón debe heredar la afirmación del anterior.

La cobertura existente de RFC 9798 se ocupa de Receiver RLOC, selección del grupo subyacente, replicación y pruebas de entrega. La de RFC 9739 se ocupa de PIM Light sin Hello, DR ni Assert. Este trabajo se limita al arbitraje de atributos de RFC 5384.

Una prueba que no borra al perdedor

Preparar dos adyacencias aguas abajo y un router aguas arriba. Confirmar la capacidad de tipo 1 de todos los vecinos. Elegir un atributo con especificación pública y capturar mensaje, árbol, dirección, interfaz y tiempo.

Inyectar dos valores del mismo tipo. Determinar si existe procedimiento específico; de no existir, comprobar la victoria de la dirección menor. Cambiar solo las direcciones y repetir. Expirar después la adyacencia ganadora y observar la activación de la alternativa. Sustituir A+B por B y verificar la retirada de A. Probar aparte un tipo desconocido transitivo y otro no transitivo.

Cerrar la prueba con trazas de paquetes y receptores canario. El informe debe distinguir «X fue elegido por Y» de «X tenía mandato» y de «los receptores obtuvieron el servicio». Si la herramienta no permite esas tres frases por separado, no es una herramienta de evidencia suficiente.

Fuentes