The fifth layer of the OSI model is the session layer. It controls the connections between different systems by tracking the dialogs between computers, which are called sessions. A session is a communication channel that gets established between two hosts for the exchange of information for a limited period. It allows the systems to communicate in either half-duplex or full-duplex mode of communication. The communication between sender and receiver occurs in both directions in half-duplex transmission, but only one at a time, while in full-duplex transmission mode they can both transmit and receive at the same time.
This layer establishes, manages, and terminates the sessions between local and remote applications. It also checks that the data which is received from the server in the form of data packets belongs to which application.
The function of setting up a connection after authentication and authorization is also performed by the session layer. It provides services such as token management and synchronization. Through token management, it prevents the two users to simultaneously attempt the same critical operation. Synchronization checkpoints ensure that data streams up to them are successfully received and acknowledged. In case of any failures, only the streams after the checkpoints have to be re-transmitted. RPCs and NFS are examples of the session layer.