Subject: RE: network controls are necessary

From: "Tony Li" <[email-masked]>
Date: Sun, 8 Dec 2002 14:31:12 -0800

|   > For the sake of a loosely coupled system, I'd say that 
|   the applications
|   > shouldn't ever worry about locators.  And this is 
|   regardless of whether
|   > the host is implementing the policies or the SBR.
|   
|   This would be the diffserv paradigm rather than an address selection
|   paradigm. Do we have enough information to make this choice at this
|   time?

Yes, I think so.  It's not a matter of low level information, it's
a matter of architectural principles.  Address selection is pretty
clearly a tight coupling of the application to network layer information.
Any such coupling hampers an architecture because one cannot be changed
without the other changing.  This is the same reason that we create API's,
system call interfaces, chip data sheets, etc.

Simple well defined interfaces are a Good Thing.

|   > |   However, if we go down the path of requiring 
|   applications to change, we
|   > |   should make very, very, very sure this is a one time 
|   thing and we
|   > |   build in everything we need for IPv6 - IPv15.
|   
|   > How big will identifiers be in IPv9 and do you want to 
|   hard code that
|   > into your application?  Ans: make it opaque.  The 
|   application asks for
|   > a connection to a hostname
|   
|   Yes! Can we all agree on this?
|   
|   > only.
|   
|   The application probably wants to include some additional 
|   information,
|   such as the type of service that it needs/wants. 

Exactly.

|   Also, we 
|   may want to
|   consider including a name space or address family 
|   identifier. That would
|   make using IPv4 and IPv6 addresses as identifiers more 
|   easily backward
|   compatible and knowing the nature of the host name makes 
|   selecting the
|   right name to address mapping service easier.

And this seems exactly backwards.  If you can get your TCP
connection to www.yahoo.com, why do you care if it's over IPv6,
IPv4 or CLNP?  

To put it more clearly: if we can make the system work with
less information on the interface between application and stack, 
we should.  Yes, everything you take out of the interface will
limit the power of the application, but we need to balance that
against the complexity that it introduces.

Nothing is perfect until you have removed all that can be removed.

Tony

---

From: Randy Bush <[email-masked]>
Date: Sun, 08 Dec 2002 14:57:35 -0800

> against the complexity that it introduces.

hourglass, a well-known win, revisited

randy

---

From: Iljitsch van Beijnum <[email-masked]>
Date: Mon, 9 Dec 2002 00:42:23 +0100 (CET)

On Sun, 8 Dec 2002, Tony Li wrote:

> |   Also, we may want to

> And this seems exactly backwards.

Hence the term "backward compatibility".

> If you can get your TCP

Actually I'm writing an article about the adoption of IPv6 so I'm
surfing the web while keeping an eye on my "tcpdump -i gif0 ip6 port 80"
output to see how many sites are v6 enabled. But that's not really
germane to this discussion.

What I was referring to was an AFI for the identifier, not for the
locator. So I don't care about whether the packets end up being IPv6,
IPv4 or CLNP, but I do care that "www.yahoo.com" is a FQDN and not an
IPv4 address, an IPv6 address, a CLNP NET, or a phone number. I want to
know it's a v4 or v6 address so I can build TCP packets that are
compatible with today's IPv4 or IPv6 TCP packets, even if I then choose
to transmit them over CLNP. I want to know if it's a phone number so I
can apply the processing best used for phone numbers rather than feed it
to the DNS and get nothing back.

> Nothing is perfect until you have removed all that can be removed.

On the other hand, something that can't be expanded later to accommodate
new needs isn't very perfect either.

Iljitsch