El núcleo de este problema es el protocolo TCP que transporta datos web. Las conexiones TCP tienen estado y, por lo general, no caducan mientras está en el estado CONECTADO. Las conexiones TCP abiertas continúan persistentemente tratando de entregar datos a través de una conexión para siempre, a menos que reciban algún tipo de perturbación que les indique que se detengan, como un paquete de cierre elegante (FIN), un cierre sin gracia (RST) o una demanda de la aplicación para finalizar el conexión. Esta es una característica para garantizar que las conexiones puedan continuar, incluso durante interrupciones graves de la red. TCP es ferozmente insistente en la entrega de datos.
Una razón común para una sesión TCP permanentemente atascada es que un firewall, NAT, equilibrador de carga u otro middlebox en ruta falla completamente y desaparece de la ruta. Para TCP, este evento se comporta exactamente como una falla de enlace temporal, por lo que TCP funciona alegremente. Si el dispositivo middlebox vuelve a funcionar, es posible que ese dispositivo ya no tenga suficiente contexto para reconocer la conexión TCP huérfana para enviar un RST para eliminarlo. Dado que la conexión no puede completarse sin la ayuda del middlebox, la conexión TCP simplemente se bloquea para siempre a menos que la aplicación (navegador web) la retire (por ejemplo, yendo a una nueva página web).
Hay situaciones similares en las que un servidor web tiene algún error de software, proceso bloqueado, proceso bloqueado, evento de poca memoria, cambio de dirección IP u otra anomalía que deja huérfana la conexión TCP. Si los dispositivos en ruta pierden el estado de conexión, la conexión no puede continuar pero el navegador web no tiene forma de saber que ocurrió tal evento. Entonces simplemente sigue y sigue.
- ¿Por qué nos resulta más fácil pasar tiempo en línea cada vez que tenemos suficiente tiempo para utilizar?
- ¿Cuál será el próximo avance de internet?
- ¿Por qué las personas no pueden crear su propio internet sin usar un proveedor?
- ¿Qué pasaría con la sociedad actual si Internet se derrumbara algún día?
- ¿Cómo podrías hacer datos de internet móvil?
PROTIP: IPv6 omitirá muchos middleboxes, por lo que este tipo de eventos es menos probable en las conexiones IPv6.