Kann ich wirklich Multifasting über WIFI durchführen?


8

Ich streame UDP über WLAN (5 GHz) - ca. 1,5 KB / Paket ... und versuche, mit extrem geringer Latenz gleichzeitig auf ~ 10 Geräte zu streamen.

Soweit ich Wifi verstehe, kann es niemals echtes Multicasting geben, da jedes Gerät eine 1: 1 "-Beziehung zum AP hat und dann dasselbe Paket empfängt ... dann verbindet sich das nächste Gerät und erhält dasselbe Paket.

  1. Es gibt mehrere Arten von Routern / APs - "3x3" und "4x4", einige mit MIMO usw. Was sollte ich als Kriterium für die Auswahl des AP verwenden?

  2. Kann ich WIRKLICH Multicast über WLAN auf iOS-Geräte übertragen? Ist meine Theorie richtig?

  3. Gibt es eine Möglichkeit zum Multicasting, anstatt jedes Paket / jeden Client als Unicast zu behandeln?


Wi-Fi kann Multicasting ausführen, Sie sind jedoch auf die niedrigste verfügbare Geschwindigkeit im WAP beschränkt.
Ron Maupin

Wenn also ein UDP-Paket auf einem AP "Multicast" ist, empfangen ALLE verbundenen Geräte dieses UDP-Paket genau so schnell (dh wird es 1x propagiert und von allen Geräten empfangen)? Oder wird es tatsächlich von Hand an jedes einzelne Gerät geliefert? Ich weiß gut, wie es in festverdrahteten LANs funktioniert - aber ich habe widersprüchliche Daten über WIFI-Multicast erhalten ...
Frank Ankersly

"Echtes" Multicast ist eine Form der Übertragung auf Schicht 2, und Wi-Fi kann dies (Senden an eine Multicast-Gruppe anstelle einzelner Unicast-MAC-Adressen), aber Sie sind auf die niedrigste verfügbare Geschwindigkeit im WAP beschränkt. Ihr "gefälschter" Multicast ist ein Versuch, diese Einschränkung zu umgehen.
Ron Maupin

Also ... wenn ich alle Formate mit niedrigerer Geschwindigkeit in meinem Netzwerk ausschalte (dh 2,4 GHz deaktivieren, nur mit 5 GHz, 40 MHz mit nur dem schnellstmöglichen Streaming ausführen), beschleunigt dies den gesamten Prozess?
Frank Ankersly

1
Sie meinen, dass Dinge wie DHCP usw. nicht verwendet werden? Das ist wirklich nicht richtig; Hosts müssen eine Verbindung zum WAP herstellen, und selbst Multicast benötigt IGMP, damit Hosts einer Multicast-Gruppe beitreten können. Wi-Fi ist kein Einwegprotokoll, und das Protokoll erfordert, dass alle Geräte pausieren und nachgeben.
Ron Maupin

Antworten:


9

Testen wir das dann. Wenn wir Multicast-Pakete mit einer konstanten Rate an mehrere Geräte senden, die mit einem WiFi-Zugangspunkt verbunden sind, sollte der Zugangspunkt dieselbe Menge an Verkehr melden.

Um diesen Test durchzuführen, sende ich Pakete von einem kabelgebundenen PC an ein Android-Tablet und einen Himbeer-Pi. Ich habe keine iOS-Geräte. Das Netzwerktest-Tool iperf kann problemlos zum Senden und Empfangen dieser Pakete mit den folgenden Einstellungen verwendet werden:

Server (Geräte über WLAN): iperf -s -u -B 230.5.5.82

Client (kabelgebundener PC): iperf -u -c 230.5.5.82 -t 60 -b 1M

Mit diesen Einstellungen senden wir für eine Minute Multicast-Pakete mit 1 Mbit / s. Wenn Sie diesen Test ausführen und den drahtlosen Datenverkehr auf dem Zugriffspunkt betrachten, wird festgestellt, dass er konsistent etwa 1 Mbit / s beträgt. Daher muss es sich um echtes Multicast handeln. Die andere bemerkenswerte Sache aus den Ergebnissen ist, dass der Paketverlust mit weit über 50% wirklich schlecht ist. Dies liegt wahrscheinlich daran, dass Multicast-Pakete mit der niedrigstmöglichen Geschwindigkeit gesendet werden. Erzwingen Sie daher, dass der Zugriffspunkt nur mit der schnellsten Geschwindigkeit ausgeführt wird. Ich verwende einen WRT54GL mit dd-wrt, dessen Einstellung "Transmission Fixed Rate" heißt. Wenn Sie dieselben Tests erneut ausführen, nachdem Sie die schnellste Geschwindigkeit eingestellt haben, ergibt sich ein viel akzeptablerer Paketverlust von weniger als 5%.

Um die Fragen tatsächlich zu beantworten:

  1. Holen Sie sich den schnellsten Zugangspunkt, mit dem Sie die Übertragungsrate festlegen können und der Multicast unterstützt. Es gibt definitiv Zugangspunkte, die Multicast-Pakete automatisch in Unicast konvertieren. Für das Geschwindigkeitsproblem reicht es nicht aus, nur einen breiten 5-GHz-Kanal zu verwenden, da es eine Reihe unterschiedlicher Geschwindigkeiten gibt, mit denen Clients tatsächlich kommunizieren können.

  2. Ich kann mir nicht vorstellen, dass die Dinge auf iOS-Geräten anders funktionieren würden, da der Hauptbestimmungsfaktor der Zugangspunkt wäre.

  3. Siehe 1, da dies vom Zugangspunkt abhängt.

Bearbeiten: Nachdem Sie die Dinge mehr und auf einigen AC-APs getestet haben, stellt sich heraus, dass es für Mulitcast wichtig ist, die verfügbaren Raten festlegen zu können. Multicast verwendet weiterhin g-Geschwindigkeiten, sodass die verfügbaren physischen Raten 6, 9, 12, 18, 24, 36, 48 und 54 Mbit / s betragen. Die meisten APs werden standardmäßig die langsameren Geschwindigkeiten verwenden. Wenn Sie sie also deaktivieren können, um die Verwendung der höheren Raten zu erzwingen, erhöht sich die Geschwindigkeit erheblich. Dies einstellen zu können, ist wahrscheinlich das wichtigste Kriterium für einen Multicast-AP. In modernen Versionen von DD-WRT kann dies beispielsweise mit dem Befehl "wl rate set" in der Befehlszeile festgelegt werden. Es ist sicher gut versteckt und die meisten Firmware-Versionen erlauben dies nicht.


1
Scheint, als würden Sie auf IP-Ebene Multicasting durchführen. Sind Sie sicher, dass Ihre Wifi-Hardware nicht eine Kopie jedes Pakets an jeden einzelnen Client sendet? Haben Sie eine Radiotap-Erfassung?
Ogurets

Ich bin mir ziemlich sicher, dass der AP nach dem Hinzufügen von genügend Geräten nicht die Geschwindigkeit erreichen kann, die er erreicht, wenn er Pakete dupliziert. Ich habe festgestellt, dass das Erfassen von Paketen in Wireshark und das Betrachten des Bits im Zielfeld, das Multicast / Broadcast oder Unicast anzeigt, ein zuverlässiger Hinweis darauf ist, was der AP wirklich tut.
Twiske

11

Soweit ich Wifi verstehe, kann es niemals echtes Multicasting geben, da jedes Gerät eine 1: 1 "-Beziehung zum AP hat und dann dasselbe Paket empfängt ... dann verbindet sich das nächste Gerät und erhält dasselbe Paket.

Ihr Verständnis ist fehlerhaft. Multicast ist vorhanden, aber wie der meiste Verwaltungsverkehr in einem drahtlosen Netzwerk muss es mit der niedrigsten unterstützten Basis- / Basis- / erforderlichen Datenrate ausgeführt werden. Standardmäßig ist dies normalerweise die niedrigste vom AP unterstützte Datenrate.

Der Grund dafür ist, dass alles, was vom AP an umliegende Clients gesendet oder gesendet wird, mit einer Geschwindigkeit gesendet werden muss, die alle Clients unterstützen müssen und zuverlässig empfangen können.

Sie beziehen sich auf eine Technik, die viele Zugriffspunkte verwenden können, nämlich eine Multicast-zu-Unicast-Konvertierung. Da das Funkmedium ein gemeinsam genutztes Medium ist, kann ein Multicast-Frame, der mit der niedrigsten Datenrate gesendet wird, 300-mal oder mehr "Sendezeit" benötigen als ein Unicast-Frame, der mit der höchsten Datenrate gesendet wird. Dies ist häufig weitaus effizienter als das Senden von Multicast als Multicast-Verkehr.

In Ihrer Beispielsituation auf einem Standardkonfigurations-AP (802.11n oder neuer) kann es weniger Zeit dauern, 10 Unicast-Frames mit der höchstmöglichen Geschwindigkeit an jedes der 10 Geräte (dh insgesamt 100 Frames) zu liefern, als selbst ein Multicast Rahmen.

Zwei weitere Überlegungen für Multicast unter 802.11, die häufig Gründe für die Verwendung der Multicast-zu-Unicast-Konvertierung sind, sind, dass Multicast-Frames niemals bestätigt werden, während Unicast-Frames vom AP bestätigt und erneut übertragen werden, wenn keine Bestätigung vorliegt (nicht zu verwechseln mit TCP-Bestätigungen). Dies ist ein L2-Mechanismus und Teil des Prozesses zum Finden optimaler Datenraten zwischen AP und Client.

Zweitens, wenn ein Clientgerät im BSS den Energiesparmodus verwendet, werden Multicast-Frames nur periodisch gesendet (basierend auf konfigurierten DTIM- und Beacon-Intervallen), um sicherzustellen, dass Multicast-Frames erneut von allen Clients empfangen werden. Bei der Multicast-zu-Unicast-Konvertierung werden Frames sofort an Clients gesendet, wenn sie den Energiesparmodus nicht verwenden, und nur an Clients verzögert, die sich im Energiesparmodus befinden.

Es gibt mehrere Arten von Routern / APs - "3x3" und "4x4", einige mit MIMO usw. Was sollte ich als Kriterium für die Auswahl des AP verwenden?

Zunächst möchten Sie einen Zugangspunkt, der die Funktionen Ihres Clientgeräts erfüllt oder übertrifft. Damit meine ich, dass Sie, wenn Ihre Clients 802.11n 2x2-fähige Geräte sind, mindestens einen 802.11n 2x2-AP benötigen. 802.11ac bietet Ihnen auch bei allen 802.11n-Clients einige Vorteile, und mehr räumliche Streams schaden nie, da die zusätzlichen Streams auf andere Weise verwendet werden.

Zweitens möchten Sie einen Zugangspunkt, an dem Sie Konfigurationsoptionen zum Deaktivieren / Aktivieren der Multicast-zu-Unicast-Konvertierung, zum Auswählen bestimmter unterstützter / erforderlicher Datenraten für das ESS und vorzugsweise zum Konfigurieren der DTIM- und Beacon-Intervalle haben.

Kann ich WIRKLICH Multicast über WLAN auf iOS-Geräte übertragen? Ist meine Theorie richtig?

Jeweils ja und nein. Sie können dies jedoch tun, es sei denn, Sie wissen wirklich, was Sie tun, oder um die Dinge einfach zu halten, können Sie mithilfe einer Mulicast-zu-Unicast-Funktion eine "Echtzeit" -Erfahrung erzielen. Wenn Sie das Folgende nicht für Ihre Situation korrigieren, kann dies die Erfahrung auf den Clientgeräten verringern.

Für eine gute Leistung müssten Sie die erforderliche Datenrate so weit wie möglich nach oben anpassen und gleichzeitig ein zuverlässiges Signal basierend auf Ihrer Umgebung und der Entfernung der Clientgeräte vom AP aufrechterhalten.

Da iOS-Geräte sicherlich den Energiesparmodus verwenden, sollten Sie die DTIM- und Beacon-Intervalle weiter anpassen, um die durch den Energiesparmodus verursachte Verzögerung zu verringern. Beachten Sie, dass diese Einstellungen auch die Effizienz Ihrer Sendezeitnutzung verringern können (dh das Verringern der Beacon-Intervalle bedeutet mehr Beacons usw.) und mehr Probleme verursachen als sie lösen.

Gibt es eine Möglichkeit zum Multicasting, anstatt jedes Paket / jeden Client als Unicast zu behandeln?

Wie ich bereits behandelt habe, ja. Solange Ihr AP entweder überhaupt keine Multicast-zu-Unicast-Funktion hat oder eine Option zum Deaktivieren hat.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.