Zum Hauptinhalt springen

Schmerzhaft hohe FTP-Übertragungszeiten, viel zu lange interaktive Login-Antwortzeiten, 1 mbps aus Ihrem 100 mbps-Netzwerk herausholen. Obwohl ich es immer vorziehe, dem Netzwerk die Schuld zu geben, muss ich zugeben, dass es manchmal nicht am Netzwerk liegt.

Bei einem TCP-Leistungsproblem ist zunächst nach einem Ethernet-Problem auf niedriger Ebene zu suchen, und das bei weitem häufigste Problem ist eine Duplex-Fehlanpassung. Ethernet kann entweder im Voll- oder Halbduplex-Modus betrieben werden. Im Vollduplex-Modus können sowohl der Adapter des Moduls als auch das Gerät, an das es angeschlossen ist (normalerweise ein Switch, aber nicht immer), gleichzeitig senden. Im Halbduplex-Modus kann nur eine Seite senden. Es gibt ein Zeitfenster, in dem beide Seiten denken können, dass es in Ordnung ist, zu senden, und dies auch tun. Wenn dies geschieht, wird eine Kollision erklärt, beide Seiten hören auf zu senden, warten eine zufällige Zeit und versuchen es erneut. Es ist wichtig zu verstehen, dass diese Kollisionen den Netzdurchsatz nicht wesentlich verringern, wenn beide Seiten im Halbduplex-Modus arbeiten.
Bei einer Duplex-Fehlanpassung befindet sich eine Seite im Vollduplex-Modus und ihre Gegenstelle im Halbduplex-Modus. Auf der Seite im Halbduplex-Modus kann es zu späten und übermäßigen Kollisionen kommen, die den Durchsatz erheblich verringern. Verspätete oder übermäßige Kollisionen sind ein Hinweis auf ein Problem. Die Verlangsamung des Netzes kann in keinem Verhältnis zur Anzahl der späten und übermäßigen Kollisionen stehen, da bei einer Duplex-Fehlanpassung selbst normale Kollisionen den Durchsatz verringern, weil die Gegenstelle den Rahmen nicht erneut überträgt, da sie eine Kollision im Vollduplex-Modus nicht erkennt.
Woran erkennen Sie also, ob das bei Ihnen der Fall ist? Die "netstat -interfaceDer Befehl "Duplex" zeigt die Statistiken an, mit denen Sie feststellen können, ob eine Duplex-Fehlanpassung vorliegt. Im folgenden Beispiel wird die Statistik für den aktiven Adapter des #sdlmux.m16.11-3 Schnittstelle angezeigt werden. Ich habe die Statistiken für den Standby-Adapter entfernt, um Platz zu sparen, und die Zeilennummern hinzugefügt.
Wenn sich der Adapter im Halbduplex-Modus befindet, sehen Sie positive Zählerstände in den Zeilen 25 (Transmit frame was deferred), 26 (Transmit frame after a single retry) und 27 (Transmit frame after multiple retry). Dies sind die normalen Kollisionszähler. Wenn Sie positive Zählerstände in den Zeilen 24 (Transmit frame discarded, late collisions) und/oder 28 (Transmit frame discarded, excessive retry) sehen, haben oder hatten Sie wahrscheinlich eine Duplex-Fehlanpassung. Diese Zähler werden nur zurückgesetzt, wenn der Adapter zurückgesetzt wird, so dass positive Werte ein Anzeichen dafür sind, dass ein Problem vorlag; Zähler, die weiter ansteigen, sind ein Anzeichen dafür, dass noch immer ein Problem besteht. Wenn sich der Adapter im Vollduplex-Modus befindet und Sie einen positiven Wert in Zeile 32 (Receive frame discarded, bad CRC) sehen, befindet sich die Gegenstelle wahrscheinlich im Halbduplex-Modus.
1    netstat -interface #sdlmux.m16.11-3
2
3    Ethernet adapters are grouped
4    Number of failovers = 0
5
6    Active Device Statistics:
7
8
9    MAC Type   : CSMA/CD
10    MAC Address: 00:00:a8:43:52:22
11    Device Name: #sdlmux.m16.11-3
12    Line Speed : 100 mb/s
13    Line Duplex: Full-Duplex
14
15    MAC Statistics:
16     Received frames                          : 20783181
17     Received multicast and broadcast frames : 2984375
18     Received octets                          : 1787913869
19     Transmitted frames                       : 9747015
20     Transmitted octets                       : 2780485819
21     LAN Chipset re-initialized               : 0
22     SQE error                                : 0
23     Transmit ring full                       : 0
24     Transmit frame discarded, late collisions: 0
25     Transmit frame was deferred              : 0
26     Transmit frame after a single retry      : 0
27     Transmit frame after multiple retry      : 0
28     Transmit frame discarded, excessive retry: 0
29     Receive frame discarded, lack of buffers : 0
30     Receive frame discarded, improper framing: 0
31     Receive frame discarded, an overflow     : 0
32     Receive frame discarded, bad CRC         : 674
33     Receive frame discarded, bad address     : 0
34     Receive frame discarded, congestion      : 0
35
36    MAC Summary:
37     Transmitted frames         : 9747015
38     Transmitted octets         : 2780485819
39     Retransmitted frames       : 0
40     Received frames            : 23767556
41     Received octets            : 1787913869
42     Total of lost frames       : 0
43    Partner Device Statistics:
. . . .
ready 08:35:14
Wie sind Sie in dieses Szenario der Duplex-Fehlanpassung geraten? Es ist natürlich möglich, dass ein Gerät für den Vollduplex-Modus konfiguriert ist und die Gegenstelle für den Halbduplex-Modus, ABER das häufigste Szenario ist, dass ein Gerät für Vollduplex und die Gegenstelle für Auto-Negotiation konfiguriert ist. Die meisten Geräte, die für Vollduplex konfiguriert sind, führen keine automatische Aushandlung durch, und gemäß der Spezifikation für die automatische Aushandlung muss die Seite, die die automatische Aushandlung versucht, in den Halbduplex-Modus zurückfallen, wenn sie das Protokoll für die automatische Aushandlung von der Gegenstelle nicht sieht.
Standardmäßig verhandeln die von OpenVOS verwendeten Ethernet-Adapter automatisch, so dass es zu einer Duplex-Fehlanpassung kommt, wenn der Link-Peer nicht ebenfalls für Auto-Negotiation oder Halbduplex-Modus konfiguriert ist. Um einen Adapter auf einen bestimmten Duplex-Modus einzustellen, müssen Sie die Option “-duplex full” oder “-duplex half” String in das Parameterfeld des devices.tin-Eintrags für den Adapter ein. Sie müssen auch die Geschwindigkeit einstellen. Das OpenVOS Streams TCP/IP Administrator's Guide (R419) beschreibt dies im Detail.
Ein letzter Hinweis: Wenn der Adapter mit 1 Gigabit läuft, dann läuft er auch im Vollduplex-Modus. Keiner unterstützt Halbduplex-Gigabit.

© 2024 Stratus Technologies.