ltprc
Licklider Transmission Protocol management commands file
- Provided by: ion (Version: 3.2.1+dfsg-1.1)
- Report a bug
Licklider Transmission Protocol management commands file
LTP management commands are passed to ltpadmin either in a file of text lines or interactively at ltpadmin's command prompt (:). Commands are interpreted line-by line, with exactly one command per line. The formats and effects of the LTP management commands are described below.
The command uses est_max_export_sessions to configure the hashtable it will use to manage access to export transmission sessions that are currently in progress. For optimum performance, est_max_export_sessions should normally equal or exceed the summation of max_export_sessions over all spans as discussed below.
Appropriate values for the parameters configuring each "span" of potential LTP data exchange between the local LTP and neighboring engines are non-trivial to determine. See the ION LTP configuration spreadsheet and accompanying documentation for details.
The max_segment_size and aggregation_size_limit are expressed as numbers of bytes of data. max_segment_size limits the size of each of the segments into which each outbound data block will be divided; typically this limit will be the maximum number of bytes that can be encapsulated within a single transmission frame of the underlying link service.
aggregation_size_limit limits the number of LTP service data units (e.g., bundles) that can be aggregated into a single block: when the sum of the sizes of all service data units aggregated into a block exceeds this limit, aggregation into this block must cease and the block must be segmented and transmitted.
aggregation_time_limit alternatively limits the number of seconds that any single export session block for this span will await aggregation before it is segmented and transmitted regardless of size. The aggregation time limit prevents undue delay before the transmission of data during periods of low activity.
max_export_sessions constitutes, in effect, the local LTP engine's retransmission "window" for this span. The retransmission windows of the spans impose flow control on LTP transmission, reducing the chance of allocation of all available space in the ION node's data store to LTP transmission sessions.
max_import_sessions is simply the neighoring engine's own value for the corresponding export session parameter; it is the neighboring engine's retransmission window size for this span. It reduces the chance of allocation of all available space in the ION node's data store to LTP reception sessions.
LSO_command is script text that will be executed when LTP is started on this node, to initiate operation of a link service output task for this span. Note that " peer_engine_nbr" will automatically be appended to LSO_command by ltpadmin before the command is executed, so only the link-service-specific portion of the command should be provided in the LSO_command string itself.
queuing_latency is the estimated number of seconds that we expect to lapse between reception of a segment at this node and transmission of an acknowledging segment, due to processing delay in the node. (See the 'm ownqtime' command below.) The default value is 1.
If queuing latency a negative number, the absolute value of this number is used as the actual queuing latency and session purging is enabled; otherwise session purging is disabled. If session purging is enabled for a span then at the end of any period of transmission over this span all of the span's export sessions that are currently in progress are automatically canceled. Notionally this forces re-forwarding of the DTN bundles in each session's block, to avoid having to wait for the restart of transmission on this span before those bundles can be successfully transmitted.
d bundle appended to block for next session
e segment of block is queued for transmission
f block has been fully segmented for transmission
g segment popped from transmission queue
h positive ACK received for block, session ended
s segment received
t block has been fully received
@ negative ACK received for block, segments retransmitted
= unacknowledged checkpoint was retransmitted
+ unacknowledged report segment was retransmitted
{ export session canceled locally (by sender)
} import session canceled by remote sender
[ import session canceled locally (by receiver)
] export session canceled by remote receiver