Reliable and Sequenced DeliveryThe 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:
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 ManagementIn 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. |