Dante: Wann SOLLTE ich Multicast nutzen?
Wenn Du bisher nur ein paar Mikrofon-Kanäle von Deiner I/O-Box zum Mischpult und von dort zu ein oder zwei Endstufen geschickt hast, dann wirst Du mit Multicast noch keine Berührung gehabt haben. Und solange sich Dein Setup nicht ändert, wirst Du mit reinen Unicast-Verbindungen sicherlich auch noch lange glücklich sein. Standardmäßig initiiert Dante die Verbindungen zwischen Geräten als Unicast, so dass zunächst einmal kein Zwang besteht, sich mit Multicast überhaupt auseinander zu setzen.
Sobald sich die Kanal-Zahlen und die Zahl der Dante-Geräte im Netzwerk vergrößert, sollte man einen Blick auf das Potential von Multicast werfen.
Multicast als Option
Starten wir mit der Situation, die nicht zwangsläufig Multicast erfordert, weil eine Nutzung von reinen Unicast-Verbindungen ebenso funktionieren würde. Schauen wir uns ein typisches Beispiel an:
Die Summe des Mischpults soll zu den Verstärkern per Dante übertragen werden. Wenn wir das Processing für die Lautsprecher in den Endstufen vornehmen, reichen tatsächlich zwei Kanäle aus zwischen Mischpult und Amps. Da ein Mischpult üblicherweise viele Ein- und Ausgangskanäle auf der Dante-Seite zur Verfügung und entsprechend auch viele Flows unterstützt, können wir unsere zwei Ausgangskanäle einfach parallel auf alle Endstufen schicken.
Jede Endstufe fordert die beiden Kanäle beim Mischpult an und erhält einen eigenen Unicast-Flow. Ein solcher Flow bietet in der Regel Platz für 4 Audio-Kanäle und belegt etwa 6Mbit/s Bandbreite im Netzwerk (bei 48kHz).
Entsprechend addieren sich die Unicast-Flows für fünf Endstufen in unserem Beispiel auf 30 MBit/s, und zusammen mit den fünf Endstufen auf der anderen Bühnenseite ergeben sich 10 Flows mit je 6MBit/s, also insgesamt eine Bandbreite von 60Mbit/s vom FOH zur Bühne. Das Mischpult schickt gleichzeitig 10 Flows ins Netzwerk.
Wie erwähnt kann dies gut funktionieren, wenn das Mischpult ausgangsseitig genügend Flows zur Verfügung stellen kann. Ebenso sind 60MBit/s für ein Gigabit-Netzwerk noch keine große Belastung. Wie gut und stabil das ganze funktioniert, hängt davon ab, wie hoch die Auslastung des Dante-Netzwerks insgesamt ist. Neben den Ausgängen werden ja in der Regel auch die Eingänge per Dante eingebunden.
Da jede Endstufe die gleichen zwei Kanäle vom Mischpult benötigt, ist der Wechsel auf Multicast in dieser Situation sinnvoll zum Einsparen von Ressourcen. Schauen wir uns die Netzwerk-Belastung an, wenn wir die beiden Ausgangskanäle am Mischpult auf Multicast umschalten:
Zunächst fällt auf, dass ein Flow nur noch 3Mbit/s benötigt. Während bei der Unicast-Übertragung meist 4 Audio-Kanäle pro Flow vorbehalten werden, auch wenn wir nur zwei Kanäle davon nutzen, richtet sich die Flow-Größe im Multicast-Modus nach der tatsächlichen Kanal-Zahl. Wenn wir nur zwei Kanäle in unseren Flow packen, dann wird auch nur Bandbreite für zwei Kanäle beansprucht.
Der große Vorteil liegt bei Multicast darin, dass unser Mischpult die beiden Ausgangskanäle nur einmal verschicken muss. Statt 10 einzelner Unicast-Flows wird nur ein einziger Multicast-Flow verschickt. Entsprechend liegt die Belastung des Netzwerks überall nur bei 3 MBit/s. Die Verteilung der Pakete übernehmen die Switche. Sie schicken die ankommenden Multicast-Pakete an alle Ports weiter, so dass jede Endstufe die selben Daten erhält.
Vorteilhaft für das Mischpult ist außerdem, dass bei Nutzung von Multicast nur ein Flow verbraucht wird und nicht mehr 10. Egal wie viele Empfänger diesen Flow erhalten wollen, das Mischpult schickt ihn einfach permanent ins Netzwerk, und zwar nur einmal.
Dante Controller denkt mit
Eine Warnung sorgt im Dante Controller immer wieder für Stirnrunzeln: die sogenannte Fan Out Meldung, genauergesagt: “Fanout Configuration detected”. Diese wird angezeigt, wenn ein Audio-Signal an mehrere Empfänger geroutet wird. Der Dante Controller merkt, dass mehrere Unicast Flows aufgebaut werden müssen für den gleichen Inhalt. Die Fan Out Warnung ist also ein gut gemeinter Hinweis, dass man durch das Erstellen eines Multicast Flows den Sender und das Netzwerk entlasten kann. Der Dante Controller gibt allerdings nur den Hinweis, er ändert nicht selbständig die Übertragungsart. Denn der Wechsel von Unicast auf Multicast hat schließlich gewisse Konsequenzen für das Netzwerk. Ob der Hinweis genutzt wird, bleibt ganz dem Nutzer, also Dir, überlassen.
Als Beispiel habe ich ein Szenario nachgebaut, in dem die Fan Out Meldung entsteht. Ich habe zwei Kanäle meines Audio Interfaces (Nio Xcel 1201) auf drei Empfänger geroutet. Im Dante Controller ändert daraufhin die grüne LED bei Event Log ihre Farbe auf rot. Mit einem Klick auf diese LED kommt man in die Event Log-Liste und sieht die Fan Out Meldung.
Übungsaufgabe: Multicast Flow anlegen
Genug gequatscht über die Möglichkeiten, bist Du bereit für eine kleine Übungsaufgabe? Falls Du bislang noch keinen Multicast-Flow angelegt hast, lass uns das ganze kurz durchgehen im Dante Controller.
Das ganze funktioniert übrigens auch mit der Dante Virtual Soundcard, falls Du gerade kein Dante-Gerät griffbereit hast.
Doppelklick auf das Gerät, bei dem Du einen Multicast Flow anlegen möchtest
Auswahl der Transmit-Seite
Klick auf den Multicast-Button
Auswählen einiger Kanäle
Klick auf “Create”
..und schon ist der Multicast Flow angelegt! Auf der rechten Seite der Transmit-Seite erscheint Dein neuer Flow. Und über den Delete-Button kannst du ihn wieder löschen. Dante übernimmt selbständig jeweils den Wechsel von Unicast auf Multicast und zurück, falls bereits Audio-Verbindungen bestehen. Allerdings kann es dabei zu kurzen Unterbrechungen kommen. Die Änderung von Unicast/Multicast sollte man also nicht während einer Veranstaltung vornehmen.
Gefahren beim Aktivieren von Multicast
In diesem Beispiel bietet sich die Nutzung von Multicast geradezu an. Und die sehr geringe Belastung von 3MBit/s ist tatsächlich eine deutliche Verbesserung gegenüber dem Unicast-Signalfluss.
Nichtsdestotrotz hat die Nutzung von Multicast auch Nachteile. Denn Multicast-Datenpakete werden vom Switch an ALLE Geräte geschickt, egal ob diese mit dem Inhalt etwas anfangen können oder nicht.
Wenn man beispielsweise die 64 Audio-Signale der Stagebox zum Mischpult als Multicast-Flows schickt, dann hat das Netzwerk eine Belastung von fast 100Mbit/s. Wenn dann noch das ein oder andere Signal hinzukommt etwa für die Endstufen, liegt die Netzwerk-Belastung bei über 100Mbit/s. Geräte mit einem 100Mbit-Port sind damit überlastet. Daten-Pakete gehen verloren und der Empfänger wird das Audio-Signal stumm schalten.
Man sollte deshalb nur dann Multicast-Flows erstellen, wenn sich tatsächlich Ressourcen einsparen lassen und dabei immer die Multicast-Belastung insgesamt im Auge behalten. Der Dante Controller zeigt übrigens in der Fußzeile permanent die aktuelle Netzwerk-Belastung durch Multicast-Traffic an:
Wenn Du gerade einen Multicast Flow auf einem Deiner Geräte angelegt hast, dann sollte an der Stelle nun eine Zahl größer als 0Mbps stehen.
Eine ganz wichtige Technik zur Reduzierung der Netzwerk- und Port-Belastung nennt sich IGMP Snooping. Solltest Du Multicast nutzen wollen oder müssen, möchte ich Dir die Auseinandersetzung mit dieser Technik und anschließend die Aktivierung von IGMP Snooping natürlich wärmstens empfehlen.
Fazit
Um zur Eingangsfrage zurückzukehren: Multicast ist also immer dann sinnvoll, wenn ein Dante-Gerät sein Audio-Signal an mehrere Empfänger gleichzeitig schicken soll. Statt mehrere Unicast-Verbindungen kann er dann nur eine einzige Multicast-Verbindung initiieren und somit die Netzwerk-Belastung reduzieren.
Neben diesen Szenarien, in denen Multicast möglich ist, gibt es natürlich auch Situationen, in denen Multicast schlichtweg notwendig ist. Und um diese geht’s im nächsten Blog-Artikel!
Weitere Blog-Beiträge zum Thema Dante: