The TCP/IP protocols are a suite of protocols used to support different types of communication between devices over an IP network such as the Internet.
These protocols resulted from research and development conducted by the US Defense Advanced Research Projects Agency (DARPA). After initiating the pioneering ARPANET in 1969, DARPA started work on a number of other data transmission technologies which relied on packet switching: when sending data across two devices/computers, data is packetized, addressed, transmitted, routed, and received.
This research lead to the definition of the TCP/IP Protocols which are the underlying protocols for all Internet communication. They rely on packet switching and the use if IP addresses to locate devices on an IP network or on the Internet .
Let’s investigate how packet switching is used to transfer data (in the example below, a picture file) between two devices.
Packet Switching: Quiz!Packet Switching – Quiz!Open in New Window
The 4 Layers of the TCP Stack
Internet communications do not rely only on the TCP/IP protocol. Every communication will use a range of protocols depending on the type of data link used (Ethernet cable, Wi-Fi, Optic Fibre, etc.) as well as the type of application being used (E-Mail Client, Web Browser, FTP Client, etc.)
All the protocols used on a TCP/IP network have been categorised/grouped into 4 abstract layers called the TCP Stack.
A layer can hence be defined as being a sub-group of protocols needed in a network communication.
The four layers to the TCP stack are:
- The Application Layer: This layer regroups a range of application protocols such as:
- HTTP & HTTPS protocols for accessing web pages from a web server. When using the HTTPS protocol, all data being transferred is encrypted,
- FTP protocol for transferring (downloading & uploading) files between two computers,
- SMTP protocol for sending/transferring e-mails to an e-mail server,
- IMAP and POP3 for retrieving e-mails from an e-mail server.
IP Addresses vs. Domain Names
When we use our web browser to access a web page, it is very unlikely that we know the IP address of the web-server hosting the required web page. We may however enter a web address / URL using a domain name such as 101computing.net.
Domain Name Servers (DNS) are the Internet’s equivalent of a phone book. They maintain a directory of domain names and translate them to numerical IP addresses. These IP addresses are used to identify and locate the web-servers on the Internet.
Domain names such 101computing.net are easy for people to remember. Computers however access websites based on IP addresses, hence the needs for domain name servers: when typing a website address in your web browser such as http://www.101computing.net, your request will reach a domain name server that will convert the domain name part of the address (101computing.net) into its matching IP address.
Did you know?
Currently most IP addresses are using the IPv4 format, based on 4 numbers between 0 and 255 sepearated by a dot.
The IPv4 protocol however will soon be upgraded to the IP version 6 (IPv6) internet protocol. The reason for this upgrade is that there is need to generate more IP addresses to allow more devices (webservers, desktops, laptops, smartphones, smartwatches and other connected objects) to have a unique IP address on the network. An IPv6 address is based on 128 bits (instead of 32 bits for an IPv4 address).