brsscla - Online in the Cloud

This is the command brsscla that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


brsscla - BRSS-based BP convergence layer adapter (input and output) task

SYNOPSIS


brsscla local_hostname[:local_port_nbr][ first_duct_nbr_in_scope[ last_duct_nbr_in_scope]]

DESCRIPTION


BRSS is the "server" side of the Bundle Relay Service (BRS) convergence layer protocol for
BP. It is complemented by BRSC, the "client" side of the BRS convergence layer protocol
for BP.

brsscla is a background "daemon" task that spawns two plus N threads: one that handles
BRSS client connections and spawns sockets for continued data interchange with connected
clients; one that handles BRSS protocol output by transmitting over those spawned sockets
to the associated clients; and one input thread for each spawned socket, to handle BRSS
protocol input from the associated connected client.

The connection thread simply accepts connections on a TCP socket bound to local_hostname
and local_port_nbr and spawns reception threads. The default value for local_port_nbr, if
omitted, is 80.

Each reception thread receives over the socket connection the node number of the
connecting client (in SDNV representation), followed by a 32-bit time tag and a 160-bit
HMAC-SHA1 digest of that time tag. The node number must be in the range
first_duct_nbr_in_scope through last_duct_nbr_in_scope inclusive; when omitted,
first_duct_nbr_in_scope defaults to 1 and last_duct_nbr_in_scope defaults to
first_duct_nbr_in_scope plus 255. The receiving thread also checks the time tag,
requiring that it differ from the current time by no more than BRSTERM (default value 5)
seconds. It then recomputes the digest value using the HMAC-SHA1 key named
"node_number.brs" as recorded in the ION security database (see ionsecrc(5)), requiring
that the supplied and computed digests be identical. If all registration conditions are
met, the receiving thread sends the client a countersign -- a similarly computed HMAC-SHA1
digest, for the time tag that is 1 second later than the provided time tag -- to assure
the client of its own authenticity, then commences receiving bundles over the connected
socket. Each bundle received on the connection is preceded by its length, a 32-bit
unsigned integer in network byte order. The received bundles are passed to the bundle
protocol agent on the local ION node.

The output thread extracts bundles from the queues of bundles ready for transmission via
BRSS to remote bundle protocol agents, finds the connected clients whose node numbers
match the proximate receiver node numbers assigned to the bundles by the routing daemons
that enqueued them, and transmits the bundles over the sockets to those clients. Each
transmitted bundle is preceded by its length, a 32-bit unsigned integer in network byte
order.

Note that brsscla is a "promiscuous" convergence layer daemon, able to transmit bundles to
any BRSS destination induct for which it has received a connection. Its sole outduct's
name is the name of the corresponding induct, rather than the induct name of any single
BRSS destination induct to which the outduct might be dedicated, so scheme configuration
directives that cite this outduct must provide destination induct IDs. For the BRS
convergence-layer protocol, destination induct IDs are simply the node numbers of
connected clients.

brsscla is spawned automatically by bpadmin in response to the 's' (START) command that
starts operation of the Bundle Protocol, and it is terminated by bpadmin in response to an
'x' (STOP) command. brsscla can also be spawned and terminated in response to START and
STOP commands that pertain specifically to the BRSS convergence layer protocol.

EXIT STATUS


"0" brsscla terminated normally, for reasons noted in the ion.log file. If this
termination was not commanded, investigate and solve the problem identified in the log
file and use bpadmin to restart the BRSS protocol.

"1" brsscla terminated abnormally, for reasons noted in the ion.log file. Investigate and
solve the problem identified in the log file, then use bpadmin to restart the BRSS
protocol.

Use brsscla online using onworks.net services



Latest Linux & Windows online programs