Licklider Transmission Protocol Implementation

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).

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

Please Login at the top of the page to download.


White Papers

FPGA Computing for Speed and Flexibility
Sponsored by Acromag
White Paper: Computer System Design for Critical Applications
Sponsored by Sealevel
How to Choose the Right Sensor for Your Measurement System
Sponsored by National Instruments
Piezo Motors Power MRI Robot
Sponsored by micromo
SpaceClaim in Manufacturing
Sponsored by SpaceClaim
Putting FPGAs to Work in Software Radio Systems
Sponsored by Pentek

White Papers Sponsored By: