Resumen
- RFC 5393 documentó una topología en la que menos de diez mensajes SIP válidos podían estimular potencialmente
2^71; con múltiples AOR, el tráfico supera N! antes de que la detección de bucles encuentre una repetición. - Max-Breadth impide que las ramas activas excedan un presupuesto, pero recupera el crédito tras una respuesta final. El propio RFC advierte que no reduce el tráfico agregado.
- Un control verificable debe separar el grafo de registro, la identidad Via, la decisión bucle/espiral, las ramas activas, las ramas acumuladas y la historia conservada por pasarelas y B2BUA.
El crédito volvió a la caja
En cada contexto de respuesta, RFC 5393 distingue el presupuesto recibido de la suma entregada a ramas que aún no tienen respuesta final. Esa suma saliente nunca puede superar la entrante. El mecanismo parece un cupo de capacidad y, en el instante, lo es.
Pero las ramas terminadas dejan de contar. Con ocho objetivos y Max-Breadth cuatro, el proxy puede iniciar cuatro transacciones. Cuando una falla, la suma baja a tres y el crédito libre autoriza la siguiente. Tras varias respuestas puede recorrer las ocho sin violar ni una vez el techo.
El diseño alternativo —no devolver nunca el crédito— habría fijado un máximo de por vida. RFC 5393 lo rechazó porque reduciría el alcance de las solicitudes y podía romper despliegues existentes. Se eligió mantener la búsqueda secuencial y controlar el coste simultáneo.
La diferencia no es semántica. Memoria y ancho de banda instantáneos dependen de la concurrencia. CPU total, mensajes, duración y exposición de terceros dependen también del acumulado. Un informe que muestre sólo el máximo activo responde a una pregunta y aparenta responder a las dos.
La amplificación nació en contactos válidos
Dos servicios registrar/proxy podían albergar cuatro AOR. Cada una en P1 apuntaba a las dos de P2 y cada una en P2 a las dos de P1. Un INVITE a una dirección se bifurcaba en dos, luego cuatro y luego ocho. La validez de cada REGISTER no limitaba el árbol que todos juntos autorizaban.
La expansión seguía hasta que Max-Forwards llegaba a cero. Con el valor 70 recomendado por RFC 3261, el árbol contiene 2^71 - 1 solicitudes. Si el proceso dura más que Timer C, las respuestas 408 y los CANCEL pueden multiplicar todavía más los mensajes y el estado.
El RFC cuenta que una versión se ejecutó en SIPit con más de dos proxys y Max-Forwards 20. La sesión duró horas; la extrapolación calculó casi diez días para terminar un solo INVITE. Algunos proxys reiniciados volvieron a participar al conservar el estado de registro. Un proceso nuevo heredó el mismo permiso causal.
Esta prueba no describe una red comercial actual. Demuestra que reiniciar una instancia puede restaurar exactamente el trabajo dañino si no cambia el grafo persistente que lo genera.
Detectar repetición no limita todas las combinaciones
Para el bucle binario, la detección funciona. El RFC calcula 14 mensajes estimulados en el primer escenario y 10 en la variante de un servidor cuando todos detectan. Por eso exige que un proxy que bifurca hacia más de un destino compruebe que no se está reencontrando con la misma solicitud.
La segunda parte del parámetro branch de Via depende del Request-URI, las cabeceras Route y otros datos usados por la lógica de localización. Si al volver al proxy esos datos producen el mismo valor, hay bucle y corresponde 482. Si cambian, existe una espiral: el mismo nodo aparece bajo un contexto de encaminamiento distinto.
El control necesita historia. Borrar u ofuscar los parámetros Via elimina la capacidad del nodo anterior para reconocerse. Dos intermediarios que oculten la evidencia pueden construir entre ambos un circuito que ninguno ve.
La variante de N AOR revela otro límite. Cada AOR bifurca hacia todo el conjunto. Antes de repetir una, pueden recorrerse todas las permutaciones de las N-1 restantes. La última bifurcación por N produce N! solicitudes por sí sola. El cuadro del RFC da 64 para cuatro AOR, 1.956 para seis, 109.600 para ocho y 9.864.100 para diez.
No es un pronóstico general. Es una refutación de la frase «los bucles están resueltos». La detección elimina caminos repetidos, no el número de caminos distintos que pueden existir antes de la primera repetición.
Tres ejes, tres comprobantes
Max-Forwards limita profundidad. Max-Breadth limita ramas simultáneas. El total de ramas durante la vida de la solicitud queda aparte. RFC 5393 prohíbe decrementar Max-Breadth en cada salto para convertirlo en un segundo contador de distancia.
El 440 Max-Breadth Exceeded tampoco es una liquidación. Indica que un proxy no puede ejecutar la bifurcación paralela deseada con el crédito disponible y no quiere serializar ni redirigir. Con valor uno todavía puede bifurcar en serie.
La sección de seguridad lo declara sin rodeos: Max-Breadth no reduce el tráfico agregado del ataque; lo reparte durante más tiempo. Varias solicitudes iniciales pueden acumular niveles irrazonables aunque cada raíz cumpla su propio cupo.
El tiempo ganado permite observar transacciones pendientes por recurso y en toda la red, suspender temporalmente AOR comprometidas y evitar el colapso inmediato. Esa oportunidad sólo sirve si existe vigilancia. Una inundación lenta no deja de ser costosa porque el gráfico de concurrencia permanezca plano.
La frontera B2BUA decide si existe un pasado común
Un B2BUA termina un lado de SIP y origina otro. Puede tener razones legítimas para ocultar topología, pero si no transporta el historial, la nueva petición parece tener una vida nueva. RFC 5393 advierte que un recorrido SIP–PSTN–SIP o dos B2BUA que pierden historia pueden evadir Max-Forwards, la detección y el límite de anchura.
RFC 7332 exigió después copiar y decrementar Max-Forwards, copiar y aplicar Max-Breadth y recomendó la detección de RFC 5393. También hizo visible la elección entre ofuscación y seguridad de bucles.
La publicación del estándar no prueba que un producto lo ejecute. Siguiendo la primacía del código en funcionamiento, hay que enviar una prueba por la frontera real, capturar los valores de ambos lados y verificar que las solicitudes paralelas comparten el mismo presupuesto.
Frontera de evidencia
Las fuentes demuestran el contenido normativo, el experimento SIPit narrado y los cálculos de los escenarios. No demuestran adopción actual, fabricante concreto, frecuencia de abuso ni causa de una interrupción. Las cifras 2^71 y N! deben conservar sus premisas.
La regla operativa final es sencilla: una foto de cuatro ramas activas no es el libro de ocho, miles o millones de ramas ya financiadas. Guarde ambos registros y la decisión que gastó cada crédito devuelto.
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
