Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

I've just some question regarding TCP congestion avoidance algorithm.

  1. First of all I'm looking for explanation of, why the part of congestion avoidance algorithm is called "fast recovery"? I mean I cannot find any good reason for it, seems like it doesn't really that fast recovery.
  2. I'm reading the book of Douglas E. Comer "Networking with TCP/IP" and there is statement where said that although TCP SACK and New Reno is about the same, still SACK is preferable, but there is no good reasonable explanation why, so I would be appreciated for helping me figuring it out.
share|improve this question
up vote 3 down vote accepted

Fast recovery allow the TCP window to be reduce by 2 instead of restarting to its initial value when you're experiencing loss. It's called fast recovery because it avoid to do a slow start. (so it's "faster").
SACK is better when you have lot of loss (many packet from a same TCP window) but New Reno is designed to be use on computer supporting, or not supporting SACK.

Wikipedia and RFC's are good reference regarding Congestion Avoidance and I don't want to copy/paste then or rephrase them less cleary.

You can read : Congestion Avoidance in TCP About FastRecovery/NewReno : rfc3782 and About SACK : rfc2018 and

share|improve this answer
@radius good answer. – Vivek Sharma Jul 16 '09 at 16:49

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.