electronic computer
Chapter Nine
The Session Layer
*
Objectives
- We’ll see how a new session is created, maintained, and dismantled.
- The process of logon authentication will be revisited.
- Dialogue control will be examined.
*
*
Why we need session layer?
- Before the network starts to transfer data, it needs to make sure that the user has all the necessary rights and privileges.
- User credentials are verified.
- The processes or applications at the source and destination need to figure out how to talk to one another, such as service, protocol, speed, duration, etc.
- Establish a connection ID number
- Agree upon which services are required and for what duration
- Determine which device begins the conversation
- Coordinate the Acknowledgement numbering and retransmission rules.
*
Session Layer Responsibilities
- The responsibilities of session layer are:
- Establish a connection
- Provide dialogue management and synchronization
- Release the connection
*
Establishing a Connection
- In order for two devices to communicate, they must first establish a session.
- A session can also defined as a virtual connection between two devices for the purpose of transferring data.
- Many times, data is transferred over a series of session in order to keep network congestion at a minimum.
- Any time multiple sessions are used by devices, it is considered to be a dialogue.
*
Initiating a Link
- When a client application or process decides that it requires a service that exists on a remote device, it is up to Session layer to establish a link with that remote device.
- The Session layer will rely heavily upon the service provided by the lower lays in the OSI model
- To create a new session, the Session layer entity issues a T-connect request to the Transport Layer.
- Transport layer will identify the services for the particular session and the protocol that will be used. The Transport layer issue a N-connect request to the Network Layer and wait for confirmation.
- The confirmation will be handed back to the Session layer and used for all subsequent processes.
*
Initiating a Link
*
Logon Authentication
- In any connection-oriented protocol, logon authentication is required before any session can be built
- At a minimum, the logon authentication requires User ID and password.
- The credentials are sent to the target device and compared against the security database.
- If the user is authenticated, the session is created.
- If not, the session is immediately aborted.
*
Logon Authentication
- Once users log on to the network, their credentials stay in cache.
- The system makes use of this credential every time they attempt to access any network resource
- Once the client host has located the resource, if the resource has password restriction, the device housing that resource will forward the logon authentication to the server.
- The security database will be checked, and if all information is correct, the user will be allowed to access the resource.
*
Logon Authentication Example
*
The Connection ID
- Everything has to have a name.
- On any given host, it is high likely that there are multiple session open simultaneously
- The connection ID keeps multiple sessions from getting confused.
- For each session, the network will create a source connection ID and destination connection ID. This number will be given to the lower layer in order to make sure this information is added to the appropriate fields.
- TCP/IP makes very little use of connection IDs. TCP/IP uses sequence number to keep packets from different session.
*
Duration of the Connection
- An estimated duration is negotiated between entities.
- In the event that one of the device drops the connection for any reason, the other device will not just leave the virtual link hanging open.
- When the time to live expires, the still-connected device can either reestablish the connection or close it.
*
Service Required
- The device also negotiates what services are being requested and those that will be required.
- The services provided by the Session Layer include:
*
The Final Steps of Initializing a Session
- The last two steps of initializing a session are:
- Determine which entity begins the conversation
- Coordinate the acknowledgement numbering and retransmission procedure.
- Deciding who talks first is simply a matter of what type of service is being provided.
- The client may be requesting access to the resource on the server
- The server may be synchronizing data on the client.
*
The Final Steps of Initializing a Session
- Connection-oriented protocol require that acknowledgements be sent for each packet received. It is the Session layer to negotiate the method of acknowledgement
- Sliding window
- Stop and wait
- etc
*
Dialogue Management
- Duplex or half-duplex operation is selected.
- If the full duplex is selected, either device can send data any time it is required
- If half-duplex (Simplex) is selected, the process of communication is controlled by a token.
- Data Token – permit the transmission of data
- Synchronize minor token – A fine-tuning of the session’s flow is required, or a checkpoint is being issued.
- Major activity token – The entire is out of synch and needs to be realigned and reset
- Release token – All finished. Let’s go home
- Disconnect token – The data transfer is complete and the session can be broken down.
- Abort token – Some catastrophic failure has occurred and the session is to be ended immediately.
*
Dialogue Management
- During the transmission, the Session layer periodically places Checkpoints in the data steam.
- In the event of a session failure, certain protocols can reestablish a connection and pick up where they left off.
- A synchronization minor token is used so that the receiving device will not confuse the checkpoint with actual data
*
Dialogue Synchronization
- Broken down into four types
- Initial synchronization
- Starts the conversation
- Major synchronization
- Starts the conversation over again, if need be
- Minor synchronization
- Fine-tunes data exchange as needed
- Resynchronization
- Either restarts or completely aborts the session. It can take advantage of checkpoint to resume the transmission. A set command can be used to return to a specific checkpoint.
*
Releasing the Connection
- The final responsibility of the Session layer is to disconnect a communication link and remove the temporary files that have been created during the session.
- Disconnection fall under two categories, the expected and the unexpected
- Expected disconnections occur because either the duration of the session has expired or the transfer of data is complete.
- Unexpected disconnection occurs because of an unrecoverable error
*
Releasing the Connection
- An expected disconnect results in a finish Protocol Data Unit being issued.
- The session is broken down and all TEMP files cleaned up.
- An unexpected disconnection results in a not-finished PDU.
- TEMP files remain intact. Once the reconnection has been made, the checkpoint procedure will be used to resume the transfer where it left off.
*
Summary
- The Session layer (Layer 5) of the OSI model performs the following tasks:
- Starts and ends sessions on the Presentation layer’s request and passes connection information to the Transport layer
- Maintain the dialogue.
- Performs authentication, verifies permissions, and session recovery and checkpoint
*