[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