Introduction
A computer network comprises software and hardware that allows one device to communicate and receive data from another. Hardware specifies the set of instructions that utilizes the hardware equipment for data transmission, while software defines the set of instructions that uses the hardware equipment for data transmission. A basic data transfer entails numerous steps over several levels of a computer network. We will go through computer network models in-depth to understand how data is transported and received at the computer level.
Let's talk about the layers that make up a computer model before going into the computer network models. Let's start with a fundamental understanding of the layers involved in data transfer.
Layered Architecture
The major goal of having several layers in a computer network architecture is to break down transmitting and receiving data into smaller, more manageable activities. Each lower layer contributes to the top layer, resulting in a comprehensive collection of services for managing communications and running applications. These levels are interconnected, with each layer providing and receiving data from its immediate upper and lower layers. Dividing a model into layers simplifies the structure, making it easier to see a problem if it arises. A Computer Network model is made up of three primary components: A sender, A recipient, and A carrier.
It offers modularity and explicit interfaces, allowing subsystems to communicate. It maintains layer independence by offering services from a lower to a higher layer without specifying how they are implemented. Any changes made to one layer will not affect the other levels. From network to network, each layer's levels, functions, and contents will vary. The objective of each layer, on the other hand, is to deliver a service from a lower to a higher layer while masking the specifics of how the services are performed from the layers.
Core Components of the Layered Architecture
The core components of the layered architecture are services, protocols, and interfaces.
- Service: It is a collection of activities delivered to a higher layer.
- Protocol: It is a collection of rules that a layer follows while exchanging data with a peer entity. These guidelines primarily address the contents and sequence of the messages used.
- Interface: This is the method through which information is passed from one layer to the next.
Layer n on one computer will communicate with layer n on another machine in a layer n architecture. The rules employed in the dialogue are known as a layer-n protocol.
Read more about Layered Architecture
Let's look at a five-layered architecture as an example.
In a layered architecture:
- No data is transmitted from layer n of one machine to layer n of another. Instead, each layer passes data to the one right below it until the lowest layer is reached.
- True communication occurs in the physical medium, which is found below the layer
- Unmanageable jobs are separated into multiple tiny and manageable tasks in a layered architecture.
- Data is sent from the top layer to the lower layer through an interface. The most fundamental information is carried between layers in a layered design, which produces a straightforward interface. It also ensures that implementing another layer may easily replace the implementation of one layer.
- Network architecture is a collection of these layers and protocols.
Also see, Message Switching in Computer Networks and Basic Networking Commands
Advantages of Layered Architecture
- The divide-and-conquer method breaks large tasks into smaller, more manageable ones during the design phase. In a word, we can say that this strategy reduces the complexity of the design.
- The modularity of layered architecture is greater. Modularity provides layer independence, making it easier to understand and use.
- It maintains layer independence, allowing one layer's implementation to be altered without impacting other layers.
- Each layer of the layered architecture may be researched and tested individually.
Disadvantages of Layered Architecture
There are some disadvantages to using a layered architecture:
- Complexity: Layered architecture can increase the complexity of the software due to the additional layers and their interactions. It can also make it harder to understand the overall design and organization of the application.
- Performance Overhead: Each layer adds a level of abstraction and indirection, which can result in performance overhead. The communication between layers can also slow down the application if not optimized properly.
- Maintenance Costs: Maintaining a large and complex architecture can be difficult and time-consuming, especially if changes need to be made to multiple layers.
- Rigidity: The strict separation of responsibilities in a layered architecture can make it difficult to adapt to changing requirements and can lead to a rigid design that is hard to modify.
- Over-engineering: It's possible to create too many layers, which can lead to over-engineering and unnecessary complexity. This can make the software harder to maintain and understand.