DNS
DNS (Domain Name System) is a distributed hierarchical database that translates human-readable domain names (example.com) into computer-usable IP addresses (93.184.216.34). Thousands of name servers worldwide cooperate to provide fast and reliable name resolution.
βΆArchitecture Diagram
π ProcessDashed line animations indicate the flow direction of data or requests
People remember names, not numeric addresses. But the deeper problem is that infrastructure changes constantly: servers move, load balancers are replaced, regions fail over, and IP addresses change far more easily than user-facing names should. If names were tied directly to raw addresses, every infrastructure change would force clients and users to relearn how to reach a service. A single central file mapping every hostname to every address also collapses once the network grows beyond a tiny scale. DNS exists to separate the stable thing humans use from the unstable thing infrastructure uses under the hood.
The early internet used centralized host lists such as HOSTS.TXT to map names to addresses. That worked when the network was small, but once scale and distribution increased, updating and redistributing a single file became a serious bottleneck. DNS was designed to solve that scaling problem through delegated authority and hierarchical distribution. Its success came not from making naming prettier, but from making naming administratively and operationally survivable at internet scale. That is why DNS remains so deeply embedded in cloud operations, service discovery, mail routing, and traffic management today. It is the layer that allows infrastructure to change without forcing users to change with it.
When an application needs to resolve a name, it usually asks a recursive resolver rather than walking the hierarchy itself. That resolver follows the chain as needed, consulting root servers, top-level domain servers, and then the authoritative servers responsible for the final answer. The result is cached for a TTL so repeated lookups do not have to repeat the full process every time. Authoritative servers act as the source of truth for a domain, while caches trade perfect immediacy for speed and scale. This design lets operators keep the same public name while changing the IPs, load balancers, or edge endpoints behind it, which is one reason DNS is so fundamental to modern infrastructure operations.
DNS and IP occupy different roles in addressing. IP is the numeric destination that packets actually travel toward; DNS is the translation layer that converts a human-readable domain name into that number. A DNS response is meaningless without IP to route the packet, and without DNS you would have to memorize every IP address directly. DNS and DHCP both spare users from manual configuration, but they handle different steps. DHCP assigns a device its IP address, gateway, and network settings when it first joins a network. DNS then uses those settings to translate domain names into IP addresses after the device is configured. In sequence, DHCP comes first, and the DNS server address itself is typically one of the values DHCP provides. DNS and ARP share the pattern of resolving one identifier from another, but they operate at different scopes. DNS maps domain names to IP addresses across the entire internet, while ARP maps IP addresses to MAC addresses within a single LAN. A DNS failure shows up as name resolution errors; an ARP failure shows up as an inability to reach specific devices within the same subnet. DNS and CDN both appear in the path a request takes to reach a service. DNS answers the question of where a name should point right now; CDN answers the question of from which nearby edge content should be served most efficiently. CDN uses DNS to steer users toward the closest edge node, so the two work together rather than being alternatives.
DNS is essential wherever you want stable names in front of changing infrastructure: websites, email delivery, internal service naming, load balancer cutovers, and CDN routing. Operationally, the critical skill is not just knowing record types but understanding propagation and caching behavior. If you are planning a failover or migration, TTL choices determine how quickly clients stop trusting old answers. If TTLs are too short, you lose cache efficiency and increase query load; if they are too long, infrastructure changes take longer to become visible to users. Good DNS operations therefore mean using naming as a layer of indirection that absorbs infrastructure change cleanly.