NAME¶
bssrc - IPN scheme configuration commands file adapted for Bundle Streaming
Service
DESCRIPTION¶
IPN scheme configuration commands are passed to
bssadmin either in a file
of text lines or interactively at
bssadmin's command prompt (:).
Commands are interpreted line-by line, with exactly one command per line.
IPN scheme configuration commands (a) manage a table of destination endpoints
that are known to be associated with Bundle Streaming Service (BSS)
applications, (b) establish BSS-adapted egress plans for direct transmission
to neighboring nodes that are members of endpoints identified in the
"ipn" URI scheme, and (c) establish static default routing rules for
forwarding bundles to specified destination nodes.
A BSS endpoint table
entry identifies an IPN endpoint ID -- in which the
node number and/or service number may be the wild-card character '*' -- that
is known to be associated with a BSS application. These table entries enable
bssfw to distinguish BSS bundles from non-BSS traffic and apply
BSS-specific egress planning logic to the former while handling the latter in
exactly the same way as
ipnfw.
The egress
plan established for a given neighboring node associates three
default egress
duct expressions with that node: one for BSS traffic
that must be forwarded as real-time streaming data (using a convergence-layer
protocol that does not perform retransmission), one for BSS traffic that must
be forwarded as playback data (using a reliable convergence-layer protocol),
and one for non-BSS traffic. These default duct expressions may be overridden
by more narrowly scoped
planrules in specific circumstances: different
egress duct expressions may apply when the source endpoint for the subject
bundle identifies a specific node, a specific service, or both.
Each duct expression is a string of the form "
protocol_name/
outduct_name[,
destination_induct_name]", signifying that the bundle is to be
queued for transmission via the indicated convergence layer protocol outduct.
destination_induct_name must be provided when the indicated outduct is
"promiscuous", i.e., not configured for transmission only to a
single neighboring node; this is protocol-specific.
The circumstances that characterize a specific rule within a general plan are
expressed in a
qualifier, a string of the form "
source_service_number source_node_number" where either
source_service_number or
source_node_number may be an asterisk
character (*) signifying "all".
Note that egress plans
must be established for all neighboring nodes,
regardless of whether or not contact graph routing is used for computing
dynamic routes to distant nodes. This is by definition: if there isn't an
egress plan to a node, it can't be considered a neighbor.
Static default routes are expressed as
groups in the ipn-scheme routing
database. A group is a range of node numbers identifying a set of nodes for
which defined default routing behavior is established. Whenever a bundle is to
be forwarded to a node whose number is in the group's node number range
and it has not been possible to compute a dynamic route to that node
from the contact schedules that have been provided to the local node
and that node is not a neighbor to which the bundle can be directly
transmitted, BP will forward the bundle to the
gateway node associated
with this group. The gateway node for any group is identified by an endpoint
ID, which might or might not be an ipn-scheme EID; regardless, directing a
bundle to the gateway for a group causes the bundle to be re-forwarded to that
intermediate destination endpoint. Multiple groups may encompass the same node
number, in which case the gateway associated with the most restrictive group
(the one with the smallest range) is always selected.
The formats and effects of the BSS forwarding configuration commands are
described below.
GENERAL 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 bssadmin 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.
- h
- The help command. This will display a listing of the commands and
their formats. It is the same as the ? command.
ENTRY COMMANDS¶
- a entry service_nbr node_nbr
- The add entry command. This asserts that all bundles whose
destination endpoint ID matches service_nbr and node_nbr
(either or both of which may be the wild-card character '*') are to be
processed as BSS traffic.
- d entry service_nbr node_nbr
- The delete entry command. This command rescinds a prior BSS
assertion characterized by the exact same service_nbr and
node_nbr.
- l entry
- This command lists all entries in the node's table of destination endpoint
IDs that indicate BSS traffic.
PLAN COMMANDS¶
- a plan node_nbr non-BSS_duct_expression
BSS_non-reliable_duct_expression BSS_reliable_duct_expression
custody_expiration_interval
- The add plan command. This command establishes an egress plan for
the bundles that must be transmitted to the neighboring node identified by
node_nbr. custody_expiration_interval indicates the number
of seconds the BP agent must wait for custody acceptance after
transmitting a bundle on either BSS duct before automatically
re-forwarding the bundle. A general plan must be in place for a node
before any more specific rules are declared.
- c plan node_nbr non-BSS_duct_expression
BSS_non-reliable_duct_expression BSS_reliable_duct_expression
custody_expiration_interval
- The change plan command. This command changes the duct expressions
and/or custody expiration interval for the indicated plan.
- d plan node_nbr
- The delete plan command. This command deletes the egress plan for
the node identified by node_nbr, including all associated
rules.
- i plan node_nbr
- This command will print information (the default duct expressions, custody
expiration interval, and all specific rules) about the egress plan for the
node identified by node_nbr.
- l plan
- This command lists all egress plans established in the BSS database for
the local node.
PLANRULE COMMANDS¶
- a planrule node_nbr qualifier
non-BSS_duct_expression BSS_non-reliable_duct_expression
BSS_reliable_duct_expression
- The add planrule command. This command establishes a planrule,
i.e., a set of duct expressions that override the default duct expressions
of the egress plan for the node identified by node_nbr in the event
that the source endpoint ID of the subject bundle matches
qualifier.
- c planrule node_nbr qualifier
non-BSS_duct_expression BSS_non-reliable_duct_expression
BSS_reliable_duct_expression
- The change planrule command. This command changes the duct
expressions for the indicated planrule.
- d planrule node_nbr qualifier
- The delete planrule command. This command deletes the planrule
identified by node_nbr and qualifier.
- i planrule node_nbr qualifier
- This command will print information (the duct expressions) about the
planrule identified by node_nbr and qualifier.
- l planrule node_nbr
- This command lists all planrules in the plan for the indicated node.
GROUP COMMANDS¶
- a group first_node_nbr last_node_nbr
gateway_endpoint_ID
- The add group command. This command establishes a "group"
for static default routing as described above.
- c group first_node_nbr last_node_nbr
gateway_endpoint_ID
- The change group command. This command changes the gateway node
number for the group identified by first_node_nbr and
last_node_nbr .
- d group first_node_nbr last_node_nbr
- The delete group command. This command deletes the group identified
by first_node_nbr and last_node_nbr.
- i group first_node_nbr last_node_nbr
- This command will print information (the gateway endpoint ID) about the
group identified by first_node_nbr and last_node_nbr.
- l group
- This command lists all groups defined in the BSS database for the local
node.
GROUPRULE COMMANDS¶
- a grouprule first_node_nbr last_node_nbr
qualifier gateway_endpoint_ID
- The add grouprule command. This command establishes a grouprule,
i.e., a gateway endpoint ID that overrides the default gateway endpoint ID
of the group identified by first_node_nbr and last_node_nbr
in the event that the source endpoint ID of the subject bundle matches
qualifier.
- c grouprule first_node_nbr last_node_nbr
qualifier gateway_endpoint_ID
- The change grouprule command. This command changes the gateway EID
for the indicated grouprule.
- d grouprule first_node_nbr last_node_nbr
qualifier
- The delete grouprule command. This command deletes the grouprule
identified by first_node_nbr, last_node_nbr, and
qualifier.
- i grouprule first_node_nbr last_node_nbr
qualifier
- This command will print information (the duct expression) about the
grouprule identified by node_nbr, last_node_nbr, and
qualifier.
- l grouprule first_node_nbr last_node_nbr
- This command lists all grouprules for the indicated group.
EXAMPLES¶
- a plan 18 tcp/saturn.nasa.gov:5011 udp/*,saturn.nasa.gov:5012
tcp/saturn.nasa.gov:5011 3
- Declares the egress plan to use for transmission from the local node to
neighboring node 18. Any bundle for which the computed "next
hop" node is node 18 will be queued for transmission to Internet host
saturn.nasa.gov, using udp if the bundle is real-time BSS traffic and tcp
otherwise; for BSS traffic, custodial retransmission will be initiated
after 3 seconds if no custody acknowledgment is received.
- a planrule 18 * 9 tcp/saturn.nasa.gov:5011 udp/*,saturn.nasa.gov:5012
tcp/neptune.nasa.gov:5011
- Declares an egress plan override that applies to transmission to node 18
of any bundle whose source is node 9, regardless of the service that was
the source of the bundle. Each such bundle must be queued for transmission
to Internet host neptune.nasa.gov, rather than default host
saturn.nasa.gov, if it is non-real-time BSS traffic.
- a group 1 999 dtn://stargate
- Declares a default route for bundles destined for all nodes whose numbers
are in the range 1 through 999 inclusive: absent any other routing
decision, such bundles are to be forwarded to
"dtn://stargate".
SEE ALSO¶
bssadmin(1)