TCP-Fensterskalierung und Durchsatz-PCAP-Analyse: Debuggen von Empfangsfenstern, Nullfenstern, Fenster voll und langsamer Übertragung

So analysieren Sie die TCP-Fensterskalierung, empfangene Fenstergrenzen, Nullfenster, Fenster-volle-Ereignisse, langsamen Durchsatz, Bandbreitenverzögerungsprodukt und Paketerfassungsnachweise.

TCP-Fensterskalierung, TCP-Empfangsfenster, Nullfenster, Fenster voll, langsamer Durchsatz, PCAP-Analyse, Bandbreitenverzögerungsprodukt

Langsamer TCP-Durchsatz bedeutet nicht immer Paketverlust. Es kann sich um Empfangsfensterdruck, fehlende Fensterskalierung, kleine Socket-Puffer, Anwendungsleseverzögerung, Proxy-Pufferung, VPN-Einschränkungen oder Produktinkongruenz bei Bandbreitenverzögerung handeln. Benutzer suchen nach „TCP-Fensterskalierung PCAP“, „TCP-Nullfenster“, „TCP-Fenster voll“, „Slow-Download-Paketerfassung“, „Empfangsfenster-Begrenzungsdurchsatz“ und „Bandbreitenverzögerungsprodukt-TCP-Analyse“, wenn Geschwindigkeitstests schlecht sind, aber erneute Übertragungen die Verlangsamung nicht erklären.

PCAP Surgery ist nützlich, da Durchsatzprobleme die Beibehaltung der genauen Handshake-Optionen, angekündigten Fenster, ACK-Timing, Nutzlast-Bursts, Pausen und Fensteraktualisierungen erfordern.

Was die TCP-Fensterskalierung bewirkt

Die Größe des TCP-Fensterfelds ist begrenzt. Die Fensterskalierung ermöglicht größere Empfangsfenster, indem beim SYN-Austausch ein Skalierungsfaktor ausgehandelt wird. Wenn die Fensterskalierung fehlt, deaktiviert ist, von einem Gerät entfernt oder falsch interpretiert wird, kann der Durchsatz bei Verbindungen mit hoher Latenz begrenzt sein.

Dies ist am wichtigsten, wenn die Latenz erheblich ist:

  • WAN-Übertragungen.
  • VPN-Links.
  • Satelliten- oder Mobilfunknetze.
  • Regionsübergreifender Cloud-Verkehr.
  • Backup-Replikation über große Entfernungen.
  • Remote-Dateikopie.
  • Große HTTP-Downloads.

In einem lokalen LAN sieht ein kleines Empfangsfenster möglicherweise immer noch schnell aus. Auf einem Pfad mit hoher Latenz kann es zum Engpass werden.

Bandbreitenverzögerungsprodukt

Das Bandbreitenverzögerungsprodukt beschreibt, wie viele Daten übertragen werden müssen, um den Pfad zu füllen. Eine Verbindung mit hoher Bandbreite und hoher Umlaufzeit benötigt ein größeres Fenster.

Wenn das Empfangsfenster zu klein ist, muss der Absender anhalten und auf ACKs warten, anstatt die Pipe voll zu halten.

Beweise für die Paketerfassung:

  • Der Absender sendet bis zum angekündigten Fensterlimit.
  • Empfänger bestätigt langsam oder kündigt kleines Fenster an.
  • Der Durchsatz bildet Schübe und Pausen.
  • Die Neuübertragungen sind gering, aber die Geschwindigkeit ist immer noch schlecht.
  • Fensteraktualisierungspakete werden angezeigt, nachdem die Anwendung Daten gelesen hat.

Hierbei handelt es sich um einen Engpass auf der Empfangsseite oder bei der Flusssteuerung, nicht um einen klassischen Verlust.

Nullfenster

TCP Zero Window bedeutet, dass der Empfänger keinen verfügbaren Empfangspuffer gemeldet hat. Der Absender kann die Anwendungsdaten nicht weiter senden, bis ein Fenster-Update eintrifft.

Häufige Ursachen:

  • Die empfangende Bewerbung liest nicht schnell genug.
  • Server ist überlastet.
  • Der Client ist auf der Festplatte angehalten oder blockiert.
  • Proxy-Puffer sind voll.
  • Der TLS-Stapel steht unter Gegendruck.
  • Datenbank-Client oder Dateiempfänger ist langsam.
  • Die Paketerfassung erfolgt in der Nähe des Empfängers und zeigt den lokalen Druck an.

Zero Window ist nicht automatisch ein Netzwerkfehler. Dies weist häufig auf eine Überlastung der Anwendungs- oder Hostressourcen hin.

Fenster voll

„Fenster voll“ bedeutet normalerweise, dass der Absender das angekündigte Fenster des Empfängers gefüllt hat. Dies kann vor dem Nullfenster passieren. Der Absender ist bereit, mehr zu senden, aber die Flusskontrolle verhindert dies.

Suchen:

  • Lange Datenmengen bis zum Fensterrand.
  • Kein Paketverlust rund um den Stand.
  • ACKs, die das Fenster nicht ausreichend vorrücken.
  • Der Absender hält während des Wartens inne.
  • Fensteraktualisierungen, gefolgt von einem weiteren Burst.

Dieses Muster ist besonders wichtig für Supportfälle mit „langsamem Upload“ und „langsamem Download“.

Fehlende Skalierungsoption

Die Fensterskalierung muss während des Handshakes ausgehandelt werden. Wenn eine Seite die Fensterskalierungsoption nicht in SYN oder SYN-ACK einschließt, kann die Verbindung später keine Skalierung verwenden.

Beweis:

  • SYN-Optionen.
  • SYN-ACK-Optionen.
  • Fensterskalierungswert.
  • Erstes Empfangsfenster.
  • Effektiv skaliertes Fenster.
  • Middlebox-Verhalten, das Optionen entfernt.

Wenn die Erfassung nach dem Handshake beginnt, ist der Skalierungsfaktor möglicherweise unbekannt. Aus diesem Grund sollten Support-Traces den vollständigen TCP-Handshake umfassen.

Erfassen Sie Standortangelegenheiten

Die Fensteranalyse hängt davon ab, wo die Aufnahme gemacht wurde. Eine Aufnahme in der Nähe des Senders zeigt möglicherweise einen anderen Zeitpunkt an als eine Aufnahme in der Nähe des Empfängers. Auch NAT, VPN, Proxys und Load Balancer können Verbindungen aufteilen.

Fragen:

  • Wurde die PCAP auf dem Client, Server, der Firewall oder dem Proxy erfasst?
  • Handelt es sich hierbei um eine End-to-End-TCP-Verbindung oder um zwei Proxy-seitige Verbindungen?
  • Werden Sequenznummern übersetzt?
  • Werden ACKs vom Empfänger oder vom Netzwerk verzögert?
  • Kündigt der Proxy ein anderes Fenster an als der endgültige Endpunkt?

PCAP Surgery hilft dabei, Gespräche zu kürzen und zu vergleichen, ohne auf Handshake-Optionen zu verzichten.

Vermeiden Sie falsche Schlussfolgerungen zu Paketverlusten

Durchsatz-Dashboards geben oft die Schuld an Paketverlusten. Wenn Neuübertragungen jedoch selten sind und der Absender wiederholt am Empfangsfenster innehält, ist die Flusskontrolle der eigentliche Engpass.

Anzeichen dafür, dass der Verlust nicht die Hauptursache ist:

  • Wenige Neuübertragungen.
  • Kein doppelter ACK-Sturm.
  • Regelmäßige Fensteraktualisierungszyklen.
  • Der Absender hält genau im angekündigten Fenster an.
  • Die Antwort auf der Anwendungsebene verbraucht Daten nur langsam.

Der Artikel sollte auf Suchanfragen wie „langsames TCP, kein Paketverlust“ abzielen, da diese Benutzer einen anderen Diagnosepfad benötigen.

Debug-Checkliste

Verwenden Sie diesen Workflow:

  1. Behalten Sie die SYN- und SYN-ACK-Pakete.
  2. Fensterskalierungsoptionen aufzeichnen.
  3. Berechnen Sie das effektive Empfangsfenster.
  4. Identifizieren Sie Zero-Window- und Window-Update-Pakete.
  5. Identifizieren Sie fenstervolle Zeiträume.
  6. RTT messen.
  7. Vergleichen Sie In-Flight-Bytes mit dem Bandbreitenverzögerungsprodukt.
  8. Überprüfen Sie die Neuübertragungsrate separat.
  9. Aufnahmeort notieren.
  10. Behalten Sie die langsame Pause und den Händedruck bei.

Endgültige Diagnose

TCP-Fensterskalierungs- und Empfangsfensterprobleme führen zu langsamen Übertragungen ohne offensichtlichen Paketverlust. Der Beweis liegt in Handshake-Optionen, angekündigten Empfangsfenstern, Null-Fenster-Ereignissen, Fensteraktualisierungen, RTT und Absender-Pause-Verhalten.

PCAP Surgery hilft dabei, die Pakete aufzubewahren, die beweisen, ob der Engpass ein Netzwerkverlust, Empfangspufferdruck, fehlende Fensterskalierung, Proxy-Verhalten oder eine Anwendung ist, die nicht schnell genug liest.