Licklider Transmission Protocol
   HOME

TheInfoList



OR:

Licklider Transmission Protocol is a point to point protocol for use in deep space links. LTP is commonly seen as the standard underlying convergence layer protocol for the Bundle Protocols
RFC 5050
, supporting a wide selection of networks. LTP is named in honor of American computer scientist Joseph Carl Robnett Licklider.


Design

LTP is designed to run directly over a data link layer (e.g. the Advanced Orbiting Systems (AOS) Space Data Link Protocol). It can also run on the
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
(UDP), e.g. if used in a sensor network, in a private network (where bandwidth contestation isn’t an issue), or for software debug purposes. Therefore, it does not address issues like routing or congestion control. It was originally designed to support “long-haul” transmission in an interplanetary network; its design is based on experiences with the
CCSDS File Delivery Protocol CCSDS File Delivery Protocol (CFDP) is a file transfer protocol for use in space, e.g. between Earth and spacecraft in Earth orbit or between Earth and spacecraft on interplanetary missions. The protocol is defined by CCSDS standard 727.0-B-4 an ...
(CFDP). Developed for space communication, its features are: * Reliable data transport for important data (such as a file header) * Unreliable data transport for less important data (such as image pixels—a damaged pixel can be overcome) * No exchange of messages to perform negotiation. The protocol avoids this process to avoid delays due to high
round-trip time In telecommunications, round-trip delay (RTD) or round-trip time (RTT) is the amount of time it takes for a signal to be sent ''plus'' the amount of time it takes for acknowledgement of that signal having been received. This time delay includes p ...
s. It also avoids link underutilisation. * Energy efficiency, as it only transmits if a link is available and distinguishes between important and unimportant data. * Its timers work together with communication schedules and can be suspended whenever a scheduled link outage occurs. * It needs to be informed about link layer availability, round-trip time and communication schedules, basically requiring a management information base (MIB). LTP is highly stateful. * Unidirectional transmission sessions, circumvent high round-trip times or the inability of a peer communication node to transmit The application divides its data to send into two parts (either part may have a size of 0): * a ''red'' part: It contains data that has to be transported reliably, has to be acknowledged by the receiver, and has to be held available until acknowledged. This could, e.g., be a header that contains important information to decode the following data, and whose corruption would render all following data useless. * a ''green'' part. It contains data that does not require reliable transport. Since reception of this data is not acknowledged, it can be discarded after transmission.


Protocol

The LTP engine stores data in a queue, checks whether the link towards the destination is available and if so, starts the transmission. If the link is not available, the data remains in queue and transmission starts as soon as a so-called “link state cue” arrives, either from an underlying link layer or from a
Management information base A management information base (MIB) is a database used for managing the entities in a communication network. Most often associated with the Simple Network Management Protocol (SNMP), the term is also used more generically in contexts such as in ...
. Given red data to send, the last segment of the red data is marked with an “end of red data” flag and a timer is started for that segment. Absent green data to send, the “end of block” flag is set, otherwise the green data is transmitted and the last segment of this part gets marked with the “end of block” flag. The receiver issues a report segment for the sender once it received the “end of red data” segment and all data is complete. Once the report segment has been transmitted, a timer is started. Upon arrival of the report segment, the sender cancels its timer, queues a report-acknowledgement for the receiver and informs the application that all red data has been successfully transmitted. Once the receiver receives the report-acknowledgement it cancels its timer and the transmission of the red data is completed. The transmission is completed if the “end of block” segment has arrived.


Implementations


Reference implementations

The two
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation o ...
s for LTP are: * ION, written in C by the
Jet Propulsion Laboratory The Jet Propulsion Laboratory (JPL) is a federally funded research and development center and NASA field center in the City of La Cañada Flintridge, California, United States. Founded in the 1930s by Caltech researchers, JPL is owned by NASA an ...
and maintained at
Ohio University Ohio University is a Public university, public research university in Athens, Ohio. The first university chartered by an Act of Congress and the first to be chartered in Ohio, the university was chartered in 1787 by the Congress of the Confeder ...
. * LTPlib, written in C by
Trinity College, Dublin , name_Latin = Collegium Sanctae et Individuae Trinitatis Reginae Elizabethae juxta Dublin , motto = ''Perpetuis futuris temporibus duraturam'' (Latin) , motto_lang = la , motto_English = It will last i ...
.


Other implementations

*
Scapy Scapy is a packet manipulation tool for computer networks, originally written in Python by Philippe Biondi. It can forge or decode packets, send them on the wire, capture them, and match requests and replies. It can also handle tasks like scanni ...
has an LTP contrib module, contributed by the MITRE Corporation.


References

{{Reflist


External links


RFC 5325: Licklider Transmission Protocol—Motivation

RFC 5326: Licklider Transmission Protocol—Specification

RFC 5327: Licklider Transmission Protocol—Security Extensions

ION, University of Ohio

LTPlib Trinity College
Transport layer protocols