Thursday, February 11, 2010

Quest for the right DNS Service


So I've (had) been using OpenDNS for the past year or so. It worked great for me in the US - and I wanted to continue using that here in India as well. This is a tale of domain names, pr0n sites (or my attempt to provide a safe internet at home), latency, youtube and privacy.

To those not in the know, DNS or Domain Name System, essentially maps a name like www.google.com to the actual IP address of the machine(s) that www.google.com resides on. So instead of remembering 209.85.153.104 you remember www.google.com. I'm simplifying this - but it gives you a fair picture.

The DNS lookup happens through a series of servers on the internet. When you configure your computer (or your router) to connect to the internet - you specify something called as a Primary DNS and a Secondary DNS (some routers even offer a Tertiary DNS). Usually these DNS servers are hosted by your ISP.

Sometime down the line there came third party DNS servers like OpenDNS (www.opendns.com) - based on a freemium model. Recently Google also launched their free DNS service (8.8.8.8).

The big question is - Should you be using one of these? Or do you stick to your existing DNS service.

When in the US - I had started using OpenDNS - primarily because it offered better response times, some level of adult content blocking (by virtue of not resolving said domain names), and well, I like to try out new stuff!. The adult blocking worked well in the US - but India was another story and I'll come to that in a bit.

Thus began my quest to answer the question "Which DNS Service should I use in India". The network at home looks something like this. I setup OpenDNS - and things seem to be working fine - till I noticed youtube performance not really being upto mark. I even got my broadband speed upgraded to try and deal with that - but the problem continued.

BUT,  I asked myself the same question that you're wondering - how does a DNS service make a difference to overall throughput? You're right - it shouldn't (apart from the time delay introduced due to the initial lookup), but what happens is this: If you observe the bottom of the browser window - when you click on a youtube video - you will see a series of look-ups happening - this actually will slow things down if your DNS takes time to respond to each of the look-ups. This article explains this in a more detailed manner. Essentially, as per the article, there was a problem early on with OpenDNS and youtube. I was not sure if that was also affecting me. The other problem I noticed was that OpenDNS did not block adult sites as effectively as it did in the US (I was just testing - honest!).

Around the time I was struggling with this - Google announced the launch of their DNS service - so I quickly switched to using Google DNS (hey - google pretty much knows everything about me - so why not even everything I browse as well :-). I did notice youtube performance improve - a couple of days after I switched to Google DNS. 

Still not being truly convinced - I continued the quest for the perfect DNS for my network and ....I 'll conclude the results of that in my next post: Benchmarking different DNS servers (expect some nice graphs in that one :-).