Currently, when computers connect to each other over the internet they do so by using IP Addresses (IPv4)
, this is effectively like a telephone number that Identifies a device on a network, an IP Address (IPv4) looks like this 126.96.36.199
and can be anything from 0.0.0.0 up to 255.255.255.255 which yields 4.3 billion possible address's, thing is IPv4 was not designed for the internet, it was designed to connect computers to each other at Institutes in the 80's but with the explosion of the internet over the past 20 years means the IPv4 address block is about to run out sometime soon (as of August 2011) and a new Internet Protocol called IPv6
will be taking its place, this new protocol can support 340 Undecillion address's (thats 34 with 37 zero's after it) meaning that it should last us a very long time, infact if the internet doubled in size every year then IPv6 would last us 96 years, a typical IPv6 addresss looks like this: 2001:0db8:85a3:05a4:9e54:8a2e:0370:7334
DNS (Domain Name Servers)
When you type a web address into your web browser or click on a link to a webpage, your computer has to find out what the IP Address is of that website (the server its hosted on) so it can then proceed to connect to that server and start to download the page, to do this it uses Domain Name Resolving by communicating with Domain Name Servers, it connects to your ISP's DNS server and asks it for the IP address of the website (server) you want to connect too, your ISP then sends the corresponding IP address back to your computer and then your web browser uses that address to connect directly to the website and start downloading the page, you can think of a DNS server like a Telephone Directory that the computer can get the numbers (or in this case IP address) of server that the website is hosted on.
An ISP's DNS server does not hold every known registered web address and IP address, instead it holds a 'cache' in its memory of common and popular DNS requests that it receives lots of requests for, any requests it does not know it sends out to other DNS servers on the web who relay the information back, so not one server holds all the data but all the servers together hold it all as a collective but also each server has a 'cache' of the most common requests that it gets regularly.
TCP (Transport Control Protocol)
TCP is a Transport Layer protocol used for end-to-end communications over networks, it is the most common type of 'connection' used on the Internet, it provides an instant 'live'connection between two or more devices by 'hand-shaking', it can request re-transmission of lost data and re-arrange 'out-of-order' data as it receives it (error correction). TCP is optimized for accurate delivery rather than timely delivery, it is used in applications such as Web Browsers, P2P File Sharing, File Downloads, eMail and Media Streaming. It is a reliable delivery system that guarantee's delivery of data without losing or duplicating it, it uses a system of sending Acknowledgements (Acks) which means the receiving computer 'acknowledges' that it has received the packet of data, The sender keeps a record of each packet it sends, and waits for acknowledgment before sending the next packet. The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires. The timer is needed in case a packet gets lost or corrupted. TCP also has great 'Congestion Control' whereby monitoring the receipt of packets or acknowledgements (or lack of them) and timers within the packets it can determine whether or not Network Congestion is happening and so act on it.
UDP (User Datagram Protocol)
UDP is like the 'opposite' of TCP, rather than being an 'active' foreground connection it is more like a 'passive' background connection, it does not use 'hand-shaking' and packets may go missing, appear duplicated or arrive out-of-order (and UDP does not have 'error-correction'). UDP is optimized for timely delivery rather than accurate delivery and as such is used in applications such as Online Gaming, VoIP, DNS Resolving and some Media Streaming. UDP has no 'Congestion Control' and can potentially choke up networks.
A good analogy is to think of TCP like telling someone your sending them a parcel through your local (and very reliable) Courier and giving them a tracking code over the phone they can use to track the parcel online, you can guarantee it will get there and the recipient is expecting it and should anything happen to it along the way its fine because its insured and will be replaced if lost. UDP on the other hand is like sending something through Royal Mail Post and not telling the recipient its coming, it might get there but it might not and if its lost no-one will know about it and it cant be replaced by Royal Mail either as its not insured.
When your modem sends or receives data over the Internet it does so over certain ports, these are like 'channels' that different programs and protocols use to communicate over, i.e. Web Browsers use port 80 send and receive traffic over, POP3 emails use port 110 and Internet Relay Chat uses port 194 - the whole spectrum ranges from 0 - 65535.
HTTP (HyperText Transfer Protocol)
Running mostly over the TCP layer, HTTP is an Application Layer 'request/response' protocol in which we (the client) can use to 'request' website content from servers, servers 'respond' by sending the client the web-page content, you may have noticed it in your web browser where a website will always begin with http:// secure connections use HTTPS (HyperText Transfer Protocol Secure) to send and receive encrypted data so that it can not be read by anyone else who may intercept the data on its transmission between server and client, one can tell if the connection is secure as the address will begin https://. HTTP is used in conjunction with all forms of web page markup language such as HTML, PHP, XML, CFM etc, HTML (HyperText Markup Language) is the dominant form of web page markup language, the markup language defines the 'type' of web page it is, i.e. which 'language' its written in, each type serves a purpose and has good and bad points. HTTP communicates over Port 80.
FTP (File Transfer Protocol)
This is another Application Layer protocol that is used to transfer files between clients, In order to do this an FTP server needs to be running and waiting for incoming requests. The client computer is then able to communicate with the server on port 21.
Router (LAN) / Modem (WAN)
When your broadband signal enters your home it does so through a 'Modem', a typical setup will be one of two things, either an all in one Router/Modem or you will have a seperate Router and Modem, either way the basics of it are still the same, in this example we will assume a seperate Modem and Router is used as to explain the purpose of both. The Modem is responsible for your broadband connection outside your home, preparing data to be sent/received across the Internet, once the Modem has sorted incoming data it passes it on to the Router, the Router is responsible your home connection in and around your home, it 'routes' a network signal to all devices connected to it (and allows the connected devices to connect to each other to share files aswell as the internet), it can do so using Ethernet LAN cables or Wi-Fi. LAN (Local Area Network) is the protocol for your home network, if the computer is connected via Wi-Fi then it is WLAN (Wireless Local Area Network), WAN on the other hand stands for 'Wider Area Network' and is the term used to describe the network outside your home (your modem and outbound from there on).
Back to top