NAME¶
ltprc - Licklider Transmission Protocol management commands file
DESCRIPTION¶
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.
COMMANDS¶
- ?
- The help command. This will display a listing of the
commands and their formats. It is the same as the h command.
- #
- Comment line. Lines beginning with # are not
interpreted.
- e { 1 | 0 }
- Echo control. Setting echo to 1 causes all output printed
by ltpadmin to be logged as well as sent to stdout. Setting echo to 0
disables this behavior.
- 1 est_max_export_sessions
database_bytes_needed
- The initialize command. Until this command is
executed, LTP is not in operation on the local ION node and most
ltpadmin commands will fail.
The command reserves database_bytes_needed bytes of storage in ION's
SDR database for LTP's queuing and retransmission buffers. It uses
est_max_export_sessions to configure the hashtable it will use to
manage access to export transmission sessions that are currently in
progress. (Note that database_bytes_needed must equal or exceed the
sum of the sizes of the local and remote LTP retransmission
"windows" for all "spans" as discussed below. 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 these parameters and 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.
- a span peer_engine_nbr
max_export_sessions max_import_sessions
max_segment_size aggregation_size_limit
aggregation_time_limit ' LSO_command'
[queuing_latency]
- The add span command. This command declares that a
span of potential LTP data interchange exists between the local LTP
engine and the indicated (neighboring) LTP engine.
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.
- c span peer_engine_nbr
max_export_sessions max_import_sessions
max_segment_size aggregation_size_limit
aggregation_time_limit ' LSO_command'
[queuing_latency]
- The change span command. This command sets the
indicated span's configuration parameters to the values provided as
arguments.
- d span peer_engine_nbr
- The delete span command. This command deletes the
span identified by peer_engine_nbr. The command will fail if any
outbound segments for this span are pending transmission or any inbound
blocks from the peer engine are incomplete.
- i span peer_engine_nbr
- This command will print information (all configuration
parameters) about the span identified by peer_engine_nbr.
- l span
- This command lists all declared LTP data interchange
spans.
- s 'LSI command'
- The start command. This command starts link service
output tasks for all LTP spans (to remote engines) from the local LTP
engine, and it starts the link service input task for the local
engine.
- m screening { y | n }
- The manage screening command. This command enables
or disables the screening of received LTP segments per the periods of
scheduled reception in the node's contact graph. By default, screening is
enabled -- that is, LTP segments from a given remote LTP engine (ION node)
are silently discarded whenever they arrive during an interval when the
contact graph says the data rate from that engine to the local LTP engine
is zero. Note that when screening is enabled the ranges declared in the
contact graph must be accurate; otherwise, segments will be arriving at
times other than the scheduled contact intervals and will be
discarded.
- m ownqtime own_queuing_latency
- The manage own queuing time command. This command
sets the number of seconds of predicted additional latency attributable to
processing delay within the local engine itself that should be included
whenever LTP computes the nominal round-trip time for an exchange of data
with any remote engine. The default value is 1.
- x
- The stop command. This command stops all link
service input and output tasks for the local LTP engine.
- w { 0 | 1 | <activity_spec> }
- The LTP watch command. This command enables and
disables production of a continuous stream of user-selected LTP activity
indication characters. A watch parameter of "1" selects all LTP
activity indication characters; "0" de-selects all LTP activity
indication characters; any other activity_spec such as
"df{]" selects all activity indication characters in the string,
de-selecting all others. LTP will print each selected activity indication
character to stdout every time a processing event of the associated
type occurs:
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
- h
- The help command. This will display a listing of the
commands and their formats. It is the same as the ? command.
EXAMPLES¶
- a span 19 20 5 1024 32768 2 'udplso
node19.ohio.edu:5001'
- Declares a data interchange span between the local LTP
engine and the remote engine (ION node) numbered 19. There can be at most
20 concurrent sessions of export activity to this node. Conversely, node
19 can have at most 5 concurrent sessions of export activity to the local
node. Maximum segment size for this span is set to 1024 bytes, aggregation
size limit is 32768 bytes, aggregation time limit is 2 seconds, and the
link service output task that is initiated when LTP is started on the
local ION node will execute the udplso program as indicated.
- m screening n
- Disables strict enforcement of the contact schedule.
SEE ALSO¶
ltpadmin(1),
udplsi(1),
udplso(1)