As of January 2023, approximately 5.16 billion people used the internet. This is around 64.4% of the global population (statista.com), meaning that more than half of the world's population knows about the internet and uses it regularly. This computerized interconnection between people across the globe has fundamentally shaped our technological advancements and culture during the past 4 decades.
The origin of the internet is described on a high level as follows. The first wide-area packet-switched computer network was created by the U.S. department of defense in 1969 and was called the Advanced Research Projects Agency Network (ARPANET). The ARPANET was created to enable resource sharing between remote computers.
The increased need for resource sharing between remote computers created a challenge on how to scale this technology. This introduced standard communication protocols which went through a couple of iterations until the IP/TCP protocol stack was created. The IP/TCP stack was adopted by ARPANET on the 1st of January, 1983. This day is also considered the birthday of the internet 🎉.
The IP/TCP stack was further developed into a complete internet protocol suite by 1989, which laid the foundation for the internet as we know it today. The updated suite's name was also changed from IP/TCP to TCP/IP. This is based on the two most commonly used protocols in the stack, the Transmission Control Protocol and the Internet Protocol.
The internet protocol suite, or TCP/IP, basically organizes the communication protocols used in a network based on their functional usage. A protocol is at its core a set of rules that specify how devices communicate with each other¹. There are numerous amounts of communications protocols due to their various usages and system interconnections required for resource sharing between remote computers. Each protocol has a particular purpose at a specific point in the communication chain. Thus, the TCP/IP framework helps us organize these protocols in logical architectural layers which address each point in the communication chain.
The TCP/IP framework defines four distinct abstraction layers:
The image below shows an example of the different layers using HTTPS, TCP, IP & Ethernet protocols. A communication session starts down the TCP/IP stack on the left column and up the right TCP/IP stack to request data. The response is sent back down the right TCP/IP stack and once again up the left column to receive the requested data.
Going down the stack, the data unit passed on is wrapped with more data that hides (or encapsulates) the layer above's data. This is called encapsulation and is a fundamental concept that leads to decoupling between layers, making the TCP/IP layers robust and allowing protocols to be interchangeable on different TCP/IP stack levels.
Application Layer: You are now using a browser to view this post. The browser uses the Hypertext Transfer Protocol Secure (HTTPS) protocol to show a user end-to-end encrypted "data" like this text. The application layer prepares a Protocol Data Unit (PDU), i.e. data packet, which is then passed on to the layer below.
Transport Layer: This communicates with the different applications above it through ports. Each application layer protocol has a specified port e.g. port 443 for HTTPS. In this way, the transport layer knows from which application layer protocol data was received and to whom it needs to forward the data. The transport layer requires a source and destination port and will encapsulate the application layer's data into a Transmission Control Protocol (TCP) segment. The TCP segment is then passed onto the internet layer.
Internet Layer: The internet layer further encapsulates the TCP segment using an internet layer protocol such as the Internet Protocol (IP) into packets. In this layer, the source and destination IP addresses are added to the IP packets. The major advantage of breaking the data into multiple IP packets is that the packages can be transmitted separately to the destination using the most optimal routes available for each packet. This increases the speed and reliability of delivery. The IP packets are then handed over to the Link layer for transport.
Link Layer: A computer is connected to a network through a network interface controller (NIC) or also known as a network interface card. Each and every NIC has a unique Media Access Control (MAC) address. The link layer will encapsulate the IP packets into frames depending on the type of NICs communicating with each other. For example in a wired local area network, the link layer will use an ethernet frame. The ethernet frame will include the source and destination MAC addresses of the NICs in its header and also a frame check sequence (FCS) as a footer. When a NIC boundary is crossed e.g. at a router, the frame will be unencapsulated and the IP packets will be encapsulated again using the new source and destination MAC addresses for the next part of the journey.
The need for resource sharing between remote computers led to the creation of ARPANET. ARPANET was soon followed by many other networks created by other organizations. Scaling networks beyond the boundaries of companies, and countries, created the need for a standard approach to tie these communication protocols together in a standardized way.
A layered architecture approach, incorporating all the internet protocols into one suite, was created and was also known as TCP/IP after the two most popular protocols TCP and IP. The TCP/IP framework helps us to categorize all the protocols used on the internet according to functionality. TCP/IP was first adopted by ARPANET in 1983 and is still used today as the foundation for network design and implementation.
Feel free to comment below or get in touch with me through the contact form.
Husband, Lifelong-Learner, Team-Player & Systems Engineer