Dante: Netzwerk-Topologien
Die Netzwerk-Technik ist inzwischen unumgänglich geworden in modernen Audio-Anlagen. In den letzten Jahren gab es eigentlich kein Projekt mehr, bei dem ich nicht in irgendeiner Form mit Audio over IP in Berührung gekommen bin. Vor allem Dante ist heutzutage in jeder Neu-Installation enthalten oder wird nachgerüstet in bestehende Anlagen. Teilweise basiert die gesamte Infrastruktur eines Hauses auf Dante als Kommunikationsprotokoll für Audio-Daten. Analoge Verbindungen existieren fast nur noch auf den ersten 10 Metern, vom Mikrofon zum nächstgelegenen A/D-Wandler.
Ich habe inzwischen großen Gefallen an IT-Netzwerken gefunden und habe mir zum Ziel genommen, etwas Licht ins Dunkel zu bringen für interessierte Ton- und IT-Kollegen.
Neben der Wahl der passenden Switche ist vor allem die Topologie entscheidend für die Leistungsfähigkeit und Betriebssicherheit eines IT-Netzwerks. Und so möchte ich beispielhaft einige Dante Netzwerk-Strukturen vorstellen.
Trennung von Primär- und Sekundär-Netzwerk
Audinate als Erfinder der Dante-Übertragung hat bereits an eine ausgereifte Redundanz gedacht. Die meisten Geräte besitzen dafür zwei Netzwerk-Buchsen: Primary und Secondary. Das Audio-Signal wird immer gleichzeitig über beide Netzwerke geschickt. Der Dante-Empfänger kann somit im Falle einer Störung automatisch vom primären auf das sekundäre Signal umschalten.
Es ist notwendig, dass hierfür zwei getrennte Netzwerke aufgebaut werden. Es ist nicht möglich, dass man beide Netzwerkbuchsen eines Geräts über dasselbe Netzwerk zum Empfänger leitet.
Da wir nicht ausschließen können, dass ein Switch oder eine Kabelverbindung eines Tages ausfallen, ist die Nutzung von beiden Netzwerken im professionellen Audio-Bereich absolut üblich. Die folgenden Dante-Topologien gehen deshalb immer von zwei getrennten parallelen Netzwerken aus.
Beispiele-Topologien
Kein Switch = Daisy Chain
Die einfachste Möglichkeit Dante-Geräte miteinander zu verbinden, ist die Verkettung völlig ohne Switch. Außer für einen kurzen Funktionstest würde ich diese Methode im professionellen Umfeld nicht empfehlen. Der Ausfall eines Gerätes hat zur Folge, dass die ganze Kette unterbrochen wird. Und dies trifft leider auch dann ein, wenn man ein Gerät neu startet, weil man gewisse Einstellungen wie die IP-Adresse geändert hat. Während des Bootens ist die Funktion des internen Switches in der Regel unterbrochen.
Wenn man unbedingt eine Daisy-Chain-Verbindung wählen möchte, dann hilft es, die Verkabelung in der Reihenfolge des Audio-Flusses vorzunehmen. Sollte eine Signal-Quelle ausfallen zu Beginn der Quelle, dann wird zumindest nicht der Signal-Fluss zwischen Mischpult bzw. DSP und Endstufen unterbrochen.
Die Geräte müssen hierzu im switched Modus betrieben werden. Entsprechend gibt es keine Redundanz.
Zwei Switche (unmanaged)
Der Minimal-Aufbau eines redundanten Dante-Netzwerks besteht aus zwei Switchen. Diese können unmanaged sein, d.h. ohne weitere Layer 2 oder Layer 3 Funktionen.
Einziges Augenmerk sollte darauf gelegt werden, dass der Switch keine bzw. abschaltbare Energiespar-Funktionen besitzt.
Ich glaube zwar, dass die Zeiten von 100Mbit-Switchen ohnehin vorüber sind, aber der Vollständigkeit halber möchte ich noch erwähnen, dass ein Switch mit 1Gbit-Ports natürlich empfehlenswert ist.
Vier Switche (unmanaged)
Wenn sich das Dante-Netzwerk auf mehr als einen Raum ausweitet, wird man mehrere Switche miteinander verbinden wollen. In meinem Beispiel aus der Live/Theater-Welt werden das in der Regel der FOH-Platz (Front of House) sein mit dem Mischpult und einem Rack auf der Bühne für die Audio-Quellen, also I/O-Racks oder Drahtlos-Empfänger. Auch Endstufen haben heutzutage oft eine Dante-Schnittstelle und können somit direkt ins Netzwerk integriert werden.
Als Verbindungsgeschwindigkeit ist derzeit 1Gb/s üblich. Ein 10Gb-Port für den Uplink zwischen Switchen schadet nicht, aber bringt in der Regel keinen großen Mehrwert bei dieser simplen Topologie. Denn über eine 1Gb-Verbindung lassen sich immerhin etwa 500 Audio-Kanäle bei 48kHz übertragen.
Vier Switche, managed: Spanning Tree (STP) oder Link Aggregation (LAG)
Auch wenn man über das Secondary Netzwerk eine vollwertige Redundanz hat, kann es vorteilhaft sein, wenn man zusätzlich eine Kabel-Redundanz aufbauen kann. Eine defekte Leitung bzw. ein verstaubter LWL-Stecker führt dann nicht direkt zum kompletten Ausfall des Primary Netzwerks, sondern wird automatisch abgefangen durch die redundante Leitung.
Dies ist insbesondere dann wichtig, wenn man Geräte betreibt, die nur das primäre Dante-Netzwerk unterstützen, wie beispielsweise die Audinate Avio-Adapter oder die Dante Virtual Soundcard (DVS).
Für eine redundante Verbindung zwischen Switchen ist zwingend ein managed Switch erforderlich. Denn es darf immer nur eine aktive Verbindung geben, oder anders gesagt: es darf keine Loops in einem Netzwerk geben. Da ein Switch die eingehenden Pakete an alle Ports ausgibt, führt ein Loop zu einer Endlos-Schleife und letztlich zu einem überlasteten Netzwerk.
Zwei Möglichkeiten für eine redundante Verbindung sind sehr einfach herzustellen und in fast allen Switchen verfügbar:
Spanning Tree Protocol (STP)
Das Spanning Tree Protocol sorgt dafür, dass in Netzwerken immer nur genau ein Verbindungsstrang aktiv ist. Es wird uns später noch begegnen, wenn wir mehrere Switche redundant miteinander verbinden wollen.
Aber auch in dieser einfachsten Form einer doppelten Verbindung zwischen zwei Switchen kann das Spanning Tree Protocol (STP) aktiviert werden. Es wird dann automatisch eine der beiden Verbindungen blockiert, so dass nur ein Link aktiv ist. Fällt die aktive Leitung aus, dann wird die zweite Leitung aktiviert. Alles automatisch und ohne Risiko eines Loops. Und beim STP dürfen auch verschiedene Leitungstypen verwendet bzw. gemischt werden, also sowohl Cat- als auch Lichtwellenleiter-Verbindungen.
Auch wenn man umgangssprachlich immer von Spanning Tree spricht, so meint man heutzutage eigentlich immer seinen Nachfolger Rapid Spanning Tree (RSTP). Dieser ist wie der Name schon sagt, deutlich schneller bei der Neustrukturierung im Falle einer Veränderung. Während beim alten STP das Öffnen der redundanten Verbindung über 30 Sekunden gedauert hat, braucht das RSTP nur noch wenige Sekunden.
Link Aggregation Group (LAG)
Es lassen sich an einem Switch mehrere Ports zu einem logischen Port verbinden. Bei Cisco heißt das ganze Link Aggregation Group (LAG), bei HP wird es auch als Trunk bezeichnet. Das ganze hat zwei große Vorteile: im Falle eines Verbindungsabbruchs auf einer der Leitungen übernehmen die restlichen Leitungen automatisch. Zudem verteilt sich der Netzwerk-Verkehr auf die aktiven Leitungen. Statt 1Gb/s erhalten wir bei zwei Leitungen also annähernd 2Gb/s zwischen den beteiligten Switchen.
Eine kleine Einschränkung gibt es allerdings: alle Verbindungen innerhalb einer LAG müssen dieselbe Geschwindigkeit haben und vom selben Typ sein, d.h. beispielsweise 1Gb Cat oder 1Gb LWL.
Beide Protokolle haben eins gemeinsam: zum Zeitpunkt des Verbindungsabbruchs bei der aktiven Leitung kommt es einem Audio-Aussetzer im primären Dante-Netzwerk. Es ist also kein Ersatz für das parallele Sekundär-Netzwerk, welches eine unterbrechungsfreie Audio-Verbindung herstellt.
Bei meinen Versuchen ohne Sekundär-Verbindung betrug der hörbare Ton-Ausfall übrigens zwischen 0,5 und 9 Sekunden, bei beiden Protokollen (STP bzw. RSTP und LAG). Das ist nicht unterbrechungsfrei, aber immer noch besser als für den Rest der Veranstaltung auf alle Geräte zu verzichten, die nur im Primär-Netzwerk vorhanden sind.
Daisy Chain (unmanaged)
Bei mehr als zwei Switchen landen wir bei Nutzung von unmanaged Switchen bei einer gewissen Daisy Chain Verkabelung. Verbindungen zwischen Primär und Sekundär Netzwerk sind untersagt. Und auch eine Ring-Verkabelung ist nicht erlaubt.
Nichtsdestotrotz ist dies ein sehr gebräuchlicher Aufbau, da keine besonderen Anforderungen an die Switche und auch kein IT-Fachwissen notwendig ist.
Dreieck (managed: Spanning Tree)
Das Spanning Tree Protocol hat den Vorteil, dass man mehr Verbindungen zwischen Switchen stecken darf, als notwendig. Im Falle eines Kabelproblems richtet sich das Netzwerk automatisch neu aus und alle Switche und Geräte sind weiterhin nutzbar.
Man sollte vor der Nutzung dieser Topologie aber unbedingt die Konfiguration aller Switche kontrollieren. Nur wenn STP überall aktiviert ist (sowohl global als auch pro Port), darf man absichtlich Loops stecken.
STP ist allerdings nicht ganz so clever, wie man das naiv annehmen könnte. In einem Switch-Ring wird leider nicht einfach die kürzeste Verbindung verwendet zur Übermittlung von Daten-Paketen. Es wird leider eine der Verbindungen unterbrochen, so dass kein verbotener Loop mehr existiert.
In unserem Beispiel wird die Verbindung zwischen Switch 3 und 5 sowie die Verbindung zwischen Switch 4 und 6 unterbrochen (gestrichelte Linien). Datenpakete zwischen Geräten am Switch 3 und Switch 5 verlaufen also zwangsläufig immer über den Umweg über Switch 1.
Je nach Aufbau kann es sinnvoll sein, dass man dem Netzwerk genau vorschreibt, welche redundante Verbindung für den Normalfall unterbrochen werden soll. Es wäre beispielsweise nachteilhaft, wenn die Verbindung zwischen FOH und Bühne (Switch 1 und 3) unterbrochen würde und sämtlicher Verkehr immer über Switch 5 laufen müsste.
Wichtig für den Aufbau des Spanning Trees ist die sogenannte Root Bridge. Das Netzwerk wählt selbständig unter allen Switchen eine Root Bridge aus. Ausschlaggebend ist hierfür der Parameter Root Priority, den man verändern kann. Wenn alle Switche die gleiche Priority eingestellt haben (Default ist meist der Wert 32768, siehe Screenshot rechts), richtet sich die Wahl nach der niedrigsten MAC-Adresse.
Wenn man ohnehin in jedem Switch kontrolliert, ob STP aktiv ist, dann sollte man sich kurz eine Skizze machen zum Fluss der Audio-Pakete und bei demjenigen Switch die Root Priority ändern, der voraussichtlich in der Mitte des Flusses sein soll. Die Wahl zur Root Bridge gewinnt übrigens der niedrigste Priority-Wert, und die Werte müsse Vielfache von 4096 sein. Ändert man den Wert also bei einem Switch auf 4096, so wird er gegenüber allen anderen mit dem Default-Wert von 32768 gewinnen und die Rolle der Root Bridge übernehmen.
Die übrigen Switche wählen dann diejenige Route aus mit den niedrigsten Kosten zur Root Bridge. Im Falle unseres Dreiecks (mit Switch 1 als Root) und mit identischen 1Gb-Geschwindigkeiten bei allen Verbindungen werden also Switch 3 und 5 den direkten Weg zu Switch 1 aktivieren. Der Pfad zwischen Switch 3 und 5 bleibt somit ungenutzt und wird blockiert.
Ring Topologie
Wenn sich Dante erst einmal durchgesetzt hat in einem Haus, dann wird man bald in jedem Raum ein Dante-Gerät einbinden wollen. Entsprechend steigt die Anzahl der Switche.
Aus dem Dreieck lässt sich natürlich ein Viereck und auch größere Ringe aufbauen. Solange man den Ring schließt und STP aktiv ist, bleibt die Leitungsredundanz erhalten. Und ein Ring ist recht einfach aufzubauen, da die meisten aktuellen Switche serienmäßig über 2-4 Uplink-Ports mit SFP-Slots verfügen. Man braucht also keinen zusätzlichen Switch als Verbindungsglied.
Wie zuvor erwähnt wird das Spanning Tree Protocol in einem Ring eine der Verbindungen blockieren. Wenn du in deiner konkreten Situation bereits weißt, welche Verbindung am ehesten getrennt werden sollte, kannst du durch die Erhöhung der “Pfadkosten” (path cost) die Wahl zu deinen Gunsten beeinflussen. Im oberen Beispiel ist vermutlich wenig Verkehr zwischen Amp City und Stage Left zu erwarten. Entsprechend könnte es sinnvoll sein, konkret diese Verbindung als Redundanz-Verbindung zu konfigurieren.
Stern Topologie (unmanaged)
Meist ist es aber praktischer, wenn man das Dante-Netzwerk sternförmig aufbaut. Dadurch lässt sich auch später noch recht einfach ein weiterer Raum hinzufügen. Außerdem kann jeder Raum ausgeschaltet werden, ohne dass die übrigen Räume ihre Verbindung untereinander verlieren.
Zunächst bleiben wir beim relativ unkomplizierten Aufbau mit unmanaged Switchen. Eine kleine Anmerkung möchte ich allerdings machen: auch wenn keinerlei Funktionen eines managed Switches notwendig sind für diesen Aufbau, so macht es natürlich Sinn, trotzdem solche Switche vorzusehen, die all diese Funktionen wie hier vorgestellt (STP, LAG, Trunk, VLAN) beherrschen, um ggf. später darauf zurückgreifen zu können. Zudem wird der Tag kommen, an dem man im Dante Multicast-Flows verwenden möchte oder muss und ggf. Funktionen wie IGMP-Snooping. Nichtsdestotrotz kann die folgende unmanaged Topologie als Anfang dienen ohne sich in Switch-Konfigurationen einarbeiten zu müssen.
Der gesamte Audio-Verkehr läuft über die zentralen Switche 1 und 2. Entsprechend ausfallsicher sollten diese Switche ausgelegt sein.
Stern Topologie (managed: VLAN, Trunk, RSTP/MSTP)
Und nun kommen wir langsam zu den Topologien, die mir am meisten Spaß machen, aber die aufgrund ihrer Komplexität sehr zeitintensiv sind. Die notwendige Zeit zum Einrichten und Prüfen ist weitaus höher als bei einem einfachen (d.h. geteilten) Dante-Netzwerk. Ein solches gemischtes Netzwerk macht eher bei Fest-Installationen wie Theater, Opern und Konzerthäusern Sinn.
Für zeitkritische Aufbauten für einmalige Live-Veranstaltungen würde ich die Vermischung von Primary und Secondary Netzwerk wie hier gezeigt nicht empfehlen, weil einiges schief gehen kann und man leicht die Redundanz der beiden Netzwerke beeinträchtigen kann.
Es ist von der Verkabelung her kaum anders als das vorige unmanaged Beispiel. Es hat aber einen großen Vorteil:
Alle Switche sind nun redundant angebunden. Es kann also jede beliebige Kabelverbindung ausfallen, es wird trotzdem nach wenigen Sekunden wieder eine Anbindung des Switches hergestellt dank Spanning Tree Protocol. Und für diesen großen Schritt braucht es hardware-seitig eigentlich nur ein paar kurze Patchkabel jeweils zwischen dem Primary- und Secondary Switch im selben Raum.
Neben dem STP bzw. MSTP muss man für eine derartige Struktur in jedem Falle VLANs anlegen und alle Ports entsprechend manuell darauf verteilen. Die Trennung der Netzwerke Primary und Secondary ist durch die Nutzung von VLANs weiterhin gegeben. Sämtliche Verbindungen zwischen Switches sind als Trunk auszulegen, damit über ein einzelnes Kabel alle VLANs übertragen werden können. Im Normalfall wird der Traffic wie zuvor dargestellt getrennte Wege gehen. Aber im Havariefall können eben alle Daten notfalls auch über die verbleibende Verbindung geschickt werden.
Dies ist insbesondere wichtig, wenn auch Geräte im Einsatz sind ohne Sekundär-Anschluss wie beispielsweise die kleinen AVIO-Adapter* oder ein Konverter von Neutrik*. Ebenso ist die Dante Virtual Soundcard nur ans Primär-Netzwerk anschließbar (mehr zur Dante Virtual Soundcard übrigens in diesem Blog-Artikel). Entsprechend vorteilhaft ist es, wenn wir nicht nur das Sekundär-Netzwerk als Puffer nutzen, sondern auch das Primär-Netzwerk selbst mit gewissen Redundanzen versehen.
Und als kleines i-Tüpfelchen sind nun alle Switche in einem Netzwerk miteinander verbunden und lassen sich sehr bequem konfigurieren über einen einzigen Zugang. Weitere VLANs beispielsweise ein Netzwerk für die Steuerung lassen sich schnell und flexibel integrieren.
Die Kehrseite der Medaille: es bedarf einer durchdachten Konfiguration. Die Konfiguration von zehn Switchen kostet nicht nur Zeit, sondern sie hat auch Gefahren.
Benutzt man das einfache Spanning Tree (RSTP), dann gibt es pro Netzwerk nur eine Root Bridge, übergreifend für alle VLANs. Selbst wenn man diese überlegt konfiguriert (beispielsweise auf den zentralen Primary Switch), so kann es für die entfernten Secondary Switche passieren, dass sie eine Route wählen über den Primary Switch und nicht die eigentliche Verbindung zum zentralen Secondary Switch verwenden. Der eigentliche Zweck des sekundären Netzwerks, nämlich die unterbrechungsfreie Audio-Verbindung bei einem Netzwerk-Problem, ist damit nicht mehr gegeben.
Wann immer man Primär- und Sekundär-Netzwerk an irgendeiner Stelle verbindet, ist man gut beraten, wenn man das Multiple Spanning Tree Protocol (MSTP) einrichtet. Wie der Name vermuten lässt, lassen sich mehrere Instanzen des STP in einem Netzwerk aufsetzen. Für unsere Primär- und Sekundär-Dante-VLAN können wir also eine unabhängige Struktur konfigurieren, mit einer unterschiedlichen Root Bridge.
Bei der Nutzung von Trunk-Leitungen für mehrere VLANs muss man immer im Auge behalten, dass sich die Bandbreite verdoppelt, wenn Primär- und Sekundär-Netzwerk im Havarie-Fall über eine Leitung übertragen werden. Die maximale Kanalzahl halbiert sich also in gemischten Netzwerken.
Ich würde inzwischen kein gemischtes Netzwerk mehr betreiben, ohne alle Switche, deren Uplinks und Parameter ständig im Auge zu haben - sprich eine Netzwerk-Überwachung im Hintergrund laufen zu haben. Einige Beispiele habe ich in meinem Blog-Artikel zu PRTG erläutert, und nebenbei erhältst du auch Einblick in die dort verwendeten Netzwerk-Topologien.
Mesh = Gemischte Topologie
Natürlich kannst du bei den Switch-Verbindungen von der reinen Ring- oder Stern-Topologie abweichen und eigene Verbindungen hinzufügen. So kann es bei einem Stern sinnvoll sein, dass man bestimmte Räume zusätzlich miteinander verbindet. Dann wäre die Verbindung auch bei einem Komplett-Ausfall der zentralen Switche noch gegeben.
Fazit
Ich hoffe, ich konnte dir einige Szenarien aufzeigen, wie sich Dante-Geräte auch in größeren Häusern miteinander vernetzen lassen. Egal welche Topologie du ausprobierst, wichtig ist letztlich immer, dass man den Havarie-Fall probt und dabei kontrolliert, ob die Audio-Verbindung bestehen bleibt oder hörbare Aussetzer hat. Im professionellen Umfeld sollte jede Komponente im Netzwerk ausfallen können, sowohl ein Switch als auch ein Kabel, ohne dass der Zuschauer irgendetwas davon bemerkt.
Ich verwende in meinem kleinen “Labor” zu Hause übrigens vorrangig den Switch Cisco SG-350* bzw. seinen Nachfolger Cisco CBS-350*. Zum einen bietet er genau das, was ein moderner Switch für Dante-Anwendungen können muss und lässt sich sowohl über Kommandozeile als auch über Web-Browser bedienen. Und zum anderen ist er ohnehin in vielen Theater-Projekten im Einsatz und ich kann die Switch-Konfigurationen zu jedem Projekt in Ruhe vor- und nachbereiten. In der Version mit 8 Ports ist er recht erschwinglich und somit aus meiner Sicht der perfekte Managed Switch zum Einstieg.
In diesem Sinne viel Spaß beim Ausprobieren!
*Affiliate-Link
Weitere Artikel zum Thema Dante:
Blog-Artikel: Netzwerk-Monitoring (PRTG): Vorteile und Beispiele
Blog-Artikel: Was muss ein Dante-Switch können?
Blog-Artikel: Wann sollte ich Multicast nutzen?
Blog-Artikel: 5 Dinge, die du über die Dante Virtual Soundcard wissen solltest