Networking is a complex computation problem that includes several tasks. The underlying hardware cannot do all the tasks, so a software layer is required to prepare the message before hardware could send them as signals.
The hardware only knows electrical signals, but there are several layers of software all of which need standardization. You will learn the Open Systems Interconnection (OSI) model in the article.
The layered model that dominated the data communication and networking before 1990 was the Open Systems Interconnection (OSI) model. It was never fully implemented and TCP/IP became the dominant commercial architecture because it was tested extensively.
The OSI Model
The International Standards Organization (ISO) decides international standards. OSI is an ISO standard that covers all aspects of network communication. It is the model using with a flexible and interoperable network is designed. The main purpose of OSI is to enable communication without modifying underlying software or hardware infrastructure.
OSI model has 7 different layers which help in moving information from source to destination in a network.
- Physical Layer
- Data Link Layer
- Network Layer
- Transport Layer
- Session Layer
- Presentation Layer
- Application Layer
If a message is sent from A to B, it passes through many intermediate nodes. Each layer call service of layer below it. Layer 3 uses servics of layer 2, Layer 4 uses services of layer 3, and so on.
Layer 3 of A can talk to layer 3 of B. It communication is controlled by agreed rules called protocols. The processes on each layer communicating with different machines are called peer-to-peer processes and communication itself is peer-to-peer process controlled by protocols in a given layer.
Each layer adds its own information to the message it receives from the layer above it. At layer 1 the packet is converted into a form that can be transmitted to a receiving device.
At the destination, the packet is unwrapped by each layer and pass the rest to a layer above it until the user get the original message.
For example, layer 2 unwrap the information and passes it to layer 3, layer 3 unwraps the information meant for it and passes the rest to the layer 4 and so on.
Interface Between Layers
The adjacent layers in OSI model communicate to each other user interface for layers. The interface defines the information and services a layer must provide to a layer above it.
Well-defined interfaces and layer functions provide modularity to a network. It is then easy to change or replace a layer of functions without changing other layers.
Organization of the Layer
We have discussed each layer in the next section, but you can organize 7 layers into 3 subgroups :
-Layer 1, 2 and 3 (Network support layer).
It deals with physical connections, physical addressing, and transport reliability and timing.
-Layer 5,6 and 7 (User support layers)
It allows interoperability among unrelated software systems.
-Layer 4 (Transport Layer)
This layer is a link between two subgroups – network and user support layer – ensuring the end-to-end transmission of data. The upper layer information is software, but the lower layer has hardware and some software components. The transport layer ensures that the lower layer transmits information in the correct form provided by the upper layer.
The physical layer is responsible for the transmission of the bit stream to the next node in the network. It contains mechanical and electrical specifications for the interface and the transmission medium. It defines the procedures and functions for interfaces and physical devices to transmit the data.
A physical layer is concerned with the following:
- Representation of Bits – It has streams of bits only, which is encoded into signals -electrical or optical. It defines the type of encoding.
- Physical characteristics of interface and medium – It defines the transmission medium and the interface between devices and transmission medium.
- Data rate – The number of bits per second is controlled by the physical layer.
- Synchronization of Bits – Sender and receiver must be in sync at the bit level. Their clock must be synchronized.
- Line configuration – This is concerned with the type of connection – point-to-point or multipoint link.
- Physical topology – Physical layer how devices are connected to the network and what is the topology – mesh, star, ring, or bus.
- Transmission mode – It defines the direction of the communication – half-duplex or full-duplex.
The data link layer converts the bit stream from physical layer into a reliable link by making it error-free for upper layers. It is responsible for moving data frames from one node to the next (hop-to-hop delivery) in the network.
The other responsibilities of the data link layer include:
- Framing – A stream of bits from network layer is converted into a unit called frame by data link layer.
- Physical Addressing – The data link layer provides 12 digit address of the destination in the frame.
- Flow control – The data rate of sender is faster than data rate at which receiver consumes the information. The data link layer impose flow control to avoid sending too much information to the receiver.
- Error control – The data link layer detects and retransmits lost or damaged frames during transmission. It removes any duplicate frames from getting delivered.
- Access control – If more devices are connected to same link, the link layer protocols determine which device have the control over the link at a given time.
This layer is responsible for source-to-destination delivery of packets, sometimes accross multiple networks or links. If two systems are connected to same network, the data link layer is enough to deliver the packets, no need for a networking layer.
Two systems are on different networks connected with devices between the networks. The network layer is necessary for source-to-destination delivery.
The responsibilities of the network layer are:
- Logical addressing – If packet sent to a different network, the network layer adds a header from upper layer containing logical address of sender and receiver.
- Routing – Independent networks form an internetwork connected through routers or switches to route or switch the packets to the destination. The network layer provides routing mechanisms.
The transport layer responsible for process-to-process delivery of packets. The process is a running application program. The network layer does not recognize the packets as a complete message, but it treats them as independent units. The transport layer makes sure that the whole message is delivered without loss and in order at the destination.
Basically, it does the flow control and error control at the source-to-destination level.
Other responsibilities of the transport layer are:
- Service-Point addressing – The end to end delivery means delivery of packets from one process to another process at the destination. The packet contains transport layer header that includes a server-point address or port address.
- Segmentation and reassembly – A message is divided into segments and each segmentcontains a sequence number. The number enables the transport layer at the destination to reassemble the message correctly and replace packets that are lost in transmission.
- Connection control – Transport layer could be connectionless or connection oriented.Connectionless transport layer treat packets as independent entity and do not account for loss of packets. The connection-oriented transport layer establish a connection with the destination and retransmit the lost packets. Once the message is delivered, the connectionis terminated.
- Flow control – The transport layer performs flow control just like data link layer, but this layer does it end-to-end, rather than a link.
- Error control – Error control is performed process to process. Error control is achived through retransmission.
The session layer is network dialog controller which establish, maintain and synchronize the communicating systems.
Responsibilities of the session layer are:
- Dialog control – It allows the communication to be half-duplex or full-duplex.
- Synchronization – It allows a process to add checkpoints, or synchronization points to a stream of data. If 2000 pages are sent then checkpoint after every 100 page is advisable. When a network crash happens at page 543 with a check point at 500. The network requires to retransmit pages only from 501 to 543.
This layer is for syntax and semantics of the information exchanged between communicating systems.
Responsibilities of presentation layer are:
- Translation – The presentation layer is responsible for interoperability between different encoding systems. The sender data is changed to common format and at the destination, presentation layer changes it to receiver format.
- Encryption – Encrypt original information to encrypted format and at the destination, presentation layer decrypt the message into original form.
- Compression – Reduce the number of bits in the information.
It enables users or software applications to access the network. It provides interfaces and services like email, remote file transfer, shared databases, and other types of distributed computing services.
Responsibilities of the application layer are:
- Network virtual terminal – It is software version of a physical terminal that allows users to log on to a remote host. It creates a software emulation of a terminal at remote host to which user’s computer talk to and help user log on. It is a software application.
- File transfer, access, and management – Allows to access files , read or change files, and transfer from a remote computer. It is a software application.
- Mail services – Application to store email storage and forwarding.
- Directory services – Provides access to distributed database sources and access for global information about various objects and services.