The session layer is the fifth layer of the Open Systems Interconnection (OSI) model developed by the International Organization for Standardization (IOS). It is responsible for establishing, managing, and closing end-to-end connections, called sessions, between applications located at different network endpoints. Dialogue control management provided by the session layer includes full-duplex, half-duplex, and simplex communications. Session layer management also helps to ensure that multiple streams of data stay synchronized with each other, as in the case of multimedia applications like video conferencing, and assists with the prevention of application related data errors. The session layer is also responsible for ensuring proper data communications during remote procedure calls (RPCs).
There are seven distinct functional units, called layers, that the OSI model breaks up, or modularizes, into the different tasks for which network software and hardware are responsible. Layers below the session layer are primarily concerned with transmitting data on the network. The session layer, which is also commonly called layer 5 in computer networking, and layers above it primarily focus on interacting with and providing functionality to applications within a computing system. It interfaces with the transport layer, also called layer 4, so that data streams from applications may be segmented and seamlessly transmitted on to the network. Layer 5 also passes incoming data to the presentation layer, known as layer 6, for further processing before being given to an application.
When the OSI model was originally developed there was debate as to whether or not session layer protocols would be beneficial. A number of different network services, proprietary protocols, and OSI protocols have been successfully developed and demonstrate the importance of this layer. These include RPCs, the Structured Query Language (SQL), the X Windows System and X Terminal, Network File Services (NFS), the Apple Talk Session Protocol (ASP), and the Apple Talk Zone Information Protocol (ZIP). Without the session layer, it would be much more difficult to control computer application information being passed through networks.
These services and protocols perform a variety of functions. SQL is a computer language used to create requests which are sent to databases in order to retrieve specific information structured in a desired way. The X Windows System and X Terminal allow networked computers, some with limited capability, to connect to server computers so that the client computers have graphical and interface capabilities with devices such as monitors, mice and keyboards. NFS protocol emulates local access to files located on remote networked file servers. The ASP and ZIP Apple Talk protocols were used with early versions of Macintosh operating systems but were replaced by IP based protocols after the release of the Mac OS X operating system.