Architecture principle suggest a certain approach to implementation. Whereas, implementation architecture defines how the concepts in a protocol architecture may be rendered into existence.
It allows developers to evolve different portions of the system separately.
The most popular one is the Open Systems Interconnect (OSI) model which consists of 7 layers described below.
- Physical layer – defines methods for moving digital information across a communication medium such as a phone line or fiber-optic cable.
- Data-link layer – defines those protocols and methods for establishing connectivity to a neighbor sharing the same medium
- Network layer – implements addressing scheme for hosts and routing algorithms that choose where packets go when sent from one machine to another.
- Transport layer – specifies methods for connections. May also implement reliable delivery.
- Session layer – handles communication sessions. These may include closing connections, restart and checkpointing.
- Presentation layer – responsible for format conversion
- Application layer – most visible to the users.
Mutliplexing, Demultiplexing and Encapsulation in layered implementation
One major benefits of layered approach is its natural ability to perform protocol multiplexing. Wherein, it allows multiple different protocols to coexist on the same infrastructure. It also allows multiple instantiations of the same protocol object to be used simultaneously without being confused.
Each layer uses identifier (i.e. MAC address, IP address, Port no.) in determining which protocol belongs together. Encapsulating each packet by its own protocol identifier before passing to another layer.
A layer prepends the PDU with its own header, the header is used for multiplexing data when sending and de-multiplexing by the receiver.