You are seeing remnants of old TCP connections. If you have a lot of sockets stuck in LAST_ACK, it is likely that the system(s) talking to you aren't finishing the TCP hangup sequence.
Normally, one side of the connection closes a session by sending a TCP packet with the FIN flag set. The other side acknowledges the close request (by sending ACK), and sends FIN as well (sometimes in the same packet). The last step is one last ACK from the side that initiated the close:
Box A Box B
------- -------
FIN --->
<--- FIN/ACK
ACK --->
After Box B sends FIN/ACK, it shows the connection state as LAST_ACK until Box A completes the hangup. Some operating systems are pretty bad at reliably sending that last ack.
Box B will eventually time out the connection, freeing the socket.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.