Welche Konfigurationsänderungen muss ich an meiner Wi-Fi-Basisstation vornehmen, um minimale Latenzzeiten zu erzielen?

835
Spiff

Ich entwickle eine spezielle Screen-Sharing-Lösung. Die Anforderungen verlangen nach:

  1. Arbeiten Sie über ein WLAN-Netzwerk.
  2. sorgen für minimale Latenz und Jitter.

Ich habe alles getan, was ich auf der Programmierseite tun kann, aber ich sehe, dass sowohl Jitter als auch Latenz in verschiedenen drahtlosen Netzwerken und Setups (unterschiedliche Basisstationen, Ad-hoc vs. Managed usw.) sehr unterschiedlich sind.

Durch Versuch und Irrtum bin ich auf Basisstationseinstellungen gestoßen, die sich auf Latenz und Jitter auswirken, wie etwa Energiesparmodus, Beacon-Intervall und DTIM-Werte. Ich wäre jedoch sehr interessiert, wenn ich die optimalen Konfigurationsmöglichkeiten für die Basisstation für minimale Latenz und Jitter festlegen könnte .

Ich verstehe natürlich, dass eine solche Optimierung sehr wohl die Bandbreite verringern oder andere unerwünschte Artefakte verursachen kann, aber ich wäre trotzdem daran interessiert, welche Knöpfe Sie ausprobieren möchten und was sie tun.

1

3 Antworten auf die Frage

2
Spiff

In geschätzter Reihenfolge der Wichtigkeit:

  • Wählen Sie einen perfekt sauberen Kanal und haben Sie eine gute Signalstärke (zwischen -40 und -60 dBm).

  • Stellen Sie sicher, dass kein anderer Datenverkehr im Netzwerk mit Ihrer App um die Sendezeit konkurriert. Insbesondere Multicast-Verkehr, der mit einer niedrigen Signalisierungsrate gesendet wird, kürzt die Sendezeit. Verwenden Sie keine Multicasts oder Broadcasts in Ihrer eigenen App.

  • Stellen Sie sicher, dass Sie über genügend Bandbreite für Ihre App verfügen. Überprovisionieren Sie Ihre Links um ca. 33%.

  • Deaktivieren Sie den 802.11-Energiesparmodus. Halten Sie alle Clients im Modus für ständigen Aufbruch (CAM).

  • Deaktivieren Sie alle AP- oder Client-Einstellungen oder Software, die dazu führen könnten, dass das Funkgerät Scans durchführt oder auf andere Weise vom Kanal abweicht. Dazu gehören alte Dinge wie Roaming und Channel Agility sowie neue Dinge wie Wi-Fi Direct und Apple AirDrop. Führen Sie keinen Wi-Fi-Netzwerkscanner wie NetStumbler oder inSSIDer im Hintergrund aus. Deaktivieren Sie die Wi-Fi-basierte Standorterkennung. Achten Sie auf Widgets / Gadgets / Gizmos, die WLAN-Netzwerke auflisten. Sie verursachen oft Scans.

  • Wenn Sie 2,4 GHz verwenden, deaktivieren Sie Bluetooth.

  • Deaktivieren Sie NAT an der Basisstation.

  • Verwenden Sie eine WMM-Warteschlange mit geringer Latenz (QoS). Entweder Stimme (VO) oder Video (VI).

  • Deaktivieren Sie die Frame-Aggregation: sowohl A-MPDU als auch A-MSDU.

  • Bevorzugen Sie IPv4 gegenüber IPv6. Bis zum heutigen Tag gibt es noch viele Geräte, die IPv4 über einen hardwaregestützten "schnellen Pfad" und IPv6 über Software handhaben.

Übrigens dürften Tweaking Beacon-Intervalle und DTIM-Intervalle insgesamt mehr schaden als nützen. Die meisten Kunden erwarten Beacon-Intervalle von etwa 100 TU (802.11-Zeiteinheiten; 1024 Mikrosekunden; manchmal auch kµsec (Kilo Mikrosekunden) oder Kiusec (Kibi Mikrosekunden)) und DTIM-Intervalle zwischen 0-3 Beacons. Ich habe gesehen, dass einige schlecht geschriebene WLAN-Clients ausgeflippt wurden, wenn Sie beide zu sehr ändern (z. B. einen der beiden länger als eine Sekunde lang machen).

0
Luke404

Nicht wirklich eine direkte Antwort, aber ich denke, dass ein gutes WLAN-Signal (gelesen: Zugangspunkt in der Nähe der Host-Station, nicht viele WLAN-Netzwerke in der Umgebung, nicht viele WLAN-Hosts im Netzwerk) wesentlich bessere Leistungsverbesserungen bietet als jeder Tweak.

Soweit ich weiß, können Sie zwar einige geringfügige Änderungen vornehmen, sie reagieren jedoch auf das Accesspoint / Hostcard-Paar (die Ergebnisse können sich bei anderen Karten unterscheiden) und den Netzwerkstatus (überlappende Netzwerke, Clients im Netzwerk). usw).

Alles in allem werden Sie wahrscheinlich einige Verbesserungen von 1-3% erzielen, wenn Sie viel Zeit darauf verwenden, diese Parameter sorgfältig zu optimieren, und noch weniger Einfluss auf die Benutzererfahrung haben. Ich würde sagen, es ist wahrscheinlich der beste Weg, Zeit zu investieren, und Sie könnten besser werden Ergebnisse an einem anderen Ort (z. B. nach anderen nahe gelegenen Netzwerken suchen und sicherstellen, dass sich die Kanäle nicht überlappen, oder ähnliches).

Hoffe das hilft.

0
Paul Sweatte

Hier einige allgemeine Tipps:

  • Deaktivieren Sie Funktionen, die Sie nicht verwenden ( forschen und testen Sie die, die Sie nicht verstehen)
  • Deaktivieren Sie Ports, die Sie nicht öffnen müssen
  • Timeouts erhöhen