Computer Network Models
A communication subsystem comprises intricate hardware and software components. Initially, software implementation for such subsystems relied on single, complex, unstructured programs with numerous interacting elements. This resulted in software that was challenging to test and modify.
To address this issue, the ISO introduced a layered approach. In this approach, networking concepts are divided into multiple layers, with each layer assigned specific tasks. Consequently, networking tasks are structured according to these layers.
Layered Architecture
- Layered architecture aims to break down design into smaller components for manageability.
- Lower layers contribute services to higher layers, ensuring comprehensive communication and application support.
- Offers modularity and clear interfaces for interaction between subsystems.
- Maintains layer independence, allowing modifications in one layer without affecting others.
- The number of layers, functions, and contents may vary but the purpose remains consistent: providing services while hiding implementation details.
- Fundamental elements include services, protocols, and interfaces.
- Communication between layers on different machines follows layer-n protocol rules.
Consider a five-layered architecture as an example.
- In a layered architecture, data is not directly transferred from layer n of one machine to layer n of another machine. Instead, each layer passes the data to the layer immediately below it until it reaches the lowest layer.
- Layer 1 resides below all other layers and represents the physical medium through which actual communication occurs.
- Layered architecture divides complex tasks into smaller, more manageable tasks.
- Data transmission from upper layers to lower layers occurs through well-defined interfaces. Layered architecture maintains a clear interface, minimizing the exchange of information between layers. This design also facilitates easy replacement of one layer's implementation with another.
- A collection of layers and protocols constitutes a network architecture.
Benefits of Layered Architecture in Computer Networks
- Modularity: Dividing network functions into separate layers makes the system easier to understand, develop, and maintain.
- Interoperability: Standardized layers enable devices from different vendors or organizations to communicate seamlessly.
- Scalability: New technologies or protocols can be integrated without affecting the overall system.
- Troubleshooting: Problems can be isolated to specific layers, allowing easier testing and diagnosis.
Why do we required layered architecture?
Divide-and-conquer approach: This method structures the design process by breaking down unmanageable tasks into smaller, more manageable ones. Consequently, complexity in design is reduced.
Modularity: Layered architecture is highly modular, fostering the independence of layers. This modularity enhances understanding and implementation.
Ease of modification: Layered architecture ensures layer independence, enabling modifications in one layer without impacting others.
Ease of testing: Each layer within the layered architecture can be analyzed and tested individually, simplifying the testing process.
