Protocol Layer

Why
Protocol layers are important because it is a good way to organize protocols together to provide some service

What
A Protocol layer is the implementation of a protocol in hardware or software. Protocol layers conform to the service model, meaning that they have a published functionality they provide to layers above it and they are allowed to use the functionality of lower layers for their functionality

Advantages

 * Modular, can change implementation of layer, but keep the API constant

Disadvantages

 * Same functionality may be implemented multiple times across the layers or the protocol stack
 * Lower layer may need information that is only available in higher layer, violating the principle of layering