Multicasting

If you want to understand all about our 2.0 WebSDR design, it is inevitable to dig in the concept of multicasting. Radiod is using this technique, to enable multi users concepts. You can find a lot of detailed information about it, i.e. here.

In short:

Multicast is the delivery of information to a group of destinations simultaneously, using the most efficient strategy to deliver messages over each link of the network only once, and create copies only when the links to the destinations split.

Radiod is reading the content of the radiod@rx888-wsprdaemon.conf file and creates virtual radio's for every channel that is created in that conf file. Those virtual radio's are delivered as multicast data streams. Meaning that these streams can be read by multiple users/clients simultaneously.

If the installation of radiod has been successful (see further pages for the installation), and also the startup of course, radiod is starting to broadcast the virtual radio data to the network via multicast data streams. If you put "TTL = 0" in the config file, radiod is keeping the streams locally in the PC. If you put "TTL = 1" in the config file, radiod is streaming also outside of the pc (one router upstream, if the router supports that !). Because we are talking in our design about streams of about 150 Mbit/s, continuously, your network can get overloaded very easily, if you don't take measures ( see further pages about MTU VLAN switch).

So, these data streams can be picked up by other applications, for further processing. This will be discussed later.

These streams have an IP address, and a name. For proper working/using the names, you need a DNS application in the pc's using these names. We have AVAHI for that purpose. Mostly standard in a Ubuntu distro, but if not, we need to install it.

In the config file these IP names are defined, and the IP addresses are defined automatically by the system.

In our design we use the names of all virtual data streams. As an example:

###########################################

[High_8_WEBSDR_786_10m_High]
disable = no
demod =linear
data = 10m-High-websdr768-pcm.local
channels = 2
samprate = 768000
low = -375000
high = 375000
freq = "29100k"
agc = 0
gain = 19

###########################################

"10m-High-websdr768-pcm.local"  is the name of the stream for the 10m band, on the WebSDR-high.

 

Important to know is that not all pc's have multicasting "on board' in the standard installation, and consequently will get errors if trying to use multicasting, or simply don't get multicasting working without any error report.

In the doc mentioned here, it is explained very detailed what you should do if you have a pc without multicasting on board.

In there a few very helpful commands are described to check whether your radiod is multicasting.  Also helpful for network configuring is this doc.

 

So, after having implemented all these multicasting features, we have now a solid base to stream our virtual radios to the network.

Other applications locally or on other pc's in the network, can pick up these streams, and process it.

 

Go to next page: multiple pc approach