Session Layer in OSI model
Prerequisite : OSI Layer
The Session Layer is the 5th layer in the Open System Interconnection (OSI) model. This layer allows users on different machines to establish active communications sessions between them. It is responsible for establishing, maintaining, synchronizing, terminating sessions between end-user applications. In Session Layer, streams of data are received and further marked, which is then resynchronized properly, so that the ends of the messages are not cut initially and further data loss is avoided. This layer basically establishes a connection between the session entities. This layer handles and manipulates data which it receives from the Session Layer as well as from the Presentation Layer.
Application Layer Presentation Layer Present Layer=> Session Layer Transport Layer Network Layer Data Layer Physical Layer
Working of Session Layer :
Session Layer, which is the 5th layer in the OSI model, uses the services provided by The transport layer, enables applications to establish and maintain sessions and to synchronize the sessions.
Now, in order to establish a session connection, several things should be followed.
First thing is we should map the session address to the shipping address. The second thing is that we need to select the required transport quality of service (also referred as QoS) parameters. Next thing is we need to take care of the negotiations which should happen between session parameters. Then we further need to transmit limited transparent user data. Then at last, we need to monitor Data Transfer phase properly. The ability to send larger amount of data files is extremely important and a necessary thing too.
Functions of Session Layer :
The session layer being the fifth layer in the OSI model performs several different as well as important functions which are need for establishing as well as maintaining a safe and secure connection.
Data from Presentation Layer <=> Session layer <=> Data from Transport Layer
Following are some of the functions which are performed by Session Layer –
- 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.
- 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 allows synchronization by allowing the process of adding checkpoints, which are considered as synchronization points to the streams of data.
- This layer is also responsible for session checkpointing and recovery.
- This layer basically provides a mechanism of opening, closing and managing a session between the end-user application processes.
- The services offered by Session Layer are generally implemented in application environments using remote procedure calls (RPCs).
- The Session Layer is also responsible for synchronizing information from different sources.
- This layer also controls single or multiple connections for each-end user application and directly communicates with both Presentation and transport layers.
- Session Layer creates procedures for checkpointing followed by adjournment, restart and termination.
- 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).
Session Layer Protocols :
Session Layer uses some protocols which are required for safe, secure and accurate communication which exists between two-ender user applications.
Following are some of the protocols provided or used by the Session Layer –
- AppleTalk Data Stream Protocol (ADSP): ADSP is that type of protocol which was developed by Apple Inc. and it includes a number of features that allow local area networks to be connected with no prior setup. This protocol was released in 1985.
This protocol rigorously followed the OSI model of protocol layering. ADSP itself has two protocols named: AppleTalk Address Resolution Protocol (AARP) and Name Binding Protocol (NBP), both aimed at making system self-configuring.
- Real-time Transport Control Protocol (RTCP): RTCP is a protocol which provides out-of-band statistics and control information for an RTP (Real-time Transport Protocol) session. RTCP’s primary function is to provide feedback on the quality of service (QoS) in media distribution by periodically sending statistical information such as transmitted octet and packet counts or packet loss to the participants in the streaming multimedia session.
- Point-to-Point Tunneling Protocol (PPTP): PPTP is a protocol which provides a method for implementing virtual private networks. PPTP uses a TCP control channel and a Generic Routing Encapsulation tunnel to encapsulate PPP (Point-to-Point Protocol) packets This protocol provides security levels and remote access levels comparable with typical VPN (Virtual Private Network) products.
- Password Authentication Protocol (PAP): Password Authentication Protocol is a password-based authentication protocol used by Point to Point Protocol (PPP) to validate users. Almost all network operating systems, remote servers support PAP. PAP authentication is done at the time of the initial link establishment and verifies the identity of the client using a two-way handshake (Client-sends data and server in return sends Authentication-ACK (Acknowledgement) after the data sent by client is verified completely).
- Remote Procedure Call Protocol (RPCP): Remote Procedure Call Protocol (RPCP) is a protocol that is used when a computer program causes a procedure (or a sub-routine) to execute in a different address space without the programmer explicitly coding the details for the remote interaction. This is basically the form of client-server interaction, typically implemented via a request-response message-passing system.
- Sockets Direct Protocol (SDP): Sockets Direct Protocol (SDP) is a protocol that supports streams of sockets over Remote Direct Memory Access (RDMA) network fabrics.
The purpose of SDP is to provide an RDMA-accelerated alternative to the TCP protocol. The primary goal is to perform one particular thing in such a manner which is transparent to the application.