[e2e] Are we doing sliding window in the Internet?

Vadim Antonov avg at kotovnik.com
Mon Jan 8 19:07:54 PST 2007


On Mon, 8 Jan 2007, Detlef Bosau wrote:

> When will this trial and error phase come to an end? Apparently, you 
> have all time of the world.

No, I have some experience in networking since when 2400bps was "high
speed", and remember how computers with no integrated circiuts in them
looked like.  And because of that I know that a lot of things considered
hard or impossible to do in a few years aren't.
 
> You probably want to read the congavoid paper or RFC 2581.
> 
> You will learn from that, that fairness enforcement _does_ exist.

Ah, you don't understand I said - namely that fairness enforcement should
be done in the network, and not by the software in end hosts.
 
Besides, TCP is not fair.  For example, long-RTT flows always lose to 
short-RTT flows in non-stationary (i.e. real-life) scenarios.

> First of all, you most probably want to care for a good text book on 
> networking because what you write on this topic simply makes my hair 
> stands on end.

Ah, looks like you haven't been around for a long time; and I did projects
in fields other than networking in the recent years.  Or you'd be more
inclined to listen to what I say. After all, I'm the guy who built
backbones in all 24 time zones (including the first commercial T-3
backbone, and the first backbone which did CIDR), wrote networking code
for BSD kernel when I worked at BSD Inc. (though, admittedly, not the TCP
stack - hacking TCP stack is my present occupation <grin>), and invented
the only practical method for doing packet routing at speeds over 10Gbps.

> The second is a personal advice I tried to give you already yesterday.

I'm not an unemployed engineer. In fact, I made my first million many
years ago. My personal life is quite satisfactory.  Why exactly should I
listen to your personal advice?

As for politics, well. Anyone who's doing any engineering should have some 
grasp of basic economics - because the success of engineering projects 
often depends not on technical merits of the design but rather on its 
economics.  An engineer who's oblivious to the economic and sociological 
ramifications of his decisions is, let me put it mildly, incompetent.

In the topic at hand the issue of which part of the overall system 
(network or end-host software) performs the fairness enforcement is 
neutral from the technical point of view.  Technically, it'll work either 
way.

It is not neutral from the point of view of an economist - having shared 
resource with no admission control creates the tragedy of commons. Meaning 
that it creates incentives for people to cheat and overexploit the shared 
resource, until it becomes useless (this, incidentally, is the problem 
with socialism in general).

Therefore the appeal to developers to be conscientious in the way they
design network stacks and applications is not going to work.  On the other
hand, long-haul ISPs have pretty good reason to protect the value of their
resources - i.e. the networks.  So far, they do not perceive
overexploitation as a problem.  That will change as end-users en mass
start to exchange huge video files - and, consequently, are starting to
use software which does cheat - it does make a lot of difference for them.
Any P2P software which opens multiple TCP sessions for simultaneous
download essentially overrides the rough fairness of the cooperative
congestion control.

The end-point based congestion control and fairness enforcement, while
quite widely deployed, were a bad architectural decision - economically.  
People who made that decision didn't pay much attention to the economics -
they were doing research, not doing business. (To their credit back then
even getting data through reliably, without congestion collapses, was a
big deal; and this was a workable approach. Things like FQ and RED were 
invented much later - and back then doing fancy packet processing in 
backbone gateways was out of question. Heck, people still think doing 
longest-prefix search with patricia tries is a good idea, though we're 
no longer in the "horror, we're running out of 16Mb RAM on the darn 
backbone router" era.)

Well, the reality is starting to catch up - the name of the game in the
ISP business is no longer "grab as much ground as you can and damn the
cost" but, rather, "drive the costs down".  The profit margins are getting
slim, and the packet transport is no longer novelty, but simply another
commodity.  It is no longer feasible just to throw bandwidth at the
problem; there's not going to be another mad rush to lay fiber anytime
soon.

--vadim



More information about the end2end-interest mailing list