Warum dominieren einige Netzwerkverbindungen andere?

15

Ich habe meine Vermutungen, warum, aber ich möchte, dass jemand mit einem stärkeren Hintergrund im Networking das erklärt.

Warum belasten bestimmte Verbindungen beim Herunterladen von mehreren verschiedenen Standorten die Bandbreite und lassen andere Verbindungen fast im Leerlauf, bis die dominante Verbindung hergestellt ist?

Keltari
quelle

Antworten:

26

Im Allgemeinen gewinnt die schnellste Verbindung. Bevor das Windows 7-Netzwerk jedoch ein Chaos war, war die Leistung überall schrecklich. Versuchen Sie, mit XP mehr als 20 MB / s zu erreichen. Viel Glück damit.

http://research.microsoft.com/pubs/70189/tr-2005-86.pdf

Der Standardalgorithmus zur Vermeidung von TCP-Überlastungen verwendet ein Schema der additiven Zunahme und multiplikativen Abnahme (AIMD). Wenn kein Paketverlust erkannt wird (durch drei Duplikat-ACKs oder eine Zeitüberschreitung bei der erneuten Übertragung), wird das Überlastungsfenster (cwnd) für jede RTT um eine maximale Segmentgröße (Maximum Segment Size, MSS) erhöht. Wenn andernfalls ein Paketverlust festgestellt wird, verringert sich die Anzahl der TCP-Absender um die Hälfte. In einem Netzwerk mit hoher Geschwindigkeit und langer Verzögerung ist ein sehr großes Fenster erforderlich, z. B. Tausende von Paketen, um die Verbindungskapazität voll auszunutzen. Daher benötigt das Standard-TCP viele RTTs, um die Senderate bei einem einzelnen Verlustereignis wiederherzustellen. Darüber hinaus ist bekannt, dass das durchschnittliche TCP-Überlastungsfenster umgekehrt proportional zur Quadratwurzel der Paketverlustrate ist.

Eine schnellere Verbindung hat erfolgreichere Pakete und daher erhöht sich ihr cwnd / mss und sie erhält noch mehr von der gesamten Verbindung.

Cybernard
quelle
Das stimmte mit meinen Gedanken überein, wenn auch technischer.
Keltari
23
20 Millibits pro Sekunde sind ziemlich niedrig, auch für Windows XP. : P
CodesInChaos
@ Codesinchaos wo ist ein Pedant Abzeichen, wenn Sie eine brauchen ...
Ashley
1
@CodesInChaos Ich denke, es gibt keine wirkliche Mehrdeutigkeit, da man nicht ein bisschen spalten kann, aber Mb / s würde wahrscheinlich besser lesen ;-) Ein größeres Problem ist, wenn Leute "Megabit" mit "Megabyte" verwechseln ..
comfreak
-1

Ein aktives offenes TCP testet die Netzwerkbedingungen durch Messen der Antworten vom Server. Wenn die Puffer des Routers durch eine andere Verbindung ausgelastet sind und eine hohe Verzögerung verursachen, passt der Client das Sendefenster entsprechend an. Wenn eine klassische Überlastungskontrollmethode verwendet wird, erhöht der Client die Sendegeschwindigkeit kontinuierlich, bis ein Drop auftritt. Auf diese Weise kann sich ein Neuling einarbeiten, wenn das Gerät, das den Router sättigt, starke Stürze erleidet, während der Neuling dies nicht tut.

Es gibt jetzt experimentelle und intelligentere Methoden zur Überlastungskontrolle, bei denen die Verzögerung als Metrik verwendet wird, anstatt einfach Tropfen zur Messung der Netzwerkbedingungen zu verwenden. Diese neuen Methoden haben jedoch die schlechte Angewohnheit, von den hartnäckigeren klassischen Methoden gemobbt zu werden, die so viel Bandbreite wie möglich beanspruchen.

Auch bei UDP-Verbindungen dominiert die Masse jedes Netzwerk, da die Bits unachtsam gesprüht werden. Abhängig von der Anwendung werden die Puffer eines Routers ohne Rücksicht auf die Netzwerkbedingungen rücksichtslos ausgelastet.

Jeff Pliska
quelle