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.
- v
- Version number. Prints out the version of ION currently installed. HINT:
combine with e 1 command to log the version number at startup.
- 1 est_max_export_sessions
- 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 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.
- 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 disabled -- that is,
LTP segments from a given remote LTP engine (ION node) may be accepted
even when they arrive during an interval when the contact graph says the
data rate from that engine to the local LTP engine is zero. When screening
is enabled, such segments are silently discarded. Note that when screening
is enabled the ranges declared in the contact graph must be accurate and
clocks must be synchronized; 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)