Glossary

DNS

TL;DR

DNS (Domain Name System) is the hierarchical naming system that translates human-readable domain names into IP addresses, enabling internet communication.


Concept

DNS (Domain Name System) is a hierarchical and decentralized naming system for computers, services, or other resources connected to the internet or a private network. It translates human-readable domain names (like www.example.com) into numerical IP addresses (like 192.0.2.1) that computers use to identify each other.

Key components and concepts of DNS include:

  1. Domain Name Space: Hierarchical tree structure with the root domain at the top, followed by top-level domains (TLDs), second-level domains, and subdomains.

  2. DNS Records: Various types of records that store different kinds of information:

    • A Record: Maps domain names to IPv4 addresses
    • AAAA Record: Maps domain names to IPv6 addresses
    • CNAME Record: Creates aliases for domain names
    • MX Record: Specifies mail exchange servers
    • TXT Record: Holds text information for various purposes
    • NS Record: Delegates DNS zones to authoritative name servers
  3. Name Servers: Servers that store DNS records and respond to DNS queries:

    • Root Name Servers: Top-level servers that direct queries to TLD servers
    • TLD Name Servers: Handle queries for top-level domains (.com, .org, etc.)
    • Authoritative Name Servers: Store DNS records for specific domains
    • Recursive Resolvers: Handle client queries by traversing the DNS hierarchy
  4. DNS Resolution Process: The process of translating domain names to IP addresses:

    1. Client queries recursive resolver
    2. Resolver queries root servers
    3. Root servers direct to TLD servers
    4. TLD servers direct to authoritative servers
    5. Authoritative servers return IP address
    6. Resolver caches result and returns to client
  5. DNS Caching: Temporary storage of DNS records to improve performance and reduce query load.

Benefits of DNS include:

  • User-Friendly Naming: Human-readable domain names instead of numerical IP addresses
  • Load Distribution: Multiple IP addresses for a single domain name
  • Redundancy: Multiple name servers for high availability
  • Flexibility: Ability to change IP addresses without changing domain names

DNS is commonly used for:

  • Website access and web browsing
  • Email delivery through MX records
  • Service discovery in cloud environments
  • Content delivery network routing
  • Load balancing and failover

Organizations configure DNS to direct internet traffic to their servers, manage email delivery, implement load balancing, and ensure high availability of their online services. DNS is fundamental infrastructure that enables the modern internet to function.

Related words: CDN HTTP Load Balancing