1

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.
Artem Barger
  • 267
  • 1
  • 4
  • 9

1 Answers1

3

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 http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm About FastRecovery/NewReno : rfc3782 and http://en.wikipedia.org/wiki/Slow-start#fast-recovery About SACK : rfc2018 and http://en.wikipedia.org/wiki/Retransmission_(data_networks)#SACK

radius
  • 9,633
  • 25
  • 45