This software is an implementation of the Licklider Transmission Protocol (LTP), a communications protocol intended to support the Bundle Protocol in Delay-Tolerant Network (DTN) operations. LTP is designed to provide retransmission- based reliability over links characterized by extremely long message round-trip times and/or frequent interruptions in connectivity. Communication in interplanetary space is the most prominent example of this sort of environment, and LTP is principally aimed at supporting “long-haul” reliable transmission over deep-space RF links.

Like any reliable transport service employing ARQ (Automatic Repeat reQuests), LTP is “stateful.” In order to assure the reception of a block of data it has sent, LTP must retain for possible retransmission all portions of that block which might not have been received yet. In order to do so, it must keep track of which portions of the block are known to have been received so far, and which are not, together with any additional information needed for purposes of retransmitting part, or all, of the block. Long round-trip times mean substantial delay between the transmission of a block of data and the reception of an acknowledgement from the block’s destination, signaling arrival of the block. If LTP postponed transmission of additional blocks of data until it received acknowledgement of the arrival of all prior blocks, valuable opportunities to use what little deep space transmission bandwidth is available would be forever lost.

For this reason, LTP is based in part on a notion of massive state retention. Any number of requested transmission conversations (sessions) may be concurrently “in flight” at various displacements along the link between two LTP engines, and the LTP engines must necessarily retain transmission status and retransmission resources for all of them. Moreover, if any of the data of a given block are lost en route, it will be necessary to retain the state of that transmission during an additional round trip while the lost data are retransmitted; even multiple retransmission cycles may be necessary.

LTP’s possible multiplicity of sessions per association makes it necessary for each segment of application data to include an additional demultiplexing token: a “session ID” that uniquely identifies the session in which the segment was issued and, implicitly, the block of data being conveyed by this session.

This software comprises a prototype implementation developed by Johns Hopkins University APL in cooperation with JPL, together with adaptations that improve the robustness, correctness, and operability of that implementation.

This work was done by Scott C. Burleigh and Chris Krupiarz of JHU/APL for NASA’s Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Daniel Broderick of the California Institute of Technology at This email address is being protected from spambots. You need JavaScript enabled to view it.. NPO-45208



This Brief includes a Technical Support Package (TSP).
Document cover
Licklider Transmission Protocol Implementation

(reference NPO-45208) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the November, 2011 issue of NASA Tech Briefs Magazine (Vol. 35 No. 11).

Read more articles from this issue here.

Read more articles from the archives here.


Overview

The document is a Technical Support Package from NASA's Jet Propulsion Laboratory detailing the Licklider Transmission Protocol (LTP), a communication protocol designed to enhance reliability in Delay-Tolerant Network (DTN) operations, particularly in the context of interplanetary communication. LTP addresses the unique challenges posed by deep-space environments, characterized by extremely long message round-trip times, frequent connectivity interruptions, low traffic levels, high transmission error rates, and limited bandwidth.

LTP is built to provide retransmission-based reliability, ensuring that data can be sent and received accurately despite the inherent difficulties of space communication. The protocol is named after J. C. R. Licklider, a pioneer in ARPA and Internet development, and is aligned with standards set by the Consultative Committee for Space Data Systems (CCSDS), which has been the principal source of space communication standards since 1982.

Key features of LTP include its ability to manage multiple sessions concurrently, which is essential for handling various data transmissions simultaneously. Each segment of application data includes a "session ID" for demultiplexing, allowing the protocol to track which data belongs to which session. This is crucial in environments where data loss can occur, as LTP retains the state of transmissions to facilitate retransmission of lost data.

The document also highlights the concept of "massive state retention," where LTP must keep track of all portions of data blocks that may not have been received. This is vital for ensuring that data can be retransmitted as needed without waiting for acknowledgments, which could lead to underutilization of available bandwidth.

Additionally, LTP supports a "best efforts" transmission approach for transient information, where certain data can be sent without acknowledgment, while critical metadata must be reliably delivered. This flexibility allows for improved bandwidth utilization while ensuring that essential information is preserved.

Overall, the LTP is positioned as a reliable "convergence layer" protocol that underpins the Bundle Protocol in DTN deployments, facilitating effective communication across the vast distances of space. The document serves as a comprehensive resource for understanding the implementation and operational principles of LTP in the context of space communications.