ietf
[Top] [All Lists]

Re: A simple question

2003-04-21 04:40:23


--On Sunday, 20 April, 2003 22:13 -0400 Keith Moore <moore(_at_)cs(_dot_)utk(_dot_)edu> wrote:

At which point they might as well just select their global
address unless  the destination address for a service is site
local. This decision could  (should?) be in the hands of the
IP stack, unless the application  specifically asks for such
control.

I disagree that the IP stack can supply reasonable defaults in
the face of multiple scopes.  The criteria for choosing a
source address varies widely from one application to another.
Some applications need stable addresses, others need addresses
usable from all of their potential peers, others need to
choose the source address that results in the best performance
(where there is more than one meaning of 'best performance').
The default address selection rules are at best a guess.

We should let the network do routing, so that hosts and apps
aren't expected to make routing decisions.

Keith,

I don't understand your point here, and would like to. It seems to me that your first paragraph ("I disagree...") suggests that the applications need to specify the addresses/interfaces because they know their needs and the stack can't figure it out. And the second argues for pushing the decisions onto the network, which has no information at all (and, if it had it, could probably apply it only by changing addresses mid-flight -- NAT-like or worse). That suggests to me a conclusion of "not application, not stack, not network either" which leaves very few options.

If I ignore that apparent contradiction, I'm left with the conclusion that we need some new addressing and routing abstractions so that the applications can tell the stack (and the stack might tell, or negotiate with, the network) what considerations they need optimized and do so without specifying specific addresses or inspecting components of addresses. It seems to me that such abstractions would also eliminate one of the arguments against site local: having an application able to tell the stack:

        * I need a local address
        
        * I need an appropriate address for routing to <DNS name>
        
        * I need a completely-global address

Are all far more reasonable than having the application itself recognize particular addresses or prefixes and trying to figure out which ones make sense in its context. It also _might_ suggest that we need to reexamine ICMP in the IPv6 context to be sure that, if the stack needs information from the network to make satisfactory choices along these lines, it can ask them without, e.g., trying to set up one or more TCP connections (or sending UDP packet using an unspecified protocol) and waiting for the responses or timeouts.

Is that really where we need to be headed and, if so, is anyone doing the work rather than being stuck on "local-good / local-bad", "scope-necessary / scope-bad", types of arguments?

     john




<Prev in Thread] Current Thread [Next in Thread>