Appendix. A Brief Introduction to Network Models
Networking stacks have many different responsibilities in transmitting data over a network. As such, it would be easy for a networking stack to become a jumbled mess of code. Therefore, the industry long ago decided to spend the effort to clearly define a set of standardized layers in a networking stack. Each layer is responsible for some portion of the job of transmitting data over the wire. Lower layers deliver functionality and guarantees to higher layers in the stack.
Building up these layers isn’t just useful for organizing code. These layer definitions are often used to describe where new technology operates in the stack. For example, you might have heard of a layer-7 or layer-4 load balancer. A load balancer distributes traffic load across a set of backend machines, but the layer at which it operates greatly determines its capabilities. A layer-7 load balancer, for example, can make decisions about where to route traffic based on details in an HTTP request, like the requested path or a particular header. HTTP operates at layer 7, so this data is available to inspect. A layer-4 load balancer, by contrast, does not consider layer-7 data, and therefore can only pass traffic based on simpler connection details, like the source IP and port.
There are many different network models. Most of these models can be roughly mapped to equivalents in other network models, but sometimes the boundaries can be a bit fuzzy. For this book, we ...
Get Zero Trust Networks, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.