Report - What is DNS?



This is the first of a long series of formal tutorials / reports on many different IT related topics.

This weeks tutorial is on DNS, how it works, and why
it is an important concept in internet communications. Enjoy:

DNS is an essential part of the operation of the internet, as it provides a mapping between the mnemonic name of a domain on the internet and its corresponding, machine-readable numeric IP address. The domain name space consists of domain names organised into a tree-like structure. Within this tree are top level domains (TLD’s), eg .com and there are second level domains (SLD’s), which include the TLD’s in their name eg google.com. Below that, any number of sub-domains can be created. For example, the domain csu.edu.au is read from right to left, with each point representing a separate domain. Fig 1 shows a sample of the DNS name space. Note that there are Generic TLD’s, and country-level TLD’s. The domain csu.edu.au is highlighted.


This tree structure divides into areas called zones. Each zone has a number of nodes, which have an associated Resource Record (RR), which describes the IP address, name server etc. The nodes within this zone are administered by an authoritative DNS name server. This server is responsible for maintaining all of the RR’s within its zone. The DNS name server will maintain the list of RR’s in a DNS distributed database. Each organisation is responsible for managing its own set of domain names.

When a domain name is entered, a Resolver (a program designed to interrogate the database for RR’s) queries the name server by sending a DNS request, to which the name server responds with the relevant IP address. If the name server does not have a record of the address, it will query other name servers, even the root name server. When it receives a response, it will send it to the originating computer, and may check the RR time to live field, and store it in the cache for that period of time. Address resolution works as follows: The local DNS server has a list of addresses of all the Root servers on the internet. The address (eg csu.edu.au) is read from right to left, and the local DNS server queries each corresponding DNS server for each domain in the address to find the address of the next DNS server. This continues until the final address is returned by the last DNS server.

An example of the setup of DNS tree structures and the function of DNS servers is shown for Charles Sturt University’s (CSU) domain.

Charles Sturt University's (CSU’s) DNS name is csu.edu.au. This domain is a sub domain located below the top and second level domains. There are three DNS servers, each residing in geographically separate locations: csunb.csu.edu.au at the Bathurst Campus, csunw.csu.edu.au at the Wagga Campus, and csuna.csu.edu.au at the Albury Campus. Each of these DNS servers would serve and administer their own zones within the CSU domain. These DNS servers have many responsibilities. They answer all requests of other name servers that query the address of any name within the CSU DNS name space. Each server holds the DNS database of RR’s for each of the nodes within its authoritative zone. A resolver within the server interrogates the database every time a DNS request is presented to the server.

he CSU DNS servers also respond to internal DNS requests and return the correct IP address of a domain. For example, a lecturer within the CSU network enters www.google.com.au into their internet browser. The resolver within the DNS server queries the database, and if the RR for that domain exists, returns the address. If not, the DNS server will query other name servers, until the address is found, and then returns it. Each server will maintain the sub-domain that it authorises. Eg the csunw DNS server would most likely administer the riv.csu.edu.au DNS name, among others. A small sample of the csu.edu.au domain structure is shown as an extension of Fig 1 below (Fig 2). Note that there are an endless number of sub-domains that could be included, and each of the 3 DNS servers would administer a zone within this sub domain: