I was recently asked about the limits on a system that uses CobraNet. On the face of it, it seems a reasonably simple enough question. However, the answer when we look at it, is not as simple as it seems……
To begin with, we have to differentiate between the capabilities of a device, its link to the network and the network as a whole. The limits on each are not the same, and what applies to one may not apply to the others.
Taking the CobraNet devices themselves first, a device using a CobraNet CM-1 module, such as a typical rack-mount DSP, can do 32 channels in and 32 channels out. Devices that use CobraNet silicon (like our own InBox and OutBox devices) are capable of 8-in and 8-out (some devices based on CobraNet silicon can do 16-in and 16-out like our GearBox). Then there is Attero Tech’s own CobraNet LE-based devices that supports only 2 channels in and 2 channels out. These are the number of channels that can be processed. The devices may end up receiving more channels than that but can only use so many of them.
As far as bundles on a device, that depends on the device and its set-up. Most support up to 4 bundle transmitters and 8 bundle receivers. In addition, the Ethernet connection to a CobraNet device is a maximum of 100MBit/s. This is limited by the Ethernet interface the CobraNet Devices use. So, this is what the device limits are. However, these limits do not necessarily apply to the rest of the system….
A single link of 100MBit/s Ethernet cable is capable of passing 64 channels of audio in each direction (a single channel is approximately 1.5Mbps). However, that is at the standard transmission rate (48kHz), and sample size (20-bit), and latency (5.333ms). Things start to get somewhat “muddy” at this point as all of the above settings in a CobraNet device can usually be changed. When we start to change them, that then affects several things: the maximum number of channels in a bundle for example. This is limited by the maximum Ethernet packet size, more data or samples per channel means less channels in a single packet. An increase in the amount of data per channel also means the maximum number of channels across a single link of the CobraNet network also drops.
But what about the system as a whole? Well, the above applies to each part of the system but as a whole, a completely new set of factors come into play.
For a start there are differing network speeds. CobraNet devices are usually connected to a network switch of some kind and the link between the device and the network switch is always 100MBit/s. However interconnections between the network switches on the network are not bound by the limitations the CobraNet devices are so these links can run significantly faster. Let us say that we have two network switches, each connected to CobraNet devices. Network switches these days are capable of at least 1Gbit/s (some can do 10Gb but they are very scarce and very, very expensive at the moment!!!). The links from the network switches to the CobraNet devices will always be 100MBit/s as that is the maximum speed a CobraNet device can go. These links, as we might expect, will have the bundle and channel restrictions for a single network link. The CobraNet devices themselves also have their own limits dependant on the device. However, if we were to connect the two network switches together, that connection could run at 1Gbit/s. This is 10 times faster than links from the switch to the CobraNet devices. This means they can carry 10 times more audio than the links from the network switch to the CobraNet devices. This would mean potentially 10 times as many channels and 10 times as many bundles!!!
We then have to factor in the method audio passes round the network. Yes, a typical CobraNet device only transmits 4 bundles and receives either 4 or 8 bundles but if all that audio is transmitted in unicast mode, the bundle will take the path of least resistance across the network. Consequently, it will only pass over the segments of the network it needs to get from its source to its destination and thus, does not effect all links. It’s efficient BUT as the name unicast suggests, the audio is only for a single recipient.
Multicast bundles, on the other hand, are a broadcast. We can send audio to multiple recipients using multicast but it’s sent to all devices, irrespective of whether they need the audio or not. Consequently, if we set a bundle in multicast mode, it will go down every link on the network and adds to the bandwidth on each of those links. If each bundle has 8 channels, we only need 4 multicast bundles to ensure that each node is receiving its maximum allotment of 32 channels!! This is one reason there is a limit of 4 multicast bundles on one system.
There is a third transmit mode called mutli-unicast but it follows the same rules as unicast except up to four devices can recieve the bundle. Any more than four will cause the bundle to automatically switch to multicast mode, with all its implications.
So what about the maximum bundles on a network? Well, the answer is it’s technically infinite. For example, take a system with 100 CobraNet devices where each device transmits a unicast bundle to its neighbor. Each node is only ever transmitting and receiving a single bundle, which is perfectly within a devices spec (even if it’s with 8 channels) and each link is only carrying 8 channels in any direction so we aren’t exceeding the maximum channel limits for a single link either. Yet there are 100 bundles in the system. Obviously this is a lot more than a single device can deal with, but perfectly acceptable as no one device is receiving more than one bundle!
In reality of course, a system would probably never be set-up like that, but it does show that device limits and network limits and certainly not the same thing!
- Chris Lord