Network protocols

Protocols are agreed standards specifying and governing communication between nodes on a network.

Network protocols are typically layered. The implmentation of a network layer is a stack.

Stacks enshrine encapsulation: not every layer has to be directly concerned with every other layer. Only adjacent layers that interface with each other need to be in contact.

A prime example of a layered network stack is the internet_protocol_suite.