Duplex Mismatch

Ein Duplex-Mismatch liegt vor, wenn die beiden Enden einer Ethernet-Verbindung unterschiedliche Betriebsarten verwenden — eine Seite Vollduplex, die andere Halbduplex. Die Verbindung kommt dabei zustande und sieht funktionsfähig aus; sie bricht erst unter Last ein.

Wie es zum Duplex-Mismatch kommt

Normalerweise handeln beide Seiten die Betriebsart beim Verbindungsaufbau aus. Sie teilen sich mit, was sie können, und wählen gemeinsam das Beste.

Der Fehler entsteht, wenn auf einer Seite eine feste Einstellung hinterlegt ist. Ein fest eingestellter Port handelt nicht aus — er sendet die Aushandlungssignale nicht. Die Gegenseite wartet darauf, bekommt nichts und fällt auf ein Notverfahren zurück: Sie ermittelt die Geschwindigkeit aus dem Signal und nimmt für die Betriebsart den sicheren Wert an, nämlich Halbduplex.

Seite A: fest auf 100 Mbit/s Vollduplex
Seite B: automatisch
→ B erkennt 100 Mbit/s, wählt Halbduplex
→ A sendet jederzeit, B erwartet Rücksicht

Beide Seiten melden eine Verbindung mit 100 Mbit/s. Die Betriebsart weicht ab, und das steht in keiner Statusanzeige nebeneinander.

Das Fehlerbild erkennen

Hier liegt der eigentliche Wert des Begriffs: Das Muster ist eindeutig, wenn man es kennt.

Kleine Datenmengen laufen fehlerfrei. Ein Ping antwortet ohne Verlust, die Anmeldung funktioniert, eine Textseite erscheint sofort. Solange nur eine Richtung aktiv ist, kollidiert nichts.

Unter Last bricht alles ein. Sobald beide Richtungen gleichzeitig Daten tragen — eine Datei hochladen während etwas heruntergeladen wird, oder einfach eine große Übertragung mit ihren Bestätigungen —, sendet die Vollduplex-Seite mitten in die laufende Übertragung der Halbduplex-Seite. Diese erkennt eine Kollision, bricht ab und sendet erneut.

Der Durchsatz ist absurd niedrig. Von 100 Mbit/s bleiben oft wenige Mbit/s übrig, teils deutlich weniger. Das Verhältnis zwischen Nennrate und Messwert ist so krass, dass es als Defekt der Leitung gedeutet wird.

Es betrifft nur eine Strecke. Alles, was über diesen einen Port läuft, ist langsam; der Rest des Netzes ist unauffällig.

Die Zähler auf beiden Seiten

Der Nachweis gelingt über die Fehlerzähler, und das Aussagekräftige daran ist ihre Asymmetrie — auf jeder Seite schlägt etwas anderes an:

SeiteWas dort auftritt
Halbduplexspäte Kollisionen, Kollisionen allgemein, abgebrochene Übertragungen
VollduplexPrüfsummenfehler, Bruchstücke, verworfene Rahmen

Besonders beweiskräftig sind späte Kollisionen. Eine gewöhnliche Kollision tritt am Anfang einer Übertragung auf und gehört zum Halbduplexbetrieb. Eine späte Kollision tritt nach dem 64. Byte auf — und das kann im Normalbetrieb nicht passieren, weil dann längst alle Stationen die laufende Übertragung bemerkt hätten. Sie bedeutet, dass die Gegenseite ohne Rücksicht gesendet hat, und genau das tut eine Vollduplex-Seite.

Warum es bei Gigabit kaum vorkommt

Für Gigabit ist die Aushandlung Bestandteil der Norm und nicht abschaltbar; außerdem gibt es dort praktisch keinen Halbduplexbetrieb mehr. Der Fehler ist damit auf Verbindungen mit 10 und 100 Mbit/s beschränkt.

Das klingt nach einem Problem der Vergangenheit, ist es aber nicht: Genau dort sitzen die Geräte, bei denen Ports noch von Hand festgelegt werden — Drucker, Messtechnik, Steuerungen, Gebäudetechnik, Telefonanlagen, Altgeräte an Zugangsswitches. Und dort ist die feste Einstellung oft Jahre alt und niemandem mehr bewusst.

Die Regel, die den Fehler ausschließt

Entweder beide Seiten automatisch oder beide Seiten fest mit identischen Werten. Eine Mischung ist der Fehler selbst.

Im Zweifel ist die Automatik auf beiden Seiten die richtige Wahl. Die alte Begründung für feste Einstellungen — die Aushandlung sei unzuverlässig — stammt aus den 1990er Jahren und gilt seit langem nicht mehr. Wer trotzdem fest einstellt, muss es auf beiden Seiten tun und dokumentieren; sonst erbt der Nachfolger einen Fehler, der erst bei der nächsten Gerätewechsel auffällt.

Was bei der Suche in die Irre führt

Der Kabeltausch hilft nicht — und scheinbar doch, wenn dabei der Port gewechselt wird und der neue automatisch eingestellt ist. Dann gilt das Kabel als Ursache, und der eigentliche Fehler wartet auf den nächsten, der ihn trifft.

Die Statusanzeige zeigt beide Seiten nicht gemeinsam. Jedes Gerät meldet nur seine eigene Betriebsart, und die ist für sich betrachtet in Ordnung. Der Fehler ist nur im Vergleich sichtbar.

Eine Messung ohne Gegenverkehr findet nichts. Wer nur in eine Richtung messt, erhält plausible Werte. Der Fehler zeigt sich erst, wenn beide Richtungen gleichzeitig belastet werden.

Abgrenzung

Autonegotiation ist das Verfahren, dessen einseitige Abschaltung den Fehler erzeugt.

Halbduplex und Vollduplex sind die Betriebsarten; der Mismatch ist deren Mischung an einer Verbindung.

Paketverlust ist die Folge, nicht die Ursache. Im Guide zur Eingrenzung von Paketverlust ist der Duplex-Mismatch einer der Fälle, die ein lastabhängiger Verlust auf einer einzelnen Strecke nahelegt.

Eine Geschwindigkeitsabweichung — eine Seite 10, die andere 100 Mbit/s — führt dagegen zu keiner Verbindung. Nur die Betriebsart lässt sich falsch kombinieren, ohne dass die Strecke ausfällt.

Quellen

  • IEEE Std 802.3, Clause 28: Physical Layer link signaling for Auto-Negotiation
  • IEEE Std 802.3, Abschnitt zu Collision Detection und Late Collisions

Weblinks

Erstellt: · Überarbeitet: