Return two locations or low TTL [was: DNS caches that support partitioning ?]

Mark Andrews marka at
Tue Aug 21 00:05:00 UTC 2012

In message <20120820124734.GA14383 at>, Chris Adams writes:
> Once upon a time, Patrick W. Gilmore <patrick at> said:
> > * How many applications are even aware multiple addresses were returned?
> Most anything that supports IPv6 should handle this correctly, since
> getaddrinfo() will return a list of addresses to try.
> > * How do you guarantee sub-second failover when most apps will wait longer 
> >   than one second to see if an address responds?
> That's a bigger issue.  Also, for web services, the application might
> wait, but the end-user usually won't (if the site doesn't come up in a
> second, they move on to the something else).

You file RFE / bug reports against the clients for having crappy
fail over behaviour.  It isn't hard to write TCP based code that
falls over to the next available server.  You don't have to wait
for connect to fail before you attempt to connect to the next
address.  You just use a smarter connect loop.

UDP code is a little harder as the work needs to more spread though
the code than just replacing the dumb connect loop with a smart
connect loop.

Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka at

More information about the NANOG mailing list