Was könnte bei gesättigter Bandbreite eine hohe Latenz verursachen?

Was könnte bei gesättigter Bandbreite eine hohe Latenz verursachen?

Ich habe seit einiger Zeit Netzwerkprobleme und versuche, die Ursache des Problems zu ermitteln.

Gestern habe ich mit SCP über meine WLAN-Verbindung eine Datei von meinem Laptop auf meinen Desktop übertragen. Als der Download begann, hatten beide Computer einen niedrigen Ping zum lokalen Router (192.168.1.1, beide lagen bei etwa 10–50 ms) und der Download lief mit 2–3 MB/s.

Nach ungefähr einer Minute stellte ich fest, dass die Latenz meines Desktops zu 192.168.1.1 dramatisch anstieg (> 1.000 ms) und die Übertragung nur noch schleppend voran ging (~200 KB/s). Die Latenz des Laptops zu 192.168.1.1 blieb jedoch gleich (10-50 ms). Nachdem die Übertragung abgeschlossen war, sank die Latenz des Desktops wieder auf den normalen Bereich.

Offensichtlich läuft etwas schief, wenn die Verbindung überlastet ist. Was könnte das sein? Deutet dies auf ein Problem mit dem Router oder ein Problem mit meinem Desktop hin? Wo sollte ich mit der Suche beginnen?

Antwort1

Suchen Sie bei Google nach „Buffer Bloat“.

Als RAM billig wurde, wurden Netzwerkgeräte mit Frame-Puffer ausgestattet, sodass nie wieder ein Frame verloren geht.

Leider war Frame Drops der Grund, warum TCP die Überlastung bemerkte und wusste, wann es einen Rückzieher machen musste. Ohne Frame Drops bemerken herkömmliche TCP-Implementierungen die Überlastung nie und machen nie einen Rückzieher, also senden sie einfach weiter mit hoher Geschwindigkeit und machen es schlimmer.

Wenn Ihre gesamte Netzwerkausrüstung bei Überlastung einfach immer mehr Frames puffert und die Warteschlangenlänge grenzenlos anwachsen lässt, steigt die Latenz immer weiter an, da das Leeren der Warteschlangen immer länger dauert.

Techniken zur aktiven Warteschlangenverwaltung (AQM) und Mechanismen wie explizite Überlastungsbenachrichtigung (ECN) können dies lindern, aber da das Problem nicht sehr bekannt ist, ist es schwer zu wissen, welche Produkte Pufferaufblähungen vermeiden und welche nicht. Es ist nicht so, dass Sie nach einem „No Buffer Bloat!“-Logo auf der Seite einer Verpackung suchen und wissen, dass Sie gute Geräte erhalten.

Es gibt jedoch Aftermarket-Firmware-Distributionen für WLAN-Router, die darauf spezialisiert sind, Buffer Bloat zu vermeiden. Mindestens eine Distribution wurde speziell von den TCP-Forschern entwickelt, die das Problem als erste erkannten, und diente ihnen als Forschungs- und Entwicklungsplattform bei der Suche nach Lösungen.

Antwort2

Eine hohe Latenz entsteht, wenn Pakete in eine Warteschlange gelangen, um über eine stark ausgelastete Verbindung übertragen zu werden. Alle Pakete, die in der Warteschlange davor stehen, müssen zuerst durchgeschickt werden. Wenn die Auslastung einer Verbindung groß ist und die Warteschlangenpuffer groß sind, führt dies zu langen Roundtrip-Zeiten.

verwandte Informationen