[e2e] Are Packet Trains / Packet Bursts a Problem in TCP?

Fred Baker fred at cisco.com
Mon Sep 25 07:54:49 PDT 2006


On Sep 25, 2006, at 7:08 AM, Detlef Bosau wrote:

> Isn´t it a more fundamental question, wether burstiness may cause  
> grief in a significant number of scenarios, so that it would be  
> useful to avoid burstiness at all?

I think there is a fair bit we can say from mathematics. For example,  
there is a fairly dramatic difference between the delays experienced  
in an M/M/1 and an M/D/1 scenario. Queuing delays result from packets  
sitting in queues, and variability in queue depth results in  
variability in delay. Increased burstiness increases average delay  
and average jitter.

That said, I will agree with Craig that burstiness in moderation  
doesn't itself cause major problems in the network. Short sessions,  
which are as you say very common in web and mail applications, are  
inherently bursty, and it's hard to imagine them being otherwise when  
slow-start combined with the fact that they are moving small amounts  
of data are brought into consideration. Longer sessions also occur in  
web and mail transactions, and are common in p2p applications, which  
are now pretty prominent as a traffic source. But when TCP runs in a  
longer session, I think you will find that burstiness levels out, as  
the duration of a burst is stretched by the queues of bottlenecks in  
the path, resulting in a reduction of the rate of the burst as  
traffic crosses the network, and the Acks come back at a rate less  
than or equal to the bottleneck rate. I would expect to see ack  
clocking spread the traffic of a longer TCP session so that it is  
less bursty.

Pacing attacks burstiness. AQM actually doesn't; it attacks average  
queue depth.

There are places where improving TCP burstiness can be of value, such  
as in the cases where (usually Linux) TCPs decide to send their  
entire next window in a short period of time it would be nice of they  
could be convinced to do so at a rate that doesn't exceed cwnd/srtt.  
Beyond handling extreme cases like that, I'm not convinced it's worth  
the effort - it sounds like a lot of mechanism solving a problem that  
I'm not sure actually hurts us all that much.

I'm much more interested in TCPs that will handle high loss rates and  
variable delay (WiFi/WiMax) and long delays over a wide range of  
speeds, consistently delivering a good approximation of the available  
bandwidth (there's still a lot of dial in the world, and there are  
many places that sport fiber end to end) to applications that attempt  
to use it.


More information about the end2end-interest mailing list