[e2e] Question on ssthresh setting in RFC 2581
Arthur de Castro Callado
arthur at gprt.ufpe.br
Thu May 11 12:54:43 PDT 2006
these variables are in bytes, not packets, and this equation is
only used when detecting loss. I suppose it means that when a single loss
is detected, then the "ssthresh" is equal to the present "FlightSize",
i.e., the congestion control immediately jumps to collision avvoidance
PhD Candidate from the Federal University of Pernambuco, Brazil.
On Thu, 11 May 2006, Daniel Minder wrote:
> can anybody explain why equation (3) in RFC 2581 is
> ssthresh = max (FlightSize / 2, 2*SMSS)
> and why this has changed from RFC 2001 where min(rwnd, cwnd)/2 was used.
> In some postings, I found that FlightSize is usually equal to min(rwnd,
> cwnd) - but not always. According to the RFC, flightsize is "the amount of
> data that has been sent but not yet acknowledged".
> Let's assume that 10 packets have been sent. If all 10 get lost, flightsize
> is 10 and ssthresh will be set to 5. But if only the last 4 get lost (and no
> more packets are to be sent), flightsize is 4 and ssthresh will be set to 2.
> This seems counterproductive to me since the network is propably more
> congested in the first case than in the second. Therefore, ssthresh should
> be set to a lower value if more packets get lost, i.e. when flightsize is
> larger. For example:
> ssthresh = max( (min(rwnd, cwnd) - FlightSize) / 2, 2 * SMSS)
> Or did I miss the point?
More information about the end2end-interest