DNS - caitlinmallen/TechWiki GitHub Wiki

Domain Name System

  • Distributed, hierarchical naming structure for Internet Systems
  1. Root DNS Servers
  2. Top-Level-Domain Servers (TLD)
  3. Authoritative Servers

Root DNS Servers

  • Network of hundreds of servers in many countries around the world
  • 13 named authorities
  • Directly answers requests for records in the root zone and answers other requests by returning a list of the authoritative name servers for the appropriate TLD server
  • Critical since they are the first step in resolving readable host names into IP addresses

TLD Servers

  • ICANN responsible for assigning TLD's and works with other organizations to manage them
  • List TLD servers with nslookup commands
    • nslookup
    • type=ns

Authoritative Name Servers

  • Name server that actually provides the answer for a query about a specific name is a zone/domain
  • Ex. IP addresses for google.com hosts can be answered by authoritative name servers for the google.com domain

Resource Records

  • RRs
  • Contain name-resolution information
    • Name/Fully-qualified Domain Name (FQDN)
    • Type of record
    • TTL
    • Value - FQDN resolves to either an IP or other FQDN

Resource Record Types

  • Type A
    • Name is hostname
    • Value is IP Address
    • Hostname to IP address mapping
  • Type NS
    • Value is the hostname of the authoritative name server for the domain
    • Used as a routing function for queries
  • Type MX
    • Name is domain name
    • Value is the name of the mail server associated with the domain

Iterative and Recursive Queries

  • Recursive queries are handled by the local DNS server and goes through the path that runs through the local DNS server, the root server, TLD server, and Authoritative DNS server then back. Local DNS server provides IP address
  • Iterative DNS queries ask the root DNS server to contact the TLD server for the domain. The root server handles everything by passing the query to the TLD server then the authoritative server.

Caching DNS Server

  • Also known as Recursive Server
  • Local DNS server is critical and acts as a proxy to forward queries into the DNS hierarchy in the recursive model
  • DNS resolver maps the name to the IP address
    • Resolvers need access to one name server and use that server's information to answer a query directly
  • Also known as BIND
  • Forwarders forward queries it cannot answer to another caching server