Wie diagnostiziere und visualisiere ich hohe Ping-Zeiten zum WLAN-Router?

65

Ich sehe unberechenbare und manchmal sehr lange Ping-Zeiten zu meinem WLAN-Router, der nur einen Sprung entfernt ist. Ping führt 192.168.1.1manchmal zu Latenzen von 400-800 ms.

Es gibt viele Dinge zu versuchen (Firmware, Router-Platzierung, AP-Kanal usw.), aber ich möchte dieses Problem etwas methodischer angreifen:

  • Wie kann ich zunächst die Leistung meines Netzwerks visualisieren ?
  • Dann, wie kann ich Benchmark die Leistung einer bestimmten Konfiguration, so dass ich zuverlässig vergleichen nach Anpassungen vornehmen?
Paul Irish
quelle
Welche Router- und / oder On-Board-Router-Software verwenden Sie, wenn dies nicht die Standardinstallation ist?
Jeff Clayton
@ JeffClayton Linksys WRT54GSv2 (old-school) mit Tomato (Shibby). Dient zum Ausführen von DD-WRT, ist jedoch fehlerhaft und verwirrend in der Wartung.
Paul Irish
1
Haben Sie ein aktuelles Problem oder handelt es sich lediglich um ein kosmetisches Problem? WiFi-Router sind in der Regel nicht für superschnelle Ping-Responder ausgelegt, sondern müssen echte Arbeit leisten.
David Schwartz
1
@DavidSchwartz sollten wir in der Lage sein, eine vollständige Hin- und Rückfahrt zu einem WLAN-Zugangspunkt in weniger als 10 ms durchzuführen, nicht wahr? Wenn Ihre Intra-Wifi-Latenz länger als 500 ms ist, leidet auch JEDES PAKET, das Sie aus dem Internet ziehen, unter dieser Latenz. Es ist mörderisch.
Paul Irish
1
@PaulIrish Alles wahr, aber das hat nichts mit Ping-Zeiten zu tun. Ping misst die Summe aus Netzwerklatenz und Ping-Antwortlatenz. SoHo WiFi-Router sind keine effizienten Ping-Responder. Daher wird die Verwendung von Ping zur Messung der Netzwerklatenz nicht empfohlen.
David Schwartz

Antworten:

78

Diese Serverfehler-Antwort enthält eine gute allgemeine Anleitung, was zu tun ist. Beginnen Sie also damit. Der letzte Schritt ist allerdings ein Trottel: Vermutlich möchten Sie (ich meine) dafür nicht in dedizierte Hardware investieren ...

Im Folgenden finden Sie einige gute Tools, um zunächst den Zustand der Konnektivität innerhalb des lokalen WLAN-Netzwerks und dann einen Internet-Endpunkt zu verstehen.

Wifi-Tools

NetSpot (für Mac)

Es verfolgt die lokalen WiFI-APs und liefert Basisdaten wie SNR, Kanal, Signalstärke. Es kann auch eine grundlegende Standortuntersuchung für einen physischen Raum durchgeführt werden, die Stärken und Störungen anzeigt. Im AP-Erkennungsmodus können Sie auch die Signalstärke über einen bestimmten Zeitraum hinweg aufzeichnen, um Platzierungen zu testen und die Interferenzmöglichkeiten anzupassen. Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Wifi Speed ​​Test für Android

Sehr hilfreich. Sie werden einen einfachen Python-Server auf Ihrem Computer ausführen und die App kann einige Szenarien testen, die Ihnen Echtzeit-Geschwindigkeits-Feedback geben.

Bildbeschreibung hier eingeben

Wifi Analyzer , eine weitere großartige Android-App, bietet einige wertvolle Einblicke in die aktiven AP-Wifi-Kanäle. Dies könnte das beste kostenlose Tool für die Auswahl eines AP-Kanals sein, ohne viel Arbeit zu erledigen.

iPerf

Gut angesehenes Tool zum Verständnis der lokalen Netzwerkleistung. Sie benötigen zwei Boxen, eine als Server, eine als Client. Sie können eine Reihe von Parametern einrichten, einen Test ausführen und die Ergebnisse für Bandbreite und Jitter anzeigen. Ich bevorzuge es mit der jPerf-GUI für die Darstellung von Ergebnissen und die Optimierung von Parametern.

brew install iperf
iperf -s # on server, next one on client
iperf -c 192.168.1.XXX -P 1 -i 1 -p 5001 -f m -t 60

Bildbeschreibung hier eingeben

Integrität der Internetverbindung

mtr (Ping & Traceroute kombiniert)

Pingt alle Ihre Traceroute-Hopfen. Stellt Trenddaten bereit. Verrückt genial.

brew install mtr
mtr 8.8.4.4

speedtest-cli

Die CLI-Version der üblichen ookla speedtest.net-Sache. Der Projektbetreuer erklärt, dass dies nicht konsistent ist, es jedoch praktisch ist, große Unterschiede zu messen.

wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli
speedtest-cli --list | head # and chose a top server (sorted by distance)
speedtest-cli --server 2761 # re-use the same server

NPAD : Netzwerkpfad- und Anwendungsdiagnose

Automatischer Diagnoseserver zur Behebung von Endsystem- und Last-Mile-Netzwerkproblemen. Nachdem Sie eine Reihe von Tests ausgeführt haben, wird eine Seite mit einer Zusammenfassung der Ergebnisse angezeigt . Ich empfehle, diesen NPAD-Server-Umleitungslink zu verwenden, um den nächstgelegenen NPAD-Server zu finden (sie sind alle über) und diesen Hostnamen für Ihre Tests zu verwenden.

  wget http://netspeed.usc.edu:8000/diag-client.c
  cc diag-client.c -o diag-client
# ./diag-client <server_name> <port> <target_RTT> <target_data_rate_in_MB/S>
  ./diag-client ps.psc.xsede.org 8001 30 5

Bildbeschreibung hier eingeben


Meine persönlichen Ergebnisse:

Ich habe ein paar Stunden damit verbracht, verschiedene Dinge auszuprobieren (von DD-WRT auf Tomato-Firmware umzustellen) und zu lesen. Es stellte sich heraus, dass es sich nicht um eine Netzwerkschicht handelte und es sich um eine gute alte HF-Störung handelte, hauptsächlich durch Bluetooth! Ich hatte meinen Computer, eine Bluetooth-Maus und eine Tastatur innerhalb von 5 Fuß des Routers. (Und alte Router immer noch auf 2,4 GHz, wo sie zusammenstoßen.)

Dafür habe ich den Wifi Speed ​​Test für Android optimal genutzt und ihn regelmäßig ausgeführt, während ich Dinge in der Wohnung herumbewegt habe. Da etwa alle 200 ms Aktualisierungen gemeldet werden, wird klar kommuniziert, wann Interferenzen meine Pakete verworfen haben.

Ich empfehle auf jeden Fall das Handbuch Common Sources of Interference von Metageek zu lesen. (Sie machen auch InSSIDer und andere Wifi-Analyse-Tools, die gut aussehen.)

Bildbeschreibung hier eingeben

Ein Werkzeug, das ich nicht hatte, war ein Messgerät für die physikalische Spektrumanalyse. Handys und Laptops können nur Wifi-APs erkennen, aber keine Störungen durch Bluetooth oder andere HF-basierte Technologien erkennen. Metageek hat einige nette Lösungen in diesem Bereich ( Wi-Spy und inSSIDer Office ) und wir hoffen, dass weitere Tools wie AirShark auftauchen .

Paul Irish
quelle
Dies sind wunderschöne Werkzeuge, die meine Notizen aktualisieren.
Jeff Clayton
Ein weiteres "schnelles und schmutziges" Tool, das von unschätzbarem Wert ist, da es tragbar ist, ist Wifi Analyzer für Android-Geräte.
Davidgo
Ja. Ich erwähnte kurz WiFi Analyzer; Es ist möglicherweise das beste Tool zum Verstehen von AP-Kanalstörungen, obwohl dies in meinem Fall kein Problem war. Das heißt, es ist wirklich gut gemacht.
Paul Irish
Tolle Liste, danke. Eine andere Sache, die Sie immer versuchen sollten, ist zu sehen, was ohne WLAN passiert . Nachdem ich ein Problem mit dem WLAN hatte, das ich für problematisch hielt, stellte sich heraus, dass ein fehlerhaftes Kabel der wahre Schuldige war, wenn ich es direkt an das Kabel anschloss, das den WLAN-Zugangspunkt speist, und iPerf ausführte.
Ryan Dlugosz
1
Hmmmm. Es ist sehr unwahrscheinlich, dass Bluetooth die von Ihnen beschriebene Art von Interferenz verursacht. Das übliche AFS-Sprungmuster vermeidet ein typisches 20-MHz-WLAN-Signal bei 2,4 GHz. Sie haben keine 40-MHz-Kanäle betrieben, oder?
Alfwatt
4

Wie in meinem obigen Kommentar erwähnt: Tools, die häufig zur Diagnose von Wi-Fi-Problemen verwendet werden, können dieses Problem tatsächlich verursachen. Beim Scannen nach Wi-Fi-Netzwerken muss das Funkgerät den Kanal deaktivieren. In der Regel weist es den AP an, Frames zu puffern, damit es „schlafen“ kann, und schaltet dann die zu scannenden Kanäle um.

Darüber hinaus wird iOS und OS X seit Einführung von AirDrop den WLAN-Funkkanal ausschalten, um nach anderen AirDrop-Diensten zu suchen, und Yosemite wird den Kanal regelmäßig ausschalten, um die Übergabe zu unterstützen.

Alfwatt
quelle
1
Toller Punkt - ich habe dieses Problem bei der Verwendung von InSSIDer in der Vergangenheit bemerkt - schön, eine Erklärung dafür zu bekommen.
Nick
3

Also hatte ich diese WLAN-Ping-Schwankungen auch zum Router.

PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=63 time=2.334 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=63 time=1.813 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=63 time=2749.664 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=63 time=1748.912 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=63 time=748.162 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=63 time=1.796 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=63 time=1.806 ms
64 bytes from 192.168.0.1: icmp_seq=7 ttl=63 time=1.991 ms
64 bytes from 192.168.0.1: icmp_seq=8 ttl=63 time=1.797 ms
64 bytes from 192.168.0.1: icmp_seq=9 ttl=63 time=1.832 ms
64 bytes from 192.168.0.1: icmp_seq=10 ttl=63 time=1.713 ms
64 bytes from 192.168.0.1: icmp_seq=11 ttl=63 time=1.819 ms
64 bytes from 192.168.0.1: icmp_seq=12 ttl=63 time=1.616 ms
64 bytes from 192.168.0.1: icmp_seq=13 ttl=63 time=1.748 ms
64 bytes from 192.168.0.1: icmp_seq=14 ttl=63 time=1.677 ms
64 bytes from 192.168.0.1: icmp_seq=15 ttl=63 time=3427.213 ms
64 bytes from 192.168.0.1: icmp_seq=16 ttl=63 time=2426.371 ms
64 bytes from 192.168.0.1: icmp_seq=17 ttl=63 time=1425.634 ms
64 bytes from 192.168.0.1: icmp_seq=18 ttl=63 time=424.834 ms
64 bytes from 192.168.0.1: icmp_seq=19 ttl=63 time=1.829 ms
64 bytes from 192.168.0.1: icmp_seq=20 ttl=63 time=1.691 ms
64 bytes from 192.168.0.1: icmp_seq=21 ttl=63 time=2.038 ms
64 bytes from 192.168.0.1: icmp_seq=22 ttl=63 time=1.679 ms
^C--- 192.168.0.1 ping statistics ---
23 packets transmitted, 23 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.616/564.346/3427.213/1015.102 ms

Ich habe den Router (von TL-WR743ND auf DIR-815) umgestellt, habe mehrere Wi-Fi-USB-Adapter ausprobiert (meistens TP-LINKs, obwohl ich glaube, dass ich das Problem mit D-Link DWA-160 hatte) und bin von 2,5 GHz auf gegangen 5 GHz und durchforstete die Kanäle. Kein Glück, das Problem blieb bestehen.

Bis ich bemerkte, dass der Ping in Ordnung ist, wenn ich einen Netzwerkgeschwindigkeitstest durchführe oder einen Bittorrent-Client ausführe. Sie schwankt nur, wenn das Netzwerk inaktiv ist.

Könnte ein Problem mit Windows 7 oder etwas mit meinen TP-LINK-Adaptern sein, aber wenn ich das WLAN ein wenig belaste, verschwindet die Fluktuation und das Netzwerk funktioniert in Ordnung.

Bisher habe ich ein kleines Rust-Programm erstellt, um mein WLAN-Netzwerk auf dem neuesten Stand zu halten.

// Need a constant wifi load in order not to have the ping drops.
fn wifi_load() {
  // This *might* be useful if the router suddenly supports Keep-Alive.
  // Not the case with DIR-815 though, we'll keep making new connections to it.
  let config = hyper::client::pool::Config {max_idle: 1};

  let client = hyper::client::Client::with_pool_config (config);
  loop {
    let url = "http://192.168.0.1/css/init.css";
    if let Err (err) = client.get (url) .send() {
      log! ("wifi_load] Error fetching {}: {}", url, err);
      sleep (Duration::from_secs (9));}
    sleep (Duration::from_millis (100));}} 
ArtemGr
quelle