Why Layering Model?
Why Layering Model?
What is Layering Model?
In computer programming, layering is the organization of programming into separate functional components that interact in some sequential and hierarchical way, with each layer usually having an interface only to the layer above it and the layer below it.
Communication programs are often layered. The reference model for communication programs, Open System Interconnection ( OSI ) is a layered set of protocols in which two multilayered programs, one at either end of a communications exchange, use an identical set of layers. In the OSI model, each multilayer program contains seven layers, each reflecting a different function that has to be performed in order for program-to-program communication to take place between computers.[^4]
Layered Architecture
: Example of a layered model, OSI Model [^3]
- The number of layers, functions, contents of each layer will vary from network to network. However, the purpose of each layer is to provide the service from lower to a higher layer and hiding the details from the layers of how the services are implemented
-
The basic elements of layered architecture are services, protocols, and interfaces.
-
Service: It is a set of actions that a layer provides to the higher layer.
- Protocol: It defines a set of rules that a layer uses to exchange the information with peer entity. These rules mainly concern about both the contents and order of the messages used.
- Interface: It is a way through which the message is transferred from one layer to another layer.
When a system is communicating with another system, they follow a rule called the layer-n protocol. The protocol states that an n-layer on a system can only communicate with n-layer on another system. [^2]
Why Layering Model Existed?
Back then, the process of network communication was much more complex than it is currently. It used to be just a single, large system that is quite hard to manage and modify. That is why the Layering approach ( model ) was created. It was made so that each part in a large system is divided into smaller parts, also called as layers, so that it's easier to manage.
: An example of a Layered Model [^2]
Each layer in a Layered Model have their own functionality. For example, in OSI model there is a Layer called Application Layer, it is used as an interface for the User to use an application/system, and there is another layer called Session Layer that handles the communication part [^1].
Another reason why Layered Model was made is increase a system's modularity, hence it's easier to maintain and manage certain parts of a system rather than having to modified a whole system when a certain part is not working properly. It is similar in programming where you can make different functions/classes that have their own jobs so it's easier when you have to refactor the code or fix a bug [^2].
Why We Need to Use Layering Model in Computer Networks?
- Divide-and-conquer approach, makes a design process in such a way that the unmanageable tasks are divided into small and manageable tasks. In short, we can say that this approach reduces the complexity of the design.
- Modularity, layered architecture is more modular. Modularity provides the independence of layers, which is easier to understand and implement.
- Easy to modify, it ensures the independence of layers so that implementation in one layer can be changed without affecting other layers.
- Easy to test, each layer of the layered architecture can be analyzed and tested individually.
The Advantage and Disadvantage
Advantages
- They implement cost efficiency by implementing any system(s) to be small, simple, large or complex make no difference.
- Increase product lifetime as backwards compatibility is made considerably easier.
- Layering allows for innate plasticity to be built into devices at all levels and stages from the get-go, to implementation, on through optimization and upgrade cycles throughout a component’s entire useful working lifecycle thereafter.
- Layered networking protocols are much easier to port from one system or architecture to another.
- Prevents technology in one layer from affecting other layers.
Disadvantages
- The more layers, the more risk that will make things to breakdown or data to get lost.
- Data overhead and processing, due to the duplication of functionality.
- Results in complex exploitation of user-intensive applications.
References
[^1]: Rungta, K. (n.d.). Layers of OSI model explained. Meet Guru99 - Free Training Tutorials & Video for IT Courses. https://www.guru99.com/layers-of-osi-model.html [^2]: Javatpoint. (n.d.). www.javatpoint.com. https://www.javatpoint.com/computer-network-models [^3]: Matthes, K. (2020, September 13). The OSI model. Medium. https://karlmatthes.medium.com/the-osi-model-febdecc68c05 [^4]: TechTarget. (n.d.). whatis.techtarget.com. https://whatis.techtarget.com/definition/layering [^5]: V skills. Layering Concepts and Benefits. https://www.vs kills.in/certification/tutorial/layering-concepts-and-benefits/ [^6]: Aguilo, V. (2020, May 6). What are the benefits of using a layered model?. https://askinglot.com/what-are-the-benefits-of-using-a-layered-model [^7]: GN, V. (2015, October). Critical analysis of Cross-layer approach. https://www.researchgate.net/figure/ADVANTAGES-and-DRAWBACKS-of-LAYERED-APPROACH_tbl1_291075332