17

I'm wondering who is doing DNS geo location for google.com? By request geo location I mean detecting the location of the user, calculating the nearest server farm to his location, and then routing the request to selected location.

We are evaluating several offers from different vendors for this service and I thought I should know what the big boys are using.

Andrew Marshall
  • 414
  • 4
  • 13
Maxim Veksler
  • 2,555
  • 10
  • 27
  • 32
  • So you're looking for `DNS LOC Records` or `IP GeoLocating`? – Chris S Jul 18 '10 at 14:46
  • 1
    I've been extra careful not to mention IP in any part of my question as I know people often get confused between the 2 terms. I'm not talking about translating IP to location but rather detection user location and serving him requests from the nearest server farm, Something google does extremely well and I'm wondering how? (Obviously this works by GEO IP as well, but that is irrelevant to the subject of the question) – Maxim Veksler Jul 18 '10 at 15:49
  • It's not GeoIP nor DNS. It's a routing protocol. – Chris S Jul 19 '10 at 00:19

4 Answers4

11

Google has documented their methods at least partially in their paper Moving Beyond End-to-End Path Information to Optimize CDN Performance. It is largely based on latency to various ASes according to this paper.

Kyle Brandt
  • 82,107
  • 71
  • 302
  • 444
5

Google uses anycast to route DNS traffic to the closest server farm.

Zypher
  • 36,995
  • 5
  • 52
  • 95
4

If you're looking for a IP GeoLocation database you can download one for free from MaxMind. They also offer a non-free version with higher accuracy (though the free one is good enough for most uses).

There are several services out there that are free as well.

I suspect Google has their own database and does not rely on an external company to provide the information.

Edit:
The process of sending traffic to the nearest server has basically nothing to do with DNS. It's a BGP routing protocol called Anycast. You'll need to contact some large hosting providers to coordinate that. Google has their own data-centers, they're not hosted.

Chris S
  • 77,337
  • 11
  • 120
  • 212
  • 1
    No, I'm looking for a service that could route users requests from different parts of the world to different servers farms I will deploy - This in order to reduce latency for the client (because speed matters !) – Maxim Veksler Jul 18 '10 at 15:23
  • To clarify: It should route the user to the closest farm to his location – Maxim Veksler Jul 18 '10 at 15:47
2

Google use their own servers and quite possibly custom software. Some companies like UltraDNS can offer the same service, but it can be quite expensive, there might even be different pricing tiers depending on how much accuracy you require (city/country).

gekkz
  • 4,219
  • 2
  • 20
  • 19