Observation: If I use my local ISP DNS, or if choose a random Public DNS Server and ask it for www.google.com, I get a different results in one country than I do in another country.

For example: I used resolver1.google.com to query from a shell on servers in distinct locations, and I get distinct results

I can understand the authorative servers for google.com giving me different results based on my IP or GeoLocation or something like that, but how does a (possibly) caching DNS forwarder know how to differentiate? Even in the case that results were not cached and it has to ask to the Authorative server, my understanding was that the client IP is not forwarded by the DNS Server in such a request.


Google's resolvers are anycasted so the server you're querying also has a location somewhat close to your server's location. And the local Google resolver would get geo based answers from the authoritative DNS servers to cache for that region.

  • Thanks for that, but what I still don't understand is how resolver1.opendns.com ( gives different answers depending on where I query from. – Keith Jan 1 '13 at 19:42
  • I see that opendns also uses anycast, yet tracing to from both my clients goes to london, although one goes in via Level3 and the other by Tinet. – Keith Jan 1 '13 at 20:12
  • Ah, I think I have answered my own question with that last comment. I get my expected behaviour querying ultradns.net - same results regardless of where I query from. Thanks. – Keith Jan 1 '13 at 20:18

Anycast is generally what is used to accomplish what you're describing.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.