User Tools

Site Tools


projects:inoaaport:root

Configuring an iNoaaport root server

An iNoaaport root server is an Nbsp server that:

  • is configured to allow network connections from other Nbsp servers
  • is directly connected to a Noaaport dish

A root master is enabled by setting the variable

set feature(nbs1server)         1

in features.conf. No further steps are required for a machine to act as master.

One important consideration to take into account in a master-slave configuration is the latency of the connection between the two machines. Inside a LAN there is not much to worry about. The default settings have been chosen with that particular case in mind. But in a connection accross a WAN the latency can have various consequences, including the client queues growing and the connections being dropped.

For the first problem the netfilter can be used to limit the number of products to send to the client. For the second problem, the parameters

  • client_write_timeout_ms
  • client_write_timeout_retry
  • client_reconnect_wait_sleep_secs
  • client_reconnect_wait_sleep_retry

can be used adjusted in nbspd.conf to control the timeout limits in the master respectively.

Starting with nbsp-2.0, if a server disconnects a client for some reason, the server will keep the client's queue state for the amount of time indicated in client_reconnect_wait_sleep_secs, and then check if that same client has connected again. It the client remains disconnected, it will repeat that loop until the number of times indicated in client_reconnect_wait_sleep_retry is reached. If the client has connected again in any of those cycles, then the server resumes the transmission to the client at the point where the transmission was suspended. Otherwise the client's queue state is deleted and if that same client connects again it will be treated as an entirely new connection. Those parameters can also be set on a per-client basis through the variable (see nbspd.conf)

clientoptions

See also the file netfilter example files for suggestions on how to configure the server to control what is sent to each slave.

projects/inoaaport/root.txt · Last modified: 2011/11/08 14:17 (external edit)