Many of you might have wanted an internet page to load up on your browser more quickly than it does already. In this article, you will know how to improve your page loading time significantly. For those of you who know what DNS is all about, you might be wondering how a DNS could possibly be related to speeding up your internet browsing. Well, with web pages become more and more complex, and number of new websites coming up every day, DNS lookups can actually become a serious overhead. However, using an optimized DNS lookup, we can significantly decrease DNS lookup latency and hence provide a faster browsing experience.
What is a DNS?
For those unaware of the term, A DNS (Domain Name System) is used to map domain names to addresses on the internet known as IP (Internet Protocol) addresses. An IP address is an address by which a computer can connect to another location on the internet. Since there are thousands of unique addresses on the internet, each represented by a unique sequence of numbers, remembering the address of a particular location is a tough job. Thus, addresses on the internet are also assigned specific domain names, which can be remembered easily. A DNS simply translates the domain name to its corresponding IP address.
How does a DNS lookup work?
To understand the latency involved in a DNS lookup, one should have a clear idea how a DNS lookup works. When someone requests for a domain name in the browser, for example, “www.example.com”, the browser actually requests for “www.example.com.”. The dot (.) at the end of the domain name represents what we call the “root” of the internet. Once the domain name is requested, the browser will first ask the operating system whether the corresponding IP address is already known, i.e. if it is already configured or present in the cache of the computer. If it is, the operating system returns it to the browser.
However, if it is not known, the OS is configured to query a specific Resolving Name Server, which then forwards the query to the Root Name Servers. The dot (.) at the end of the domain name (as in “www.example.com.”) tells the Resolving Name Server where to find the Root Name Servers. The Root Name Servers then direct the Resolving Name Server to the Top Level Domain (TLD) Name Servers that keep records of Authoritative Name Servers (ANS) under which the specific domains are registered. Using this information, the Resolving Name Server queries the ANS for the IP address which correspond to the domain “www.example.com” and returns the result to the OS. The OS finally forwards it to the browser and the browser takes you to “www.example.com”.
So now that you know about the complex process involved in querying for a domain name in the browser, it’s time to talk about what causes latency, or in a more general term, delay in a DNS lookup. The latency is caused generally by two components –
- Latency between client and Resolving Name Server, usually caused by various factors like geographical distance between client and server machines; network congestion; packet loss and long retransmit delays; overloaded servers, denial-of-service attacks and so on.
- Latency between resolving servers and other Name Servers, caused mainly due to cache misses, underprovisioning and malicious traffic.
Google Public DNS
It is a free to use, global DNS resolution service that you can use as an alternative to your current ISP’s DNS. To change your current DNS, configure your network settings to use the IP addresses 220.127.116.11 and 18.104.22.168 as your DNS servers. For more information, see here.
Google Public DNS implements several approaches for speeding up DNS lookup times.
- It prevents underprovisionining and malicious attacks by provisioning servers adequately to handle heavy traffic.
- It prevents Denial of Service attacks by implementing several approaches to minimize the chances of successful attack. See here for more information.
- It implements Load Balancing for shared caching and provides global coverage for proximity to all users. See here.
For the above mentioned reasons, Google’s Public DNS significantly speeds up internet browsing speeds by providing faster DNS lookups.
Though there are other Public DNSs available, Google DNS provided us with the best results on a DNS Benchmark tool, DNSBench, based on our network. The figure above clearly shows Google’s Public DNS having the least response time.