Si un servidor Windows tiene varios miles de puertos abiertos en LAST_ACK
estado (como lo muestra netstat), ¿qué podría significar esto? ¿Es porque un punto final está esperando que el otro responda?
No es correcto. Estás describiendo CLOSE_WAIT.
Si un servidor Windows tiene varios miles de puertos abiertos en LAST_ACK
estado (como lo muestra netstat), ¿qué podría significar esto? ¿Es porque un punto final está esperando que el otro responda?
El estado last_ack (si recuerdo correctamente mi pila TCP) es el estado en el que has recibido tu mensaje FIN para cerrar la conexión de tu vecino, pero todavía tienes que limpiar y cerrar tu conexión. Envías el FIN final tú mismo y esperas un ACK.
Normalmente, colgar en last_ack significa que tu aplicación mantiene un socket abierto incluso cuando el otro extremo ha terminado de enviar datos. Esto puede ocurrir por múltiples razones. Puede haber un cortafuegos u otro equilibrador de carga que pierda el último ACK del cliente, y lo deje atascado en el estado last_ack. Si las conexiones no se agotan después de unos minutos (10 más o menos) es probable que tengas un error.
Echa un vistazo al diagrama de estado en http://tangentsoft.net/wskfaq/articles/debugging-tcp.html
LAST_ACK significa que tu extremo ha recibido un FIN del peer, ha enviado un ACK, ha enviado un FIN, y está esperando el ACK final del peer. En este punto no hay nada más que la aplicación pueda hacer: el socket está cerrado. La aplicación puede incluso haber salido. A partir de aquí, depende de TCP volver a enviar el FIN hasta que obtenga el ACK final, o que se agote el tiempo de espera. No hay mucho que puedas hacer como administrador, excepto investigar la red.
¿Es un servidor web IIS (u otro servicio) en el que estás viendo esto, o, tu propia aplicación?
La aplicación implementa el cliente XML-RPC "Cook Computing" (de Asp.Net, ejecutado a través de IIS), y está hablando con un servidor Java XML-RPC.
Creo que @lmo tiene razón al decir que es "el último estado justo antes de cerrar la conexión TCP", pero además de esto, basándome en mi lectura de la página de la wikipedia, vale la pena señalar que esto no es parte del mecanismo de "Cierre Activo" que (a mi entender) es el final de la mayoría de las conexiones de buen comportamiento, sino más bien parte de la secuencia de "Cierre Pasivo", que presumiblemente se asocia con Bad Stuff Happening.
(Por cierto, soy de idiomas, no de redes. Estaría encantado de que una persona de redes me lo aclarara).
EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.