XTP

Edited from Tim Strayer (BBN Technologies):

XTP is fundamentally a connection oriented protocol that does datagrams and transactions very efficiently, borrowing from Delta-T, VMTP and NetBLT. A connection is established with the very first packet sent. If no "status request" (read: ACK) is requested from the other side, this is all there is to the connection, so this is a datagram service. If a status request is contained in the first packet, the status packet sent in return is the acknowledgement of reciept: this is an acknowledged datagram. Note that there can be arbitrarily many packets sent from the transmitter before requesting status, so datagrams have no upper limit. If the first packet is a "request" (as defined by some higher layer protocol), then the "response" can serve as the acknowledgement of the request. Since timers are used, this is all that is needed for a transaction service, but you can add status requests in there to make the connection shutdown happen faster. Connections are, of course, just long lived packet exchanges.

The size of the receiver set is an orthogonal issue, so all of the above can be done in multicast, including fully reliably, k-reliably, and unreliably (I like the word "unassured").

Where is XTP? Well, there are still several companies selling XTP products: Mentat in LA, and Network Xpress in Virginia. Mentat has a STREAMS implementation, NetX has implementations for embedded real-time systems. Sandia National Laboratory has an unsupported freely available for non-commercial use user-space implementation.

XTP is at revision 4.0 with an addendum that strengthens some of the Multicast concepts. Mentat is sponsoring XTP through a standards process under SMPTE, and will included the addendum.

XTP was always a public domain protocol. The idea was to place the protocol into chips -- Protocol Engines, Inc was the company started to do that. PEI eventually folded for a variety of reasons, but most of the original Techical Advisory Board members continued to work on the protocol. XTP 4.0 was the result, and the TAB (now called XTP Forum) held its last regularly scheduled meeting about a year ago. No more direct work on the protocol is planned except the SMPTE effort.

Drawbacks to XTP: It's not been worked on for over a year, so there are some advances in transport protocols that haven't been folded into XTP. Notably is the work on reliable multicast transport protocols; XTP does reliability very well but scalability is a research project. Also, XTP is not standardized by a major organization like IETF, ISO, or IEEE (SMPTE notwithstanding). There is a lack of public domain implementations. Several major features of XTP are becoming standard in more modern versions of TCP, namely SACK and T/TCP. Rate control (separate from flow control) is very powerful, but it may not be the answer to congestion control unless everyone is playing by the same rules.


Last updated by Henning Schulzrinne