By Stanislav Taran

OSI: Session Layer - Layer 5 (Part 4)


Definition

Session layer is the fifth layer of the OSI model, responsible for managing communication sessions between network devices. It establishes, maintains, and terminates connections between applications on different devices, ensuring that data is exchanged securely and reliably.

Responsibilities

Some of the key functions of the session layer include:

  • Session Layer works as a dialog controller through which it allows systems to communicate in either half-duplex mode or full duplex mode of communication.
    The transmission mode is the process of transferring data and information between two devices. Thus, it is often known as a communication mode. The transmission modes are of three major types:
  • Simplex Transmission Mode. Think of a walkie-talkie: Information flows in one direction only. One device transmits (like talking), and the other device receives (like listening). They cannot transmit and receive at the same time.
  • Half Duplex Transmission Mode Imagine a two-way radio: Communication can flow in both directions, but not simultaneously. Devices take turns transmitting and receiving. This might involve a handshake or switching mechanism to determine whose turn it is.
  • Full Duplex Transmission Mode. Picture a phone conversation: Data can be transmitted and received in both directions at the same time. This allows for real-time, two-way communication, like during a phone call or video conference.
Communication modes
  • This layer is also responsible for token management, through which it prevents two users to simultaneously access or attempting the same critical operation.

  • This layer basically provides a mechanism of opening, closing and managing a session between the end-user application processes.

  • The Session Layer is also responsible for synchronizing information from different sources.

  • Session Layer creates procedures for checkpointing followed by adjournment, restart and termination.

    Checkpointing:

    The session layer can insert checkpoints at specific points within a data stream. These checkpoints act like “bookmarks” that mark specific points in the conversation. Checkpoints typically contain information about the state of the communication at that point, such as sequence numbers or acknowledgement statuses of data packets.

    Data Synchronisation

    Adjournment:

    Adjournment refers to a temporary pause in the communication session. This might be intentional (e.g., user pauses a file transfer) or due to unforeseen circumstances (e.g., network interruption). When adjournment happens, the session layer can leverage the most recent checkpoint to remember the state of the communication.

    Restart:

    If the session is adjourned and needs to be resumed later, the session layer can use the information stored in the checkpoint to restart communication. This allows the applications to pick up where they left off, without having to resend all the data that was exchanged before the adjournment.

    Termination:

    Termination refers to the orderly ending of a communication session. This can be initiated by either application involved. The session layer ensures proper termination by exchanging messages between the applications and releasing any resources associated with the session.

  • Session Layer uses checkpoints to enable communication sessions which are to be resumed from that particular checkpoint at which communication failure has occurred.

  • The session Layer is responsible for fetching or receiving data information from its previous layer (transport layer) and further sends data to the layer after it (presentation layer).

Protocols

In the strictest sense, there are no widely used and universally standardized protocols that reside solely at the session layer of the OSI model. The session layer itself defines functionalities for managing communication sessions, but the actual implementation of these functionalities can occur at different layers depending on the specific protocols and applications involved.

Here’s a breakdown of why there aren’t well-defined session layer protocols:

  • The OSI model is a theoretical framework that outlines the different functionalities involved in network communication. The session layer serves as a conceptual layer, defining what needs to happen for applications to exchange data reliably.
  • Implementation Flexibility: Different protocols and applications might achieve session-like functionalities in various ways. Some might handle session management entirely within the application layer, while others might leverage mechanisms provided by the transport layer (like TCP) to establish reliable connections.

However, there are some historical examples of protocols that incorporated session management features:

NetBIOS (Network Basic Input/Output System): This older protocol, used for file and printer sharing on early Windows networks, had functionalities for establishing and managing sessions between devices. However, NetBIOS itself isn’t a widely used protocol anymore.

Here’s how session management concepts are implemented in practice:

Application Layer: Many modern applications handle session management directly within their code or through libraries that provide these functionalities. RPC (Remote Procedure Call) is a common example where session-like behavior is implemented at the application layer.

Transport Layer: Protocols like TCP in the transport layer offer reliable data transfer and connection management mechanisms. These functionalities indirectly support session-like behavior by ensuring data arrives in the correct order and connections are established reliably.

Conclusion

The session layer of the OSI model plays a crucial role in managing communication sessions between network devices. It provides a framework for establishing, maintaining, and terminating connections between applications, ensuring that data is exchanged securely and reliably.

While there aren’t specific protocols that reside solely at the session layer, the functionalities defined by this layer are essential for enabling effective communication between applications.

In the next post, we’ll explore the Transport layer of the OSI model. Stay tuned!