ietf
[Top] [All Lists]

RE: The internet architecture

2008-12-29 10:40:22
Let me get this straight. You are saying that there are other reasons why an application should never see an IP address? And you feel that your reason is more important than simply getting level of abstractions wrong. So you agree?

Yes, of course. There are lots of ugly things that can happen. You don't have to go very far to run into why. The question is why have we insisted on not doing it right for so long?

Take care,
John


At 7:56 -0500 2008/12/29, John C Klensin wrote:
--On Sunday, 28 December, 2008 16:22 -0500 John Day
<jeanjour(_at_)comcast(_dot_)net> wrote:

 Why should an application ever see an IP address?

 Applications manipulating IP addresses is like a Java program
 manipulating absolute memory pointers. A recipe for problems,
 but then you already know that.

John,

Let me try to explain, in a slightly different way, what I
believe some others have tried to say.

Suppose we all agree with the above as a principle and even
accept your analogy (agreement isn't nearly that general, but
skip that for the moment).  Now consider an IPv6 host or a
multihomed IPv4 host (as distinct from multihomed IPv4 network).
The host will typically have multiple interfaces, multiple IP
addresses, and, at least as we do things today and without other
changes in the architecture, only one name.   One could change
the latter, but having the typical application know about
multiple interfaces is, in most cases, fully as bad as knowing
about the addresses -- one DNS name per interface is more or
less the same as one DNS name per address.

Now the application has to pick which interface to use in, e.g.,
opening a connection to another system.  Doing that optimally,
or even effectively, requires that it know routing information.
But requiring the application to obtain and process routing
information is worse than whatever you think about its using IP
addresses -- the latter may be just a convenient handle ("blob")
to identify what we have historically called an interface, but
having the application process and interpret routing information
is completely novel as far as the applications layer is
concerned (as well as being a layer violation, etc., etc.) and
requires skills and knowledge that application writers rarely
have and still more rarely should need to use.


At least to me, that is the key architectural problem here, not
whatever nasty analogies one can draw about IP addresses.

    john

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf