[e2e] Why do we need congestion control?

Dave Crocker dhc2 at dcrocker.net
Wed Mar 6 07:16:02 PST 2013

On 3/6/2013 5:43 AM, Jon Crowcroft wrote:
> there's no free lunch - if the queue keeps being filled, you'll get increasing
> packet loss - to cover the loss, you'll need more redundency in your erasure
> coding -
> so all that erasure codes buy you is delaying the point when you go over the

My introduction to networking was as support staff at the UCLA Arpanet 
project, with Leonard Kleinrock as principal investigator. This meant I 
got to hear him lecture about queuing theory and he is a good enough 
teacher to make even that topic interesting.

Eventually he give a summary lecture, about lessons learned, and he put 
up a graph which started out shallow, had a sharp elbow, and then 
increased rapidly.  He said that years of measurement of actual 
networking behavior produced this graph and that while the mathematics 
of it was complicated, its meaning was pretty simple:

    In a network, things are very good, until they are very bad.

When things are very good, queuing isn't needed because there is plenty 
of capacity.  When things are very bad, queuing isn't helpful because 
there isn't enough capacity.

So why bother with the cost of queuing mechanisms?

Queuing, he noted, is for that very small phase at the elbow.  That is, 
short bursts of contention, not sustained problems.

I believe this is the reason the short queue lengths are said to make 
sense but long ones to cause problems.  If you need a long queue length, 
you have bigger problems than the length of the queue...

  Dave Crocker
  Brandenburg InternetWorking

More information about the end2end-interest mailing list