When we study TCP/IP, we make a kind of mixture between the OSI model and TCP/IP. This is because, typically, courses and books address both models. I always like to explain the layer concept by mentioning that computer networks are a very complex process to make work.
What I mean by this? When the first computer systems were created , such as ENIAC, for example, they were extremely powerful and complex machines, created for military purposes. Over time, there was an evolution of hardware, passing through valves, transistors and reaching integrated circuits.
This shows that there was enormous complexity in creating a single device, a single computer. Today, perhaps a computer from that time is even inferior to a common calculator, and infinitely inferior to our smartphone. Getting these complex computer systems to communicate is complicated.
Over time, different manufacturers began creating their own devices, often with their own operating systems. The interconnection between these heterogeneous systems has become a challenge. To solve this problem, the concept of a layer was created, which basically divides a very complicated problem, such as communication between different computer systems, into several smaller and more manageable parts.
This is similar to what we do when we learn programming: we break a large problem into smaller parts, solve each one separately, and then integrate them all to solve the larger problem. Each network layer functions as one of these smaller parts, establishing communication between different operating systems and devices. Each layer operates like a "black box": we know what the inputs and outputs are, but the internal functioning of each layer is independent.
This is also a good practice in software development, as knowing the inputs and outputs makes it easier to identify and correct problems at each level of abstraction. Let's imagine an example to illustrate the layer model. Suppose we have a guru who speaks Portuguese in one location A and, in another location B, a philosopher who speaks French.
These two wise men want to communicate, but they cannot directly. Each has a secretary who speaks their mother tongue and Dutch. Thus, the two secretaries are able to communicate in Dutch, translating messages between the wise men.
Furthermore, there is an infrastructure that allows messages to be transmitted between the two locations, such as a fax machine or an internet network. This example shows how layers allow communication between different systems, each performing a specific function. The OSI (Open Systems Interconnection) model was the first step towards creating a standard, establishing seven layers: physical, data link, network, transport, session, presentation and application.
Each layer deals with specific aspects of communication, such as transmitting bits, establishing connections, routing data and services to the user. The TCP/IP model, an alternative to OSI, has four layers: application, transport, internet (similar to the network layer) and link. It was created to integrate the ARPANET network, the precursor of the internet.
Although less detailed than OSI, TCP/IP has become the de facto standard adopted by the industry. There are criticisms of both models. OSI, for example, appeared at an inappropriate time and had poor implementations.
TCP/IP does not clearly define concepts such as service, interface and protocol. Despite this, TCP/IP is widely used, while OSI is more theoretical. In summary, when studying computer networks, we approach the OSI model to understand the theory and TCP/IP to understand the practice.
Each model has its advantages and disadvantages, but both are fundamental to understanding computer networks and their evolution. See you in the next video. Until later!