Die Netzwerklatenz ist die Verzögerung bei der Übertragung von Anforderungen 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 benötigt wird, um diese Anfrage zu beantworten.
Diese Zeitverzögerung umfasst auch die Zeit, die ein Server benötigt, um die Anfrage abzuschließen. Infolgedessen wird es als definiert Rundfahrt – die Zeit, die eine Anfrage benötigt, um aufgezeichnet, verarbeitet und dann vom Benutzer empfangen zu werden, wo sie entschlüsselt wird.
Der Begriff „geringe Latenz“ bezieht sich auf relativ kurze Verzögerungen bei der Datenübertragung. Andererseits sind lange Verzögerungen oder übermäßige Latenz unerwünscht, da sie die Benutzererfahrung verschlechtern.
Inhaltsverzeichnis
Wie behebt man die Netzwerklatenz?
Im Internet sind viele Tools und Software zur Analyse und Fehlerbehebung eines Netzwerks verfügbar. Einige werden bezahlt, andere sind kostenlos. Es gibt jedoch ein Tool namens Wireshark, eine Open-Source- und GPL-lizenzierte Anwendung, mit der die Datenpakete in Echtzeit erfasst werden. Wireshark ist der beliebteste und am häufigsten verwendete Netzwerkprotokollanalysator der Welt.
Es hilft Ihnen dabei, Netzwerkpakete zu erfassen und detailliert anzuzeigen. Sie können diese Pakete für Echtzeit- oder Offline-Analysen verwenden, sobald sie die Netzwerkpakete erfasst haben. Diese Anwendung ermöglicht es Ihnen, Ihren Netzwerkverkehr unter die Lupe zu nehmen, ihn zu filtern und aufzuschlüsseln, um die Ursache von Problemen zu finden, und unterstützt Sie bei der Netzwerkanalyse und letztendlich bei der Netzwerksicherheit.
Was verursacht Netzwerkverzögerung?
Einige Hauptgründe für die langsame Netzwerkverbindung, darunter:
- Hohe Latenz
- Anwendungsabhängigkeiten
- Paketverlust
- Abhörgeräte
- Ineffiziente Fenstergrößen
Und in diesem Artikel untersuchen wir jede Ursache für Netzwerkverzögerungen und wie man die Probleme mit Wireshark löst.
Untersuchen mit Wireshark
Hohe Latenz
Hohe Latenz bezieht sich auf die Zeit, die Daten benötigen, um von einem Endpunkt zum anderen zu übertragen. Die Auswirkungen einer hohen Latenz auf die Netzwerkkommunikation sind enorm. Im folgenden Diagramm betrachten wir beispielhaft die Roundtrip-Zeit eines Dateidownloads auf einem Pfad mit hoher Latenz. Die Roundtrip-Latenzzeit kann oft eine Sekunde überschreiten, was nicht akzeptabel ist.
- Gehen Sie zu Wireshark-Statistiken.
- Wählen Sie die Option TCP-Stream-Diagramm.
- Wählen Sie das Zeitdiagramm für die Rundreise, um herauszufinden, wie lange es dauert, bis eine Datei heruntergeladen wird.
Wireshark wird verwendet, um die Umlaufzeit auf einem Pfad zu berechnen, um festzustellen, ob dies die Ursache für eine fehlerhafte Leistung des Übertragungssteuerungsprotokolls (TCP) des Kommunikationsnetzwerks ist. TCP wird in verschiedenen Anwendungen verwendet, einschließlich Online-Surfen, Datenübertragung, Dateiübertragungsprotokoll und vielen anderen. In vielen Fällen kann das Betriebssystem optimiert werden, um auf Kanälen mit hoher Latenz effektiver zu arbeiten, insbesondere wenn Hosts Windows XP verwenden.
Anwendungsabhängigkeiten
Einige Anwendungen sind von anderen Anwendungen, Prozessen oder Hostkommunikationen abhängig. Angenommen, Ihre Datenbankanwendung ist beispielsweise darauf angewiesen, sich mit anderen Servern zu verbinden, um Datenbankelemente abzurufen. In diesem Fall kann eine träge Leistung auf diesen anderen Servern die Ladezeit der lokalen Anwendung beeinträchtigen.
Nehmen Sie zum Beispiel ein Webbrowsing-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.
In der obigen Abbildung zeigt das Fenster HTTP Load Distribution 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 finde, ist Paketverlust. Paketverlust tritt auf, wenn Datenpakete nicht korrekt vom Sender zum Empfänger über das Internet zugestellt 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 Wahrscheinlichkeit erhöht, die Webdateien herunterzuladen, und den gesamten Download-Prozess verlangsamt.
Wenn eine Anwendung TCP verwendet, wirken sich außerdem fehlende Pakete besonders negativ aus. Wenn eine TCP-Verbindung ein verworfenes Paket erkennt, wird die Durchsatzrate automatisch verlangsamt, um Netzwerkprobleme auszugleichen.
Es verbessert sich allmählich auf ein akzeptableres Tempo, bis das nächste Paket verworfen wird, was zu einer erheblichen Verringerung des Datendurchsatzes führt. Große Dateidownloads, die ansonsten problemlos über ein Netzwerk fließen sollten, leiden erheblich unter Paketverlust.
Wie sieht es aus, wenn ein Paket verloren geht? Es ist umstritten. Paketverlust kann zwei Formen annehmen, wenn das Programm über TCP arbeitet. In einem Beispiel überwacht der Empfänger Pakete basierend auf ihren Sequenznummern und erkennt ein fehlendes Paket. Der Client fordert das fehlende Paket dreimal an (doppelte Bestätigungen), was zu einem erneuten Senden führt. Wenn ein Absender feststellt, dass ein Empfänger den Empfang eines Datenpakets nicht bestätigt hat, läuft der Absender ab und überträgt das Datenpaket erneut.
Wireshark zeigt an, dass eine Netzwerküberlastung aufgetreten ist, und mehrere Bestätigungen verursachen die erneute Übertragung des problematischen Datenverkehrs, indem sie ihn farblich kennzeichnen. Eine hohe Anzahl doppelter Bestätigungen weist auf Paketverluste und erhebliche Verzögerungen in einem Netzwerk hin.
Um die Netzwerkgeschwindigkeit zu verbessern, ist es entscheidend, den genauen Ort des Paketverlusts zu lokalisieren. Wenn ein Paketverlust auftritt, verschieben wir den Wireshark den Pfad entlang, bis kein Paketverlust mehr sichtbar ist. Wir befinden uns zu diesem Zeitpunkt „stromaufwärts“ vom Paket-Drop-Point, sodass wir wissen, worauf wir unsere Debugging-Bemühungen konzentrieren müssen.
Abhörgeräte
Netzwerkverkehrspolizisten sind miteinander verbundene Geräte, die Weiterleitungsentscheidungen treffen, wie z. B. Switches, Router und Firewalls. Wenn ein Paketverlust auftritt, sollten diese Geräte als wahrscheinlicher Grund untersucht werden.
Durch diese Verknüpfungsgeräte kann dem Pfad Latenz hinzugefügt werden. Wenn beispielsweise die Traffic-Priorisierung aktiviert ist, können wir Zeuge einer zusätzlichen Latenz werden, die in einen Stream mit niedriger Prioritätsstufe injiziert wird.
Ineffiziente Fenstergrößen
Neben dem Microsoft-Betriebssystem gibt es noch andere „Fenster“ im TCP/IP-Netzwerk.
- Schiebefenster
- Empfängerfenster
- Fenster Staukontrolle
Diese Fenster bilden zusammen die TCP-basierte Kommunikationsleistung des Netzwerks. Beginnen wir damit, jedes dieser Fenster und ihre Auswirkungen auf die Netzwerkbandbreite zu definieren.
Schiebefenster
Wenn Daten bestätigt werden, wird das gleitende Fenster verwendet, um die nächsten TCP-Segmente über das Netzwerk zu senden. Der Absender erhält Bestätigungen für übertragene Datenfragmente, das Schiebefenster erweitert sich. Solange es keine verlorenen Übertragungen im Netzwerk gibt, können größere Datenmengen übertragen werden. Wenn ein Paket verloren geht, schrumpft das gleitende Fenster, da das Netzwerk die erhöhte Datenmenge auf der Leitung nicht bewältigen kann.
Empfängerfenster
Das Empfängerfenster des TCP-Stapels ist ein Pufferspeicherplatz. 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 halten kann, was schließlich zu einem „Null-Fenster“-Szenario führt. Die gesamte Datenübertragung zum Host muss angehalten werden, wenn ein Empfänger einen Null-Fenster-Zustand ankündigt. Die Durchsatzrate fällt auf null. Eine als Window Scaling (RFC 1323) bekannte Methode ermöglicht es einem Host, die Größe des Empfängerfensters zu erhöhen und die Wahrscheinlichkeit eines Zero-Window-Szenarios zu verringern.
Das obige Bild zeigt eine Verzögerung von 32 Sekunden bei der Netzwerkkommunikation aufgrund eines Zero-Window-Szenarios.
Staufenster
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 fehlerfreien Netzwerkkommunikation stetig zu, bis die Übertragung abgeschlossen ist oder eine durch die Netzwerkintegrität festgelegte „Obergrenze“ erreicht wird. Die Übertragungsfähigkeiten des Senders oder die Fenstergröße des Empfängers. Jede neue Verbindung startet die Verhandlungsprozedur für die Fenstergröße erneut.
Tipps für ein gesundes Netzwerk
- Erfahren Sie, wie Sie Wireshark als First-Response-Task einsetzen, um schnell und effizient die Ursache schlechter Leistung zu entdecken.
- Identifizieren Sie die Quelle der Netzwerkpfadlatenz und reduzieren Sie sie, wenn möglich, auf ein akzeptables Niveau.
- Lokalisieren und beheben Sie die Quelle des Paketverlusts.
- Überprüfen Sie die Größe des Datenübertragungsfensters und reduzieren Sie es, wenn möglich.
- Untersuchen Sie die Leistung von Abfanggeräten, um festzustellen, ob sie Latenz hinzufügen oder Pakete verwerfen.
- Optimieren Sie Apps so, dass sie größere Datenmengen liefern können und holen Sie sich möglichst Daten aus dem Empfängerfenster.
Abschluss 👨🏫
Wir sind die Hauptgründe für Netzwerkleistungsprobleme durchgegangen, aber ein Faktor, der nicht übersehen werden sollte, ist ein mangelndes Verständnis des Netzwerkkommunikationsverhaltens. Wireshark bietet Netzwerktransparenz genau wie Röntgenstrahlen, und CAT-Scans bieten Einblick in den menschlichen Körper für genaue und schnelle Diagnosen. Dieses Tool ist zu einem unverzichtbaren Tool zum Auffinden und Diagnostizieren von Netzwerkproblemen geworden.
Sie sollten nun die Netzwerkleistung über mehrere Filter und Tools mit Wireshark untersuchen und auflösen. 👍