The Transport Layer

   Transport Layer Services
   (continued)

Multiplexing and Parallelization

Because more than one process may be communicating on the same node, the Transport Layer must keep track of multiple connections. To provide efficient service to the layers above, Transport Layer processes must also work with one or more transmission channels using two techniques:

Multiplexing--When the transmission channel provides faster service than the upper layers need, the Transport Layer will multiplex transmissions across a single channel to make more effective use of the channel's bandwidth. Multiplexing simply means that the Transport Layer interleaves the packets from two or more processes, as shown on the Multiplexing Diagram. The Transport Layer process at the receiving end then sorts the packets, re-creating the original messages based on addressing and sequencing data stored in the Transport Layer headers.

Multiplexing

Multiplexing

Parallelization--When the upper layers require faster service than a single channel can provide, the Transport Layer can send data flowing over multiple channels (if available), multiplying the effective throughput rate for the higher layers. This assumes that the Transport Layer process is running on a machine capable of multitasking, so that the lower layer processes which support the actual data transfer across the channels can operate in parallel. Multitasking capability is a function of the operating system (OS) used on each node.

Reliable and Sequenced Delivery

The Transport Layer also has responsibility for the reliability of the communication service provided to the upper layers. It must be able to recover from a wide variety of problems, such as:

Corrupted (damaged) packets

Lost or delayed packets

Duplicate packets

Packets delivered out of sequence

If packets are damaged, lost, or delayed for too long, the receiving Transport Layer corrects the error by asking the sending Transport Layer to retransmit the problem data. Of course, if a delayed message is retransmitted, and the original message also gets through, the receiving node will receive duplicate messages. Thus, in addition to error-detection data, a Transport Layer header also includes sequencing information that identifies each segment of data and its place in the overall transmission. This allows the receiving Transport Layer to discard duplicate messages.

Service Quality Management

In data networking, "quality of service" describes the characteristics of a transmission link, such as throughput, setup time, or accuracy. For example, a geosynchronous (GEO) satellite link has good speed and accuracy, but a long delay to set up the transmission.

The OSI reference model lets the Transport Layer's users (the layers above it) specify the quality of service (QoS) they require. They do this by providing parameters along with each request to establish a communication channel or deliver a packet. Different parameters are defined for both circuit-switched (connection-oriented) and packet-switched (connectionless) service.

For example, an interactive application that needs good response time might specify high QoS parameter values for connection establishment delay, throughput, transit delay, and connection priority. That same application might also specify a lower QoS value for residual error rate, because the impact of errors on the user is relatively low. (The receiving node just requests a retransmission.) On the other hand, a file transfer application that moves large volumes of data at night can accept slower response and connection establishment, but must have error-free transmission. That application would provide a different set of QoS parameters based on its needs.