| ![]() |
XTP Application Programming Interface1
Roland Mechler and Gerald W. Neufeld
Department of Computer Science
University of British Columbia
Vancouver, B.C., V6T 1Z4
Canada
Abstract
The Xpress Transport Protocol (XTP) is a lightweight transport protocol intended for highspeed networks. High-speed networks provide bandwidths of 100 Mbps and beyond, enabling a new class of applications (e.g., multimedia). So as not to be a bottleneck in the delivery of data, a transport protocol must provide high performance. Features of XTP which enhance performance include implicit connection setup, sender driven acknowledgement, selective retransmission, fixed format word aligned packet structures and suitability for parallel implementation. Since the new generation of applications may require a variety of services from the transport layer, a transport protocol designed for high-speed networks should also be flexible enough to provide these services. XTP provides the mechanisms to allow applications to tailor the functionality of the protocol to their individual needs. In particular, XTP provides flow control, rate control and error control, the use of each being optional and orthogonal to the others. This report describes an Application Programming Interface designed for a multi-threaded implementation of XTP. The API allows all XTP parameters to be set from the application level, and addresses the issue of performance by providing a mechanism for zero copy transmission and reception of data.
1. This work was supported by grants from the Natural Sciences and Engineering Research Council of Canada and the Canadian Institute for Telecommunications Research.