Esta publicación proporcionará detalles sobre las conexiones TCP que informan estados 'CLOSE_WAIT'. Los valores de estado posibles para los sockets TCP son los siguientes:
ENLACE | Encuadernado, listo para conectarse o escuchar. |
---|---|
CERRADO | Cerrado. El zócalo no se está utilizando. |
CIERRE | Cerrado, luego apagado remoto; esperando reconocimiento. |
CLOSE_WAIT | Apagado remoto; esperando a que se cierre el socket. |
ESTABLECIDO | Se ha establecido la conexión. |
FIN_WAIT_1 | Socket cerrado; cerrando la conexión. |
FIN_WAIT_2 | Socket cerrado; esperando el apagado desde el control remoto. |
INACTIVIDAD | Inactivo, abierto pero no encuadernado. |
ÚLTIMO_ACK | Apagado remoto, luego cerrado; esperando reconocimiento. |
ESCUCHA | Escuchando conexiones entrantes. |
SYN_RECIBIDO | Activa/iniciar sincronización recibida y conexión en curso |
SYN_SENT | Intentando activamente establecer conexión. |
TIEMPO_ESPERA | Espere después del cierre para la retransmisión de apagado remoto. |
'CLOSE_WAIT ‘ estado significa que el otro extremo de la conexión se ha cerrado mientras que el extremo local todavía está esperando que se cierre la aplicación.
Detalles
El estado 'CLOSE_WAIT' en las conexiones tcp ocurre si el sistema no ha recibido una llamada de cierre del sistema de la aplicación, después de haber recibido una notificación (paquete 'FIN') del otro sistema de que ha cerrado su punto final. En otras palabras, significa que el extremo local de la conexión ha recibido "FIN" del otro extremo, pero el sistema operativo está esperando que el programa en el extremo local realmente cierre su conexión.
El problema es que un programa que se ejecuta en la máquina local no cierra el socket. No es un problema de ajuste de TCP. Una conexión puede permanecer en 'CLOSE_WAIT' para siempre mientras el programa mantiene abierta la conexión. Entonces, principalmente este problema ocurre debido a un error de la aplicación. Sin embargo, si los parámetros TCP/IP no se configuran correctamente, las conexiones TCP/IP cerradas permanecerán durante mucho tiempo en varios estados 'CERRADOS' que toman los descriptores de archivo del proceso. Para solucionar este problema, a veces es necesario ajustar los parámetros TCP/IP en /etc/sysctl.conf (como los parámetros net.ipv4.tcp_xxx), para que las conexiones TCP/IP se cierren en un corto período de tiempo. .