Fehlerbehebung bei Netzwerklatenz mit Wireshark

Netzwerklatenz: Ursachen und Behebung mit Wireshark

Die Netzwerklatenz beschreibt die Verzögerung, die auftritt, wenn Daten oder Anfragen von einem Sender zu einem Empfänger innerhalb eines Netzwerks übertragen werden. Es handelt sich also um die Zeitspanne, die benötigt wird, bis ein Datensignal den Zielort erreicht. Im Folgenden werden wir untersuchen, wie man Netzwerklatenz diagnostizieren und beheben kann.

Jede Interaktion, die eine Nutzung des Netzwerks erfordert, sei es das Aufrufen einer Webseite, das Klicken auf einen Link oder das Starten einer App oder eines Online-Spiels, wird als Netzwerkaktivität betrachtet. Die Anfrage eines Nutzers löst somit die Antwort der jeweiligen Webanwendung aus. Die Reaktionszeit einer Webanwendung definiert die Zeit, die benötigt wird, um die Anfrage eines Benutzers zu beantworten.

Diese Reaktionszeit umfasst auch die Zeit, die der Server benötigt, um die Anfrage zu bearbeiten. Das Konzept wird oft als Round-Trip-Zeit (RTT) bezeichnet, die die gesamte Zeit darstellt, die eine Anfrage benötigt, um aufgezeichnet, verarbeitet und schließlich vom Empfänger entschlüsselt zu werden.

Eine „geringe Latenz“ impliziert kurze Verzögerungen bei der Datenübertragung, während lange oder übermäßige Latenzzeiten unerwünscht sind, da sie das Nutzererlebnis beeinträchtigen können.

Wie man Netzwerklatenz behebt

Es gibt eine Vielzahl von Tools und Software, sowohl kostenpflichtig als auch kostenlos, die zur Analyse und Behebung von Netzwerkproblemen im Internet zur Verfügung stehen. Eine besonders hervorzuhebende Open-Source- und GPL-lizenzierte Anwendung ist Wireshark, die es ermöglicht, Datenpakete in Echtzeit zu erfassen. Wireshark gilt als der beliebteste und am weitesten verbreitete Netzwerkprotokollanalysator weltweit.

Mit Wireshark können Sie Netzwerkpakete erfassen und detailliert analysieren. Die gesammelten Pakete können sowohl für Echtzeit- als auch für Offline-Analysen verwendet werden. Diese Anwendung ermöglicht es Ihnen, den Netzwerkverkehr genau zu untersuchen, ihn zu filtern und aufzuschlüsseln, um die Ursache von Problemen zu ermitteln, und unterstützt so die Netzwerkanalyse und letztendlich die Netzwerksicherheit.

Ursachen für Netzwerkverzögerungen

Es gibt mehrere Hauptursachen für langsame Netzwerkverbindungen, darunter:

  • Hohe Latenz
  • Anwendungsabhängigkeiten
  • Paketverlust
  • Abhörgeräte
  • Ineffiziente Fenstergrößen

In diesem Artikel gehen wir detailliert auf jede dieser Ursachen für Netzwerkverzögerungen ein und zeigen, wie man die Probleme mit Wireshark beheben kann.

Analyse mit Wireshark

Hohe Latenz

Hohe Latenz beschreibt die Zeit, die Daten benötigen, um von einem Endpunkt zu einem anderen zu gelangen. Die Auswirkungen von hoher Latenz auf die Netzwerkkommunikation können erheblich sein. Das folgende Beispiel veranschaulicht die Round-Trip-Zeit beim Herunterladen einer Datei über eine Verbindung mit hoher Latenz. Eine Round-Trip-Latenz von mehr als einer Sekunde ist nicht akzeptabel.

  • Starten Sie Wireshark.
  • Navigieren Sie zu „Statistiken“.
  • Wählen Sie „TCP Stream Graph“.
  • Wählen Sie „Zeitdiagramm für die Rundreise“, um die Downloadzeit einer Datei zu ermitteln.

Wireshark ermöglicht es, die RTT auf einem Pfad zu messen, um zu überprüfen, ob dies die Ursache für Leistungsprobleme des Transmission Control Protocol (TCP) im Kommunikationsnetzwerk ist. TCP wird in verschiedenen Anwendungen wie Online-Browsing, Datenübertragung, Dateitransferprotokoll und vielen anderen verwendet. In einigen Fällen kann das Betriebssystem optimiert werden, um effizienter auf Kanälen mit hoher Latenz zu arbeiten, insbesondere wenn es sich um Hosts mit älteren Betriebssystemen wie Windows XP handelt.

Anwendungsabhängigkeiten

Manche Anwendungen sind auf andere Anwendungen, Prozesse oder Hostkommunikationen angewiesen. Wenn beispielsweise Ihre Datenbankanwendung Daten von anderen Servern abrufen muss, kann eine schlechte Leistung dieser Server die Ladezeit der lokalen Anwendung beeinträchtigen.

Ein Beispiel ist das Surfen im Internet, bei dem der Zielserver auf verschiedene andere Websites verweist. Um die Hauptseite von www.espn.com zu laden, werden beispielsweise 16 Hosts benötigt, die Anzeigen und Inhalte bereitstellen.

Die obige Abbildung zeigt das Fenster „HTTP Load Distribution“ in Wireshark, das eine Liste aller von www.espn.com verwendeten Server enthält.

Paketverlust

Ein häufiges Problem in Netzwerken ist Paketverlust. Dieser tritt auf, wenn Datenpakete nicht korrekt vom Sender zum Empfänger über das Internet übermittelt werden. Wenn ein Nutzer eine Website aufruft und die Elemente der Seite geladen werden, führen verpasste Pakete zu erneuten Übertragungen, was die Wahrscheinlichkeit des Herunterladens der Webdateien erhöht und den gesamten Prozess verlangsamt.

Darüber hinaus wirkt sich Paketverlust besonders negativ aus, wenn eine Anwendung TCP verwendet. Wenn eine TCP-Verbindung ein verworfenes Paket erkennt, wird die Durchsatzrate automatisch reduziert, um die Netzwerkprobleme zu kompensieren.

Die Durchsatzrate erhöht sich allmählich wieder auf ein akzeptables Niveau, bis das nächste Paket verworfen wird, was zu einer deutlichen Verringerung des Datendurchsatzes führt. Große Dateidownloads, die normalerweise problemlos über ein Netzwerk übertragen werden sollten, sind besonders anfällig für Paketverlust.

Wie sieht das aus, wenn ein Paket verloren geht? Es gibt zwei Möglichkeiten, wie ein Paketverlust bei TCP-basierten Anwendungen auftreten kann. In einem Fall überwacht der Empfänger die Pakete anhand ihrer Sequenznummern und erkennt ein fehlendes Paket. Der Client fordert das fehlende Paket dreimal an (doppelte Bestätigungen), was zu einer erneuten Übertragung führt. Wenn ein Absender feststellt, dass ein Empfänger den Empfang eines Datenpakets nicht bestätigt hat, läuft die Übertragung ab und das Datenpaket wird erneut gesendet.

Wireshark zeigt an, wenn eine Netzwerküberlastung aufgetreten ist und mehrere Bestätigungen die erneute Übertragung des problematischen Datenverkehrs verursachen, indem es den Datenverkehr farblich kennzeichnet. Eine hohe Anzahl doppelter Bestätigungen deutet auf Paketverlust und erhebliche Verzögerungen im Netzwerk hin.

Um die Netzwerkgeschwindigkeit zu verbessern, ist es wichtig, den genauen Ort des Paketverlusts zu identifizieren. Wenn ein Paketverlust auftritt, können wir Wireshark verwenden, um die Verbindung zu untersuchen, bis kein Paketverlust mehr sichtbar ist. An dieser Stelle befinden wir uns „stromaufwärts“ vom Paketverlustpunkt und können unsere Bemühungen zur Fehlerbehebung gezielt darauf konzentrieren.

Abhörgeräte

Netzwerkgeräte wie Switches, Router und Firewalls treffen Weiterleitungsentscheidungen und können ebenfalls zu Verzögerungen führen. Bei einem Paketverlust sollten diese Geräte als potenzielle Ursache untersucht werden.

Diese Geräte können dem Pfad auch Latenz hinzufügen. Ist beispielsweise die Traffic-Priorisierung aktiviert, kann es zu einer zusätzlichen Latenz für einen Stream mit niedrigerer Priorität kommen.

Ineffiziente Fenstergrößen

Neben dem Microsoft-Betriebssystem gibt es im TCP/IP-Netzwerk weitere „Fenster“:

  • Schiebefenster
  • Empfängerfenster
  • Staufenster

Diese Fenster beeinflussen die TCP-basierte Kommunikationsleistung des Netzwerks. Sehen wir uns jedes dieser Fenster und dessen Auswirkungen auf die Netzwerkbandbreite genauer an.

Schiebefenster

Das Schiebefenster wird verwendet, um die nächsten TCP-Segmente über das Netzwerk zu senden, sobald Daten bestätigt wurden. Der Absender erhält Bestätigungen für die übertragenen Datenfragmente, wodurch sich das Schiebefenster erweitert. Solange keine Übertragungsverluste auftreten, kann eine größere Datenmenge übertragen werden. Bei Paketverlust verkleinert sich das Schiebefenster, da das Netzwerk nicht mit der erhöhten Datenmenge zurechtkommt.

Empfängerfenster

Das Empfängerfenster des TCP-Stacks ist ein Pufferbereich. Wenn Daten empfangen werden, werden sie in diesem Pufferbereich gespeichert, bis eine Anwendung sie abruft. Das Empfängerfenster füllt sich, wenn eine Anwendung die Empfangsrate nicht bewältigen kann, was schließlich zu einem „Null-Fenster“-Szenario führt. Bei einem Null-Fenster-Zustand muss die gesamte Datenübertragung zum Host angehalten werden und der Durchsatz fällt auf null. Eine Methode namens Window Scaling (RFC 1323) ermöglicht es einem Host, die Größe des Empfängerfensters zu erhöhen und die Wahrscheinlichkeit eines Null-Fenster-Szenarios zu verringern.

Das obige Bild zeigt eine Verzögerung von 32 Sekunden in der Netzwerkkommunikation aufgrund eines Null-Fenster-Szenarios.

Staufenster

Das Staufenster definiert die maximale Datenmenge, die das Netzwerk verarbeiten kann. Die Paketübertragungsrate des Senders, die Paketverlustrate des Netzwerks und die Fenstergröße des Empfängers tragen alle zu diesem Wert bei. Das Staufenster wächst kontinuierlich während einer fehlerfreien Netzwerkkommunikation, bis die Übertragung abgeschlossen ist oder eine „Obergrenze“ erreicht wird, die durch die Netzwerkintegrität, die Übertragungskapazität des Senders oder die Fenstergröße des Empfängers festgelegt wird. Jede neue Verbindung startet den Aushandlungsprozess für die Fenstergröße erneut.

Tipps für ein stabiles Netzwerk

  • Setzen Sie Wireshark frühzeitig ein, um die Ursachen für Leistungsprobleme schnell und effizient zu ermitteln.
  • Identifizieren Sie die Quelle der Latenz im Netzwerkpfad und reduzieren Sie sie, wenn möglich, auf ein akzeptables Maß.
  • Lokalisieren und beheben Sie die Ursache von Paketverlusten.
  • Überprüfen Sie die Größe des Datenübertragungsfensters und verkleinern Sie es, falls möglich.
  • Überprüfen Sie die Leistung der Abfanggeräte, um festzustellen, ob sie Latenz hinzufügen oder Pakete verwerfen.
  • Optimieren Sie Anwendungen, um größere Datenmengen zu liefern und möglichst Daten aus dem Empfängerfenster abzurufen.

Fazit 👨‍🏫

Wir haben die Hauptursachen für Netzwerkprobleme untersucht. Ein oft übersehener Faktor ist jedoch das mangelnde Verständnis für das Verhalten der Netzwerkkommunikation. Wireshark bietet Netzwerktransparenz, ähnlich wie Röntgenaufnahmen und CT-Scans im medizinischen Bereich Einblicke in den menschlichen Körper für präzise und schnelle Diagnosen liefern. Es ist zu einem unverzichtbaren Werkzeug für das Auffinden und Diagnostizieren von Netzwerkproblemen geworden.

Sie sollten nun in der Lage sein, die Netzwerkleistung mit Hilfe von Wireshark zu analysieren und aufzulösen. 👍