Subject: Re: [PATCH] make _minimum_ TCP retransmission timeout configurable

From: John Heffner <[email-masked]>
Date: Wed, 29 Aug 2007 18:48:40 -0400

David Miller wrote:
> From: Rick Jones <[email-masked]>
> Date: Wed, 29 Aug 2007 15:29:03 -0700
> 
>> David Miller wrote:
>>> None of the research folks want to commit to saying a lower value is
>>> OK, even though it's quite clear that on a local 10 gigabit link a
>>> minimum value of even 200 is absolutely and positively absurd.
>>>
>>> So what do these cellphone network people want to do, increate the
>>> minimum RTO or increase it?  Exactly how does it help them?
>> They want to increase it.  The folks who triggered this want to make it 
>> 3 seconds to avoid spurrious RTOs.  Their experience the "other 
>> platform" they widh to replace suggests that 3 seconds is a good value 
>> for their network.
>>
>>> If the issue is wireless loss, algorithms like FRTO might help them,
>>> because FRTO tries to make a distinction between capacity losses
>>> (which should adjust cwnd) and radio losses (which are not capacity
>>> based and therefore should not affect cwnd).
>> I was looking at that.  FRTO seems only to affect the cwnd calculations, 
>> and not the RTO calculation, so it seems to "deal with" spurrious RTOs 
>> rather than preclude them.  There is a strong desire here to not have 
>> spurrious RTO's in the first place.  Each spurrious retransmission will 
>> increase a user's charges.
> 
> All of this seems to suggest that the RTO calculation is wrong.

I think there's definitely room for improving the RTO calculation. 
However, this may not be the end-all fix...

> It seems that packets in this network can be delayed several orders of
> magnitude longer than the usual round trip as measured by TCP.
> 
> What exactly causes such a huge delay?  What is the TCP measured RTO
> in these circumstances where spurious RTOs happen and a 3 second
> minimum RTO makes things better?

I haven't done a lot of work on wireless myself, but my understanding is 
that one of the biggest problems is the behavior link-layer 
retransmission schemes.  They can suddenly increase the delay of packets 
by a significant amount when you get a burst of radio interference. 
It's hard for TCP to gracefully handle this kind of jump without some 
minimum RTO, especially since wlan RTTs can often be quite small.

   -John