The good old question arises again. Everything runs on the Internet nowadays, and we all wish we could have superfast Gigabit connection which can download files and stream 4K videos in a blink of an eye. I hope the day is not far when Gigabit connections become affordable, but today I’m going to help you with a simple trick which could make your internet a bit faster.
What is DNS?
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
Each device connected to the Internet has a unique IP address which other machines use to find the device. DNS servers eliminate the need for humans to memorize IP addresses such as 192.168.1.1 (in IPv4), or more multiple newer alphanumeric IP addresses such as 2400:cb00:2048:1::c629:d7a2 (in IPv6).
How does DNS work?
The process of DNS resolution involves converting a hostname (such as www.example.com) into a computer-friendly IP address (such as 192.168.1.1). An IP address is given to each device on the Internet. This IP address is necessary to find the appropriate Internet device – like a street address is used to find a particular home. When a user wants to load a webpage, a translation must occur between what a user types into their web browser (example.com) and the machine-friendly address necessary to locate the example.com webpage.
To understand the process behind the DNS resolution, it’s important to learn about the different hardware components a DNS query must pass between. For the web browser, the DNS lookup occurs “ behind the scenes” and requires no interaction from the user’s computer apart from the initial request.
Other Articles you might find interesting :
The eight steps in a DNS lookup:
- A user types ‘example.com’ into a web browser and the query travels into the Internet and is received by a DNS recursive resolver.
- The resolver then queries a DNS root nameserver (.).
- The root server then responds to the resolver with the address of a Top Level Domain (TLD) DNS server (such as .com or .net), which stores the information for its domains. When searching for example.com, our request is pointed toward the .com TLD.
- The resolver then requests the .com TLD.
- The TLD server then responds with the IP address of the domain’s nameserver, example.com.
- Lastly, the recursive resolver sends a query to the domain’s nameserver.
- The IP address for example.com is then returned to the resolver from the nameserver.
- The DNS resolver then responds to the web browser with the IP address of the domain requested initially.
Once the eight steps of the DNS lookup have returned the IP address for example.com, the browser can request the web page:
- The browser makes an HTTP request to the IP address.
- The server at that IP returns the webpage to be rendered in the browser (step 10).
Now if we could speed up this process, then the lag between the request and response could be minimized. Let’s see how we can achieve this through the use of various DNS servers.
We’ll consider major DNS providers in this post.
The domains we’ll be testing –
Before we begin, here is a result of my Speedtest
The results are as follows –
As we can see from the results that Google DNS tops when it comes to popular domains but takes a beating when accessing niche websites. Cloudflare and OpenDNS seem to be very stable in their respective segments. Quad9 is a bit unstable as of now, and Verisign comes in last.