One thing you will quickly notice about network models is that they tend to follow a layered design. I personally prefer looking at them as being modular, because it better conveys the idea of separate and changeable elements. The reason for the distinct sections within various models is simple – think of it as “a place for everything, and everything in its place”. Consider how roles and responsibilities often get separated in real life. At a restaurant, one person may cook your dinner, another serves it, and yet another washes the dishes when you’re done. In this way, any one element can be replaced or altered without having a huge impact on the others. Network models work in much the same way, except that each layer has different responsibilities with respect to network communication.
The main reasons for following a layered or modular design include:
- The separation of functions. For example, one layer might be worried about communication reliability, while another is concerned with the technical details of data transmission.
- Ability to make changes easily. If changes need to be made to a given layer, these can usually be isolated, not requiring a redesign of other layers.
- Simplification. By dividing roles and responsibilities into different layers, the complexity of networking can be broken down into more manageable sections. This also makes network communication an easier subject to teach and learn.
- Standardization. If a layered model is an industry standard, vendors can use the model as a blueprint to design systems capable of interoperating.