# A-level Computing/AQA/Paper 2/Fundamentals of communication and networking/The Internet and how it works

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
Resources such as documents, files and folders sitting on the internet need a method to identify them and access them. URIs provide a way to linking to these resources. There are two types of URI, but you only need to know URL for the exam:
* Uniform Resource Name (URN) - the name of a resource, but not its exact location.
e.g. urn:isbn:0486419266 The URN for R.U.R. (1921 play), identified by its book number.
* Uniform Resource Locator (URL) - the exact location of a resource.
e.g. http://www.gutenberg.org/catalog/world/readfile?fk_files=85821 The project gutenberg page for the R.U.R. book

## Uniform Resource Locator (URL)

A URL is a URI that, "in addition to identifying a resource, provides a means of locating the resource by describing its primary access mechanism (e.g., its network location)". URLs allow us to specify the domain name and exact location of a resource on the internet. For example, the following links to a picture on wikicommons:
We can break this down into its constituent parts:
$\underbrace {http://} _{\text{protocol}}\underbrace {commons.wikimedia.org} _{\text{hostname}}\underbrace {/wiki/File:George_{-}Clausen_{-}WWI_{-}poster.jpg} _{\text{location on server}}$
We can therefore summarise a URL as follows:
$protocol://hostname/location_{-}of_{-}file$
* Exercise: Uniform Resource Identifiers
* Describe the difference between a URN and a URL
* Answer:
* URN gives the name of a resource, but not necessarily its location
* URL gives the location of a resource
* Give the 3 parts that make up a URL
* Answer:
* the protocol
* the hostname
* the file location
* For the following address:
* http://www2.example.gov.uk/
* describe the parts:
* http://
* www2
* gov.uk
* example
* Answer:
* http:// - the protocol being used
* www2 - the name of the host being used
* gov.uk - the domain name is registered in the uk, and is a governmental organisation
* example - the domain name of the government organisation

## References

* ↑ Tim Berners-Lee, Roy T. Fielding, Larry Masinter. (January 2005). “Uniform Resource Identifier (URI): Generic Syntax”. Internet Society. RFC 3986; STD 66.