How to Send Visitors to Closest Server Using DNS

domain-name-systemhostnameip

Is there a way to localize dns entries? Meaning, that users from asia resolve mydomain.com to another ip than users from usa or europe.
This would be helpful to give the users the server nearby. DNS is the only technique used so far, meaning I cannot place some softwarerouting or central system replacing the dns to solve this.

Best Answer

Yes, there are currently two popular solutions to this problem.

The first is called Anycast, where the same IP block is literally in use in multiple locations around the world. That is to say, the name servers for your domain always return the same IP address, but that IP address is actually assigned to more than one set of physical servers.

You can read more about it here http://en.wikipedia.org/wiki/Anycast

The second technique again involves AnyCast, however this time, the IP address range being anycasted referes to our name servers themselves. As the nameservers will only requests from clients who they are closest too (as determined by the magic of BGP), they can themselves return IP addresses that are logically local to the client.

An example of this is google's l.google.com domain

From a host in Australia

crimson:~ dave$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com is an alias for www-notmumbai.l.google.com.
www-notmumbai.l.google.com has address 66.249.89.99
www-notmumbai.l.google.com has address 66.249.89.147
www-notmumbai.l.google.com has address 66.249.89.103
www-notmumbai.l.google.com has address 66.249.89.104

From a host in the US

[dave@odessa ~]$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.95.99
www.l.google.com has address 74.125.95.147
www.l.google.com has address 74.125.95.104
www.l.google.com has address 74.125.95.106
www.l.google.com has address 74.125.95.105
www.l.google.com has address 74.125.95.103

So, the CNAME for www.google.com resolves to www.l.google.com, but when you resolve that, depending on your location, your client receives a different set of IP addresses. This is because the name server that received the request for www.l.google.com was the local nameserver, relative to the client.

Related Topic