> >One hopes that FlightSize == cwnd. However, we introduced the > >FlightSize notion in RFC2581 because this is not always the case. > >Some stacks let cwnd be changed regardless of how much of the window > >is > > > ^^^^^^^^^ changed or unchanged? ; > > Are there actually stacks who change, i.e. decrease, cwnd when cwnd is > not fully used? "changed" There may be some stacks that do CWV and decrease cwnd when it is not fully utilized ... and, then FlightSize and cwnd would be quite similar (modulo the small headroom that CWV leaves). I was referring to things like cwnd growing on each ACK regardless of whether there is enough data to actually use the current cwnd, let alone any new cwnd. This is the observation that led to FlightSize. > >>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. > >> > ?? > > Perhaps, I should have a look at the rfc. Yes. > But doesn\8b4t flightsize mean the number of packets being actually on > the fly? So, flightsize should be 10, regardingless of the number of > lost packets? This example was carefully constructed (I believe) to include 4 losses at the *end* of the window. So, the first six segments are ACKed and when the loss is noticed there are only 4 segments on the fly. If the four losses occurred at the beginning of the window then FlightSize would in fact be 10 segments. That difference is the issue that has been brought up. allman