Summary

  • El RFC 970 deduce la pérdida de todos los paquetes bajo sobrecarga para una red de datagramas con almacenamiento infinito, cola FIFO, vida limitada y al menos dos conmutadores.
  • En la prueba física se acumularon 916 datagramas IP entre Ethernet y un enlace de 9.600 baudios; TCP agotó su tiempo de espera antes de que apareciera el estado final del modelo.

Un almacén enorme no agranda la puerta. Si los paquetes entran más rápido de lo que sale el enlace, la fila crece y cada espera consume su plazo de vida. En el caso que John Nagle construyó en diciembre de 1985, el primer conmutador termina enviando paquetes con una sola unidad de vida. El segundo descuenta esa unidad y los desecha. La memoria no se agotó. La entrega sí.

El RFC 970, On Packet Switches With Infinite Storage, atacaba la costumbre de tratar la congestión como un simple problema de búferes. Nagle concedió almacenamiento infinito y mantuvo las otras reglas: primero en entrar, primero en salir; vida finita; dos o más conmutadores; carga sostenida por encima de la capacidad. La caída total es la consecuencia analítica de esa combinación. No es una medición de que toda Internet hubiera sufrido aquel desenlace.

La aritmética del propio texto muestra por qué comprar RAM podía resolver el problema equivocado. Cuatro enlaces de 56 kilobits por segundo y una vida máxima de 15 segundos daban, en ese ejemplo, un límite de 420 kilobytes de cola. Bastaba para evitar descartes por falta de memoria allí. No impedía que un paquete llegara demasiado tarde a su turno. Nagle trataba el tiempo de vida como segundos restantes en su modelo de 1985; sustituirlo por la interpretación actual basada en saltos falsearía el ejemplo.

Hubo una prueba real, con un resultado distinto y revelador. Nagle usó un conmutador con varios megabytes entre Ethernet y una línea de 9.600 baudios. Llegó a tener 916 datagramas IP esperando. La conexión TCP expiró por el retraso de ida y vuelta antes de que la fila alcanzara el equilibrio de vida máxima previsto. La prueba observó una cola larga y un transporte que abandonó. No observó directamente el estado en que todos los paquetes eran descartados.

El poder estaba en la regla de servicio. Una única cola FIFO da más posiciones, y potencialmente más salidas, al equipo que más envía. Cada origen puede intentar ganar cuota saturando la fila y perjudicar a todos. Nagle propuso dividirla por equipo de origen y atender las colas no vacías por turnos: un paquete vivo de cada una. Enviar más solo alarga la espera propia. También sugirió avisos Source Quench cuando la fila de un origen superara aproximadamente dos paquetes. Era una propuesta de control de aquella época, no un certificado de adopción general.

El diseño tenía un agujero que el autor reconoció: fingir muchas direcciones de origen permitía reclamar muchas cuotas. La equidad de un solo conmutador tampoco garantizaba equidad para toda la red. Su lugar más fuerte era una entrada o cuello de botella entre una red local veloz y un enlace extenso limitado. El registro oficial conserva el carácter de memorando de discusión del RFC. La pregunta que dejó abierta sigue siendo incómoda: cuando el enlace solo puede sacar un paquete, ¿quién decide cuál merece ese turno?

Sources