Netzwerklatenz ist die Verzögerung bei der Übertragung von Anfragen oder Daten von der Quelle zum Ziel in einem Netzwerk-Ökosystem. Sehen wir uns an, wie Sie die Netzwerklatenz beheben können.

Jede Aktion, die die Nutzung des Netzwerks erfordert, wie das Öffnen einer Webseite, das Klicken auf einen Link oder das Öffnen einer App und das Spielen eines Online-Spiels, wird als Aktivität bezeichnet. Die Aktivität eines Benutzers ist die Anfrage, und die Antwortzeit einer Webanwendung ist die Zeit, die sie zur Beantwortung dieser Anfrage benötigt.

Diese Zeitverzögerung beinhaltet auch die Zeit, die ein Server benötigt, um die Anfrage zu bearbeiten. Sie wird daher als Round Trip definiert – die Zeit, die eine Anfrage benötigt, um erfasst, verarbeitet und dann vom Benutzer empfangen und entschlüsselt zu werden.

Der Begriff “geringe Latenz” bezieht sich auf relativ kurze Verzögerungen bei der Datenübertragung. Andererseits sind lange Verzögerungen oder übermäßige Latenzzeiten unerwünscht, da sie das Benutzererlebnis beeinträchtigen.

Wie lässt sich die Netzwerklatenz beheben?

Im Internet gibt es viele Tools und Software zur Analyse und Fehlersuche in einem Netzwerk. Einige sind kostenpflichtig, andere sind kostenlos. Es gibt jedoch ein Tool namens Wireshark, eine Open-Source- und GPL-lizenzierte Anwendung, mit der Sie die Datenpakete in Echtzeit erfassen können. Wireshark ist der beliebteste und am häufigsten verwendete Netzwerkprotokoll-Analysator der Welt.

Es hilft Ihnen dabei, Netzwerkpakete zu erfassen und detailliert darzustellen. Sie können diese Pakete für die Echtzeit- oder Offline-Analyse verwenden, sobald es die Netzwerkpakete erfasst hat. Mit dieser Anwendung können Sie Ihren Netzwerkverkehr wie unter einem Mikroskop untersuchen, filtern und aufschlüsseln, um die Ursache von Problemen zu finden, und so die Netzwerkanalyse und letztlich die Netzwerksicherheit unterstützen.

Was sind die Ursachen für Netzwerkverzögerungen?

Einige der Hauptgründe für eine langsame Netzwerkverbindung sind:

  • Hohe Latenzzeit
  • Abhängigkeiten von Anwendungen
  • Verlust von Paketen
  • Abfangende Geräte
  • Ineffiziente Fenstergrößen

In diesem Artikel untersuchen wir die einzelnen Ursachen für Netzwerkverzögerungen und zeigen Ihnen, wie Sie die Probleme mit Wireshark beheben können.

Untersuchen mit Wireshark

Hohe Latenz

Hohe Latenz bezieht sich auf die Zeit, die Daten für die Übertragung von einem Endpunkt zu einem anderen benötigen. Die Auswirkungen einer hohen Latenz auf die Netzwerkkommunikation sind enorm. Im folgenden Diagramm sehen wir uns als Beispiel die Roundtrip-Zeit eines Dateidownloads auf einem Pfad mit hoher Latenzzeit an. Die Latenzzeit kann oft mehr als eine Sekunde betragen, was inakzeptabel ist.

wireshark4

  • Gehen Sie zu Wireshark Statistik.
  • Wählen Sie die Option TCP-Stream-Diagramm.
  • Wählen Sie das Diagramm Round Trip time, um herauszufinden, wie lange es dauert, bis eine Datei heruntergeladen ist.

Mit Wireshark können Sie die Round-Trip-Zeit auf einem Pfad berechnen, um festzustellen, ob dies die Ursache für eine mangelhafte Leistung des Kommunikationsnetzwerks Transmission Control Protocol (TCP) ist. TCP wird in verschiedenen Anwendungen eingesetzt, z.B. beim Online-Surfen, bei der Datenübertragung, beim Dateiübertragungsprotokoll und vielen anderen. In vielen Fällen kann das Betriebssystem so eingestellt werden, dass es auf Kanälen mit hoher Latenz effektiver arbeitet, vor allem, wenn die Hosts Windows XP verwenden.

Abhängigkeiten von Anwendungen

Einige Anwendungen sind von anderen Anwendungen, Prozessen oder der Hostkommunikation abhängig. Nehmen wir zum Beispiel an, dass Ihre Datenbankanwendung darauf angewiesen ist, sich mit anderen Servern zu verbinden, um Datenbankelemente abzurufen. In diesem Fall kann eine langsame Leistung auf diesen anderen Servern die Ladezeit der lokalen Anwendung beeinträchtigen.

Nehmen Sie z.B. ein Web-Browsing-Erlebnis, bei dem der Zielserver auf mehrere andere Websites verweist. Um beispielsweise die Hauptseite der Website www.espn.com zu laden, müssen Sie zunächst 16 Hosts besuchen, die Anzeigen und Inhalte für die Hauptseite www.espn.com bereitstellen.

wireshark-3

In der obigen Abbildung zeigt das Fenster HTTP-Lastverteilung in Wireshark eine Liste aller Server an, die von der Homepage www.espn.com verwendet werden.

Paketverlust

Eines der häufigsten Probleme, die ich in Netzwerken feststelle, ist der Verlust von Datenpaketen. Paketverluste treten auf, wenn Datenpakete über das Internet nicht korrekt vom Absender zum Empfänger übertragen werden. Wenn ein Benutzer eine Website besucht und mit dem Herunterladen der Elemente der Website beginnt, führen verpasste Pakete zu erneuten Übertragungen, was die Zeit für das Herunterladen der Webdateien erhöht und den gesamten Downloadprozess verlangsamt.

Wenn eine Anwendung TCP verwendet, wirken sich fehlende Pakete außerdem besonders negativ aus. Wenn eine TCP-Verbindung ein verlorenes Paket feststellt, verlangsamt sich die Durchsatzrate automatisch, um die Netzwerkprobleme auszugleichen.

Sie verbessert sich allmählich auf ein akzeptables Tempo, bis das nächste Paket verworfen wird, was zu einer erheblichen Verringerung des Datendurchsatzes führt. Das Herunterladen großer Dateien, die sonst problemlos über ein Netzwerk laufen sollten, leidet erheblich unter Paketverlusten.

Wie sieht es aus, wenn ein Paket verloren geht? Das ist umstritten. Paketverluste können zwei Formen annehmen, wenn das Programm über TCP arbeitet. In einem Beispiel überwacht der Empfänger die Pakete anhand ihrer Sequenznummern und stellt fest, dass ein Paket fehlt. Der Client stellt drei Anfragen für das fehlende Paket (doppelte Bestätigungen), was zu einem erneuten Versand führt. Wenn ein Sender feststellt, dass ein Empfänger den Empfang eines Datenpakets nicht bestätigt hat, nimmt der Sender eine Auszeit und sendet das Datenpaket erneut.

wireshark

Wireshark zeigt an, dass ein Netzwerkstau aufgetreten ist und dass mehrere Bestätigungen die erneute Übertragung des problematischen Datenverkehrs verursachen, indem sie diesen farblich kodieren. Eine hohe Anzahl von doppelten Bestätigungen deutet auf Paketverluste und erhebliche Verzögerungen in einem Netzwerk hin.

Um die Geschwindigkeit des Netzwerks zu verbessern, ist es wichtig, den genauen Ort des Paketverlusts zu bestimmen. Wenn ein Paketverlust auftritt, bewegen wir das Wireshark-Gerät den Pfad hinunter, bis kein Paketverlust mehr sichtbar ist. Zu diesem Zeitpunkt befinden wir uns “stromaufwärts” vom Punkt des Paketverlustes, so dass wir wissen, worauf wir uns bei der Fehlersuche konzentrieren müssen.

Abgefangene Geräte

Netzwerkverkehrspolizisten sind Verbindungsgeräte, die Weiterleitungsentscheidungen treffen, wie z.B. Switches, Router und Firewalls. Wenn ein Paketverlust auftritt, sollten diese Geräte als wahrscheinliche Ursache untersucht werden.

Durch diese Verbindungsgeräte kann dem Pfad eine Latenz hinzugefügt werden. Wenn beispielsweise die Priorisierung des Datenverkehrs aktiviert ist, können wir beobachten, dass einem Stream mit einer niedrigen Prioritätsstufe zusätzliche Latenzzeiten hinzugefügt werden.

Ineffiziente Fenstergrößen

Neben dem Microsoft-Betriebssystem gibt es noch andere “Fenster” im TCP/IP-Netzwerk.

  • Gleitendes Fenster
  • Receiver-Fenster
  • Congestion Control-Fenster

Diese Fenster machen zusammen die TCP-basierte Kommunikationsleistung des Netzwerks aus. Beginnen wir mit der Definition jedes dieser Fenster und ihrer Auswirkungen auf die Netzwerkbandbreite.

Gleitendes Fenster

Wenn Daten bestätigt werden, wird das Sliding Window verwendet, um die nächsten TCP-Segmente über das Netzwerk zu senden. Wenn der Absender Bestätigungen für übertragene Datenfragmente erhält, vergrößert sich das Sliding Window. Solange keine Übertragungsverluste im Netzwerk auftreten, können größere Datenmengen übertragen werden. Wenn ein Paket verloren geht, schrumpft das Sliding Window, weil das Netzwerk die erhöhte Datenmenge auf der Leitung nicht bewältigen kann.

Fenster des Empfängers

Das Empfangsfenster des TCP-Stacks ist ein Pufferbereich. Wenn Daten empfangen werden, werden sie in diesem Pufferbereich gespeichert, bis eine Anwendung sie abholt. Das Empfängerfenster füllt sich, wenn eine Anwendung nicht mit der Empfangsrate Schritt hält, was schließlich zu einem “Null-Fenster”-Szenario führt.

Alle Datenübertragungen an den Host müssen zum Stillstand kommen, wenn ein Empfänger einen Null-Fenster-Zustand meldet. Die Durchsatzrate sinkt auf Null. Eine Methode, die als Window Scaling (RFC 1323) bekannt ist, ermöglicht es einem Host, die Größe des Empfängerfensters zu erhöhen und die Wahrscheinlichkeit eines Zero-Window-Szenarios zu verringern.

Fenster des Empfängers

Die obige Abbildung zeigt eine Verzögerung der Netzwerkkommunikation von 32 Sekunden aufgrund eines Null-Fenster-Szenarios.

Überlastungsfenster

Das Überlastungsfenster 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 dieser Zahl bei. Das Überlastungsfenster nimmt während einer gesunden Netzwerkkommunikation stetig zu, bis die Übertragung abgeschlossen ist oder es eine durch den Zustand des Netzwerks festgelegte “Obergrenze” erreicht. Die Sendekapazitäten des Senders oder die Fenstergröße des Empfängers. Bei jeder neuen Verbindung beginnt das Verfahren zur Aushandlung der Fenstergröße von neuem.

Tipps für ein gesundes Netzwerk

  • Lernen Sie, wie Sie Wireshark als Erstes einsetzen, um schnell und effizient die Ursache für eine schlechte Leistung zu finden.
  • Identifizieren Sie die Quelle der Netzwerkpfad-Latenz und reduzieren Sie diese, wenn möglich, auf ein akzeptables Niveau.
  • Lokalisieren und beheben Sie die Quelle von Paketverlusten.
  • Untersuchen Sie die Größe des Datenübertragungsfensters und verringern Sie sie, falls möglich.
  • Untersuchen Sie die Leistung von Abhörgeräten, um festzustellen, ob sie die Latenzzeit erhöhen oder Pakete verwerfen.
  • Optimieren Sie die Anwendungen so, dass sie größere Datenmengen liefern können und, wenn möglich, Daten aus dem Empfangsfenster abrufen können.

Zusammenfassen 👨‍🏫

Wir haben die Hauptgründe für Leistungsprobleme im Netzwerk besprochen, aber ein Faktor, der nicht übersehen werden sollte, ist das mangelnde Verständnis des Kommunikationsverhaltens im Netzwerk. Wireshark bietet einen Einblick in das Netzwerk, so wie Röntgenstrahlen und CAT-Scans Einblicke in den menschlichen Körper bieten, um genaue und schnelle Diagnosen zu stellen. Dieses Tool ist zu einem unverzichtbaren Hilfsmittel für die Lokalisierung und Diagnose von Netzwerkproblemen geworden.

Sie sollten nun die Netzwerkleistung über verschiedene Filter und Tools mit Wireshark untersuchen und beheben. 👍