The Transport Layer

The transport layer is concerned with the provision of host-to-host user connections for the reliable and cost-effective transfer of user data. Although it may use a variety of networks and network protocols to realize its service, it hides such details from its users by offering a transparent transport service.

The transport layer is similar to the network layer in that both attempt to offer a reliable data transfer service. Their main difference lies in that the transport layer looks
at the problem from an end-user's point of view (denoted by a process running on a
host), while the network layer's perspective encompasses lower level concerns (such
as routing, connection modes, and internetworking). Also, the transport layer operates
only on the end hosts, while the network layer also operates on intermediate network
nodes.

The transport layer is the lowest user layer in the OSI model. Its scope of responsibility is a function of the quality of service required of it by the user and the
quality of service provided by the network layer. The transport layer simply has to
bridge this gap, which may be wide in some cases and negligible or nil in other cases.
We will first look at the transport service primitives and see how these define the
transport service. Then we will describe the transport protocol and related issues, such
as segmentation, multiplexing, addressing, error control, and flow control. Finally, we
will discuss TCP as an example of a popular transport layer standard.

Transport Services

As with the network layer, the transport services are defined in terms of transport primitives.

Addresses refer to Transport Service Access Points (TSAP); these denote entities at the transport layer to which connections are made. Quality Of Service (QOS)
denotes a set of parameters (such as connection/release/transfer delay,
connection/release/transfer probability of failure, throughput, error rate) which
collectively describe the quality of the transport service requested by the user. User
data refers to actual user data provided by the service user for transfer by the service
provider. Option refers to the expedited data function being available in the service.

Transport service user A first requests a connection, which is indicated to transport service user B by the service provider. B responds to the request and the service
provider confirms with A. Then B expedites some data which is indicated to A by the
service provider. Two normal data transfers from A to B, and from B to A then
follow. Finally, the service provider simultaneously sends disconnect requests to both A
and B and terminates the connection.

Network Types

When a transport service user requests a connection, the request includes a QOS parameter. This parameter indicates the user's
expected quality of service. The transport layer may have a number of different
network services at its disposal, each offering a different quality of service. It needs to
match the requested QOS against a network QOS and possibly also perform additional
work to fulfill user needs.

For this reason, networks, depending on their QOS, are divided into three broad categories. Data errors refer to discrepancies in the bit stream due
to transmission errors that have not been detected by the lower-level error checking
procedures (e.g., CRC checks). Signaled errors refer to failures in the switching
mechanisms, resulting, for example, in lost packets.

It should be clear from this table that much of the transport layer's complexity is due to it having to cope with type B and C networks. Compensating for their
unacceptable error rates may be a formidable task. However, when the transport layer
is unable to bridge the gap between the QOS of these networks and the requested
QOS, it may simply refuse to establish the connection.