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.

Sometimes top level domain names might be joined by second level domains, chained together to tell you more detailed information: bbc.com - there is a commercial organisation called bbc bbc.co.uk - there is a United Kingdom commercial organisation called bbc. tfl.gov.uk - there is a United Kingdom governmental organisation, called TFL. 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: en.wikipedia.org - an organisation, called Wikipedia, requesting the English language version www.ibm.com - an commercial organisation, called IBM, connecting to the www (World Wide Web) host/service machine

$$\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: Results are remembered for a period of time to reduce the work load.
 * 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.

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  command, where pinging google, uses the DNS server to find the IP address you want to send a ping packet to: Pinging www.l.google.com [209.85.229.99] with 32 bytes of data:
 * 1) ping www.google.com

Or on Linux try $ dig www.google.com -- Snip -- www.google.com. 246	IN	A	173.194.34.144 www.google.com. 246	IN	A	173.194.34.148 www.google.com. 246	IN	A	173.194.34.145 www.google.com. 246	IN	A	173.194.34.146 www.google.com. 246	IN	A	173.194.34.147
 * ANSWER SECTION:

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.

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.



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: e.g. urn:isbn:0486419266 The URN for R.U.R. (1921 play), identified by its book number. e.g. http://www.gutenberg.org/catalog/world/readfile?fk_files=85821 The project gutenberg page for the R.U.R. book
 * Uniform Resource Name (URN) - the name of a resource, but not its exact location.
 * Uniform Resource Locator (URL) - the exact location of a resource.

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: http://commons.wikimedia.org/wiki/File:George_Clausen_WWI_poster.jpg 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$$