“But the seven layer model is still useful for teaching networking…”
So ran the most common reaction to my post last week about the seven layer model being dead. But let me ask something — how useful is the seven layer model for teaching networking? It doesn’t match the TCP/IP stack, it doesn’t account for MPLS and other transports that fall outside the normal IP world (it doesn’t even give us a solid model within which to discuss the concept of overlay networks, whether we consider them tunnels or not), and it can’t account for anything in the programmable network world. The seven layer model fails to describe modern networks because it is both too rigid and too narrow.
So would I use the seven layer model to teach networking today? Not really. What would I use instead? My reasoning is this: let a thousand models bloom (and flourish). What we really need is a set of models. We need models for:
- Transport Protocol Operation
- Network Device Operation
- Control Plane Operation
- End Host Operation
Let’s look at a few of these areas and see what we can come up with. For protocol operation, I can find no better model that John Day’s two layer model. The point behind Day’s model is that there are only a small set of problems protocols need to solve that break neatly into two natural protocols. There is multiplexing and addressing in one layer, and there is error and flow control in another layer. If you examine the way TCP/IP is built, you’ll find pairs of layers that alternate between the two different sets of operations — one at the link level, one at the network level, and one at the application level. To describe transport protocols in terms of what they do, rather than where they live, makes a lot of sense.
For network device operation what do we have? There aren’t a lot of models out there for network devices — in part because one of the areas of innovation in building network devices is around finding new ways to build these things. I have a model I use on a regular basis, of course; a model I call the hybrid model, illustrated below.
This might be the end-all be-all model of a network device, but it seems to get me where I want to go most of the time.
What’s missing? We don’t have solid models of control planes (that I know of), and I’m not certain about the models we have for end systems (we might even have/need multiple models, depending on the end system).
Overall, though, the end of the model as a tool isn’t nigh. What is nigh is the death and burial of the seven layer model, which has long outlived it’s usefulness in most practical ways.