Taxonomy and survey of retransmission-based partially reliable transport protocols

Karl-Johan Grinnemo, Johan Garcia, Anna Brunstrom
2004 Computer Communications  
The mismatch between the services offered by the two standard transport protocols in the Internet, TCP and UDP, and the services required by distributed multimedia applications has led to the development of a large number of partially reliable transport protocols. That is, protocols which in terms of reliability places themselves between TCP and UDP. This paper presents a taxonomy for retransmission based, partially reliable transport protocols, i.e., the subclass of partially reliable
more » ... protocols that performs error recovery through retransmissions. The taxonomy comprises two classification schemes: one that classifies retransmission based, partially reliable transport protocols with respect to the reliability service they offer and one that classifies them with respect to their error control scheme. The objective of our taxonomy is fourfold: to introduce a unified terminology; to provide a framework in which retransmission based, partially reliable transport protocols can be examined, compared, and contrasted; to make explicit the error control schemes used by these protocols; and, finally, to gain new insights into these protocols and thereby suggest avenues for future research. Based on our taxonomy, a survey was made of existing retransmission based, partially reliable transport protocols. The survey shows how protocols are categorized according to our taxonomy, and exemplifies the majority of reliability services and error control schemes detailed in our taxonomy. The two standard transport protocols in the TCP/IP suite, TCP [29] and UDP [28], date back some thirty years. They were primarily designed to offer a service appropriate for the prevailing applications in those days. TCP was designed to offer a completely reliable service, a service suitable for such applications as e-mail, file transfer, and remote login; UDP, on the other hand, was designed to offer an unreliable service, a service appropriate for simple query-response applications such as name servers and network management systems. In recent years, we have witnessed a growing interest in distributed multimedia applications, applications typically requiring a service that in terms of reliability places itself somewhere between the services offered by TCP and UDP but that often have stringent demands on throughput, delay, and delay jitter. To address the needs of this class of applications, the Real-time Transport Protocol (RTP) [31] and other application support protocols have been proposed. These protocols try to follow the principles of protocol architecture design outlined by Clark and Tennenhouse [9] . Specifically, they try to implement their two key architectural principles: application level framing and integrated layer processing. However, apart from giving the application more control over transport level decisions, e.g., error recovery decisions, these protocols also impose a number of transport level responsibilities on the application, e.g., flow and congestion control and the administration of the timing of the application messages. The fact that RTP and similar protocols impose a number of duties on the application that are normally taken care of by the transport protocol and that are essentially of no interest to the application, have made many researchers argue that this is not the right way to go [21] . They re-emphasize the requirement that there should be a clean separation between the specification and implementation of a service. In particular, they argue for a transport protocol which, in the same way as RTP, gives the application more influence on the transport level decisions, but which, in contrast to RTP, relieves the application from all transport level responsibilities. To this end, a class of transport protocols has emerged that offer a service enabling the application to trade some reliability for improved performance with respect to some or all of the metrics: throughput, delay, and delay jitter. In other words, emerged to offer a service more suitable for multimedia and other real-time applications than either TCP or UDP. This class of protocols is commonly called partially reliable transport protocols. From an implementation perspective, we may differentiate between two major classes of partially reliable transport protocols: closed-loop and open-loop protocols. Closed-loop protocols dynamically adapt their error control scheme based on feedback of the current network conditions. In contrast, open-loop protocols do not use any feedback from the network. Instead, they work by adding redundancy to the payload and thereby mitigate the impact of losses. While open-loop protocols have been extensively studied and used for multimedia communication in the last twenty years [5, 6], closedloop techniques have not been considered appropriate for multimedia communication Preliminaries The taxonomy of retransmission based, partially reliable transport protocols presented in this paper is based on the following definition of a partially reliable service. Definition 1 Let denote the reliability level offered by a service. A service is consid-
doi:10.1016/j.comcom.2004.04.005 fatcat:h3nmiymmxzaengmp3xnq3yuvlm