askvity

What is DNS Traffic Control?

Published in DNS Traffic Management 3 mins read

DNS Traffic Control is a mechanism that uses the Domain Name System (DNS) to direct network traffic to different servers based on pre-defined rules. It's primarily used to provide active/passive failover or active/active load distribution between multiple target IP addresses for the same service. Importantly, it does not offer true load balancing in the advanced sense.

Key Features of DNS Traffic Control:

  • Active/Passive Failover: If one server fails, DNS automatically directs traffic to a backup server, ensuring high availability.

  • Active/Active Load Distribution: Distributes traffic across multiple servers, but unlike sophisticated load balancers, it operates on a DNS resolution level rather than a connection-by-connection basis. This means the traffic distribution is based on DNS requests, which are typically cached.

  • IP Address Dependence: Relies on stable and known target IP addresses. This differs from techniques that can dynamically discover servers.

How DNS Traffic Control Works:

  1. DNS Query: A client makes a DNS query to resolve a domain name (e.g., www.example.com).

  2. DNS Server Logic: The DNS server, configured with traffic control rules, evaluates these rules to determine which IP address(es) to return. This evaluation can be based on factors like server health checks or a simple round-robin distribution.

  3. IP Address Response: The DNS server responds with one or more IP addresses.

  4. Client Connection: The client connects to the IP address(es) returned by the DNS server.

Limitations Compared to True Load Balancing:

While DNS Traffic Control can distribute traffic, it has significant limitations compared to dedicated load balancers:

  • Caching Issues: DNS responses are often cached by clients and intermediate DNS servers. This means traffic distribution is not real-time, and changes to the DNS records may take time to propagate. If a server goes down, clients may still try to connect to it based on cached DNS information until the cache expires.

  • Lack of Session Persistence: DNS traffic control doesn't maintain session persistence. Each DNS request could potentially return a different IP address, which can disrupt user sessions.

  • Limited Monitoring and Control: DNS traffic control typically offers less sophisticated monitoring and control compared to dedicated load balancers.

Use Cases:

  • Simple Failover: Redirecting traffic to a backup server if the primary server is unavailable.

  • Basic Geographic Load Balancing: Directing users to servers in their region.

  • Initial Traffic Distribution: Distributing new users to a set of servers.

Example Scenario:

Imagine you have www.example.com hosted on two servers:

  • Server A: 192.0.2.1
  • Server B: 192.0.2.2

With DNS Traffic Control, you can configure your DNS server to:

  • Normally return both 192.0.2.1 and 192.0.2.2 (allowing the client to choose, typically using round robin or connection attempts).
  • If Server A is down (determined by a health check), only return 192.0.2.2.

In summary, DNS traffic control offers a simple and cost-effective way to manage traffic distribution, but it's crucial to understand its limitations and use it appropriately, especially compared to a real load balancer appliance.

Related Articles