How the internet is setup and a bit about the supporting technologies. With thanks to wikipedia where much of this started life.

Menu
Introduction
wikipedia internet article
wikipedia TCP article
wikipedia routing article

task

An historical summary
Take most of the computers on the planet, join them together start exchanging information and you get the mother of all WAN's, the internet.
It was not always thus, this table shows internet users since 1995.
As you can see if it had been a disease a lot of us would be dead by now. It is important to remember though that a significant number of the worlds' population have no easy access even now.
The internet is more than the world wide web even though most of us spend most of our time on it. There are other ways of exchanging information on the internet. Telnet and Ftp being but two.
An early version
The US Governments Advanced Research Projects Agency (ARPA) in many ways built the first network resembling the modern internet.
ARPA created an early version called imaginetively the ARPANET.
Paul Baran who had written an exhaustive study for the U.S. Air Force that recommended packet switching as a method of making a network highly robust and survivable. Particularly during warfare. As a result of this and others endevours, the first node went live at UCLA on October 29, 1969 on what would be called tday, the "eve" network of today's Internet. I doubt they could forsee where there early network would be in 35 years time.

How it works now
I have talked about connecting computers into networks and how we can do this here . The actual physical networking of the internet does not matter. Connections can be satellite phone line, network cable or a piece of string being flicked (this would be slow, would need someone at either end to re-encode the data and would only be good over short distances), it doesn't matter. What maters is how the data is split up and moved and the fact that we have all agreed on protocols for doing it. I will start with the (fairly) simple stuff and build up in levels as we add funtions on to our network.
Data in packets
The first thing to understand about the internet and for that matter almost all modern computer networks is that data moves in packets.
A packet is in two parts
The Data part
This is the lump of information that needs to moved from one computer to another it might be part of an image on a web page or a word. Whatever it is it is encoded into binary. Think of the G of google in their image on the search page , if it helps. This would never move in just one packet but hey if it helps, it helps.

The Header Part
The packet also contains some other information as well as my google G. It contains what is called a Header.
The Header contains the information the packet needs to move around a network succesfully. The header is further divided up into parts but I will not talk about all of these by name.
Basically the packet knows based on some of the settings in the header. Where it has come from, where it is going to and how big it is.

The one part of he header I will talk about is called the Check Sum. This tells anything that has to process the packet how big the packet should be and it makes the packet fairly unique.
If the checksum is wrong the packet is corrupt and it is rejected. The checksum also allows the packet to be identified if it has been duplicated by a network error.

The computers that deal with the packets take responsibility for working out what has been sent and what has been recieved. They use TCP/IP to do this. It is important to realise that each packet may well pass through many computers before it gets to its destination computer. Each machine in the chain will look at the packet. If it is not corrupt the computer will send the packet on or "route" it towards it destination.

TCP/IP
This is really two protocols but they ted to get linked together. Without these there would be no internet.
The TCP part (Transmission Control Protocol)
This is the protocol by which the packets move between computers. TCP does a few things for you

  • It makes sure the packets go in order so they are not mixed up at the other end.
  • It Makes sure corrupt packets go in the bin.
  • It makes sure duplicate packets go in the bin
    TCP uses the check sum from the packets header for the binning operations.
 

The IP part (internet protocol)
But how to the packets know where to go? We have data now in packets that we can send in order TCP sees to that but we now need to give each computer a unique identity on our very big network and then decide how to move "route" our packets to the machine we want to get it to. This is where IP comes in.
IP Adresses
The first thing IP does is give each and every computer a unique numerical address at present we use IP version3 (IPv4) . The Ip adress of this computer on the internet as i write is 82.203.3.8. each series of characters between the dots (.) can be three long (leading zeroes are omitted).
That means there are a little over 4 billion possible unique IP addresses. THere is a potential problem here. Quite a few million addresses are reserved for special jobs and we have about a Billion and a half people online at the moment. The internet as I said is growing very fast IPv4 will not last that much longer before we run out of addresses. A new version IPv6 is waiting in the wings and will intime replace IP4.
Fixed or DHCP (Dynamic Host Configuration Protocol) addressing.
If your computer is an important server that is on 24/7 or a router that moves traffic your machine will have ahave fixed IP address. This helps speed up communication as some of the other computers that deal with you regurlarly get used to your address and don't have to perform lookup via DNS.
If you are a dialup user or some ADSL/Broad band user you may get your IP address via DHCP
DHCP is a posh way of saying give me an address when I connect I'm not to fussed what is is. The advantage(s) of DHCP are for an ISP they don't have o have loads of unique addresses available as not all there users will be on line at any one time and they don't have to deal with the problem of making sure they are all set correctly. For users you don'
IP Routing
So how does the network now where to send stuff. This is the job of routers they have within them routing tables which keep track of the best (fastest, least packet loss) route to a particular IP address. THis is fine but if we are not careful everyone will use the best route and it will get busy (think of motorways) and it won't be very fast anymore. To get round this problem most routing ia actually dynamic. This means that in fairly real time the routing tables are update by decisions routers make based on algorithms (formulas). As a result the packets that make up a particular file may well travel by a few different routes.
Advantages and Limitations of IP
IP has lots of advantages

  • Your stuff gets there by the easiest/fastet route.
  • It can cope dynamically with a rapidly changing internet.
  • Everybody uses it (pretty much).

Limitations

  • No guarantees IP doesn't promise to deliver a packet it just promises to try and to find the best route. There could be times when there is no best route or even any route at all. When this happens you get an error screen. IP doesn't say "sorry about that I'll try again in a bit", it just fails.

DNS (Domain Name Server)
So how come if computers have numerical addresses we don't have to remember loads of IP addresses when we want to surf the web?
Fairly early on in the internets' development somebody noticed that 82.165.85.132 was harder to remmber than www.princehouse.co.uk and so we get DNS.
DNS translates the websites name (domains) into the ip addresses that computers need to start access the web. Your isp will will have a DNS server running at the end of your connection to the internet or you may run your own DNS server. THis box will resolve (turn them into IP addresses) and start the process of routing and packet transfer.
TH actual resolution process is pretty complicated and if you must know follow this link. Suffice to say it usually works seamlessly if it doesn't you get an error page

NAT (Network Address Translation).
"So how come you can access the internet from all the computers on an intranet if each computer on the internet needs a unique Interent IP address"? I hear the really smart one's amongst you cry.
Good question. Strictly speaking for this to happen each computer would need a unique to the internet ip address and its own dedicated internet connection, obviously this would be expensive.
To get round this problem routers and usually the router that connects the intranet to the internet use NAT.
For this to work all machines inside an intranet must have a unique IP address. Most routers manage this using DHCP as it saves settinig a lot of fixed IP's on a potentially large network. The router then translates Internet IP addreses into intranet IP addresses and vice versa. Everyones' packets get to go to and from the right places and the single internet connection is shared. Obviously if you share a connection the speed at which data moves will slow down. If somebody is trying to stream high quality video or play an interactive game over the web bored.com will take a while longer than usual to load.

Summary and Task
Thats the basics of the internet with regard to using it on a day to day basis. There are a few more things going on and the jargon is a bit scary.

Task
I suppose you get this if. You can draw a diagram of the data flow from client to web server for;

  • a client pc inside an Intranet, local ip address 192.168.34.5 running internet explorer and windows xp.
  • a webserver IP address 56.32.42.21, that has a website on it called www.eatmy shorts.com
  • There is a router on the intranet.
  • DNS is done by the ISP's DNS server, IP address 23.34.56.2
  • Packets must pass through a internet router IP address 32.123.45.6

Draw the diagram for the client pc when a user types in to internet explorer www.eatmyshorts.com and presses enter.