The network for this project was laid out to conserve data bandwidth on the cellular connections, and maximize the amount of real-time data available on the ISFS base server at the Stuhr Museum, in case the cellular network became too congested during the eclipse event. Thus the museum DSM was connected to the base server (flux2) over a direct wireless link using Ubiquiti radios, so the museum sample stream did not depend on the cellular network. Ideally the samples from both sites needed to be provided to both flux2 and barolo. flux2 needed to monitor sensors in real-time with cockpit as well as generate the netcdf files for use with R. barolo needed to generate the netcdf files to be used by ncharts, as well as provide the primary data archive. To prevent duplicating the sample streams over either the museum or airport Internet connections, two NIDAS UDP relays were deployed. One ran on flux2 to collect UDP samples from the museum DSM. Another ran on eol-rt-data to collect UDP samples from the airport DSM. Then ssh tunnels could be used to forward TCP connections as needed to allow barolo and flux2 to pull samples from both sites. On flux2, museum samples came directly from the local relay. A ssh tunnel forwarded a port on eol-rt-data back to the relay on flux2, so that barolo could connect to the relay and pull only the museum samples over the museum Internet link. For the airport site, barolo could connect directly to the relay on eol-rt-data to get the airport samples, whereas dsm_server on flux2 had to connect to that relay using a local port forward over the ssh session to the TCP server port of the relay on eol-rt-data.
The base was deployed in a temporary and insecure shelter, so it was not left up and longer than really necessary. When the base was not up, the museum DSM switched to using a cell modem to connect to the Internet. In that case, the UDP sample stream to flux2 simply dropped all its packets, and there was no need to feed samples to flux2, so barolo used a direct connection to the dsm_server TCP port to pull the museum samples.
The diagram below attempts to show all this information. In particular, note that the ssh tunnels are necessary because there was no way to make direct connections to the museum network. The ssh tunnels from each of the DSMs also made it possible to run regular rsync backups from barolo without knowing which way the museum DSM was connecting to the Internet. They also make it possible to test the rsync connections while the DSMs are staged at EOL, and nothing has to change when the DSMs are deployed to the field.