The session layer supports establishing, controlling, and eliminating a session or dialogue between the two end frameworks. It generates the session, handles the packets sent back and forth during the session and removes the session. The dialogue type/session type is also defined through half-duplex or full-duplex.
The session layer also supports data synchronization and check pointing so that only the information transmitted after the point of failure should be retransmitted in the event of network failure.
This layer also governs the dialogue between the two processes by deciding who can send and who can get at what point during the transmission.
The session layer's relationship to the transport layer and the presentation layer is displayed in the diagram below −
The functions of session layer are explained below −
Session Establishment: The session layer's main function is to establish a connection between the session users, known as a session. It can select a session between two computers for communication, file transfer, remote login or other purposes.
Normal Data Transfer: It is an essential function of the session layer. The data network between the customer entities may either be a two-way alternate (half-duplex) or two way concurrent (full-duplex).
Dialogue Management: In this term, the session relationship is full-duplex, but the upper layer sometimes communicates in half-duplex nodes. In such methods, the session layer has to manage the track of those to speak and is referred to as the dialogue management.
Session Release: For releasing the session connection, one of the following four variations are used, which are namely, User abort, Provider abort, Orderly release, Negotiated Release.
Synchronization: The session layer enables a phase to insert checkpoint, i.e., synchronization points, into a data stream. If a crash occurs during the data transmission, it can be retransmitted from the checkpoint despite retransmitting it from the start.