Introduction

The Transport Layer is regarded as the highest of the lower layer protocols in the OSI protocol stack. It resides above the Physical, Data-Link and Network layers and just below the Session layer and is concerned with the transmission of data between end systems across a communications facility. It provides a messaging service for the Session layer and hides the underlying network from the upper layers. As such it may need to be very complex in order to deal with a variety of network characteristics and capabilities.

The Transport layer provides the means to establish, maintain, and release transport connections on behalf of session entities. It provides reliable end-to-end data transport. Error checking and other reliability features are handled by the protocols in the Transport layer if they are not handled by the underlying networks. This is the case, for example, with Frame Relay and Asynchronous Transfer Mode (ATM) networks, which do not perform error checks when delivering packets. Instead, error checking is assumed to be handled by Transport layer protocols which examine information in the packet to make sure the information was delivered error-free.

The Transport layer can provide a connection-oriented or connectionless service. In a connection-oriented session, a circuit is established through which packets flow to the destination. In this arrangement, packets arrive in order and do not require a full address or other information because the circuit guarantees their delivery to the proper destination. Connectionless session does not establish circuits or provide reliable data delivery. Packets are fully addressed and sent out over the network. The Transport layer protocols at the destination can re-order the packets which arrive out of order and request retransmission of missing or defective packets.

Issues involved at the Transport Layer level

The Transport Service must be provided independant of the type and quality of the network available. As this network service is made progressively less capable, the transport protocol becomes more complex.

ISO has defined three types of network service

  • Type A: Network connections with acceptable residual error rate and acceptable rate of signaled failures
  • Type B: Network connections with acceptable residual error rate but unacceptable rate of signaled failures
  • Type C:Network connections with residual error rate not acceptable to the transport service user

An error is defined as a loss or duplicated network protocol data unit (NPDU). If the error is caught and corrected by the network so that this is transparent to the transport entity, no damage is done. If the network service detects an error, cannot recover, and signals the transport entities, this is known as a signaled failure. Finally, there are residual errors - those that are not detected for which the transport entity is not notified.

Type A provides a reliable network service and makes life easy for the transport protocol designer. Three subcases of Type A have been identified which present progressively greater difficulties to the transport service.

  • Reliable, sequencing, network service with arbitrary message size
  • Reliable, non-sequencing, network service with arbitrary message size
  • Reliable, non-sequencing, network service with maximum message size