Session layer: the major functions of this layer are to establish, maintain & synchronize the interaction among two communication hosts. It ensures that once a session is established it should be gracefully closed. It also checks & establishes connections among the hosts of two distinct users. The session layer also decides whether both users can send plus receive data at the similar time or whether only one host can send and the other can receive. The responsibilities of session layer are given below:
o Sessions and sub sessions: this layer divides a session in sub session for ignoring retransmission of whole message by adding the checkpoint feature.
o Synchronization: this layer decides the order wherein data required to be passed to the transport layer.
o Dialog control: this layer also selects which user application sends data & at what point of time and whether the communication is simplex, half duplex or full duplex.
o Session closure: this layer makes sure that the session among the hosts is closed gracefully.