Switchport im Halbduplex - Download-Geschwindigkeit leidet, aber Upload war in Ordnung

13

Ein Benutzer hatte Probleme mit der Downloadgeschwindigkeit aus dem Internet. Die Verbindung zum Internet beträgt 100 Mbit / s. Der Benutzer erhielt ungefähr 7 Mbit / s Downstream und ungefähr 80 Mbit / s Upstream.

Ich habe es von meinem Computer aus getestet und es hat ungefähr 70 Mbit / s Downstream und 80 Mbit / s Upstream. Offensichtlich war der PC des Benutzers schuld.

Ich überprüfte den Schalter, der ein Catalyst 3560 ist, und dort war es, wie ich erwartet hatte, der Port im Halbduplex. Der Benutzer hatte seinen PC fest auf 100 / full codiert und der Port benutzte auto. Die Geschwindigkeit wird von den Fast Link-Impulsen (FLP) erkannt, es muss jedoch davon ausgegangen werden, dass der Duplex zur Hälfte verwendet wird, sodass der Port zur Hälfte 100 verwendet. Mit dem Show-Controller konnte ich erwartungsgemäß Kollisionen und späte Kollisionen sehen.

Die Bandbreite wurde über die schwedische Website www.bredbandskollen.se getestet. Zunächst wird TCP zum Testen der Latenz verwendet. Dann öffnet es einen Socket über Flash und führt mehrere HTTP-GET-Vorgänge (TCP) durch und misst die Downstream-Bandbreite für etwa 10 Sekunden. Danach werden vier HTTP-Posts an den Server gesendet, 10 Sekunden lang Datenverkehr gesendet und die Upstream-Bandbreite berechnet.

Ich weiß, dass diese Art von Websites nicht 100% genau sind, aber normalerweise können sie zumindest Anhaltspunkte geben, wenn Sie kurz davor sind, die Bandbreite zu erhalten, die Sie benötigen, und es war ein einfacher Test, um sicherzustellen, dass dies der Fall ist Benutzer und nicht das Netzwerk schuld hier.

  1. Warum war nur Downstream betroffen und nicht Upstream?

  2. Sind das echte Kollisionen? Da Kabel getrennte Sende- und Empfangspaare hat.

Daniel Dib
quelle
Basieren 70/80 auf einem einzelnen Test oder dem Durchschnitt mehrerer Tests? Angesichts der unterschiedlichen Fenstergröße wäre ein einzelner Test zu vage.
user2964971

Antworten:

14

Dies ist ein ganz normales Verhalten bei einer Duplexfehlanpassung.

Warum war nur Downstream betroffen und nicht Upstream?

Da der Computer im Vollduplexmodus arbeitet, wird keine CSMA-CD verwendet. Dies bedeutet, dass es nicht überprüft, ob das Medium vor dem Senden inaktiv ist, und dass es auch keine Daten wahrnimmt, die es während des Sendens als Kollision empfängt. Somit bleibt der Upload vom Computer weitgehend unberührt.

Umgekehrt verwendet der Switch CSMA-CD und wartet, bis sich das Medium im Leerlauf befindet, bevor es sendet. Wenn der Switch eine Kollision erkennt, stoppt er außerdem sofort die Übertragung des Frames und folgt der CSMA-CD-Kollisionserkennungsprozedur. Dies hat erhebliche Auswirkungen auf die Leistung des an den Computer gesendeten Datenverkehrs.

Wenn der Datenverkehr TCP ist, wird der negative Effekt vervielfacht, da alle verlorenen TCP-ACKs, die an den Computer gesendet werden, eine erneute TCP-Übertragung verursachen.

Sind das echte Kollisionen? Da Kabel getrennte Sende- und Empfangspaare hat.

Ja, es sind echte Kollisionen. Selbst in einer Halbduplex-Umgebung (dh Hubs) gibt es getrennte Sende- und Empfangspaare. Der Grund dafür ist, dass in einer Halbduplex-Umgebung die Hubs das an einem Port empfangene Signal an allen anderen Ports wiederholen. Wenn zwei Sender versuchen, gleichzeitig zu senden, kann das sich wiederholende Signal nicht verwendet werden.

Da der Switch im Halbduplexmodus arbeitet, funktioniert er wie in einer solchen Umgebung und kann nur zu einem bestimmten Zeitpunkt senden oder empfangen. Jedes Mal, wenn der Switch einen Frame sendet und anderen Datenverkehr auf dem Medium erkennt (dh der Computer, der nicht nach einem inaktiven Medium sucht), wird dies als Kollision behandelt und der Switch folgt der Kollisionserkennungsprozedur (einschließlich a Warte- oder Wartezeit).

Da der Computer nicht auf diese Weise funktioniert (dh die Übertragung beginnt automatisch, wenn Daten gesendet werden müssen), kommt es zu weitaus mehr Kollisionen als in einer Umgebung, die ausschließlich aus Halbduplexgeräten besteht.

Bearbeiten: Ich bin an diesem Wochenende auf einen Verweis auf diese gestoßen, als ich nach einer unabhängigen Angelegenheit gesucht habe, in der sie als falsche Kollisionen bezeichnet wurden . Ich würde diesem Standpunkt nicht zustimmen, da der Schalter sie eindeutig als Kollision ansieht und sie als solche behandelt. Ich würde sie eher als unnötige Kollisionen ansehen , da sie in einem Wählnetz nicht existieren sollten.


Abgesehen davon ist dies die am häufigsten gemeldete Art der Duplex-Nichtübereinstimmung (wobei der Schalter auf Auto und der Computer auf Vollduplex eingestellt ist). Die meisten Leute laden viel mehr herunter als sie hochladen, sie bemerken diesen Zustand eher, um ihn zu melden.

YLearn
quelle
2
Es hat eine Weile gedauert, bis ich Sie auf die Frage nach dem Geschwindigkeitsunterschied aufmerksam gemacht habe, aber dies ist eine gute Antwort. Vielleicht möchten Sie sie verbessern, um explizit darauf hinzuweisen, dass der Tx-Wert des Switches stärker als der des PCs von der Geschwindigkeit abhängig ist, da dies erforderlich ist Warten Sie aufgrund der CSMA / CD-Kollisionserkennung länger, als der PC auf laufende Frames von den Kollisionen wartet. Wenn im Gegensatz dazu sogar einige TCP-ACKs des PCs beim Herunterladen aufeinandertreffen, wird der Download sowohl von TCP als auch von der CSMA / CD des Ethernets doppelt bestraft. Durch verworfene TCP-ACKs werden beide Übertragungen verlangsamt, aber durch das Zurücksetzen von CSMA / CD wird der Download abgebrochen.
Mike Pennington
Es hängt auch davon ab, welches Ende voll und welches halb ist. Das eine Ende sendet / empfängt ohne Probleme, während das andere Ende für jedes Paket eine Kollision sieht. Während das halbe Ende versucht, die ACK zwischen großen Paketen zusammenzudrücken, verursacht das volle Ende eine Menge Kollisionen, da es eine größere Chance hat, ein großes Paket mit einer kleineren Bestätigung zu "treffen". Es mag nicht die richtige Erklärung sein, aber es passt zu dem, was ich gesehen habe.
Remi Letourneau
@RemiLetourneau, wenn die Richtung der Nichtübereinstimmung eindeutig umgekehrt würde, würde der Effekt ebenfalls umgekehrt. In einem solchen Fall könnten Sie die Computer- / Switch-Begriffe in meiner Antwort austauschen (dies war der Rahmen für die Beantwortung der Frage des OP). Ich bin mir nicht sicher, ob ich dem Rest deines Kommentars folge.
YLearn
@YLearn Was ich damit sagen wollte ist, dass Duplex-Mismatch-Symptome beinhalten, dass der Datenverkehr in die eine Richtung mit einer relativ normalen Geschwindigkeit läuft und in die andere Richtung langsamer wird. Etwas zu tun, bei dem große Frames gesendet werden und bei dem Quittung gesendet wird. Wie Sie sagen, wenn Sie die Nichtübereinstimmungskonfiguration umkehren, kehren Sie die Verlangsamung des Verkehrs um.
Remi Letourneau
3

Wenn der TCP getestet wurde, gibt es viele Dinge, die Sie nicht kontrollieren oder sich vorstellen können. Der Unterschied zwischen Downstream und Upstream kann leicht durch interne NIC-Prioritätseinstellungen, Puffer für RX / TX und Einstellungen auf niedriger Ebene verursacht werden, die bestimmen, wie der RX- und TX-Verkehr behandelt werden soll.

'sh controller' sollten alle gleichzeitigen Empfangs- und Sendezustände als Kollision melden, wenn sie im Halbduplexmodus arbeiten.

Łukasz Bromirski
quelle