[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 

Arthur Callado.
PhD Candidate from the Federal University of Pernambuco, Brazil.

On Thu, 11 May 2006, Daniel Minder wrote:

> Hi,
> 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?
> TIA,
> Daniel

More information about the end2end-interest mailing list