Licklider Transmission Protocol

Licklider Transmission Protocol is a point to point protocol for the use in deep space links.

Design

LTP is designed to run directly over a data link layer (such as e.g. AOS), but it can also run on the User Datagram Protocol (UDP), e.g. if used in a sensor network, in a private network (where bandwidth contestation isn’t an issue), and 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 (CFDP). LTP is commonly seen as the standard underlying convergence layer protocol for the Bundle Protocol (RFC 5050), supporting a wide selection of networks.

Developed for space communication however, its features are:

The application divides its data to send into two parts (however, either part may have a size of 0):

Function

The LTP engine will store the data in a queue, check whether the link towards the destination (remember, this is a point-to-point protocol) is available and if so, start the transmission. If the link is not available, it will keep the data in its queue and start transmission as soon as a so-called “link state cue” arrives, either from an underlying link layer or from a Management information base. If there was 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. If there is no 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 will issue 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 will cancel its timer and enqueue 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. More details about LTP can be found in the corresponding RFC 5325.

Reference Implementations

There are two reference implementations for LTP available

Name

LTP is named in honor of the American computer scientist Joseph Carl Robnett Licklider.

External links

This article is issued from Wikipedia - version of the Wednesday, September 02, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.