Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In TCP Connection Termination, when client enters in TIME_WAIT state means the client waits for a period of time equal to double the maximum segment life (MSL) time, to ensure the ACK it sent was received.

(I read above from a book computer networking by kurose and also given in following URL )

But how it was detected if last ACK(send by client as a response to server FIN) lost?

share|improve this question

It's essentially a "don't care". The wait period is to prevent confusion with subsequent connections. Why is the final ACK then sent? It helps clear connection resources on the other side.

share|improve this answer
I got that point. TIME_WAIT is time requires for clearing connection resources for preventing confusion with subsequent connections. – sonali Sep 22 '12 at 0:10
But that time is also for ensuring that ACK(send by client as a response to server FIN) it sent was received or not? Then my question is that, how it will detect if that last ACK was lost? further question, what happens if that last ACK lost...means will connection remains open? – sonali Sep 22 '12 at 0:22
@sonali: It's a fundamental issue known as the "Two Generals problem". You cannot detect the loss of the last message, because that would require another "past-the last" message. – MSalters Sep 24 '12 at 8:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.