Better to know some
... than all
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.
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.
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.