Learning path

Full curriculum

Full curriculum

Arrows go from each prerequisite to the units that depend on it. Hover or focus a unit to highlight its path.

Unit content

Domain Name System

People prefer names such as example.org to numerical IP addresses. The Domain Name System (DNS) is a distributed naming system that maps domain names to records.

Hierarchical names

Domain names are hierarchical. In

www.example.org

org is a top-level domain, example.org is a domain beneath it, and www is a name within that domain.

DNS records

Different record types represent different information. Common examples include:

  • A for an IPv4 address;
  • AAAA for an IPv6 address;
  • CNAME for an alias to another name.

DNS can store other information as well; it is not merely one global table of host names and IP addresses.

Resolvers and authoritative servers

An application typically asks a resolver for a name. The resolver may answer from cache or query the DNS hierarchy until it obtains information from an authoritative source for the domain.

Caching and TTL

DNS answers have a time-to-live (TTL) that tells caches how long the result may be reused. Changes to DNS therefore need not become visible everywhere at the same instant.

Name is not connection

DNS resolution can provide an address, but it does not establish a transport connection or make an application request. It is one step that other protocols can use before communication begins.