Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

En la imagen adjunta se visualiza el ciclo de vida de una conecion TCP

56555-state-diag.png


NOTE: It is normal to have a socket in the TIME_WAIT state for a long period of time. The time is specified in RFC793 as twice the Maximum Segment Lifetime (MSL). MSL is specified to be 2 minutes. So, a socket could be in a TIME_WAIT state for as long as 4 minutes. Some systems implement different values (less than 2 minutes) for the MSL. But the Linux kernel’s implementation of TCP is hard-coded with a TIME WAIT counter of 60 seconds. CLOSE_WAIT means that the local end of the connection has received a FIN from the other end, but the OS is waiting for the program at the local end to actually close its connection.

La diferencia entre uno y otra estado radica en el sistema que solicita el cierre de la conexion:

  • CLOSE_WAIT: indica que el sistema remoto solicito cierre de la conexion. Significa que el extremo local de la conexión ha recibido un FIN del extremo remoto y el Sistema Operativo está esperando que el programa en el extremo local cierre su conexión. Una conexion puede permanecer en este estado indefinidamente mientras el extremo local no cierre la conexion.
  • TIME_WAIT: indica que el sistema local solicito cierre de la conexion. Es un comportamiento normal, el Sistema Operativo mantiene la conexion activa por un tiempo definido para asegurar el cierre ordenado del extremo remoto.

TCP Connection TerminationImage Added


TIPs

  1. Utilizar el siguiente comando para visualizar las conexiones, sus estados y tiempos, netstat -oanltp

  2. Una excesiva cantidad de conexiones en estado CLOSE_WAIT es indicador de problemas en el sistema local (aplicacion, uso de CPU, memoria, swap).