# A-level Computing 2009/AQA/Computer Components, The Stored Program Concept and the Internet/Structure of the Internet/Domain names

Trying to remember IP addresses is as difficult as trying to remember people's phone numbers. Not many people do it well and you are far more likely to be using a domain name to access a website. A domain name allows us to link to servers and other computers using easily remembered names. The domain name also tells us a bit about the location we are visiting through the use of top level domain names.
| Top level domain | Description |
| .com | Commercial |
| .gov | US governmental organisations |
| .mil | US military |
| .org | Organisation |
| .uk | United Kingdom, country specific website |
| .so | Somalia, country specific website |
| .xxx | Adult entertainment |
| .onion | Deep Web Links |
Sometimes top level domain names might be joined by second level domains, chained together to tell you more detailed information:
Second level domain names typically tell you the person/company/organisation that owns the address. Finally you have the host or service name, which is the machine/service you are connecting to. For example:
$\underbrace {windows} _{\text{host}}.\underbrace {microsoft} _{\text{domain name}}.\underbrace {com} _{\text{top level domain}}$
In the example above a client sends a request to a Domain Name Server for www.debian.com, but after that domain name lookup is hierarchical:
* a request for .com is first sent to a known root server which provides the address of the name server for .com.
* This is then queried for debian.com giving the address of another name server
* which finally provides the address for www.debian.com.
Results are remembered for a period of time to reduce the work load.

## Domain Name System (DNS)

If you have a modern mobile phone it is very unlikely that you will type in the number of your friends each time you want to call or text them. You are far more likely to use the address book, typing in their name, then letting the phone find the number. This is exactly the same principle behind the Domain Name System. A DNS server translates domain names meaningful to humans (such as www.google.com) into IP Addresses for the purpose of locating and addressing these devices worldwide.
Domain names are far easier for humans to remember than an IP address. To see a domain name in action you can use the ping command, where pinging google, uses the DNS server to find the IP address you want to send a ping packet to:
Or on Linux try dig

## Internet registries and Internet registrars

Internet registrars are responsible for allocating internet domains to anyone who wants one. If someone wanted to own their own website with a domain name, they would have to go to an internet registrar in order to buy the website name. These services typically require payment in order to maintain control over the name of the website. If you do not renew your website, then the internet registrars may sell it to other buyers.
* Extension: Travel back in domain name time
* In the early days of the World Wide Web, there were many instances of companies paying lots of money to buy their web domains from private individuals who were 'cyber-squatting'. Other organisations shared the same address and there were many legal fights and much cash exchanged to gain control of domain names. If you want to take a look at websites from the past take a look at http://web.archive.org and look at the following websites in the mid 1990s:
* www.itv.com
* www.michaeljackson.com
You may ask why a company would want a domain to link to multiple IP addresses? If you think about a multinational company's website, if someone tries to load your homepage you don't necessarily want them to have to load this webpage from an server at an IP address on the other side of the world. So depending on their region you would point them at an IP address close to their current location. Typing in www.google.com in Europe and in Asia will send you to different IP addresses even though you have used the same domain name. Sometimes the content of the server won't be the same depending on your region.
Also big sites not only do geographic IP splitting but load balancing as well. This is when a domain name is undergoing heavy usage, and one particular IP address might be very busy, the domain name will then be pointed to other servers sitting at different IP addresses, balancing the 'load' of users accessing the site.

## Internet Service Providers (ISP)

Getting a direct connection to the internet is quite costly involving specialist hardware. Most people and organisations pay ISPs to link them to the internet. Examples of Internet Service Providers are : AOL, BT, Sky, TalkTalk and Virgin Media.
* Exercise: ISP and DNS
* Describe what a Domain Name Server does:
* Answer:
* Domain Name Servers translate domain names into IP addresses
* Describe what ISP stands for and what is does:
* Answer:
* ISP = Internet Service Provider = companies which offer customers access to the internet
* What is the difference between an Internet Registrar and an Internet Registry
* Answer:
* Internet Registrars allow people and companies to buy domain names.
* Internet Registries keep track of who owns what domain name and what IP addresses each domain name links to
* List 3 top level domain names:
* Answer:
* .gov .mil .com .org .xxx .net .uk .fr ...
* Describe what the following domain names mean
* www.itv.co.uk
* en.wikibooks.org
* policerecruitment.homeoffice.gov.uk
* Answer:
* www.itv.co.uk - a uk based, company called ITV, linking to the www host
* en.wikibooks.org - an organisation called wikibooks, linking to the en host machine
* policerecruitment.homeoffice.gov.uk - a uk based governmental site called homeoffice, linking to the policerecruitment host machine
* List the three parts that make up a domain name:
* Answer:
* host machine
* domain name
* top-level domain name
* Give two reasons why a company might want to use a domain name instead of an IP Address for their website?
* Answer:
* Domain names are easier to remember
* You can change the IP address without the user noticing
* You can host several web sites on one IP address