DasHeimnetzwerk.de - informativ und umfassend

Ping für die Netzwerküberwachung

In der Theorie müsste es möglich sein ein Netzwerk, bzw. Netzwerkverbindungen mittels “Ping” nicht nur kurz zu prüfen sondern auch langfristig zu überwachen. Der Gedanke ist dabei, das je höher die Auslastung einer Netzwerkverbindung ist, desto höher müsste im Durchschnitt die Latenz und der Paketjitter ausfallen. Wenn man nun ständig 24 Stunden 7 Tage die Woche die Paketumlaufzeit im Hintergrund per Ping misst (und damit letztendlich die Latenz), dann ergibt sich ein Hinweis auf die Auslastung von Netzwerkverbindungen.

Wie und wofür kann Ihnen eine solche Überwachung helfen? Üblicherweise sind Netzwerkverbindungen immer mal wieder für einen mehr oder weniger kurzen Zeitraum stark ausgelastet, aber nicht ständig. Das macht die Fehlersuche bei sporadisch auftretenden Problemen sehr schwierig, welche auf eine starke Auslastung zurückzuführen sind. Liegen Ihnen aufgrund einer Überwachung konkretere Daten vor, wann und in welchem Umfang es zu Engpässen gekommen ist, dann haben Sie eine bessere Informationsbasis und können zielgerichteter handeln. Ein paar Beispiele:

Die Verwendung von Ping hat den Charme, dass dieses Tool auf eigentlich jedem Computer verfügbar und leicht zu bedienen ist. Des Weiteren sind Softwaretools für das Aufzeichnen und der grafischen Darstellung der Resultate frei erhältlich, bzw. es ist einfach möglich eine Logdatei über z.B. eine Tabellenkalkulation auszuwerten. Somit eignet sich solch eine Überwachung auch für den Hausgebrauch.

Notiz: Die hier vorgestellte Methode ist relativ einfach durchzuführen, Sie müssen weder Profiwerkzeuge noch professionelles Wissen mitbringen. Nichtsdestotrotz richtet sich dieses Kapitel an fortgeschrittene Computernutzer. Ohne ein solides Grundwissen im Bereich Computer und Netzwerke werden Sie sich wahrscheinlich schwer tun, selbst einen eigenen Aufbau aufzusetzen und später die Ergebnisse auszuwerten und richtig zu interpretieren.

Im ersten Abschnitt finden Sie konkrete Informationen über den Aufbau, Durchführung und Auswertung einer solchen Überwachung.

Im zweiten Abschnitt dieses Kapitels finden Sie eine Zusammenfassung eines durchgeführten Tests, um zu validieren ob sich Ping für eine einfache Überwachung von Netzwerkverbindungen eignet.

Im letzten Abschnitt ist der detaillierte Aufbau und Durchführung des durchgeführten Tests für die Validierung beschrieben.

Diese letzten beiden Abschnitte dienen hauptsächlich dazu die Wirksamkeit dieser Methode nachzuweisen. Für den einen oder anderen Leser sind evtl. auch die Einzelheiten des Aufbaus oder der Durchführung nützlich.

Die Verwendung von Ping zur Netzwerküberwachung

Um Ping für die Netzwerküberwachung einzusetzen, benötigen Sie im Prinzip drei Dinge.

  1. Ein Gerät welches regelmäßig Pings aussendet und die Antworten speichert.
  2. Eine Netzwerkstrecke welche Sie überwachen wollen. Startend von dem Gerät welches die Pings aussendet, bis zu einem Gerät welches die Pings empfängt und dann antwortet.
  3. Ein Softwaretool welches Ihnen erlaubt die über einen längeren Zeitraum gespeicherten Pings auszuwerten.

Da das Gerät welches regelmäßig die Pings aussendet längere Zeit in Betrieb ist, eignen sich hier Geräte mit einem niedrigen Energieverbrauch wie z.B. ein Notebook, ein NAS oder ein Rasberry PI. Für die weitere Beschreibung wird ein Notebook mit Windows Betriebssystem angenommen.

Das Windows eigene Ping per Kommandozeile gibt Ihnen leider nicht direkt einen Zeitstempel mit Datum und Uhrzeit aus. Von daher können sich erfahrene Benutzer der Kommandozeile eine Scriptdatei schreiben und die Ausgaben in eine Datei schreiben oder Sie verwenden ein frei erhältliches Ping Tool, welches die Antwort mit Paketumlaufzeit und Zeitstempel in eine Datei schreiben kann. Beispiele für solche Tools sind MultiPing oder FPing.

Sie sollten die für Ihre Zwecke zu überwachende Netzwerkstrecke so weit wie möglich eingrenzen. Sprich wenn Sie Ihren Internetzugang überwachen möchten, dann schließen Sie das Notebook am besten direkt per Ethernet an den Internet-Router. Wollen Sie ein WLAN überwachen, dann verbinden Sie das Notebook als WLAN Client direkt mit dem WLAN und senden Sie den Ping an den WLAN Access Point, bzw. dessen IP Adresse. Ein Pingintervall von 2 oder 3 Sekunden reicht im Regelfall aus und reduziert die anfallenden Daten ein wenig.

Wenn Sie Ihren Aufbau soweit vorbereitet haben dann starten Sie die Überwachung und lassen Sie diese für die gewünschte Periode laufen. Als Resultat erhalten Sie eine Datei mit den Pingmesswerten.

Notiz: Heutige Rechner sind sehr selten voll ausgelastet und sollten eigentlich empfangene Pings umgehend beantworten können. Falls Sie aber sicher sein wollen, dass nicht die Auslastung des antwortenden Gerätes oder gar des sendenden Gerätes eine Periode mit hohen Pings verursacht hat, dann können Sie gleichzeitig noch einen Ping auf die sogenannte Loopback Schnittstelle des sendenden Gerätes (127.0.0.1) und auf ein anderes Gerät speichern, welches sich idealerweise so nah wie möglich am eigentlichen antwortenden Gerät befindet.

Eine einfacher Ansatz die Datei mit den Ergebnissen auszuwerten ist eine Tabellenkalkulation als Hilfsmittel zu benutzen. Lesen Sie dafür die Datei mit den gespeicherten Antworten in eine Tabellenkalkulation ein. Aktuelle Tabellenkalkulationen (z.B. Microsoft Office Excel oder LibreOffice Calc) sollten in der Lage sein bis zu knapp einer Million Zeilen von Daten zu verarbeiten. Das reicht, um bei oben erwähntem Pingintervall eine Überwachung über einen oder auch mehrere Tage durchzuführen. Achten Sie darauf beim Einlesen der Tabellenkalkulation das korrekte Trennzeichen mitzuteilen, z.B. ein Komma wenn Sie das MultiPing Tool verwenden.

Es gibt viele Wege die Daten in einer Tabellenkalkulation auszuwerten. Im folgenden ein Beispiel einer Auswertung anhand eines Datensatzes von 24 Stunden Pingüberwachung einer WLAN Verbindung, mit einem Pingintervall von 2 Sekunden. Als Tabellenkalkulation kam LibreOffice Calc zur Anwendung. Eine Auswertung in Microsoft Office Excel sollte im Prinzip gleich funktionieren, die genaue Syntax der Funktionen mag jedoch abweichen.

Nach dem Einlesen der Daten zeigt die Tabellenkalkulation ca. 38000 Datensätze in den Zeilen an. Für die Auswertung von besonderem Interesse ist dabei die Paketumlaufzeit (Engl. Round Trip Time (RTT)) und der Zeitstempel. Von daher werden als erstes die Spalten so sortiert, dass der Zeitstempel und die Paketumlaufzeit zusammen in aufeinanderfolgenden Spalten liegen (z.B. Zeitstempel in Spalte A und die gemessenen Paketumlaufzeiten in Spalte B). Über die Verwendung einer einfachen Pivottabelle, kann man sich einen guten Überblick über die Verteilung der Paketumlaufzeiten machen. Dafür wird die Spalte der Paketumlaufzeit den Zeilenfeldern zugeordnet und die aktuellen Werte werden dann in der ersten Datenspalte gezählt. Siehe folgendes Diagramm:

Bild: Grafische Auswertung einer Überwachung per Ping: Verteilung der Messwerte
Bild: Grafische Auswertung einer Überwachung per Ping: Verteilung der Messwerte

Interessant ist die hier zu beobachtende Verteilung. Erwartungsgemäß liegt die Masse der Paketumlaufzeiten bei niedrigen Werten, welche im 2stelligen Bereich rasch abnehmen. Bei ca. 400ms gibt es aber plötzlich wieder eine Ansammlung von Messwerten. Mehr dazu später.

Um die Datenmenge auf einen Blick auszuwerten und bei der beobachteten Verteilung macht es Sinn einen sogenannten gleitenden Durchschnitt zu berechnen und als Grafik anzuzeigen. Und zwar einmal inklusive der 400ms Spitzen und einmal ohne. In einer Tabellenkalkulation können Sie gleitende Durchschnitte gut über indirekte Referenzen berechnen. Legen Sie dazu in zwei Spalten (z.B. Spalte C und D) die Reihen und Anzahl der Messwerte fest, über welchen Sie den Durchschnitt berechnen wollen. Wenn Sie z.B. den Durchschnitt über 450 Messwerte (15 Minuten, bei einem 2 Sekunden Intervall) von den Reihen 10 bis 460 berechnen wollen, dann tragen Sie 10 in die Spalte C und 460 in die Spalte D ein. In der nächsten Zeile können Sie diesen Block um zeitlich “gleiten” lassen, indem Sie z.B. 225 addieren und dann 235, bzw. 685 eintragen. Das verschiebt den Block bei einem 2 Sekundenintervall um 7,5 Minuten. Wenn Sie dieses gleiten über eine Formel berechnen (z.B. =C10+225), dann können Sie den gleitenden Bereich bequem über weitere Reihen kopieren.

Die eigentlich Berechnung funktioniert jetzt über eine indirekte Referenz und der auf Englisch bezeichneten “AVERAGE”, bzw “AVERAGEIF” Funktion. Im einfachen Fall sieht die Berechnung eines Durchschnitts folgendermaßen aus (Spalten C und D werden noch nicht benötigt).

=AVERAGE(B10:B460)

Spitzenwerte können Sie über die “AVERAGEIF” Funktion filtern. Im folgenden Beispiel fließen nur Werte kleiner 100 in die Berechnung ein.

=AVERAGEIF(B10:B460;"<100")

Unter Verwendung indirekter Referenzen erreichen Sie das gleiche Resultat. Die Syntax "B"&C2 bedeutet dabei, dass die Zellen für die Berechnung fest in Spalte B liegen und der genaue Zeilenwert, der Zelle C2 entnommen werden soll. In gleicher Weise wird der zweite Bereichswert für die AVERAGEIF Funktion, der Spalte D entnommen.

=AVERAGEIF(INDIRECT("B"&C2):INDIRECT("B"&D2);"<100")

Die Verwendung einer indirekten Referenz hat jetzt den Vorteil, dass Sie die Formel elegant über die Zeilen kopieren können und Sie bekommen die gleitenden Durchschnittswerte als Resultat.

Bild: Grafische Auswertung einer Überwachung per Ping: gleitende Durchschnittswerte
Bild: Grafische Auswertung einer Überwachung per Ping: gleitende Durchschnittswerte

Im obigen Diagramm ist ein Bereich höherer Paketumlaufzeiten gegen ca. 23:00 zu beobachten. Gegen ca. 03:00 gibt es eine Periode in welcher besonders häufig Paketumlaufzeiten größer 100ms aufgetreten sind. Ein kurzer Blick in die Daten bestätigte, dass es dabei meistens die schon erwähnten Werte von ca. 400ms waren.

Finale Interpretation der Ergebnisse für das WLAN Beispiel: Im Normalfall liegt die Paketumlaufzeit in einem erwarteten niedrigen einstelligen Bereich. Durch das Senden von kleineren Datenmengen in benachbarten WLAN Netzwerken oder dem eigenen Netzwerk kommt es hin und wieder zu etwas höheren Paketumlaufzeiten. Gegen ca. 23:00, wurde wahrscheinlich auf einem benachbarten Netzwerk eine größere Menge an Daten übertragen. Die 400ms Spitzen werden sehr wahrscheinlich durch schwerwiegendere Störungen, bzw. Zugriffskonflikten auf dem Funkmedium verursacht. Eine begründete Annahme ist, dass Authentifizierungsaktivitäten anderer WLAN Netzwerke, evtl. Kollisionen und/oder das Senden nach einem sehr veralteten WLAN Standard als Ursache zu vermuten sind. Als Konsequenz wurde auf das 5 GHz Frequenzband, Kanal 40 gewechselt. Dieser Kanal war noch von keinem anderen WLAN Netzwerk in der Umgebung belegt. Eine Messung für die neuen Einstellungen zeigte keine 400ms Spitzen mehr. Ansonsten war die Paketumlaufzeit im Durchschnitt etwas niedriger, aber im großen und ganzen mit den alten Einstellungen vergleichbar.

Die Validierung der Verwendung von Ping zur Überwachung

Die Auswirkung einer starken Auslastung auf Ping wurde mittels einer WLAN Verbindung getestet. Hierbei wurde für die Auslastung nicht einfach der Datenverkehr mehrer Datenquellen über eine Verbindung geschickt, sondern es wurden zwei WLAN Netzwerke auf dem gleichen Frequenzband und dem gleichen Kanal eingerichtet. Eines dieser Netzwerke wurde per Ping überwacht, das andere Netzwerk stark ausgelastet. Das per Ping überwachte Netzwerk wurde vorher noch ausgemessen, um eine Vergleichsreferenz zu erstellen.

Die Einzeltests im Überblick:

  1. Die Paketumlaufzeit wurde in einem WLAN Netzwerk gemessen, welches alleine in einem Frequenzbereich arbeitet.
  2. Die Paketumlaufzeit wurde in einem WLAN Netzwerk gemessen, welches in einem Frequenzbereich arbeitet, welcher auch in der Nachbarschaft von fremden WLAN Netzwerken verwendet wird.
  3. Ein fremdes WLAN Netzwerk wurde parallel zum Testnetzwerk eingerichtet und unter Last gesetzt. Dabei wurde wieder kontinuierlich die Paketumlaufzeit gemessen.

Den detaillierten Testaufbau können Sie im Abschnitt WLAN Ping Test nachlesen.

Folgend sind die Screenshots mit den Testresultaten zu sehen. In jedem Screenshot finden Sie drei Graphen welche die Messungen der Paketumlaufzeiten darstellen.

  1. Die Paketumlaufzeit zum Internet-Router über eine direkte WLAN Verbindung. Diese WLAN Verbindung stellt das primär getestete Objekt dar.
  2. Die Paketumlaufzeit zu einem PC über die gleiche WLAN Verbindung und einer Gigabit Ethernet Verbindung. Stellt sicher, dass die Systemlast des Internet-Routers keinen signifikanten Einfluss auf die Messresultate hat. Der Graph sollte gleich oder Ähnlich des Graphen zum Internet-Router sein.
  3. Die Paketumlaufzeit vom Notebook zum Notebook selbst, welcher die Pings sendet. Das stellt sicher, dass die Systemlast des Notebooks keinen signifikanten Einfluss auf die Messresultate hat. Sollte immer 0 ms, bzw nahe 0 ms sein.

Der erste Screenshot zeigt ein WLAN Netzwerk im 5 GHz Frequenzband, welcher alleine auf Kanal 39 und 40 arbeitet. Die Paketumlaufzeiten sind relativ niedrig und die Schwankungen gering (ca. 3 bis 12 ms).

Bild: Resultate des WLAN Ping Monitoring Test 5 GHz ohne Last
Bild: Resultate des WLAN Ping Monitoring Test 5 GHz ohne Last

Der zweite Screenshot zeigt ein WLAN Netzwerk im 2,4 GHz Frequenzband, welcher sich den Frequenzbereich mit 3 fremden WLAN Netzwerken teilt. Die Paketumlaufzeiten sind sehr ähnlich zu den Resultaten im 5 GHz Frequenzband, aber in der Spitze etwas höher (ca. 3 bis 17 ms).

Bild: Resultate des WLAN Ping Monitoring Test 2.4 GHz ohne Last
Bild: Resultate des WLAN Ping Monitoring Test 2.4 GHz ohne Last

Im dritten Screenshot sind Auswirkungen von einer Last auf einem fremden parellel funkenden Netzwerk gut zu erkennen. Die Last wurde temporär erzeugt und wirkte sich unmittelbar in höhere Paketumlaufzeiten und vor allem einem höheren Paketjitter (ca. 10 bis 35 ms ) aus, siehe den mittleren Bereich im unteren Screenshot.

Bild: Resultate des WLAN Ping Monitoring Test 2.4 GHz mit Last
Bild: Resultate des WLAN Ping Monitoring Test 2.4 GHz mit Last

Hierbei ist noch anzumerken, dass wenn man die Resultate des Tests ohne Last und des Tests mit Last kombiniert, es nahe liegt, dass nur das eigene fremde WLAN Testnetzwerk zum Zeitpunkt des Tests eine nennenswerte Last erzeugt hat. Es ist gut vorstellbar, dass wenn sich mehrere WLAN Netzwerke mit hoher Last in die Quere kommen, dass dann die Paketumlaufzeiten noch deutlich steigen.

Schlussfolgerung des Tests ist es, dass sich Ping für eine Überwachung eines WLAN Netzwerkes durchaus eignet und Aussagen über ein relative Auslastung zulässt. Die Überwachung an sich gibt noch keine konkreten Informationen, ob die Auslastung durch weitere Geräte in Ihrem eigenen Netzwerk, fremden Netzwerken oder Störungen verursacht wurde. Die Korrelation des Zeitpunktes einer hohen Auslastung kann aber den entscheidenden Hinweis auf die Ursache geben.

Wermutstropfen des eben geschilderten Ansatzes ist es, das neben dem Internet-Router ein weiteres Gerät permanent aktiv sein muss, um die Pings abzusetzen und die Antworten aufzuzeichnen. Somit eignen sich hierfür Geräte mit niedrigem Energieverbrauch, welche idealerweise schon in Ihrem Heim vorhanden sind. Z.B. ein älteres Notebook, welches für den tagtäglichen Gebrauch ausgemustert wurde oder ein Network Attached Storage (NAS) welcher es erlaubt auf das meist integrierte Linux Betriebssystem zuzugreifen und eigene Aufgaben laufen zu lassen.

WLAN Ping Test

Datum: 14.09.2016

Geräte:

Softwaretools:

WLAN:

Testaufbau:

Testprozedur:

  1. Mit dem Internet-Router und dem Notebook (mittels des Softwaretool Homedale) wird nach fremden WLAN Netzwerken gesucht, welche auf den gleichen Kanälen operieren wie die Test WLAN Netzwerke und die Anzahl notiert.
  2. Das Notebook wird über das 5 GHz Frequenzband mit dem Internet-Router verbunden.
  3. Nach ca. 3 Minuten wird ein Screenshot der mittels Ping ermittelten Messergebnisse angefertigt.
  4. Das Notebook wird über das 2.4 GHz Frequenzband mit dem Internet-Router verbunden.
  5. Nach ca. 3 Minuten wird ein Screenshot der mittels Ping ermittelten Messergebnisse angefertigt.
  6. Der PC mit Windows 7 sendet für einen Zeitraum von 30 Sekunden mittels iPerf3 eine hohe Datenlast zum Smartphone.
  7. Ein Screenshot wird angefertigt wenn dieser 30 Sekunden Zeitraumn sich ca. in der Mitte des Graphen des Multiping Softwaretools befindet.

Anmerkungen: