OSI reference model is a framework to understand and troubleshoot data communication between two nodes in a network. OSI stands for Open Systems Interconnection. Open signifies that the OSI model is not proprietary and is open to for anyone to study and make use of it. Developed in the late 1970s by ISO, OSI model remains the widely used tool to understand the networking architecture.
OSI model by itself is not a protocol but provides the design guidelines to build one. TCP/IP model is the implemented one in data networks; however OSI is used to talk about the network communication and troubleshoot problems.
- The OSI model describes how data flows from one computer, through a network to another computer.
- The OSI model divides the tasks involved with moving information between networked computers into 7 smaller, more manageable sub-tasks .
- A task is then assigned to each of the seven OSI layers.
- Each layer is reasonably self-contained so that the tasks assigned to each layer can be implemented independently.
Each layer is responsible for specific tasks.
- APIs — exposes the networking functionality to applications through APIs for specific protocols.
- Provides services defined by the protocols but not the applications themselves.
- Translation — data is formatted using various encoding schemes (ASCII, EBCDIC etc.) and translated back at the receiving end.
- Compression — reduce the number of bits to be transmitted.
- Dialog control – allows two systems to enter into a dialog, keep a track of whose turn it is to transmit
- Synchronization – adds check points (synchronization points) into stream of data.
- Responsible for source-to-destination delivery of the entire message.
- Segmentation and reassembly – divide message into smaller segments, number them and transmit. Reassemble these messages at the receiving end.
- Error control – make sure that the entire message arrives without errors – else retransmit.
- Application multiplexing — assigns each application a unique port number so multiple applications’ data can be transported simultaneously and differentiated at the destination.
- Responsible for delivery of packets across multiple networks.
- Logical addressing — defines homogeneous name space that abstracts out the physical implementation of the technology.
- Routing – Provide mechanisms to transmit data over independent networks that are linked together.
- Network layer is responsible only for delivery of individual packets and it does not recognize any relationship between those packets.
Data Link Layer:
- Framing – divides the stream of bits received from network layer into manageable data units called frames.
- Physical Addressing – Add a header to the frame to define the physical address of the source and the destination machines.
- Flow control – Impose a flow control – control rate at which data is transmitted so as not to flood the receiver (Feedback-based flow control).
- Error Control – Adds mechanisms to detect and retransmit damaged or lost frames. This is achieved by adding a trailer to the end of a frame.
- Bit representation – encode bits into electrical or optical signals
- Transmission rate – The number of bits sent each second
- Physical characteristics of transmission media
- Synchronizing the sender and receiver clocks
- Transmission mode – simplex, half-duplex, full duplex
- Physical Topology – how devices are connected – ring, star, mesh, bus topology.
Encapsulation and de-encapsulation
The data from the application seeps through the layers with each layer adding a header to the data and optionally a trailer. The data units become payload to the layer beneath it and finally converted into electrical signals (copper media) or optical signals (fiber media) or electromagnetic waves (radio). This process is called encapsulation.
At the destination the header information is processed and stripped off passing the payload to the layer above. Hence a logical communication path is established at each layer and the corresponding entities are called peers. The data finally reaches its application after traversing through various layers of the stack. This process is called de-encapsulation.
The data units have specific names at each layer and are generally termed as protocol data units (PDUs).
Knowing and applying OSI reference model to everyday networking tasks is the first skill every networking engineer masters. OSI layers greatly simplifies the troubleshooting of networking problems.