[dns-operations] Vista implements a bizarre DNS server selection algorithm from RFC3484?

Patrick W. Gilmore patrick at ianai.net
Fri Mar 6 15:36:39 UTC 2009

On Mar 6, 2009, at 9:18 AM, Joe Greco wrote:

> This whole thing is a specific case of a much more generalized  
> problem,
> which of course is determining the general topology of the network for
> efficiency and performance purposes.  We've seen this repeatedly.   
> Gamers
> want the closest server for interactive responsiveness (low  
> bandwidth/high
> PPS); many games simply use ping time.  P2P networks have attempted  
> various
> strategies, and may simply not care too much if they're fetching  
> content
> from across an ocean even when the data is available from a closer  
> source.
> We've saddled large file downloaders (think OS ISO images) with  
> having to
> determine the best site to use.  The vastly varying speeds of  
> sites is a great example.
> Given that IP(v4) space is delegated in a regional manner, it  
> wouldn't be
> completely insane to use that knowledge to try to optimize for a  
> closer
> server.  Coupled with the client's *actual* IP address, one could  
> then use
> it to pick the closer server.

Unfortunately, that doesn't always work.  Many multi-nationals use,  
say, RIPE space in Asia, or APNIC space in the US.  This is common  
enough to make using geography based on allocation wrong (sometimes  
spectacularly wrong) enough of the time to probably wash out any gains.

> Of course, a GSLB system at the other end may be trying to do the same
> thing, based on the IP address of the recurser in use, which we all  
> know
> has some ins and outs.
> I guess the real question is why we have failed to design and  
> implement
> a standard to allow both clients and servers to specify, learn, and/or
> infer some useful information about topology and performance that  
> would
> allow programs to automatically make intelligent decisions in an  
> automated
> manner that would also allow configuration by administrators.

Is that a good idea?

One of the issues with the idea of a client-side making a decision on  
which end point to reach is the assumption the server-side is not  
smart enough to figure out the best resource allocation of its own  

If you make that assumption, fine.  But even if you assume the server- 
side has any intelligence at all, or even is just allocating things  
randomly, then doing anything other than blindly accepting the  
server's decision is counter-productive.

And since we have no way to signal "this server knows what it is  
doing" vs. "this server is stupid", I think the safer assumption is  
the server is doing something intelligent, or at least random.


More information about the dns-operations mailing list