Subject: Re: My thoughts on local-use addresses

From: Keith Moore <[email-masked]>
Date: Wed, 30 Apr 2003 22:35:35 -0400

> > nope, the app.  the stack doesn't know whether the app prefers stability
> > or efficiency, unless the app tells it which it prefers.  but at least
> > the app probably has an idea which one is better.
> 
> The app developer often doesn't know these things either -- if the app
> understands this new API at all, I think it'd most often end up as a user
> knob, meaning we could just call it a stack option and leave the app out of
> things entirely.

at least some apps do know these things.  a web browser, for instance, 
understands that its TCP connections are ephemeral, and it knows how to 
recover from broken connections.  same thing for an SMTP MTA or a mail
reader.  OTOH an interactive login using ssh is probably better off
using stable addresses, as is an NFS mount.

however if the API exists then nothing prevents the app from having a knob
that lets the user override the default.

> Which is harder, having the stack give the app a list of source and
> destination addresses and then expect the app to figure out which to use, or
> have the stack attempt various combinations of source and destination
> addresses and just notify the application which one(s) worked?

from experience, the delay in the latter case is often unacceptable,
and even if it isn't, the stack often makes the wrong choice for the app.

> Something tells me the latter is both easier and more likely to be
> implemented correctly.

you're simply wrong about that.

Keith

---

From: Spencer Dawkins <[email-masked]>
Date: Wed, 30 Apr 2003 21:49:27 -0700 (PDT)

Steve Deering had a nice set of slides in London about the
horrible things that we were doing to "the wasp waist" (IP), but
that doesn't mean that "wasp waists" don't have real advantages.

We like to say in TSV that having applications handle congestion
control is wrong because if 19 applications out of 20 do it
correctly, the guy who hoses it up, hoses it for everyone.

Although the potential for disaster on interface selection is
limited, what we're trying to do isn't trivial, and the chances
a stack can do a better job than a random application seem
pretty large to me. I'd vote for Stephen's "latter".

Spencer

---

From: John C Klensin <[email-masked]>
Date: Thu, 01 May 2003 12:58:15 -0400

--On Wednesday, 30 April, 2003 21:49 -0700 Spencer Dawkins 
<[email-masked]> wrote:

> horrible things that we were doing to "the wasp waist" (IP),
> but that doesn't mean that "wasp waists" don't have real
> advantages.
>
> We like to say in TSV that having applications handle
> congestion control is wrong because if 19 applications out of
> 20 do it correctly, the guy who hoses it up, hoses it for
> everyone.
>

Of course, there is an intermediate position (see my note of 
several days ago) in which we enable the applications to give 
the stack more information about the criteria on which it would 
like a selection to be made.  It is irrelevant in the "well, 
there are three addresses/topology locators/paths, but only one 
will connect" case.  But, if there are different addresses that 
can be used to establish connectivity, and, e.g., some are 
faster and higher cost while others are cheaper but are slower 
or involve more packet losses, the application is likely to be 
in a good position (with or without explicit user input) to know 
what will serve its needs best.

      john