As you’ve learned, when you send data over the internet it is sent across several hierarchies of networks, using different technologies from many different providers and operated by different organisations.
These networks must use a standard form of communication so information from one network can be passed across to another network.
To some extent, the way any one of these separate networks works internally is nobody’s business but the owner and users of that network. However, where a network joins to other networks, where it becomes part of the internet, it has to conform to the standards of the internet.
The internet is not owned by a single organisation, so there is no one authority that dictates how it works. Yet all the different people and organisations with their own networks that together make up the internet have to work to common standards, or data would be unable to move between the different networks.
Introducing the TCP/IP protocols
The standards that allow different networks and differing communications equipment to talk to one another are formalised in digital rules known as ‘communications protocols’.
For the internet the two most important are the Transmission Control Protocol (TCP), and the Internet Protocol (IP). They are so inextricably linked that they are often written together as TCP/IP.
TCP
The TCP protocol is responsible for ensuring data can be sent reliably over the internet. It works through a number of software ports that act to keep data separate on the same computer – so it is possible to browse a web page, collect email and listen to streaming music at the same time.
To understand how TCP works you need to know something about ports. A port can mean different things depending on the context. A port can be a physical connection on a device such as the USB port into which you plug your printer or flash drive. Here, it means a number which indicates how data is handled when it reaches its destination. Many ports represent specific protocols such as port 80 representing the well-known port of HTTP.
Common TCP ports include the following:
- port 20 and 21 – File Transfer Protocol (FTP) for sending and receiving files (port 20) and control (port 21)
- port 22 – Secure Shell (SSH) for secure logins to computers
- port 25 – Simple Mail Transfer Protocol (SMTP) for sending email
- port 80 – HyperText Transfer Protocol (HTTP) for browsing web pages.
The term ‘traffic type’ is used to refer to the type of data and the port number associated with this on the network. So the traffic type ‘SSH’ would refer to the secure shell protocol and port 22.
Illustration of journey of a datagram. Green computer sends a web page across the network to blue computer. Green arrows from green computer to three packets containing a part of the web page, the source IP and port and the destination IP and port. Blue arrows from the three packets to the blue computer.
TCP’s second major task is ensuring that all data sent from a computer is received by its destination. It waits for acknowledgements from the remote computer, and in the event that a datagram gets lost or damaged in transit, it can resend the missing datagram. For this reason TCP is reliable – but relatively slow.
Applications where timeliness is more important than absolute accuracy – such as streaming media, videogames and videoconferencing will use less reliable, but faster, protocols such as UDP (User Datagram Protocol) to send and receive their data.
If you are receiving an email, you want the whole message to arrive with no gaps, but if you are streaming a TV programme, it doesn’t greatly matter if a few datagrams get lost.
TCP is not responsible for sending and receiving information; that is performed by a second protocol – most commonly, IP
The Internet Protocol and IP addresses
The Internet Protocol (known as IP) does the hard work of actually moving data across the internet. IP is only concerned with moving data, it doesn’t actually check that data actually arrives (that’s handled by TCP).
When IP receives data from TCP to be sent on to the internet it wraps the TCP datagram in its own IP datagram containing a sender’s and a receiver’s address as well as some other information.
When IP receives data from the internet, it removes the IP datagram information and passes it to TCP which will perform the checking of the contents and reordering of information before it can be passed through the appropriate port to an application.
IP addresses
The internet addresses used by humans (such as www.futurelearn.com) are purely for our convenience, as computers use numeric addresses known as ‘Internet Protocol’ addresses (or IP addresses, or sometimes IP numbers) for communication. Every computer directly connected to the internet has a unique Internet Protocol (IP) address.
There are two major forms of IP address: IPv4 and IPv6.
IPv4 (Internet Protocol version 4)
This is the most familiar form of IP address consisting of four digits, each ranging from 0 to 255, separated by full stops (periods) in the form 192.168.0.1. IPv4 has long underpinned the internet although it is now in urgent need of replacement (see below) because the number of devices connected to the internet has nearly exhausted the total number of available IPv4 addresses.
IPv6 (Internet Protocol version 6)
A replacement for IPv4 originally outlined in 1998 to accommodate the increasing demand for IP numbers as more people and devices were connected to the internet. IPv6 can support a theoretical 3.4×1038 devices meaning it is suitable for any conceivable demand.
IPv6 is intended to replace IPv4; however this is an extremely complex process and it has taken a long time with even the most developed countries still far from completing the transition. A measure of compatibility exists in the form of IPv4-mapped IPv6 addresses where IPv4 addresses are stored in the IPv6 format.
Reserved IP numbers
Not all of the numbers in the IPv4 address range are actually available for use. As well as large blocks reserved for specific users in the early days of the internet, some are specifically used for ‘private’ networks outside of the internet.
10.0.0.0 to 10.255.255.255
169.254.0.0 to 169.254.255.255
172.16.0.0 to 172.31.255.255
192.168.0.0 to 192.168.255.255
Your computer will allocate itself an IP address beginning 169.254… if it is unable to connect to a local network. If you have a connection to the internet from your home your computer will almost certainly have an address beginning 192.168… In this case your network hub has a genuine IP address, your computer and other devices attached to the modem have private addresses. Your modem alters IP addresses on packets as they are sent to and from your home network and the internet.
From numbers to names
When we type an address (such as www.futurelearn.com) into a browser, the address is translated into a unique IP address by a name server, called a Domain Name Server (DNS), located somewhere on the internet. This IP address is attached to every IP datagram destined for the FutureLearn server.
As an example we will use an IP datagram belonging to an email being sent to Bob who works in the coffee bar at Big University in America (Bob’s address is bob@coffee.big.edu). The address is sorted from the most general part of the address to the most specific. First of all, the name server on the sender’s machine makes a request across the internet to a computer which holds the addresses of all American universities (most of which use .edu at the end of their address) asking for the IP number of big.edu. Assuming that big.edu exists, the .edu name server then responds with the IP number for the name server at Big University.
The sender’s machine then uses that IP number to make a link to the name server at Big University and requests the IP number of the coffee shop computer used by Bob. The big.edu name server will then respond with the address of the coffee shop. The IP datagrams can then all be addressed correctly and sent into the network.
© The Open University
No comments:
Post a Comment