What is DNS?Domain Name System
The Domain Name System (DNS) is designed to provide translations, converting hostnames to IP addresses (via name resolution) or IP addresses to hostnames (via reverse lookup). It also designates the DNS servers (or DNS appliances) which hold the reference DNS information, as well as the DNS protocol used for communication (queries, data transfer…).
DNS brings efficiency to the process of resolving the names of internet sites with their underlying technical addresses, the IP addresses. Hosts across networks are locatable via their IP address. To connect to these hosts, users make use of “friendly names” such as www.efficientip.com. DNS provides a standard naming structure for locating IP-based resources.
The DNS Hierarchy
Organization of DNS is based on a naming system called domain namespace, a hierarchical, highly-extensible tree structure in which each domain is a node. The internet domain namespace is made up of several levels including the root level domains and top level domains (TLD). Every node in the DNS domain tree is identified by a FQDN as a concatenation of the various names on the branch path up to the root of the DNS hierarchy. The DNS hierarchy has been designed to be able to contain a very large amount of domains. The top level domains cover original subjects (commercial with .com, organizations with .org or education with .edu), a list of the 255 countries (France with .fr, Chile with .cl or Singapore with .sg) and more recently some more generic ones (eg .berlin, .horse or .lol).
The DNS servers themselves are often referred to as name servers, their main role being to respond to queries from clients or from other name servers. Name servers therefore need to hold the DNS database information for their portion of the namespace, known as a zone. The resolution process executed by a name server can be either recursive or iterative. When processing recursive queries, the name server builds up information about each domain space which can be temporarily stored in the DNS cache. This speeds up processing time for subsequent queries, based on the time-to-live (TTL) specified for cache data.
DNS Server Types
Name servers can be different types: 1) Authoritative 2) Caching-only 3) Forwarder. Authoritative DNS servers locally store information about a zone and are fully responsible for the first level content of this zone. Caching-only DNS servers obtain information from authoritative servers and store query answers in cache for later use. Forwarders are designated servers to which a particular subset of queries requiring external resolution are sent.
When it comes to managing a DNS zone, name servers are defined as either master or slave. The slave’s main role is to ensure redundancy and spread the load from the clients and other DNS servers. The master zone holds the original copy (the master record) of the database, while the slave zone holds a copy of it. Zones on the master server are provisioned by the network administrator ideally through an IPAM solution, whereas zones on the slave are automatically populated via zone transfer. The three types of zones used are recursive lookup zone, forward lookup zone and conditional forwarder zone. Data stored in the zone files are in the form of Resource Records (RR), with example RR types including A, AAAA, CNAME, MX and SOA.