Basically the function of the Transport Layer, is to accept data from the Session Layer, split it up into smaller units if required, pass thses to the network layer, and ensure that the pieces all arive correctly at the receiver. Furthermore, all of the above must be carried out efficiently, and in a manner that isolates the Session Layer from the inevitable changes in technology. Moreover, it provides a bridge between the lower network-depdendent protocol layers already considered and the higher application dependent layers.

Under normal conditions, teh transport layer creates a distinct network connection for each transport connection required by the session layer. If the transport connection requires a high throughput, however, the transport layer might create multiple network connections, dividing the data among the network connections to improve throughput. Thus the trasnport layer determines the type of service to provide to the session layer and this can range from:

Class 0 - is the simplest class with no enhancement to the Network service
Class 1 - adds error recovery for networks subject to a high frequency or interruptions
Class 2 - has all the features of Class 0 plus multiplexing.
Class 3 - combines error recovery and multiplexing
Class 4 - adds enhanced facilities to detect errors and out of sequence data

The transport layer is a tangible sorce to destination layer. In other words, a prgram on the source machine carries on a conversation with a similar program on the destination machine. In the lower layers, the protocols are between each machine and its immediate neighbours, and not by the ultimate source and destination machines. The difference is that layers 1 through 3 are chained whereas layers 4 through 7 are end-to-end.

In addition to multiplexing several message streams onto one channel, teh transport layer must take care of establishing and deleting connections across the network. Clearly this involves some sort of naming mechanism, so that a process on one machine has a method of desribing whom it wishes to converse.

Services provided to the session layer

Data transfer - Provides data transfer in accordance with the agreed quality of service
Transport connection release - Provides the means by which either session entity can relaese a transport connection
Transport connection establishment - The quality of the service of the connection is negotiated between the session entities and the Transport Service

Below are some of the functions found within the Transport Layer:

Establishment phase
Decide on multiplexing or splitting
Select the functions which will be operational during data transfer
Map transport addresses onto network addresses
Data transfer phase
Sequencing
Multiplexing
Flow control
Error detection
Error recovery
Release phase
Notification of reason for release
Identification of teh trasnport connection released

Thus, in effect, the transport layer provides the session layer with a dependable message trasnfer service which does not depend on teh features of the underlying network.

Lee James McMunn
CSYS Computing Studies Project