2

Currently, when a DNS client makes a request for a DNS record (say, www.example.com., it needs to traverse the DNS tree. It asks the root servers for the location of com., which it then asks for the location of example.com., which it then asks for the location of www.example.com.. Thankfully, much of this is cached.

If example.com. has multiple, geographically diverse NS records listed, my understanding is that these are listed in random order to avoid all queries going to the first (or last) NS record listed.

This would appear to imply that a DNS resolver in Australia could choose a NS record for a nameserver that's located far away, perhaps in Europe, when there may be another authoritative nameserver that is much closer.

So, my question is: Is there any provision within the DNS spec to allow DNS resolvers to select an authoritative nameserver that's local to them? The only way I can see to achieve this is to have the NS records behind an anycast address and do local resolution that way. Would this work? Is there any other option?

growse
  • 8,020
  • 13
  • 74
  • 115

1 Answers1

2

You're 100% spot on. Anycast is the only way to do this, DNS makes no provision for geographic selection of authoritative nameservers.

In fact, most of the root nameserver IP addresses are anycasted :)

Dennis Kaarsemaker
  • 19,277
  • 2
  • 44
  • 70
  • Does that imply that a sensible idea for adding nameservers for a domain is to have them all be anycasted to different / diverse sets of servers? Ie you'd have `ns1.dnsprovider.com` and `ns2.dnsprovider.com` both pointing at anycast addresses? – growse Nov 29 '13 at 11:51
  • Yes, I would anycast all nameserver IP addresses. – Dennis Kaarsemaker Nov 29 '13 at 19:20