Ethernet-Schnittstellenfehler

10

Die Ethernet-Schnittstelle meines Ubuntu-Servers, die eine Verbindung zum Multiplexer des ISP herstellt, zeigt Fehler an. Hier ist der Schnappschuss:

          RX packets:204564288 errors:3193970 dropped:0 overruns:0 frame:3138402
          TX packets:29305799 errors:38752 dropped:0 overruns:0 carrier:38762
          collisions:2205053 txqueuelen:1000

Die Ubuntu-Schnittstelle kann Vollduplex ausführen, handelt jedoch nur eine Halbduplexverbindung aus. Wenn ich ein anderes Gerät (einen Router) an MUX angeschlossen habe, wurden auch solche Fehler angezeigt. Die zugewiesene Bandbreite beträgt 50 Mbit / s, aber ich bekomme nur 20 Mbit / s. Der ISP zögert, sein Gerät (sieht aus wie ein Ethernet-Switch oder Hub) im MUX zu ändern. Die ISP-Ingenieure geben mir die Schuld an seiner Seite. Aber ich habe mit mehr als 3 Geräten nachgesehen, alle zeigten Fehler. Gibt es also Tools für Linux, mit denen ich die Ursachen dieser Fehler eingehend untersuchen kann, oder kann ich die Benutzeroberfläche meines Servers neu konfigurieren, um diese Fehler zu beseitigen?

Nixnotwin
quelle

Antworten:

8

Es ist sehr wahrscheinlich, dass Sie eine Duplex-Nichtübereinstimmung haben, da der ISP seine Seite fest auf 100-Full codiert und die automatische Aushandlung auf dem ISP-Ethernet-PHY im Wesentlichen deaktiviert.

Wenn der ISP auf 100-Full eingestellt ist und Ihre Seite auf Auto / Auto bleibt (eine Vermutung, aber eine häufige), konfiguriert die automatische Aushandlung auf Ihrer Seite die Schnittstelle auf 100-Half - eine Duplex-Nichtübereinstimmung als ISP-Seite wird 100-voll bleiben.

Fix

Sie können das Problem beheben, indem Sie Ihr Ethernet-PHY fest auf 100-Full codieren - oder speziell auf den ISP. Die meisten ISPs verwenden 100-Full.

Zusätzliches Detail

Bei der Duplex-Nichtübereinstimmung von 100-Full zu 100-Half deaktiviert die 100-Full-Seite CSMA / CD, während CSMA / CD auf der 100-Half-Seite wirksam bleibt. Die 100-Full-Seite überträgt unabhängig davon, ob das Medium frei ist oder nicht. Die 100-Half-Seite führt CSMA / CD-Prüfungen und Backoffs gemäß CSMA / CD durch. Aus diesem Grund können Sie auf einer Internetverbindung mit 50 Mbit / s nur 20 Mbit / s erreichen . Das CSMA / CD-Backoff aufgrund der 100-Half-Side-Detection-Kollisionen begrenzt den Durchsatz.

Wenn Sie die Schnittstelle fest auf 100-Full codieren, um sie an den ISP anzupassen, ist auf beiden Seiten CSMA / CD deaktiviert. Daher werden Backoff- und Kollisionserkennung deaktiviert, und Sie sollten Zahlen erzielen, die viel näher an Ihrer Datenrate der Internetverbindung von 50 Mbit / s liegen.

Geschichte

Viele ISPs codieren ihre Ethernet-PHY-Übergaben fest, da dies zu einer Zeit viel zuverlässiger war. Als der ursprüngliche 802.3u 100 Mb / s Fast Ethernet-Standard veröffentlicht wurde, war eine automatische Aushandlung von Geschwindigkeit und Duplex vorhanden, jedoch nicht erforderlich . Erst nach dem 802.3z 1 Gbit / s Gigabit Ethernet-Standard war eine automatische Aushandlung nach dem Standard erforderlich .

Viele Netzwerktechniker haben falsche Vorstellungen über die automatische Aushandlung. Das größte Missverständnis ist, dass die automatische Aushandlung Geschwindigkeit und Duplex ordnungsgemäß aushandeln kann, wenn nur eine Seite die automatische Aushandlung implementiert. Das ist falsch - wie Sie gesehen haben.

Der Grund dafür liegt wahrscheinlich im Folgenden: Wenn eine Seite bei 100-Full fest codiert ist, scheint die andere Seite, auf der die automatische Aushandlung ausgeführt wird, immer den 100-Mbit / s-Teil herauszufinden. Dasselbe gilt, wenn eine Seite fest auf 10-Full codiert ist - die andere Seite, auf der die automatische Aushandlung ausgeführt wird, kann den 10-Mbit / s-Teil ermitteln. Die Möglichkeit, die Verbindungsgeschwindigkeit zu bestimmen, basiert auf einer Funktion, die als parallele Erkennung bezeichnet wird und das empfangene Signal der physischen Schicht auf allen lokal unterstützten Verbindungsgeschwindigkeiten versucht, bis eine Übereinstimmung gefunden wird. Die parallele Erkennung funktioniert jedoch nur für die Geschwindigkeit, nicht für die Duplexanpassung. Aus diesem Grund können Duplex-Fehlanpassungen auftreten, da eine Schnittstelle immer auf Halbduplex zurückgreift, wenn sie die andere Seite nicht durch automatische Aushandlung bestimmen kann.

Seifenkiste

Zu einer Zeit gab es nur spärliche Unterstützung für die automatische Verhandlung und es verursachte genauso viele Probleme, wie es lösen sollte. Diese Zeit ist nach Meinung dieses Netzwerktechnikers vergangen. Während es immer noch Probleme mit der automatischen Verhandlung gibt, stellt die Anzahl der Probleme, die ich aufgrund der Konfiguration der automatischen Verhandlung in den letzten 5 Jahren gesehen habe, die Anzahl der Probleme in den Schatten, die ich aufgrund der Deaktivierung der automatischen Verhandlung gesehen habe.

Ich hatte noch nie einen ISP, der nicht bereit war, seine Ethernet-Übergabe auf Nachfrage auf Auto / Auto zu ändern. Bei den meisten Kabel- und DSL-Modems und Gateways ist dies kein Problem. Es sind die NxT1- und Glasfaser-verwalteten CPE-Router mit Ethernet-Übergabe, bei denen dieses Problem normalerweise auftritt. Das Problem ist, dass ein Netzwerkadministrator zuerst fragen muss.

Mit einer ISP-Hardcodierung auf 100-Full haben sie eine Verpflichtung gegeben . Eine Verpflichtung, die dokumentiert und fortgesetzt werden muss. Auto-Negotiation ist eine Technologie, die seit Jahren stabil ist und dieses Problem für uns löst. Wie bereits erwähnt, überwiegt die Anzahl der Probleme, die durch die automatische Verhandlung verursacht werden, bei weitem die Anzahl der Probleme, die aufgrund der Deaktivierung im Jahr 2011 auftreten. Es gibt Technologien, um dieses Problem zu lösen und zu nutzen. Vielleicht sollten wir die anfänglichen TCP-SYNs, MSS, manuell einstellen und das Empfangsfenster auch für jede virtuelle TCP-Verbindung verwalten? Ich Kind.

Schimpfen Sie ab.

Weber
quelle
Ich hatte diesen Befehl versucht, um die Schnittstelle zu zwingen, in einen Vollduplexmodus zu wechseln : sudo ethtool -s eth0 duplex full speed 100 autoneg off. Aber die Verbindung ging runter. Aber Ihre Antwort hat mir Hoffnung gegeben. Ich werde es erneut versuchen. Außerdem werde ich den ISP fragen, ob er die automatische Aushandlung im MUX aktivieren kann.
Nixnotwin
@nixnotwin Stellen Sie sicher, dass sich die Schnittstelle bei aktivierter automatischer Aushandlung auf 100-Half und nicht auf 10-Half einstellt - codieren Sie die spezifische Geschwindigkeit und den Vollduplex-Code fest. Wenn die Verbindung nach dem Hardcodieren und Deaktivieren der automatischen Aushandlung unterbrochen wurde, liegt möglicherweise ein MDI / MDI-X-Problem vor, da das automatische MDI / MDI-X im PHY ebenfalls deaktiviert werden kann. Wenn Sie ein durchgehendes Patchkabel verwenden, versuchen Sie es mit einer Überkreuzung. Wenn Sie eine Frequenzweiche verwenden, versuchen Sie es mit einem durchgehenden Patchkabel.
Weber
Irgendwie haben wir den ISP davon überzeugt, die automatische Verhandlung zu ermöglichen. Danach verschwand jedes Problem, das wir hatten - Schnittstellenfehler, ICMP-Paketverlust, Streaming-Jitter, Einfrieren des Routers - und viele andere Probleme plötzlich. Jetzt erreicht die Bandbreite 50 MBit und es wird kein einziger Fehler in der Ethernet-Schnittstelle angezeigt.
Nixnotwin
2
@nixnotwin Das sind großartige Neuigkeiten. Wenn Sie sich in Zukunft mit überzögerten Administratoren auseinandersetzen müssen (sei es Netz, System, Windows usw.), finde ich den Satz "Humor mich und lassen Sie uns dies nur für eine Minute versuchen - vielleicht werden wir beide etwas lernen" sehr effektiv sein.
Weber