Wie ist 10G Ethernet physikalisch möglich? [geschlossen]


22

10 Gigabit Ethernet bedeutet, dass 10 Milliarden Bits pro Sekunde übertragen werden, aber ich verstehe nicht, wie dies physikalisch möglich ist (geschweige denn 100 G Ethernet). Die schnellsten CPUs arbeiten heutzutage nur mit ~ 8 GHz. Auch wenn für die Übertragung keine CPU erforderlich ist, scheint dies dennoch problematisch zu sein.

Bei 10G dauert jedes Bit nur 100 Pikosekunden, und in dieser Zeitspanne würde ich denken, dass Gate-Verzögerungen ein Problem werden. Es ist nicht so einfach, eine Leitung für jedes Bit hoch oder niedrig zu setzen, es sind sicherlich Hunderte von Transistoren erforderlich, um die komplizierte Ethernet-Wellenform auszugeben.

Dies scheint auf der Empfangsseite ein noch größeres Problem zu sein, da die Wellenform mit einer sehr hohen Rate abgetastet werden muss, und wenn dies ADCs verwendet, führt dies zu einer noch größeren Verzögerung.


6
Ich denke, die beste Wette wäre es, technische Unterlagen durchzusehen?
Eugene Sh.

6
Sehen Sie sich an, wie die Daten verschlüsselt sind. Hinweis: Wenn Sie PAM16 "magisch" verwenden, brauchen Sie viel weniger Übergänge.
PlasmaHH

10
8 GHz * 64 Bit = 512 Gbit / s. Also wirklich 10 Gbit / s ist bei weitem nicht so schnell wie die CPU.
Tom Carpenter

5
Die meisten Ihrer Annahmen zur Funktionsweise sind völlig falsch - wenn es so funktionieren würde, wie Sie es sich vorstellen, wäre es wahrscheinlich nicht möglich. Aber es ist nicht so und es ist so.
Chris Stratton

8
@ ChrisStratton Ich bin nicht einverstanden, dass dies nicht zum Thema gehört. Wir haben viele "Wie funktioniert X?" Fragen in den Archiven, und diese ist einigermaßen eng.
Adam Haun

Antworten:


25

Das Verfolgen dieser Antwort erforderte ein paar verschiedene Verknüpfungen, aber es scheint sich auf diese zu beschränken:
1. 4 differentielle Paare (8 Drähte insgesamt, aber nur 4 Spuren).
2. 800 Mega Symbole pro Sekunde.
3. Bei Verwendung von PAM16 werden 16 Symbole verwendet, was 4 Bit pro Baud pro Spur entspricht.

Angesichts dieser Informationen erhalten Sie 4 Bit * 800 Mhz * 4 Lanes, was 12800 Mb / s oder 12,8 Gb / s ergibt. Aufgrund der Kodierung von Fehlerkorrekturen und anderem Overhead erwarten sie nur, dass Sie 10 Gbit / s davon erhalten.

Beachten Sie, dass die Drähte selbst nur Symbole oder Amplituden mit einer Frequenz von 800 MHz ändern. Das ist ziemlich meh, in Bezug auf die Schaltgeschwindigkeiten für Transistoren.


Das ist jetzt alles für 10-Gbit-Ethernet. Die Vorgehensweise für 100-Gbit-Ethernet ist etwas umständlicher. Dafür scheint es, dass sie tatsächlich die Frequenz auf 10,3 GHz oder 25 GHz aufpumpen . WAS ZUM TEUFEL? Sehen Sie hierfür diesen Tisch. Der Unterschied in der Frequenz ist darauf zurückzuführen, wie viele Kupferpaardaten-Lanes Sie auswählen. Es wäre interessant zu wissen, ob jemand dieses 25-GHz-Ethernet tatsächlich in Kupfer hergestellt hat oder nicht. Es ist möglich, dass sie es nur spezifiziert haben. Wenn Sie diese Frequenzen erreichen, müssen Ihre Kabel entweder sehr kurz sein oder Sie wechseln einfach zu Glasfaserkabeln, mit denen Sie Hunderte von Lichtstrahlen über eine einzelne Glasfaser senden können. Auf diese Weise müssen Sie nicht verrückt schnell vorgehen, sondern müssen nur Ihre Daten an der Quelle parallelisieren und am Ziel deparallelisieren.

Verweise, wenn Sie mehr darüber erfahren möchten: https://en.wikipedia.org/wiki/10_Gigabit_Ethernet#Copper
https://en.wikipedia.org/wiki/Pulse-amplitude_modulation
http://www.cablinginstall.com/ articles / print / volume-15 / issue-7 / features / technology / Twisted-Pair-Optionen-für-10-Gigabit-Ethernet.html
https://en.wikipedia.org/wiki/Differential_signaling


1
@HaLailahHaZeh Auch wenn sie keinen Weg gefunden haben, diese effektive Frequenz wegzukodieren. 12,8 GHz sind auf Kommunikationskanälen zwischen CPUs in einem System keine Seltenheit.
Horta

2
@HaLailahHaZeh Übrigens, Ihr Kommentar oben widerspricht dem von Ihnen verlinkten Dokument: Die Modulationsrate beträgt 800 MBaud, daher beträgt die Nyquist-Frequenz 400 MHz . Sie multiplizieren die Frequenz nicht mit der Anzahl der Spannungspegel. Dies bedeutet, dass eine Verkabelung mit Frequenzen bis zu ~ 500 MHz ausreicht.
uint128_t

1
@HaLailahHaZeh 16 getrennte Spannungen sind 4 Bits, nicht 16 Bits.
user253751

2
Teufel noch mal. Ich habe vor dem Posten alle -CX4- und -KX4-Typen überprüft. Wusste nicht, dass es ein 10GBase-T gibt.
Das Photon

1
@HaLailahHaZeh: PAM-16 verwendet 16 separate Spannungen, aber nur eine Spannung wird während jeder Symbolzeit übertragen. Bei 10GBASE-T bedeuten 800 MSymbole / s, dass sich die Spannung jedes Kabels alle 1,25 Nanosekunden ändert. Vielen Dank für das Whitepaper. es ist hilfreich.
Davidcary

14

10G-Ethernet (wie in anderen Antworten beschrieben) führt keine Signalübergänge bei 10 GHz durch. Es verwendet eine Codierung mit mehreren Ebenen, die auf 4 Paare verteilt ist, um 10 Gbit / s zu erzielen.

Serielle 10-Gigabit-Transceiver sind jedoch bei Hochgeschwindigkeitschips weit verbreitet. Zum Beispiel verwenden PCIe, USB3.1, Thunderbolt und ähnliche Protokolle alle eine serielle Rate von 10 Gbit / s für einzelne Paare.

Sie haben Recht, dass die "Bulk" -Logik mit dieser Datenrate nicht Schritt halten kann. Sicherlich arbeiten CPU-Kerne nicht mit dieser Frequenz, aber selbst die Logik, die Dinge wie PCIe-Schnittstellen implementiert, kann nicht mit dieser Geschwindigkeit arbeiten. Stattdessen verwenden sie dedizierte Hochgeschwindigkeits-SERDES.

Die Daten werden mit dem IC in breiten parallelen Bussen weitergeleitet. Eine dedizierte Hardware führt die Seriell-Parallel- oder Parallel-Seriell-Konvertierung direkt neben dem Ein- / Ausgang durch. Das SERDES macht ein absolutes Minimum an tatsächlicher Logik. Sender sind sehr einfach. Es wird eine PLL zum Erzeugen des seriellen Hochgeschwindigkeits-Datentakts und der Parallel-zu-Seriell-Logik haben. Empfänger sind komplizierter, sie müssen die eingehenden Daten im Takt wiederherstellen und auch die Rahmenerkennung durchführen, um sicherzustellen, dass die Bits richtig gruppiert sind. Alles in allem muss nur ein winziger Teil der Logik mit der ultrahohen Geschwindigkeit arbeiten. Ja, die Ausbreitungsverzögerungen durch Übergänge sind äußerst wichtig, und die Schaltung muss sorgfältig entworfen werden, damit alle Signale richtig ausgerichtet sind.


Und Thunderbolt funktioniert nur bei dünnen Kupferdrähten mit 20-40 Gbit / s, da die Kabel aktiv sind, um die schwachen Signale zu verstärken, und daher recht teuer sind.
CHX

2

Viele Ethernet-Verbindungen mit 10 GBit / s sind tatsächlich optisch (z. B. 10GBASE-SR oder 10GBASE-LR, siehe https://en.wikipedia.org/wiki/10_Gigabit_Ethernet ), obwohl es auch 10GBASE-T über Twisted Pair-Kabel mit 8P8C gibt ( 'RJ45') Anschlüsse wie von @horta beschrieben. Soweit ich weiß, ist dies im Vergleich zu den optischen Varianten recht leistungshungrig.

Die Übertragung von Daten von der CPU (bzw. dem Speicher) auf die Ethernet-Karte erfolgt in einem x86-basierten Computer normalerweise über den PCIe-Bus. PCIe Gen 1- Lanes haben eine nutzbare Datenübertragungsrate von 2 Gbit / s (nach der 8/10-Bit-Codierung). Bei 8 Lanes beträgt das theoretische Maximum 16 GBit / s (pro Richtung), was ausreicht, um einen einzelnen Port mit 10 GBit / s Ethernet zu betreiben.

Die CPU legt die zu übertragenden Daten im RAM ab und weist dann die Netzwerkkarte an, wohin sie abholen soll (DMA). In ähnlicher Weise weist die CPU zum Empfang Puffer zu und informiert die Netzwerkkarte darüber, wenn dann typischerweise ein Interrupt erzeugt wird, wenn der Puffer (die Puffer) ) wurden gefüllt. Beachten Sie, dass die Bandbreite zum RAM in der Regel viel größer ist als die des PCIe-Busses.

Heute ist PCIe Gen 3 mit einer nutzbaren Datenrate von ca. 8 GBit / s pro Spur und Richtung weit verbreitet. Ein 16-Lane-Slot kann theoretisch 128 GBit / s verarbeiten, was für 100 GBit / s Ethernet ausreicht (PCIe Gen 4 wurde kürzlich offiziell angekündigt).

Der „Trick“, um einen hohen Durchsatz im PC zu erzielen (ohne übermäßige Signalisierungsgeschwindigkeiten), ist die Verwendung von parallelen Bussen (RAM) oder mehreren seriellen Leitungen (PCIe).

Für 100 Gbit / s Ethernet hat man typischerweise vier Verbindungen mit 25 GBaud Signalisierungsgeschwindigkeit (100GBASE-SR4, 100GBASE-LR4, 100GBASE-CR4), es gibt auch Standards für Kabel mit zehn Verbindungen (z. B. Glasfaserpaare) von 10 Gbit / s (100GBASE-CR10, 100GBASE-SR10, 100GBASE-CR10). Für Fernverbindungen gibt es auch Standards, die nur eine einzige Faser verwenden, entweder mit vier Wellenlängen (100GBASE-CWDM4) oder mit zwei Polarisationsmodi und QPSK (100GBASE-ZR).

Für extrem hohe Verbindungsgeschwindigkeiten über lange Strecken (wie das Marea-Transatlantikkabel mit 20 Terabit / s pro Faserpaar) werden so viele Sender mit unterschiedlichen Wellenlängen wie möglich in das nutzbare Wellenlängenband der Fasern und Verstärker, auch als Dense bezeichnet, gepackt Wellenlängenmultiplex (DWDM). Es ist zu beachten, dass ein solcher Multiplexer / Demultiplexer typischerweise eine optische Einheit in seinem Kern ist und von mehreren Strömen mit geringerer Bandbreite gespeist wird, die elektronisch parallel verarbeitet werden können.

Um 20 TBit / s zu erreichen, hat man dann auch fortgeschrittene Modulationstechniken verwendet, bei denen bei jedem Taktzyklus mehrere Amplituden und Phasen übertragen werden können (ich habe 64QAM in einem Whitepaper gesehen ), wodurch mehrere Bits pro Taktzyklus übertragen werden, ähnlich dem 10GBASE-T-Standard beschrieben von @horta.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.