In the first PING and TRACEROUTE training exercises, IP addresses (in dotted decimal notation) were used to specify the desired destination host. At the network layer (and also at the transport layer) only IP addresses can be used.
Though IP addresses may be convenient for computers, for humans this is certainly not the case: IP addresses are difficult to remember, typing IP addresses is very errorprone, and IP addresses contain no intuitively understandable information. All these problems are solved by the Domain Name System (DNS).
The DNS is a system to map between hostnames and IP addresses, these hostnames are sometimes called 'friendly names'.
Note: DNS does more than that, it also provides for email routing information. However, at this point of the course this is outside the scope. Here we introduce the DNS because it allows for more convenient use of the PING and TRACEROUTE applications.
You have already seen occurences of hostnames, although you may not be fully aware of this. As an example, the URL of the website for this course is http://wwwhome.cs.utwente.nl/~codi/ , the part wwwhome.cs.utwente.nl is the hostname of the computer on which this website is located. The IP address of this host is 130.89.16.50.
The web-server of the IETF is known as www.ietf.org, hence this is the 'friendly name' of that particular host. It's IP address is 132.151.1.19 and instead of typing the freindly name in the 'Location'-field of the browser, you may also type the IP-address. Apparantly, you browser also uses the DNS to allow user friendly surfing!
Hostnames are organised in a hierarchical fashion. At the top level we have the:
At the next level we have the second level domains, e.g. within the country
domain nl there are the sub-domains
surfnet
(for the Dutch IP research network),
utwente (for the University of Twente)
and uu (for the University of Utrecht).
Within these sub-domains, further refinements are posible (in the sub-domain
utwente there is e.g. the sub-domains cs for the
Computer Science department).
At the lowest level in the hierarchy you have the names of the hosts. Now the actual domainname of the hosts, or siply hostnames, are derived from the hierarchy starting at the end and concatenating the names and delimit them by a dot. As an example, there is a computer called shannon at the computer sciende department (cs) at the university of Twente (utwente) in the Netherlands (nl), the name of the host becomes: shannon.cs.utwente.nl.
DNS is defined at the application layer and as such it will be discussed in more detail in Part 10 of this course. The DNS Service Provider provides a 'translation' service between domain names and IP addesses. More specifically, DNS performs the following basic translations:
The details of DNS are quite complicated, however using the black-box approach we can abstract from all these details and use a adequate simple model here. In this simple model, the DNS is the Service Provider performs the translations between hostnames and IP addresses. As a user you can access the service provider by the user interface. The simple model is given in Figure 1.
Figure 1: the simple black box model of the DNS service provider.
DNS is used by almost every Internet application, in a sense it is a supporting service: it supports other services to make 'life' easier to users. However, DNS may also be used as a 'stand alone' service.
How DNS works will be discussed in Part 10 of this course (the application layer), because this is the place where it logically belongs to. However, because it is useful in PING and TRACEROUTE experiments its use is introduced here.
One of the implementation of a DNS application is known as NS LookUp (Name Server LookUp). The application CyberKit includes it. Its use is demonstrated in Figure 2.
Figure 2: Finding the IP address of the IETF web server ( www.ietf.org).
To find the hostname you type in the following:
When you push the 'Go'-button the DNS service provider is activated and you will see it's response in the result window of CyberKit.
As you can see from the result, the IP address found is 132.151.1.19. Furthermore, you see that the name www.ietf.org is actually an alias for its true hostname optimus.ietf.org.
Finally, instead of typing the hostname you may also type in the IP address to find the associated hostname. This is left as one of the DNS exercises.
For those who are interested in further readings on DNS we refer to: