[e2e] How many TCP flows fit in the Internet?

Detlef Bosau detlef.bosau at web.de
Mon Apr 1 03:56:10 PDT 2013

Am 01.04.2013 02:24, schrieb Fred Baker (fred):
> On Mar 30, 2013, at 7:29 AM, Detlef Bosau <detlef.bosau at web.de> wrote:
>> Actually, the Internet has limited, if huge, capacity and the issue is to share this in a reasonable manner.
> Numbers in the integer space may be very large, but are generally finite.

That's a breaking mathematical insight :-)
>   Yes, one can have only so many simultaneously-active active TCP sessions on any given link that actually accomplish something.
> The next question is how to figure out what "so many" means.

This is a complementary view to the discussion between Matt and me. 
Either we allow for an unbounded number of simultaneous flows, than we 
cannot tolerate an, if implicit, "minimal throughput" or "minimal rate" 
for the flow. Or, which I think is the easier and actually more 
reasonable way, we well accept a minimal rate MSS/RTT, then we cannot 
accept an unbounded number of flows. The latter may lead into a 
discussion about a means of admission control.

I'm curious, which alternative causes the larger protest in the 
community ;-)

However both are trivial consequences from TANSTAAFL.

>   I suspect that the most useful number is related somehow to a measure of bandwidth.

How do we measure bandwidth? I well know several approaches, packet 
pair, packet train, packet whatever, packet brigade, national guard of 
packetiers, no one is really convincing, however all of these mix up 
physical throughput ("bandwidth") and the share of throughput available 
for a flow.

A possible way would be some kind of explicit scheduling of flows on 
routers or switches, however this beyond the scope of what is actually 
being done in the Internet.

I'm still to read Keshav's thesis, however I think we have two extreme 
positions: No central regulation, best effort and the "packet switching 
community", central regulation, QoS and the "circuit switching 
community". For quite some time now, I'm curious whether there is some 
"third way" in between.

> If we assume that a mouse might move one MSS each way, or an elephant will want to move one MSS per RTT for several RTTs, the question is the duration of an MSS on the wire and the duration of a typical RTT; you're probably not going to have more active sessions simultaneously than some small multiple of the ratio of RTT to MSS.

Up to know, I was fine :-)

I'm totally with you and when I consider a "third way", the 
mouse/elephant issue you refer to directly turns into a scalability 
issue. This is not a trivial one.
> That question, of course, has similarities to the question of how many angels can dance on the head of a pin.

Although in the real world you would rather encounter TCP flows than 
angels ;-)

(From an operational point of view, network operators often would prefer 
it the other way round ;-))

> That will perhaps have as a limiting function the ratio of the surface area of a head of a pin to the sole of an angel's foot. But when dancing, don't angels sometimes have their feet in the air? TCP will have the same problem.
At least extremely similar.

However, we meet another sacred cow here. One of the most sacred cows in 
the elephantastic Internet community is to ignore the mere existence of 
mice ;-)

(Without kidding: For decades, the loudest unspoken assumption in our 
papers are "sources are greedy" and "there are only long term flows".)

Detlef Bosau
Galileistraße 30
70565 Stuttgart                            Tel.:   +49 711 5208031
                                            mobile: +49 172 6819937
                                            skype:     detlef.bosau
                                            ICQ:          566129673
detlef.bosau at web.de                     http://www.detlef-bosau.de

More information about the end2end-interest mailing list