> > first we would need a naming system that is fast and reliable.
> 
> and referrals of addresses trades off reliability for a little speed. 

when you're trying to complete a phone call, or trying to coordiate
between hundreds of processes in a distributed computation, a 10 
second delay in your message being transmitted due to a DNS lookup 
is simply not acceptable.  (heck, it's not even acceptable when
browsing the web from over a cell phone...)

> As
> you note here, some DNS servers are two faced, so how does referring
> addresses actually work in that case? The referring node would have to
> know the entire topology including the DNS server boundaries to be able
> to send the right addresses (if it could even get a complete list). It
> would be much simpler for the app to send the name string and let the
> receiver find the traget address list from its own topological
> perspective.

You're missing something important, which is that the DNS server doesn't
have a much better idea of which addresses work for the app than 
the app itself does, especially given that the DNS query might have
been routed through one or more intermediaries in different parts of the
topology.  Two-faced DNS works only in very limited cases; it's not a 
general solution.  Regardless of whether the app gets its addresses
from DNS or a referral from a peer, it still has to guess about which
address is best.

> > no they won't.  clearly you live in a fantasy land where DNS
> > always works
> > perfectly and lookups take only microseconds.  in the real world, DNS
> > fails to provide the correct answer a significant part of the time and
> > lookups often take 10 seconds or more.
> 
> So apps should pass around a potnetially bogus list of addresses?

so DNS should pass around a potentially bogus list of addresses
while apps shouldn't?

DNS is just another way of doing address referrals.  It works well
in some cases, less well in others.  It never has been the only way 
to get addresses for a resource.

>  I am
> all for multi-party apps, but fixing the real problem with DNS seems
> like a better approach than a hack that will end up failing anyway.

you can't fix some of those problems, they're fairly fundamental
consequences of DNS's design.  for instance, the wide variation in
response times seems to be a direct result of having DNS widely 
federated and widely distributed and the resulting lack of any 
reliable RTT estimates in advance of many queries (so the party doing the 
querying doesn't know when to time out or fail over).  a lot of the 
unreliability (at least, last time I looked) seemed to be due to lots 
of zone administrators not knowing how to configure slave servers or 
glue records properly or to update the sequence numbers.  

this is what happens when you let everybody run their own servers.  
not that it was a bad decision overall, but it does make the idea 
that DNS is the only way that a app should obtain addresses sort 
of dubious.

> > > What about IPv6 changes that?
> >
> > nothing about IPv6 changes that, except that IPv6 has the built-in
> > expectation that an app may have to deal wth multiple addresses and
> > somehow choose one of those addresses without any knowledge as
> > which ones are more likely to work than others.
> >
> > and you think *I'm* in a fantasy land.
> 
> trying to build complex topological information directly into the app
> will fail more often than not.  Pass name strings and follow
> draft-ietf-ipv6-default-addr-select-08.txt. It will not be as fast, but
> it will be more reliable.

some apps will be better off doing this, but this is not a tradeoff 
that you are qualified to make for all apps. 

Keith
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to