Sie erhalten kein Gigabit über eine Gigabit-Verbindung?

Sie erhalten kein Gigabit über eine Gigabit-Verbindung?

Ich habe gerade mein LAN auf Gigabit aufgerüstet. Das sagt netperf dazu.

Vor:

marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) 
port 0 AF_INET : demo
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.02      94.13   

Nach:

marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 0 AF_INET : demo
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.01     339.15   

Nur 340 Mbit/s? Was ist da los?

Hintergrundinfo: Ich verbinde mich über einen Gigabit-Switch mit einem Sheevaplug. Ich habe Cat5e-Kabel in den Wänden und die Länge beträgt etwa 30 Fuß. Wenn Sie mit Netperf nicht vertraut sind: Es liefert tendenziell sehr stabile Ergebnisse und lügt nie.

Antwort1

Kassedieser Thread. Einer der Mitwirkenden (Frennzy) beschreibt dies sehr schön. Ich zitiere:

Die „tatsächliche“ Geschwindigkeit von Gigabit-Ethernet beträgt …

1 Gbit/s.

Das heißt, es werden Bits mit einer Geschwindigkeit von 1 Milliarde pro Sekunde übertragen.

Der Datendurchsatz ist von verschiedenen Faktoren abhängig:

NIC-Verbindung zum System (PCI vs. PCIe vs. Northbridge usw.).

HDD-Durchsatz.

Buskonflikt.

Layer 3/4-Protokoll und zugehöriger Overhead.

Anwendungseffizienz (FTP vs. SMB/CIFS usw.)

Rahmengröße.

Paketgrößenverteilung (in Bezug auf die Gesamtdurchsatzeffizienz)

Komprimierung (Hardware und Software).

Pufferkonflikte, Fensterung usw.

Kapazität und Architektur der Netzwerkinfrastruktur (Anzahl der Ports, Backplane-Kapazität, Konflikte usw.)

Kurz gesagt, Sie werden es nicht wirklich wissen, bis Sie es testen. NetCPS ist hierfür ein gutes Tool, wie viele andere auch.

Und dies später im Thread (meine Hervorhebung):

Hört auf, so zu denken. Hört sofort damit auf. Alle.

So gerne Sie auch die Kilobyte- oder Megabyte-Übertragung pro Sekunde herausfinden möchten, Tatsache ist, dass sie variabel ist, selbst wenn die Netzwerkgeschwindigkeit konstant bleibt. Die Netzwerkgeschwindigkeit (Bits pro Sekunde) ist absolut. Der Netzwerkdurchsatz (tatsächliche Nutzdaten pro Sekunde) ist es nicht.

An den OP: Werden Sie im Allgemeinen schnellere Datenübertragungen feststellen, wenn Sie von 100 Mbit/s auf 1000 Mbit/s umstellen? Fast definitiv.Wird es irgendwo in der Nähe des theoretischen Maximums liegen? Nein.Wird es sich lohnen? Das müssen Sie entscheiden.

Wenn Sie über Netzwerkgeschwindigkeiten sprechen möchten, sprechen Sie über Netzwerkgeschwindigkeiten. Wenn Sie über Datendurchsatz sprechen möchten, sprechen Sie über Datendurchsatz. Die beiden sind nicht 1:1 miteinander verbunden.

Antwort2

Der Begriff „theoretisches Maximum“ wird häufig verwendet, hat aber bei Ethernet-Technologien eine praktische Anwendung. Auf einem CSMA/CD-System wie Ethernet können Sie nur etwa die Hälfte der Bandbreite des Datenverkehrs senden, die das Kabel bietet, oft sogar etwas weniger. Der Grund dafür ist, dass die Transceiver, sobald Sie versuchen, dieses „Maximum“ zu überschreiten, mehr Kollisionen erkennen als Pakete übertragen. Dann kommt der exponentielle Backoff ins Spiel und die Paketübertragung verschlechtert sich noch weiter. Token Ring hat dies umgangen, hatte aber viele eigene Probleme und wird meines Wissens nicht mehr wirklich viel verwendet. Ethernet/IP wurde zum De-facto-Standard.

Uplink-Technologien wie T3 verwenden asynchrone Paare, die den vollen Durchsatz auf jeder Leitung ermöglichen, es handelt sich jedoch auch hier nicht um ein Ethernet-basiertes Protokoll.

Wenn Sie einfache Standard-Ethernet-Geräte verwenden, gibt es immer ein „theoretisches Maximum“.

Antwort3

Im Zusammenhang mit GbE über CSMA/CD zu sprechen, ist völliger Unsinn. Gigabit-Ethernet oder jedes „Vollduplex“-Ethernet verwendet kein CSMA/CD. Und obwohl GbE immer noch die theoretische Möglichkeit für Halbduplexbetrieb beibehielt, bin ich mir überhaupt nicht sicher, ob es jemals ein tatsächlich in der Produktion befindliches GbE-Kit gab, das Halbduplex unterstützte.

Was die Frage angeht, warum der OP nur 300 Mbit/s über eine 1000-Gbit/s-Verbindung erreicht hat, würde ich vorschlagen, Netstat-Statistiken für TCP vor und nach jedem Netperf-Lauf zu sammeln und die globalen Befehlszeilenoptionen -c und -C einzuschließen, um die CPU-Auslastung an beiden Enden zu ermitteln. Vielleicht verliert etwas Pakete, oder vielleicht ist die CPU auf der einen oder anderen Seite gesättigt. Wenn die Systeme an beiden Enden Multicore-Systeme sind, überprüfen Sie auf jeden Fall die Auslastung pro Kern entweder mit einem externen Tool oder indem Sie die Netperf-Debug-Ausgabe durchgehen.

Andere Fragen zu Netperf sollten Sie am besten dem Netperf-Talk auf der Mailingliste netperf.org überlassen.

verwandte Informationen