Network Xpress
News
Products
Support
Research
Solutions
Services
Overview
Customers
Staff
Contact Us

What Is The Xpress Transport Protocol?

Background

In the world of computer networks, protocols are used by application programs to establish and maintain communications with other application programs. As shown in Figure 1, two applications located anywhere in the world, running on heterogeneous equipment, can exchange data if they are interconnected by the right networks and protocols.

Figure 1

Although many protocols are required to achieve interoperability, the protocols located at the transport and network layers of the OSI Reference Model are especially important because they provide the services required for end-to-end communication. Five protocols have special historical significance:

The Transmission Control Protocol (TCP) provides a reliable, end-to-end transport service from one transmitting application program to one receiving application program; it delivers data in sequence without loss or duplication. It is most often used for applications that require full reliability such as file transfer.

The User Datagram Protocol (UDP) does not support reliable delivery; it is a "best-effort" transport protocol used for applications that do not need protection against data loss (e.g., distribution of periodic data).

The Internet Protocol (IP) is used to route messages through the network; the network can be a LAN or WAN or combination.

The ISO 8073 Transport Protocol (TP4) and the ISO 8473 Connectionless Network Protocol (CLNP) provide functionality similar to that of TCP and IP, and they are international standards. However, their adoption has been slow outside of Europe and some U.S. government-sponsored programs.

Distributed Systems

Increasingly, modern applications have become distributed systems, i.e., cooperating processes interconnected via a computer network. The venerable TCP/ TP4 protocols are less well-suited for distributed applications because:
  1. They support only peer-to-peer connections (that is, one transmitter talking to one receiver) so a communication from, say, one transmitter to ten receivers requires ten connections and ten independent transmissions. There is no concept of multicast.
  2. Since there is no multicast, there is no concept of multicast group management, i.e., there is no ability to define a group of transmitters and receivers or for the application program to define the reliability requirements of the group members.
  3. TCP provides little support for priority or latency control, both crucial for distributed real-time systems.
  4. TCP supports only a fully reliable transmission (i.e., it repeats missing data until it finally arrives at the destination, no matter how long it takes) which is too strong for some applications. UDP supports only a "best-effort" service (i.e., the transmitter never knows if the receiver got the data) which is too weak for some applications. Data reliability is defined by the protocol, not by the application.
  5. TCP requires the exchange of six data packets to transmit one data element reliably (two to set up and acknowledge the connection, two to send and acknowledge the data, and two to close the connection). This slows the exchange of data for short-lived connections (e.g., transactions).
  6. When errors do occur, TCP recovers using a go-back-n algorithm that retransmits all data beginning with the first lost byte. For networks with high data rates and/or long delays (e.g., coast-to-coast links, satellite links), this leads to inefficient use of the network when data previously sent and correctly received is nevertheless resent, only to be discarded at the destination as duplicate data.
  7. TCP and UDP implement fixed policies defined by the protocol, not the application. For example, all connections are governed by flow control which restricts the amount of data the transmitter can send. While this is often correct, there are applications that would benefit from unrestricted flow, and that option is simply not available.

A New Approach

In search of a better approach, an international group of protocol designers formed the XTP Forum, a not-for-profit organization whose goal was to design, develop, and advocate a new protocol which addresses the issues above. Composed of representatives from industry, academia, military, and government, this group has produced the Xpress Transport Protocol which we believe provides, all in one transport protocol, all of the functionality found in TCP and UDP and TP4 plus:

Multicast-- Data can be sent from one transmitter to any number of receivers with a single transmission. An application may form, or may join, any number of multicast groups.

Multicast Group Management-- The transmitting application defines who may join its multicast group, and when, and the group membership reliability to be associated with each member; the loss of an essential group member causes an error report to the application. Data transfer reliability is an independent issue from group membership; data may be transferred in either a fully reliable or unacknowledged manner.

Priority-- A rich priority subsystem allows applications to define the importance of its data according to a system-wide scheme; XTP then operates on its most important data first. When XTP is coupled with a network and an operating system that support priorities, this allows the designer to guarantee end-toend delivery latencies.

Traffic Description-- XTP provides a traffic description field that can be used to negotiate quality-of-service between end-systems. This feature anticipates using XTP directly over ATM.

Connection Management-- XTP implements fast connection setup and allows data to be transmitted in the first packet sent.

Selectable Error Control-- XTP supports not one but three types of error control: fully reliable like TCP, unacknowledged like UDP, or reliable transmission with fast negative acknowledgments for missing data (avoids waiting for time-outs).

Selectable Flow Control-- Like error control, there are three choices: traditional flow control like TCP using sliding windows, a "reservation mode" that permits transmissions only when a receiver buffer is known to be available, and a "streaming" mode that disables flow control entirely.

Rate and Burst Control-- For optimal performance, the receiver can impose a maximum data rate and a maximum burst size on the sender. This is especially valuable in heterogeneous environments when a fast transmitter might overwhelm a slower receiver.

Out-of-band Data-- Packets can be optionally tagged with eight bytes of user defined data such as timestamps.

Large Sequence Space-- In anticipation of gigabit (and even terabit) networks, XTP can track up to 264 bytes of outstanding data on each connection.

Operates Over Any Network Layer XTP is a pure transport protocol and as such operates over any network layer, including IP and CLNP, or even none at all. If the network layer is null then it can run directly on the LLC or MAC for networks such as Ethernet, token ring, and FDDI, or directly on top of the adaptation layer of an ATM network.

Real-time Operation Over IP Using simple extensions to a router's IP implementation, an IP router can recognize and react to XTP's priority mechanism. When operated in this mode, a designer can be assured that the overall system (including application programs, operating system, communications subsystem, and all interior routers) is always working on its most important message.

Advantages To The System Designer

What does all this mean to the system designer?

(a) It means that XTP provides all the functionality of TCP and UDP and TP4, plus much more, and all in a single protocol.

(b) Since XTP operates over IP or CLNP, XTP has the same interconnectivity and the same interoperability capabilities as TCP and UDP and TP4.

(c) XTP supports a reliable transport multicast capability (i.e., one-to-many communication with a single transmission) that is totally absent in any other transport protocol.

(d) The multicast group management capability permits the formation of any number of multicast groups, each with any number of members, with each member having user-defined reliability in the group. Data reliability is independent of group membership reliability.

(e) The underlying priority system guarantees high performance and latency control for real-time embedded systems.

(f) XTP's design scales from LANs to MANs to WANs without alteration of the protocol, its procedures, or its application interface

(g) The designer who specifies XTP can be assured that this choice is consistent with MIL-STD-2204 (Safenet) that adopts XTP for military, real-time, mission-critical communications systems.

(h) XTP need not be seen as a replacement for TCP or UDP or TP4. XTP can run simultaneously with any or all of these protocols and can be used in those situations where its functionality is needed. An example of the variety of possible protocol interconnections is shown in Figure 2.

Figure 2

More Information

The XTP Forum is committed to keeping the XTP definition and specification in the public domain. For more information on the Forum's activities, or to join the XTP Forum, contact the Forum's president, Mr. Larry Green, at "green@xtp.com".

Network Xpress Inc. is committed to providing portable, interoperable versions of XTP that span multiple computing platforms, operating systems, and network interfaces. For information on Network Xpress products and services, contact our president, Professor Alfred C. Weaver, at weaver@virginia.edu.


Network XpressTelephone: (804) 293-8066
webmaster@netx.comFAX: (804) 293-8414