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:
- Stellen Sie über solch eine Überwachung fest das Ihr WLAN öfters am Wochenende oder in den Abendstunden stark ausgelastet ist, was bei Ihnen zu verschiedenen Problemen führt (Aussetzer im Videostreaming, lags beim Online Gaming, verzögerter Seitenaufbau beim Surfen), dann können Sie Ihr WLAN auf ein Frequenzband, bzw. Kanal einstellen, welches eine bessere Leistung verspricht.
- Hin- und wieder kommt es zu Problemen mit einer PowerLine Netzwerkverbindung. Haben Sie nun Kenntnis über das zeitliche Auftreten dieser Probleme, dann können Sie diese Information mit anderen Ereignissen korrelieren und eher einer Ursache auf die Spur kommen (z.B. regelmäßiger Betrieb einer Waschmaschine und damit verbundene Störungen).
- Sie möchten etwas mehr Information über die Auslastung und Leistungsfähigkeit Ihres Internetzuganges haben, um zu prüfen ob ein Wechsel des Internetanbieters in Betracht kommt oder um einen Internetzugang auf Probe wirklich auf die Probe zu stellen.
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.
- Ein Gerät welches regelmäßig Pings aussendet und die Antworten speichert.
- 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.
- 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:
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.
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:
- Die Paketumlaufzeit wurde in einem WLAN Netzwerk gemessen, welches alleine in einem Frequenzbereich arbeitet.
- Die Paketumlaufzeit wurde in einem WLAN Netzwerk gemessen, welches in einem Frequenzbereich arbeitet, welcher auch in der Nachbarschaft von fremden WLAN Netzwerken verwendet wird.
- 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.
- Die Paketumlaufzeit zum Internet-Router über eine direkte WLAN Verbindung. Diese WLAN Verbindung stellt das primär getestete Objekt dar.
- 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.
- 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).
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).
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.
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:
- Notebook, Windows 10, Killer Wireless-n/a/ac 1535 Wireless Network Adapter
- Internet-Router, Fritz!Box 7390, Fritz!OS 06.51
- PC, Windows 7, TP-Link 725N V2 Wireless Adapter
- PC, Windows 10, Gigabit Ethernet Verbindung
- Smartphone, LG Nexus 5x, Android 6
Softwaretools:
- MultiPing (Version 1.4.3, Ping Payload 570 Byte, Aufzeichnungsintervall 1 Sekunde)
- IPerf3 (Version 3.1.3, TCP segment size 1024 Byte)
- Magic iPerf (Version 1.0)
- Homedale (Version 1.64)
WLAN:
- WLAN Netzwerk 2,4 GHz, Kanal 6, 3 fremde WLAN Netzwerke auf Kanal 6 vom Notenbook und 2 vom Internet-Router erkannt, Verbindung brutto Datenrate 130Mbit/s, IEEE802.11n, Kanalbündelung 20Mhz, 2x2 MIMO
- WLAN Netzwerk 5 GHz, Kanal 39 + 40, 0 fremde WLAN Netzwerke auf Kanal 39, 40 vom Notebook und Internet-Router erkannt, Verbindung brutto Datenrate 300Mbit/s, IEEE802.11n, Kanalbündelung 40Mhz, 2x2 MIMO
Testaufbau:
- Das Notebook ist per WLAN mit dem Internet-Router verbunden und stellt eine typische Verbindung dar, wie Sie in einem Heimnetzwerk zu finden ist.
- Auf dem Notebook läuft das Softwaretool MultiPing und misst per Ping die Paketumlaufzeit und den Paketjitter zu folgenden Zielen.
- Internet-Router (um die Paketumlaufzeit der WLAN Verbindung zu messen)
- PC mit Windows 10 (um zu prüfen, das die Systemlast des Internet-Routers kaum oder keinen Einfluss auf die Messergebnisse hat)
- Dem lokalen Loopback Netzwerk Interface auf dem Notebook selbst (um den Einfluss der Systemlast des Notebooks selbst zu messen)
- Der PC mit Windows 10 Betriebssystem ist über Gigabit Ethernet mit dem Internet-Router verbunden und damit Teil des gleichen Heimnetzwerkes wie das Notebook.
- Das Smartphone hat einen WLAN Access Point auf dem 2,4 GHz Frequenzband, Kanal 6 aktiv. Der PC mit Windows 7 ist zu diesem WLAN Hostspot verbunden. Diese Verbindung stellt aus Sicht des Heimnetzwerkes ein fremdes Netzwerk dar. Über das Tool “iPerf3” kann eine Last auf diesem fremden Netzwerk generiert werden. Das Smartphone dient dabei als iPerf Server, der PC mit Windows 7 als iPerf Client.
Testprozedur:
- 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.
- Das Notebook wird über das 5 GHz Frequenzband mit dem Internet-Router verbunden.
- Nach ca. 3 Minuten wird ein Screenshot der mittels Ping ermittelten Messergebnisse angefertigt.
- Das Notebook wird über das 2.4 GHz Frequenzband mit dem Internet-Router verbunden.
- Nach ca. 3 Minuten wird ein Screenshot der mittels Ping ermittelten Messergebnisse angefertigt.
- Der PC mit Windows 7 sendet für einen Zeitraum von 30 Sekunden mittels iPerf3 eine hohe Datenlast zum Smartphone.
- Ein Screenshot wird angefertigt wenn dieser 30 Sekunden Zeitraumn sich ca. in der Mitte des Graphen des Multiping Softwaretools befindet.
Anmerkungen:
- Da ein paar Netzwerkprotokolle ständig im Hintergrund des Heimnetzwerkes aktiv sind (z.B. SMB von Microsoft oder ARP), ist von einer permanenten geringen Netzwerklast auszugehen. Als Resultat werden geringe Schwankungen der Pingresultate auch ohne direkten Einfluss von WLAN erwartet.