GeoDNS (or GeoIP) is a patch for BIND DNS server software, to allow geographical split horizon (different DNS answers based on client's geographical location), based on MaxMind's geoip (commercial) or geolite (free) databases.
The objective of this technology is to enhance the domain name lookup by address resolution based on geographical location of the client. For example a website might have 2 servers, one located in France and one in the US. With GeoDNS it's possible to create a DNS record for which clients from Europe would get IP address of French server and clients from US would get the American one. This makes network access faster and possibly cheaper, compared to directing all users worldwide to the same server or to multiple servers using random distribution, such as round robin.
As this technology is DNS based, it is much easier to deploy than BGP anycast. It does not require any support from the ISP and will not break existing connections when the server selected for a particular client changes. However, as it is not intimately tied into the network infrastructure it is likely to be less accurate at sending data to the nearest server.
The requester that the resolving DNS server sees is typically not the end user, but the DNS server of the user's ISP doing a recursive lookup, and the recursive DNS server caches the result. As ISPs typically arrange for users to use DNS servers geographically near them, the system usually works nonetheless.
- https://kb.isc.org/docs/aa-01149 BIND9 Documentation for GeoIP feature
- http://www.caraytech.com/geodns/ Homepage of geodns
- http://news.constellix.com/dns-coach-digs-deeper-into-geoip-infographic/ Geo-IP Info graphic