[e2e] What should e2e protocols know about lower layers?
Marcel Waldvogel
mwl at zurich.ibm.com
Wed Oct 17 05:55:10 PDT 2001
Michael,
I agree that TCP in the congestion avoidance phase will take forever to
absorb the remaining bandwidth. But I also believe that if it is likely
for N-1 flows to suddenly disappear, it is also likely for some other
flows to appear later. Granted, not the full bus bandwidth will be
available while there is just a lonely TCP connection around, but it
adds fairplay and stability to the network (see also David Reed's
comments on "full use").
In the (IMHO) rare case that a network is used exclusively for a single
purpose and "full use" is required, it probably makes sense to roll your
own protocol. For example, I do not expect processor-memory buses to be
replaced by IP networks anytime soon.
If you want almost-full use with "generic" protocols, there are still
some options:
(a) use a bigger MTU
(b) modify the generic protocol to go into some kind of "weak"
slow-start if it hasn't seen congestion for a long time (many RTT) [the
application can often trigger this by re-opening the TCP connection]
(c) buy ATM equipment and run ABR
For interplanetary networks, many other issues arise which will cause
current protocols to fail or perform poorly (e.g., timeouts and
"interactive" use).
In summary, if there are extreme requirements (whether it is for your
network or for your house), a shrink-wrap solution may not fulfill them
all. Nevertheless, a shrink-wrap solution might be cheaper/simpler/more
reliable to use, so people might reduce their requirements.
But if we assume that these networks might become commodity in the near
future, maybe it is time to propose for TCP to eventually get out of
congestion avoidance and back into some form of greedy mode.
-Marcel
Michael B Greenwald wrote:
>I think it's a bad idea to suppress congestion control even in a "local
>situation". That said, I think those solutions do not solve the
>(perceived) problem appropriately for the people who want to suppress
>congestion control. Consider, for instance, a slight modification to your
>example: .2ms RTT, 10Gbps network. Imagine that two TCP flows reach some
>equilibrium state; say, windows that yield rates of about 5Gpbs. Suppose
>one flow stops. How long does it take the other to saturate the network?
>
>If it is hard for you to get too exercised about 5Gbps being "too slow",
>then consider N flows in which N-1 stop (for large enough N).
>(Alternatively think about the situation where the rate is lower, but the
>link is a "dedicated" connection between earth and mars.) I'm not
>endorsing these arguments, but explaining the context from which some
>people argue that one should suppress congestion control in local
>situations.
>
More information about the end2end-interest
mailing list