This lecture is divided into hyperlinked sections
Introduction
Why give computers
names?
Uniqueness of names
Internet Naming
Naming in USA
Translation to IP
DNS
How does DNS Operate?
Example of DNS usage
Connection
between IP address and Domain Name
Conclusion
Appendix
Resources
Tutorial Questions
Introduction - Humanising computer addresses
This section of the course is concerned with Domain Name Servers (DNS).
Last week we discussed the use of IP to provide a unique identifier for each computer that is connected to the Internet. This is a number consisting of four groups of digits, each group having the range 0 to 255.
This is fine for computers that thrive on numbers, however
humans do not remember numbers anywhere near as easily. The Internet allows
us to name a machine, provide an alias for an IP number and gives us a
facility for translating names to IP numbers.
What is the function of DNS? - Giving computers names
People give names to computers to help identify them, both locally and internationally. Large organisations may name groups of computers using some kind of scheme. Computing Services at the University of Greenwich gives its computers names of Greek gods, e.g. atlas, zeus.
When accessing the university computer for an FTP session, you login to zeus.gre.ac.uk. This is easier to remember than 193.60.48.88.
The most popular machine names reflect the service that they provide, such as www, ftp, mail, news, router etc. Use of service names can make identification of the service offered by the machine a lot easier to recognise.
As in the case of IP numbers, each name assigned to a computer must be unique otherwise there would be confusion over the identity of machines.
The name we assign to a particular computer is placed at the beginning of the name. This is known as the prefix. Following the prefix is a period (full stop) then comes additional strings of characters and periods.
e.g. atlas.gre.ac.uk
i.e. local name; period; organisation’s suffix
Sometimes the name of the organisation may be shared by another group. When you access the university’s main website you will type:
www.gre.ac.uk
An examination of the first part of the name reveals that this machine is dedicated to serving web pages. Then comes the organisational part of the name gre (short for Greenwich).
The letters gre are not unique to the University of Greenwich. Others may use these letters too.
An example of this is the Educational Testing Service who have a website for Graduate Record Examinations known as www.gre.com, also aliased to www.gre.org.
The naming of computers on the Internet is carried out
by a group known as ICANN : The Internet Corporation for Assigned Names
and Numbers (ICANN) is a technical coordination body for the Internet.
Created in October 1998 by a
broad coalition of the Internet’s business, technical,
academic, and user communities, ICANN is assuming responsibility for a
set of
technical functions previously performed under U.S. government
contract by IANA and other groups. Specifically, ICANN
coordinates the assignment of the following identifiers
that must be globally unique for the Internet to function:
The naming scheme that is currently in use allows
each organisation that carries a name to further identify itself by a category.
www.gre.com may be recognised as a commercial enterprise by the letters com.
www.gre.ac.uk may be recognised as an academic enterprise by the letters ac and as being in the United Kingdom by the letters uk. The last two letters (uk) are a country code top level domain (ccTLD) and correspond to a country, territory, or other geographic location. Other examples are fr, de, jp etc.
This means that the suffixes that are assigned to organisations will be unique, therefore it is only within a particular organisation that it is important not to give two machines the same name.
The computers in the USA are assigned a set of suffixes to denote their function. Among the suffixes that are used in the USA are edu for educational establishments, mil (military) for the armed forces, gov for the government, com for commercial enterprises.
Outside the USA, different schemes can be used. In the UK, a company may choose co.uk or com as its suffix.
Once an organisation has chosen a name, people can easily remember this and can type it into the address window of a browser for instance.
The names that are given to computers on the Internet are known as Domain Names. In the last lecture we saw that the Internet functions using IP addresses which are numbers. This means that for your computer to find www.ford.co.uk it must first discover the IP address that is assigned to that domain name.
The system that performs this function is known as the Domain Name System (DNS). So when you type a domain name into a browser, the application uses the domain name system to translate the domain name into an IP number. Once the computer has received the IP number of the remote computer it may begin contacting it using datagrams.
The domain name system uses a client/ server approach to the problem.
Your computer sends a request to a domain name server:
What is the IP address for www.ford.co.uk ?
The server looks up the corresponding IP number and replies:
164.109.68.191
The method of operation of DNS is similar to directory enquiries (192) in the UK. If you need the telephone number of a person, you dial the service and an operative asks for the name and address of the person that you are contacting. He or she then looks up the corresponding number and this is relayed to you.
If the number that you are searching for lies in another country, perhaps France, the operative will give you the telephone number of the French directory enquiries service. Then you will be able to contact the overseas office of directory enquiries.
The DNS works in a similar fashion. Any particular DNS server does not have a table containing all of the domain names on the Internet. It will only keep a listing of the local domain names, perhaps in an organisation or area.
When you are working at a computer within the university and need a service from a computer in Japan, you type the URL into your application. The application then contacts its local DNS on the Medway site which then forwards the request to a DNS server on the Woolwich site (UoG) which will then forward its request to a DNS in Japan.
If you are working in an organisation that has just one DNS server and want to contact a web server in USA for a web page, the application (browser) you are using will automatically call its local DNS server which will then forward the request to the appropriate DNS in USA. This may require more than one hop, depending upon whether the DNS server in USA that is first contacted has a copy of the relevant domain name/ IP pair. The American DNS server will reply to your local DNS server which will then supply your application (browser) with the IP number you wanted.
The American DNS server may be identified by the organisation specified in the domain name.
Your application may now contact the American web server directly using the IP number in its datagrams.
Below is a simplified diagram of the whole process.
Figure 2.1 Requesting an IP address from an American DNS server
Referring to fig 2.1, steps 1, 2, 3 and 4 involve resolving the domain name into an IP address. Step 5 happens once the IP address has been returned; this is where the application program sends a request for a web page. Step 6 is where the web page is returned to the application to be displayed on the monitor.
Connection between IP address and Domain Name
There is only a logical connection between a domain name and an IP address; it is not possible to split an IP address in half and map it to half of a domain name.
The assignment of an IP address to a domain name occurs when you have registered the domain name and then approach an ISP or web server company to host your website. They will assign your IP address from their collection of IP addresses that they have allocated to them.
Humans prefer alphabetical names to numerical names for computers because they are easier to remember.
Domain names consist of a name for the computer followed by a section that refers to the organisation, followed by an identifier that gives a clue to the type of organisation that has applied for the name.
The application programs that you use will often allow you to input a domain name instead of an IP address. This will need to be translated to an IP address for the datagram system to function.
The method by which domain names are mapped to IP numbers is called the Domain Name System. The DNS system is a client/ server type of operation. A computer known as a DNS server holds a table that maps domain names to IP numbers.
If your local DNS server does not have a record of the domain name that you are searching for it will contact another DNS server for the response without your intervention. The corresponding IP address will be returned to you, the client.
Brief History of the Domain Name System
(translated from http://www.4-online.net/produkte/dns.history.pdf)
In the 1960s, the U.S. Department of Defense Advanced Research Projects Agency (ARPA, and later DARPA) began funding an experimental wide area computer network called the ARPAnet. The ARPAnet used a centrally administered file called HOSTS.TXT which held all name-to-address mapping for each host computer connected to the ARPAnet. Since there were only a handful of host computers at the start, HOSTS.TXT worked well.
When the ARPAnet moved to the Transmission Control Protocol/Internet
Protocol (TCP/IP) suite of protocols and become known as the Internet,
the population of the network exploded. HOSTS.TXT became plagued with problems,
namely
A replacement for the HOSTS.TXT file was needed. The
goal was to create a system that solved the problems inherent in a unified
host table system. The new system should allow local administration of
data and also make that data globally available.
In 1984, the architecture of a new system called Domain Name System (DNS) was designed and is the basis of the DNS service used today on the Internet.
DNS is a distributed database that allows local administration of the segments on the overall database. Data in each segment of the database are available across the entire network through a client-server scheme consisting of name servers and resolvers.
What is a DNS record?
People are much more comfortable dealing with names rather than strings of numbers. A domain name such as "cobalt.com" is much easier to remember than the IP address which consists of four octets of numbers such as 207.91.131.30. Domain names must be registered with Root Domain Registration Service, such as Network Solutions, Inc. (www.networksolutions.com)
Computers, on the other hand, prefer numbers to names. Since computers have the final say when a user is looking for a company Web site, a mechanism is needed to convert the human-friendly domain name to the computer-friendly IP address. DNS records on a DNS server perform this function. The records translate a domain name to an IP address; a record equates a domain name such as "cobalt.com" to an IP address such as 207.91.131.30. Once the domain name has been converted or "resolved" to an IP address, then (and only then) can the user connect to your Web site. Without DNS and domain names, the user would be required to remember the IP address of every site they wanted to visit. With DNS servers and DNS records, customers and their software can easily remember how to get to your site.
Who manages your DNS records?
Your DNS records can reside on any Cobalt server that has the DNS service enabled. You or your administrator can easily configure a Cobalt Server to act as a DNS server. To provide DNS service, InterNIC requires a site to maintain both a primary and a secondary server. Your Cobalt server can act as the primary server and a DNS server from your Internet service provider (ISP) can act as the secondary server.
How does DNS work?
The basic method that allows a domain name to direct customers to your Web site is shown in Figure 1. This diagram describes a request made by a Web browser as the customer attempts to log on to your Web site.
To determine which primary name server contains your domain name:
1. The local name server (the DNS resolver/ browser machine) contacts the root domain name server maintained by the several Internet root server authorities.
2. The root domain name server returns the IP address of the primary name server responsible for the requested domain name.
3. The local name server contacts the primary name server.
4. The primary name server holds the IP address information for the domain name in a database and satisfies the request from the local name server.
5. If the primary name server is unavailable, the local name server contacts the secondary name server that satisfies the request from the local name server. The local name server returns to the Web browser with the IP address for the requested domain name.
6. Using the IP address, the Web browser contacts the company Web server.
7. The company Web server sends the Web page to the local name server.
Figure 1
Read the overview
of DNS and guide to online
resources published by dns.net.
RFC 1034
Douglas E Comer, The Internet Book, Prentice Hall 1997, 2nd Edition
http://rs.internic.net/faq.html
What difficulty would people seeking your website face if you registered a domain name and hosted the site on your own computer at home for several hours per day using a standard dial-up connection to your ISP?
What are the IP numbers of the University’s DNS servers? (hint, try ipconfig)