Google's Network Topology

Jul 27, 2005 • 8:27 am | comments (3) by | Filed Under Google Search Engine

We do not know exactly the current setup Google has for its datacenters. But a thread at WebmasterWorld asks the question, "How are Google's servers connected?"

lammert provides an extremely helpful and well-written response to the question. I can not write it better myself, so I will quote it below.

Google operates a number of datacenters around the world. I am not sure about the exact number, but at the moment there are about 15. Each datacenter has one or more clusters, and each clusters consists of thousands of computers calculating the SERPs for your search query. When you do a query, you are connected with one of these data centers. Which one is determined by the DNS settings of the nameservers of Google called ...

The DNS servers play an important role in the load distribution and disaster recovery. When you request the IP address for, the DNS server first replies with a canonical name. This name has the form where X is a letter. At this moment the name is returned from the location where I am working, but this can vary depending on location and time.

Then a second query is done to translate this canonical name to an IP address. Every canonical name of the form returns 3 IP addresses which can be used by the browser to attach to the search engine.

Throughout the day, you are not connected to the same data center or cluster. This is, because Google has decided to set an extremely short TTL (time to live) time for the canonical name and IP address. They have a good reason for it. If a cluster is overloaded or brakes down, they can route requests to another cluster or datacenter. Within 5 minutes (the TTL of the IP addresses) all clients will request a new IP address for and all traffic is rerouted.

Some tests you can do yourself. This works on Windows 2000, but probably also on XP.

Start the command line program nslookup Type the command set d2 Type

The program will now query the Google nameservers for the canonical name and the IP addresses for Because debugging is switched on with the set d2 command, you will also see the TTL times for the canonical name and IP's.

I really enjoyed reading that reply.

Previous story: Yahoo! Publisher Network Coming Soon?
Ninja Banner
blog comments powered by Disqus