The Session layer is responsible for the creation, management, and termination of sessions between systems. A session is best described as a type of managed connection between systems for the purpose of a specific type of communication. For example, a session might be created for the purpose of user authentication, or to initiate a file transfer.
The Session layer is also responsible for coordinating how the communication between systems takes place, which is known as dialog control. In some sessions, only a single system is allowed to communicate at any point in time, referred to as half-duplex. The Session layer would be responsible for determining whose turn it is in these situations, and for how long each system is allowed to communicate. In other cases, both systems can communicate at once, which is also known as full duplex. If the communication stream were somehow interrupted, the Session layer would be responsible for recognizing this and re-establishing the session.
Examples of Session layer protocols:
- Network File System (NFS): Unix file system access
- Structured Query Language (SQL): Local or remote database queries
- Remote Procedure Call (RPC): Client-server communication mechanism
- AppleTalk Session Protocol (ASP): AppleTalk client-server communication mechanism
- X Windows: Remote desktop sessions
Tip: Remember that the protocol data unit (PDU) of the Application, Presentation, and Session layers is “data”.