Your browser either does not support JavaScript or you have turned JavaScript off.

Wie erstellt man eine funktionierende Multicast-Lösung mit Zyxel-Switches?

KB-3812   |   Wissen   |   Erstellt am 15.03.2019   |   Letzte Aktualisierung: 19.03.2019

In diesem Artikel werde ich die wichtigsten Punkte aufzeigen, die man für das Herstellen einer funktionierenden Multicast-Lösung mit Zyxel-Switches wissen muss. 

Dabei werde ich auch auf eine Neuheit eingehen, die in den letzten Jahren immer populärer wird. Die Fernsehgeräte der letzten Generation sind heute mit einer eingebauten IPTV-Box ausgestattet, man nennt sie deshalb Smart-TV. Diese neuen Boxen ersetzen nach und nach die „Set-Top-Box“ genannten externen Boxen. Zyxel hat gewisse Fehlfunktionen gefunden, die wir erfasst und gelöst haben. Dies bringt unweigerlich notwendige Änderungen an der Konfiguration mit sich, die wir normalerweise einstellen. 

Ich werde nicht auf die theoretischen Hintergründe des IGMP oder der Multicast-Technologie eingehen. Diese werden im Internet oder in Fachzeitschriften ausreichend erläutert. 


2) Überblick der Multicast-Infrastruktur:

Konfiguration des Querier-Switch:

Die Topologie sieht folgendermaßen aus:

https://www.zyxel.ch/images/cmsImages/1551431188238.jpg


Der Querier-Switch hat eine übergeordnete Funktion für das ordnungsgemäße Funktionieren des Multicast-Netzwerks. Dabei geht es um ein essenzielles und unverzichtbares Element für den Ablauf der Konfiguration. 

Zusätzlich empfiehlt Zyxel einen Layer-3-Switch als Querier.

Für unsere Infrastruktur haben wir einen XGS-4728 -Switch (Layer-3-Switch) verwendet.

Hier sind die zu aktivierenden Funktionen sowie die Erklärungen dazu:

Advanced Application -> Multicast -> IPv4 Multicast -> IGMP Snooping


https://www.zyxel.ch/images/cmsImages/1551431188331.jpg


Die Definitionen zu jedem Parameter, der auf dem Querier eingestellt werden kann, sind folgende:

  • Fixed = Dieser Port führt fix zum Multicast-Sender, etwa dem Router.
  • Auto = Einstellung für IPTV-Box (Smart-TV, PC mit VLC, ...)
  • Edge = Blockiert die IGMP-Übertragung an diesem Port.

Querier-Switch:

Der „Querier“ sendet regelmäßig Anfragen (queries) an die Client-Geräte (Smart-TV, PC mit VLC-Applikation), um den Video-Stream, der von den Video-Streamern (Video-Server) geliefert wird, zu erhalten. Es darf nur einen einzigen Querier pro Netzwerk geben.

IGMP Filtering:

Diese Funktion erlaubt es, die IGMP-Gruppen, die den einzelnen Ports des Switch zugewiesen sind, zu kontrollieren und dadurch zu filtern.

Unknown Multicast Frame:

Diese Funktionalität behandelt sowohl die Multicast- als auch die Unknown-Frames. Allgemein wird sie oft deaktiviert, um die Risiken einer Verschlechterung zu limitieren.

Flooding:

Versendet alle unbekannten Multicast-Frames an alle Ports.

Fast leave:

  • Erlaubt eine schnellere Freigabe der Clients (Smart-TV, ...) die in einer Multicast-Gruppe sind. 
  • Verbinden der Ports, an denen die Client-Geräte angeschlossen sind.

Konfiguration des Switch für Snooping:

Das IGMP-Snooping trägt durch Beobachten des IGMP-Verkehrs zur Optimierung der Übertragung der Frames bei. 

Advanced Application -> Multicast -> IPv4 Multicast -> IGMP Snooping 


https://www.zyxel.ch/images/cmsImages/1551431188437.jpg


3) SMART-TV:

Wie in der Einleitung bereits erwähnt, verfügen viele Fernsehgeräte bereits über eine interne IPTV-Box.

Nach ausführlichen Recherchen stellte Zyxel fest, dass diese die Multicast-Technologie nur schlecht implementieren.

Zyxel musste sich daher anpassen und hat dafür alle Fehlfunktionen aufgelistet und für jede einzelne davon eine Korrekturmaßnahme erstellt.

Problem Nr.°1:

  • Der Bildschirm hängt ca. 2-3 Sekunden.
  • Die Änderungen, die man versucht, beim Fernsehgerät einzustellen, werden nicht durchgeführt (Kanalwechsel nicht möglich, Fernsehgerät kann nicht ein- oder ausgeschaltet werden, ...)
  • Ein Problem tritt auf, wenn eines der anderen TV-Geräte auf der Site den Kanal wechselt.

Erklärungen und Korrekturmaßnahmen:

  • Wir haben eine Reduktion der Multicast-Pakete bei Kanalwechsel gefunden, im Durchschnitt bei 5% der Clients. Eine Korrektur wurde in die neueste Firmware für die Serien XGS3700 ; XGS3700 ; XGS2210 und XGS1920 eingefügt.
  • Verzögerungen zwischen dem Smart-TV und dem Querier-Switch. Man findet sie beim Senden von „join“ Frames vom Smart-TV zum Querier-Switch. Deshalb muss man beim Querier-Switch den Zeitraum vergrößern, bis die Bestätigung vom IPTV kommt. Standardmäßig liegt die Verarbeitungszeit in der Reihe „normal leave“ bei 4.000 ms sowie 2.000 ms bei der Reihe „fast leave“ (siehe unten, Screenshot „IGMP Snooping“). Diese Zeiten reichen nicht aus. Daher muss die Zeitdauer für „normal leave“ für eine bessere Kommunikation um 2.000 ms erweitert werden, am Querier-Switch XGS4728 und auf dem für Snooping konfigurierten Switch XGS3700 an den nachgelagerten Ports.
  • Das Aktivieren der Funktion „immediate leave“ an allen Downstream-Ports des auf Snooping konfigurierten Switch XGS-3700 beschleunigt die Verarbeitung, die sich aus der Multicast-Tabelle ergibt. 


Problem Nr.°2:

  • Der Bildschirm friert ein und korrigiert sich im schlechtesten Fall nach 5 Minuten. Das Problem blockiert nicht komplett, ist aber störend. 
  • Wenn der Bildschirm einfriert, muss man Bedienungsschritte machen wie Kanalwechsel, Ausschalten oder wieder Einschalten, um das Problem zu beheben.

Erklärungen und Korrekturmaßnahmen:

  • Die beiden Protokolle IGMPv2 und IGMPv3 sind gleichzeitig im selben Netzwerk verwendet. Um die im Netzwerk verwendeten Protokolle überprüfen zu können, muss man sich mit dem Querier-Switch XGS-4728 verbinden und folgenden Befehl eingeben: Xgs3700 # show igmp-snooping statistics system


https://www.zyxel.ch/images/cmsImages/1551431188531.jpg


  • Für diesen speziellen Einsatz verwendet und erzwingt unser Switch XGS-4728 (IGMP-Router) das Protokoll IGMPv2. 
  • Für unsere Studie muss die IGMP-Version, die vom Smart-TV gesendet wird, von der vom IGMP-Router empfangenen Version abhängen. Der Smart-TV funktioniert jedoch unter der Verwendung von IGMPv3. Ein Teil der Smart-TV-Geräte schickt jedoch weiterhin IGMPv3-Kontrollpakete, nachdem sie ein IGMPv2-Paket vom IGMP-Router empfangen haben. Dabei muss beachtet werden, dass manche Smart-TVs mit alter Firmware arbeiten. So wurde festgestellt, dass das erwartete Verhalten sich korrekt an das IGMP-Protokoll des Querier-Switch anpasste. Man muss sicherstellen, dass IGMP-Snooping und IGMP-Querier am Gerät XGS-4728 aktiviert ist, um IGMPv2 und v3 behandeln zu können.

Hier sind verschiedene Smart-TV-Modelle, bei denen dieses Problem auftreten kann:

https://www.zyxel.ch/images/cmsImages/1551431188649.jpg


Problem Nr.°3:

  • Das Fernsehprogramm startet nicht sofort nachdem der Benutzer das Smart-TV eingeschaltet hat.
  • Kein Streaming, wenn man das Smart-TV einschaltet.
  • Das Smart-TV braucht ca. 30 Sekunden zum Starten.
  • Das Wechseln von Kanälen oder Aus- und Einschalten behebt das Problem nicht.

Erklärungen und Korrekturmaßnahmen:

  • Man muss „RSTP“ in den Interconnection-Ports zwischen dem Switch und dem Smart-TV aktivieren. Wenn die Verbindung steht, aktiviert die Funktion „RSTP“ am Port 30 Sekunden lang eine Verifizierung, um sicherzugehen, dass es keine Schleife im Netzwerk gibt. Der Port überträgt das Paket nicht, bevor es fertig ist. Standardmäßig ist die Funktion „RSTP“ deaktiviert, es wird empfohlen, diese Funktion an den Ports, die mit Smart-TVs verbunden sind, deaktiviert zu lassen.

Advanced Application > Spanning Tree protocol


https://www.zyxel.ch/images/cmsImages/1551431383731.jpg


  • Aktivieren des Schutzes gegen Schleifen mit der Funktion „loop guard“, um Netzwerkschleifen an den Zugangsports (Ports, die mit Smart-TVs verbunden sind) zu verhindern. Achtung, diese Funktion darf nicht an den Verbindungsports zwischen Switches aktiviert werden.

Advanced Application > Loop Guard


https://www.zyxel.ch/images/cmsImages/1551431188818.jpg


Problem Nr.°4:

  • Das Smart-TV pixelt, nachdem der Nutzer einige Zeit ferngesehen hat.
  • Der Fernsehapparat pixelt alle 15 bis 20 Minuten.
  • Ein Problem tritt auf, wenn mehr als 5 Fernsehgeräte an das selbe Netzwerk angeschlossen sind. Das Symptom verstärkt sich mit steigender Anzahl von TV-Geräten im Netzwerk.

Erklärungen und Korrekturmaßnahmen:

  • Immer mehr Smart-TVs unterstützen UPnP oder ein ähnliches Protokoll, damit Peripheriegeräte im Heimnetzwerk sich verbinden und danach Multimedia-Inhalte verbreiten können. Wenn allerdings eine große Anzahl dieser Smart-TVs im Netzwerk angemeldet sind, belasten die UPnp-Kommunikationspakete die Bandbreite des Zugangsports und zwingen den Switch dazu, Pakete zu verwerfen. Auch wenn die Multicast-Pakete eine höhere Priorität erhalten hätten, um einen Verlust von Paketen für den kontinuierlichen Übertragungsdienst auf dem Switch zu vermeiden, bringt der plötzliche Anstieg der UPnP-Kommunikationspakete im Netzwerk auch das Smart-TV dazu, sich bei der Paketverwaltung einzuschränken. Um dieses Problem rasch zu identifizieren, muss man in die Kommandozeile das Kommando „show multicast“ eingeben, die Gruppe "239.255.255.250“ wird auf dem Verbindungsport des Smart-TV angezeigt. Danach muss man den „IGMP-Filter“ aktivieren und die Gruppe filtern
  • Zusätzlich muss man die Priorität der UDP-Pakete mit den ACL erhöhen und sicherstellen, dass dieser Verkehr immer an erster Stelle kommt. Advanced Application > muticast > IGMP Snooping >IGMP filtering Profile


https://www.zyxel.ch/images/cmsImages/1551431188898.jpg


Das Profil im IGMP-Snooping aktivieren:


https://www.zyxel.ch/images/cmsImages/1551431188962.jpg


Problem Nr.°5:

  • Das Smart-TV beginnt nach mehrmaligen Kanalwechseln, Pixelierung anzuzeigen.
  • Der Fernsehapparat pixelt nachdem 5 Mal der Kanal gewechselt wurde.
  • Das Wechseln von Kanälen verstärkt das Pixeln.
  • Manchmal wird vom Smart-TV kein Steuerungspaket für „Ausstieg“ gesendet, wenn man Kanal wechselt. Alle Kanäle senden fortfahrend ihren Feed an das Smart-TV und so wird die Bandbreite auf dem Port des Switch ausgeschöpft.

Erklärungen und Korrekturmaßnahmen:

  • Um dieses Problem einfach zu erkennen, muss man den Kanal über 10 Mal wechseln und nach 30 Sekunden das Kommando „show multicast“ in die Kommandozeile eingeben, um die Tabelle der Peripheriegeräte zu überprüfen. Auf dem Switchport, der mit dem Fernsehgerät verbunden ist, werden mehrere TV-Kanäle angezeigt werden.

Um dieses Problem zu vermeiden, können Sie „Group Limited“ auf dem Port aktivieren. Zusätzlich können Sie das Gruppenmaximum auf 1 Gruppe beschränken. Stellen Sie sicher, dass sie dies nicht am Zugangsport aktivieren (Port, an dem die Smart-TVs angeschlossen sind) und auch nicht an den Ports mit denen die Switches verbunden sind.


Fazit:

Dies sind die wichtigsten Punkte, um eine IPTV-Architektur mit einem Smart-TV einzurichten:

  • Stellen Sie sicher, dass die Switches up-to-date sind,
  • Aktivieren Sie „immediate leave“ direkt an den Ports des TV-Geräts (Smart-TV),
  • Aktivieren Sie an den Up- und Down-Ports des Switch „normal leave“ und fixieren Sie den Wert auf 20.000 ms , 
  • Stellen Sie sicher, dass die Funktion „RSTP“ an den Zugangsports (an denen die Smart-TVs angeschlossen sind) nicht aktiviert ist. Zusätzlich die Funktion „loop guard“ aktivieren (an den Ports, wo die Smart-TVs angeschlossen sind),
  • Eine Filterregel erstellen, die den UPnP-Traffic am Fernseher blockiert.
  • ACL-Regeln (Access Control List) erstellen, um den Fluss der Pakete zu priorisieren
  • Konfigurieren Sie das Multicast-Gruppenlimit, um sicherzugehen, dass dieses funktioniert, auch wenn kein Ausgabepaket ausgesendet wird. 
  • Stellen Sie sicher, dass dies nur auf die Zugangsports (wo die Smart-TVs angeschlossen sind) zutrifft.

Als Bild:


https://www.zyxel.ch/images/cmsImages/1551431189036.jpg