nanog mailing list archives

Re: Congestion control train-wreck workshop at Stanford: Call for Demos


From: Fred Baker <fred () cisco com>
Date: Wed, 5 Sep 2007 08:53:30 -0700



On Sep 5, 2007, at 8:01 AM, Sean Donelan wrote:

That's the issue with per-flow sharing, 10 institutions may be sharing a cost equally but if one student in one department at one institution generates 95% of the flows should he be able to consume 95% of the capacity?

The big problem with this line of reasoning is that the student isn't visible at the network layer; at most, the IP address s/he is using is visible. If the student has an account at each of the universities s/he might be using all of them simultaneously. To the network, at most we can say that there were some number of IP addresses generating a lot of traffic.

One can do "interesting" things in the network in terms of scheduling capacity. My ISP in front of my home does that; they configure my cable modem to shape my traffic up and down to not exceed certain rates, and lo and behold my families combined computational capacity doesn't exceed those rates. One could similar do such things on a per- address or per-port basis in an enterprise network. That's where the discussion of per-address WFQ came from a decade ago - without having to configure each system's capabilities, make the systems using a constrained interface share it in some semi-rational manner automatically. That kind of thing is actually a lot harder on the end system; they don't talk with each other about such things. Can that be defeated? Of course; use a different IP address for each BitTorrent TCP session for example. My guess is "probably not on a widespread basis". That kind of statement might fall in the same category as "640K is enough", though.

Can you describe for me what problem you would really like solved? Are you saying, for example, that BitTorrent and similar applications should be constrained in some way so that the many TCPs from one system typically gets no more bandwidth than the single TCP on the system next door? Or are you really trying to build constraints on a per-user basis?


Current thread: