# 5. Session Layer
The session layer is responsible for opening and closing connections between two devices. The duration of a connection is called the session.

The session layer ensures that the connections remains active and open so that the data being received and/or send is complete. 

For example when sending a big file to someone, which takes some time, the session layer will keep the connection open long enough to send the complete file.

The session layer also synchronizes the data transfer with checkpoints. For example, if a 50 MB file is send to a device, the session layer could set a checkpoint every 10 MB. In case of a disconnect (session close), the session could be restored to a certain checkpoint and the data transfer can resume where it disconnected. 

This way we do not need to completely resend the file. 
