World of techies, Making money online, Adsense shortcuts, Mobile/computer tweaks, Hack and Crack tutorials...

Thursday 21 April 2011

On 01:39 by 9aija360   No comments
What exactly are DNS resolvers?

DNS resolvers are simply the part of Domain Name System which are responsible for resolving a perticular domain name. E.g take an example – you want to open http://mail.google.com on your BSNL broadband connection. Here, your system will ask DNS resolver of ISP i.e BSNL – for the IP address of mail.google.com – next it will wait for reply.

DNS resolver – upon reciving a "DNS query" will try to look into it's cache to see if it knows IP address for mail.google.com – assuming you opened for the first time – it will not find IP in cache. Next, it will look into the right most part to find what is the first level domain associated with that hostname – which is .com in case of mail.google.com

Now, BSNL DNS resolver holds the IP address of all gTLD root servers, and it will go to the nearest one and will ask for the next part – "google.com". Here root server will pass a non-authoritative reply telling it ns1,ns2,ns3 and ns4.google.com are responsible for the DNS zone of "google.com".

So next, DNS resolver of BSNL will go any one of those (depending on nearest and efficient route) and will ask for "mail.google.com" IP address, which will be provided by the authoritative DNS servers of Google along with a TTL. Next, DNS resolver of BSNL will pass you the IP address of mail.google.com.

What exactly TTL and DNS caching means?

TTL means Time To Live. It make system more efficient by caching off the DNS records. When you ask for IP address of mail.google.com to BSNL's DNS resolver, once it resolves the hostname by querying root DNS servers, and further the Google's DNS server – it caches that record. DNS resolver keep the record in cache based on the time mentioned in TTL (in seconds).

So if mail.google.com has a TTL value of 3600 – it means DNS resolver can keep this hostname to IP maping for 1hr period. Based on the standard, DNS resolver is permitted to discard these packets before completition of TTL, but under no condition they are permitted to keep these records for more time then mentioned in TTL.

So what exactly is problem with DNS for Indian users?

Problem is with DNS resolvers. Most of ISP's DNS resolvers are not really optimised and perform poor during peek load. They are not optimised to keep all records in cache and thus, they keep on dropping cache data well beyond the expiry of TTL, apart from that – most of DNS resolver become non-responsive during peak load which gives – "name not found" error, even when you are connected to Internet.

So, what's the way out?

Way out to this problem is – using other available DNS servers. Google recently started offering Free Public DNS resolvers to users across the world, which perform lot better then compared to ISP's DNS resolvers. The other popular option is OpenDNS. Based on my tests, I found OpenDNS is not very good way to issue since they don't have any server located in India, and they route all traffic via London or Singapore location – which increases latency significantly.

So which one is best DNS resolver for me?

I highly recommend using open source tool called Namebench which checks all available DNS resolvers to you, and find which is best in terms of performance by sending them over few thousand queries.

I personally prefer using Google DNS over OpenDNS because Google DNS replies in less time, apart from no crazy DNS redirection for non-existant domain names as what OpenDNS does – making situation little frustrating.

After you choose which DNS resolver to choose, you can change DNS servers in Windows as:

1. Click on the connection link near the bottom of screen.

2. Click on "Properties"

3. Under "General Properties" tab – select Internet Protocol (IPv4) and click "Properties".

4. Next, in the lower part of screen select the radio button – "Use following DNS server addresses:"

5. Next Enter the two DNS resolvers. Incase you use namebench, it will provide you with IP address of prefered servers, else you can use 8.8.4.4 & 8.8.8.8 for Google Public DNS, while 208.67.222.222 & 208.67.220.220 for openDNS.

Hope this will help you to fix DNS resolver issues and eventually a better experience on Internet!

Read more: http://www.hackersgangmohan.com/2011/03/how-you-can-improve-internet-experience.html#ixzz1Jwt8jhBR

0 comments:

Post a Comment