What is the Internet?

Photo by Pixabay from Pexels: https://www.pexels.com/photo/white-switch-hub-turned-on-159304/

The internet is an INTERconnected NETwork. It uses a functional framework called TCP/IP to describe its inner workings and how devices around the world can communicate with each other. In this article, I’ll briefly discuss the genesis of this vast network and show you how the TCP/IP stack enables you to read this text from any connected device with a browser.

History

As of October 2023, approximately 5.3 billion people used the internet. This is around 65.7% 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 four 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 underwent several iterations until the IP/TCP protocol stack was created. ARPANET adopted the IP/TCP stack on the 1st of January, 1983. This day is also considered the birthday of the internet 🎉.

TCP/IP

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 name change was based on the stack’s two most commonly used protocols, the Transmission Control Protocol and the Internet Protocol.

The Internet protocol suite, or TCP/IP, 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 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 that address each point in the communication chain.

The TCP/IP framework defines four distinct abstraction layers:

  • Application Layer
  • Transport Layer
  • Internet Layer
  • Link Layer

The image below shows an example of the different layers using HTTPS data, TCP Segments, IP Packets & Ethernet frames.

The TCP/IP framework’s four layers

A communication session or request starts down the TCP/IP stack on the left column and then moves up to the right column of the TCP/IP stack to request data. The response is sent down the right column of the TCP/IP stack and up the left column to the requester.

Going down the stack, as shown in the middle, 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 article. 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., a data packet, which is passed on to the layer below.

Transport Layer: This layer 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 it. 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. This layer adds the source and destination IP addresses to the IP packets. The 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), also known as a network interface card. 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, the link layer will use an ethernet frame in a wired local area network. The ethernet frame will include the NICs’ source and destination MAC addresses in its header and 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.

Summary

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 categorize all the internet protocols according to functionality.

It is incredible that TCP/IP was first adopted by ARPANET in 1983 and is still used today as the foundation for the Internet’s network design and implementation.

Resources


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *