What is DNS Round Robin and How it Works? (Explained)

What is DNS Round Robin and How it Works? (Explained). A DNS server is one of the many components that come together in the background to make the Internet work. Firstly it makes sure we communicate with hardware, software and each other by helping to route our messages to the correct destination. How it happens in one way is with Round Robin load balancing technique. Hence let’s check out how this will help businesses to manage large amounts of traffic.

Let’s start with What is DNS Round Robin and How it Works? (Explained).

What is a DNS server?

A DNS stands for Domain Name System is considered the “phonebook” of the Internet. When a user types in a URL like google.com into their browser, the browser transmits the address to its DNS server using the Internet Protocol (IP). After that DNS goes through its records called DNS records.  As a matter of fact it matches the user friendly URL to its machine friendly unique addresses like 192.168.1.1 (in Ipv4 format) or ::ffff:c0a8:101 (in Ipv6 format).

Afterall the DNS sends you the corresponding IP address back to your user to be bundled into the packets they want to send.

Advantages of using DNS

    • Humans don’t need to memorize the numbers, digits, and characters.
    • Removes the need for you to type in digits that would have been prone to errors.
    • Additionally DNS server automates your task. Takes in requests, matches it with the corresponding IP address and then lets your client know where they should head on to.

So remember each network is assigned a DNS server by its ISP. This default DNS server can be changed if, for example, it is found to be too slow. In such instances, the user chooses to use Public DNS servers provided by companies like Google (8.8.8.8 or 2001:4860:4860::8888 and 8.8.4.4 or 2001:4860:4860::8844).

What is more, a business can set up their DNS server by including several of its internal servers. Whether their actual servers or virtual servers behind a single IP address.

Multiple servers behind a single IP address
The four servers can be assigned different IP addresses behind the one public IP address

Now, everything runs smoothly when there are just a few computers using the DNS server. Or they send a manageable amount of requests to access a single website. Problems only arise when you have larger numbers of clients to cater to and they flood your DNS server with continuous requests for IP address resolutions, especially when it is for one website.

This, quite clearly, requires a request handling procedure that optimizes the DNS server’s resources and prioritizes the requests. This is to make sure no requests are slow, dropped or lost.

Because of those instances we need a solution like round robin DNS.

The need for multiple servers

If one web server is being targeted with lots of requests, it can start serving pages slowly or may even go ahead and reject or time some of the requests out. In this case, a good solution would be to set up a secondary web server and load balancing server for incoming traffic using DNS solution. This method is also known as the poor man’s load balancing technique.

But, this also means you have to figure out a way of referencing two different servers using the same fully qualified domain name (FQDN). This is done by creating two separate “A” records that point to different IP addresses. In return the DNS server returns the first record it matches during its zone search.

What is a DNS Round Robin server?

Certainly the DNS server with round robin enabled will have a series of A records, each with the same domain name but a different IP address. Each time the DNS server is queried, it sends you the IP address to which it most recently responded to the back of the queue, operating on a loop.

Multiple A Records in DNS
DNS configuration of multiple A records with a range of 10.0.10.1 to 17

So primarily the term “round robin” is defined as a sequence or series that involves the participation of everyone, or in this case everything, in a group’s activity. When you  apply it to servers and IP addresses, it helps to distribute incoming connections equally between any number of networked hosts.

Well when it comes to DNS, a round robin DNS server load balances its incoming requests by forwarding them to a series of DNS servers in a set sequence. Once all the servers have received their assigned requests, the round robin process goes back to the first DNS server and starts the forwarding sequence all over again.

This all means that the replies are issued for the same FQDN.  As has been noted they contain several IP addresses which are ordered differently, in a cycled way, in each reply.

How does Round Robin work?

A round robin DNS works on a rotation basis. Where the IP address of a server is given out, and then it proceeds to being queued at the end of the list. After that the IP address of the next server is then given out and then it is too sent to the end of the list. This process continues to repeat within the limits of the number of servers that are being utilized.

What is DNS Round Robin and How it Works? Round robin DNS example
Example of a simple HTTP request with round robin DNS

In our example above, when Alice requests the IP address of a website, their DNS server sends back a reply that she should proceed to their server with an IP address of 161.58.228.45. When Joe follows up with the same request, he is sent to the server with the IP address of 161.58.228.46. Should there be a third user to follow up with the same request, they would be guided to the 161.58.228.47 server and a subsequent user would be sent back to the 161.58.228.45 server, and so on.

A detailed example of load balancing with Round Robin

Evidently you use Round robin DNS to balance the load of web servers that are located in various geographical locations. For instance, let us say your business has three identical homepages that reside on three servers that have three separate IP addresses, but only one domain name.

When a user types the domain name of your website, through a set of defined rules – aka protocols – the browser dials the DNS servers and asks for the address of the machines hosting your websites.

In return the DNS replies with the IP addresses that are sent back to the user along with some additional data and the browser renders the response.

DNS Process

In case there are more than one user requests, then the process will be as follows:

    • First user requests to access the home page and it is taken to the first IP address.
    • Second user accesses the home page is taken to the second IP address.
    • Third user requests to access the home page and is taken to the third IP address.
    • Then fourth user is forwarded to the first IP address.

After each step, the IP address that is handed out moves to the end of the list. For instance the fourth user is served with the first IP address and so on. Also, if one of the servers is unreachable, the client’s browser will try the next IP address returned by the DNS server. Following that it will repeat the process to get to the website. But, one in every number of servers will get a service not found message before they are moved on to the next server. Meaning that results in slow retrieval times and TTL timeouts.

This is the process of load balancing that is known as round robin DNS load balancing.

How to set up round robin DNS

Have a look at this short video which shows you how to set up your round robin DNS on a Windows server.

Important to note how at the end of the configuration, the IP addresses rotate down the DNS list each time a nslookup query is made.

Advantages of a DNS with round robin configuration

What are the advantages of using a round robin DNS? 

    • Easy to set up. Configuring a DNS round robin server is easy and there is no need for several network cards with unique IP addresses.
    • Shared servers. Here it allows users to own multiple servers without the need for extra hardware. In return it creates a solid backup plan for their websites and makes sure there is a quicker response time.
    • Every request gets a fair allocation of CPU. Traffic being redirected to each of the IP addresses, it would mean there would be no bias. No priority scheduling is involved which means it is all a “first come, first served” basis regardless of who sends the requests.
    • No issues of starvation or convoy effect. There won’t be any packets lined up awaiting access to a web server as they are shared among the servers. Also no resource shortages as they will be shared equally without imposing on each other.

Overall A DNS round robin gives you best performance in terms of average response time.

Disadvantages of DNS with round robin configuration

Worth noting that there are also a few disadvantages of using DNS with round robin configuration. These include:

    • Equal priority. Processes can’t be prioritized and must follow the round robin sequence.  Regardless of how important they may be.
    • Pretty straightforward but with the most basic of load balancing techniques it makes it limited to customizability. For example, it doesn’t have a native failure detection or fault tolerance and there is no dynamic load rebalancing.
    • No assurance to connect to the same server. No way to ensure connection to the same server twice, should it be required.
    • Timeouts are possible. Administrators don’t have a way of knowing when one of the servers is down. Since round robin can’t guarantee that the server corresponding to every given IP. Will still use the IP in its rotation and visitors will continue trying to reach a non active server or service and be denied the service.

Even though it is quite simple to employ, round robin DNS has some drawbacks that are inherited from TTL times and the DNS hierarchy itself. In return it results in erroneous address caching of failed servers and is quite difficult to handle.

Thank you for reading What is DNS Round Robin and How it Works? (Explained).

What is DNS Round Robin and How it Works? (Explained) Conclusion

A good reason to consider a round robin DNS in your network would be if you need a fault tolerance solution that will make sure you continue to offer services despite a server or two going down. Another good reason would be in anticipation of a spike in traffic or even scaling up of your services.

Either way, this means now is the time to implement a round robin DNS server and we can help with setting up your round robin DNS server. Just contact us to see how we can work together to create your fail-safe DNS solution.

Avatar for Liku Zelleke
Liku Zelleke

Liku Zelleke is a technology blogger who has over two decades experience in the IT industry. He hasn’t looked back since the day, years ago, when he discovered he could combine that experience with his other passion: writing. Today, he writes on topics related to network configuration, optimization, and security for Cloud Infrastructure Services.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x