Akamai powers and protects life online. Leading companies worldwide choose Akamai to build, deliver, and secure their digital experiences — helping billions of people live, work, and play every day. Akamai Connected Cloud, a massively distributed edge and cloud platform, puts apps and experiences closer to users and keeps threats farther away.
DNS traffic management, or DNS load balancing, is the practice of distributing Domain Name System (DNS) traffic or responses across multiple locations or service endpoints and resources to improve performance, ensure availability, and enable faster scalability. Effective DNS traffic management directs responses based on factors like server load, geographical location, server health, or predefined rules and policies.
What is DNS?
The Domain Name System is integral to connecting all the users, devices, applications, websites, web resources, and other services that operate on the internet. Domain names are the easy-to-remember names of websites and services, like example.com, that users can type into a browser to load a web page. DNS translates domain names into machine-usable IP addresses, a string of numbers that enable internet-connected devices to find the optimal website, device, or resource location.
What is DNS traffic?
DNS traffic is the queries and responses between devices and DNS servers. When a user clicks on a link or types a domain name into a browser, the user’s device searches for the corresponding IP address by sending a DNS request or query to DNS servers. Recursive DNS servers initially receive the request and provide a response if the data is already stored within cached memory based on previous requests. If the recursive DNS server can’t resolve the query, it is sent to other nameservers, or ultimately to an authoritative DNS server that keeps the official DNS record of the IP address for the domain name. Trillions of DNS queries are made every day around the world, resulting in huge volumes of DNS traffic.
What causes DNS traffic problems?
Massive amounts of DNS traffic can cause a variety of problems. DNS servers that become overloaded with too many requests may slow down or crash. High volumes of DNS traffic can result in slower response times across multiple servers. DNS traffic sent to servers in distant geographic locations can result in slow responses as well.
DNS responses need to be optimal for the user. DNS traffic management must understand the location of the user, the health of the service locations that can deliver user requests, and internet conditions between the user and each service location.
Disruptions or suboptimal service locations can have a devastating impact on businesses and users. For example, poorly managed DNS traffic may cause a lag on an ecommerce site, causing users to abandon the site for a competitor. Crashing DNS servers may cause websites to become slow or unavailable, hindering productivity or rendering a business unavailable on the web. As a result, many businesses have turned to DNS management solutions to effectively balance service loads and steer DNS traffic to the optimal servers.
How does DNS traffic management work?
When a client device initiates a DNS query, a DNS traffic manager selects an IP address from an available pool of IP addresses based on certain criteria, predefined rules, or algorithms. DNS traffic management or steering criteria fall into static and dynamic categories.
Static DNS traffic steering criteria are based on attributes and preferences that do not change, or that change infrequently.
- Failover. Failover policies prioritize primary and secondary servers located in different regions. If the primary server fails or is unresponsive, the traffic manager will automatically steer traffic to the secondary server.
- Load balancing. DNS load balancing distributes DNS traffic across multiple endpoints. Round-robin load balancing distributes traffic evenly among endpoints, while weighted round-robin distributes more traffic to servers that are weighted more heavily. For example, weighted round-robin policies may be set to send 60% of traffic to on-premises servers and 40% to cloud-based servers.
- Geolocation. Geolocation steering involves sending DNS traffic to servers based on the location of the DNS query source. For example, queries originating in Spain or France may be sent to a pool of servers based in Europe, while queries from Thailand and Malaysia may be sent to servers in Singapore.
- Preferred ISPs. ISP prefix steering directs DNS traffic to the servers of a preferred internet service provider.
- ASN. Steering based on autonomous system numbers (ASNs) enables traffic to be sent to specific endpoints that may be within the same network, to reduce latency or to enable redundancy and failover.
Dynamic DNS steering criteria are based on performance conditions that may change constantly.
- Availability. DNS traffic managers may route queries to servers based on the health of the network and the percentage of time that DNS server resources are available.
- Reliability. DNS traffic management may lean more heavily on servers or systems that have demonstrated greater reliability with lower mean time between failures (MTBF).
- Latency. Traffic may be routed around servers that are experiencing latency.
- Throughput. DNS traffic management will prioritize servers with higher throughput or bandwidth.
- Packet loss and jitter. A DNS traffic manager may avoid or send less traffic to DNS servers experiencing higher rates of packet loss or jitter.
Superior DNS traffic management solutions use real-time monitoring to intelligently route traffic to the optimal resources to improve availability, reduce response times, increase scalability, and enhance the ability to handle traffic spikes or server failures.
What are caching and TTL?
Caching and time-to-live (TTL) records are essential tools for DNS traffic management. To speed DNS resolution and minimize traffic to other DNS servers, recursive DNS servers store answers to previous DNS queries in cache memory, enabling them to quickly produce IP addresses for frequent and repeated domain requests. Each DNS record within a cache has a TTL value that determines how long the information is kept. Short TTL values require DNS servers to update the records more frequently, and dynamically respond to internet and service conditions. Higher TTL values reduce traffic but increase the risk that DNS records may become out of date. Finding the right balance when managing caching and TTL can help to improve overall DNS performance.