Come è fisicamente possibile Ethernet 10G? [chiuso]


22

Ethernet da 10 gigabit significa che ogni secondo vengono trasmessi 10 miliardi di bit, ma non capisco come sia fisicamente possibile (per non parlare di Ethernet 100G). Le CPU più veloci oggi funzionano solo a ~ 8 GHz, ma anche se la trasmissione non richiede una CPU, sembra comunque problematica.

A 10G, ogni bit dura solo 100 picosecondi e in quel lasso di tempo, penso che i ritardi di gate diventino un problema. Non è semplice come impostare una linea alta o bassa per ogni bit, sicuramente sono necessarie centinaia di transistor per produrre la complessa forma d'onda Ethernet.

Questo sembra ancora più un problema sull'estremità ricevente, poiché la forma d'onda deve essere campionata a un ritmo molto elevato e, se questo utilizza ADC, ciò introduce un ritardo ancora maggiore.


6
Immagino che la scommessa migliore sarebbe quella di consultare i documenti tecnici?
Eugene Sh.

6
Dai un'occhiata a come vengono codificati i dati, suggerimento: l'uso di PAM16 "magicamente" ti rende necessarie molte meno transizioni.
PlasmaHH,

10
8 GHz * 64 bit = 512 Gbps. Quindi davvero 10 Gbps non è affatto veloce come la CPU.
Tom Carpenter,

5
La maggior parte dei tuoi presupposti su come funziona sono piuttosto sbagliati: se funzionasse come immagini, probabilmente non sarebbe possibile. Ma non lo è, e lo è.
Chris Stratton,

8
@ChrisStratton Non sono d'accordo sul fatto che sia fuori tema. Abbiamo un sacco di "Come funziona X?" domande negli archivi, e questa è ragionevolmente stretta.
Adam Haun,

Risposte:


25

L'inseguimento di questa risposta ha richiesto alcuni collegamenti diversi, ma sembra ridursi a questo:
1. 4 coppie differenziali (8 fili in totale, ma solo 4 corsie).
2. 800 mega simboli al secondo.
3. Utilizzando PAM16, vengono utilizzati 16 simboli che si traducono in 4 bit per baud per corsia.

Dato che le informazioni vengono fornite con 4 bit * 800 Mhz * 4 corsie che si traducono in 12800 Mb / so 12,8 Gb / s. A causa della codifica della correzione degli errori e di altri costi generali, si aspettano solo che tu ne ottenga 10 Gb / s.

Si noti che i fili stessi cambiano solo simboli o ampiezza a una frequenza di 800 MHz. Questo è piuttosto meh, in termini di velocità di commutazione per transistor.


Questo è tutto per Ethernet da 10 Gb. Il modo in cui lo fanno per Ethernet da 100 Gb è un po 'più sbalorditivo. Per questo, sembra che effettivamente pompino la frequenza a 10,3 GHz o 25 GHz . CHE DIAMINE? Vedi quiper quel tavolo. La differenza di frequenza è dovuta al numero di corsie dati di coppie in rame che si sceglie di avere. Sarebbe interessante sapere se qualcuno abbia effettivamente realizzato questa Ethernet da 25 GHz in rame. È possibile che l'hanno solo specificato. Quando inizi a raggiungere queste frequenze, i cavi devono essere molto corti o passare semplicemente alla fibra ottica dove puoi inviare centinaia di fasci di luce su una singola fibra. In questo modo, non devi andare a folle velocità, devi solo parallelizzare i tuoi dati alla fonte e deparallelizzarli a destinazione.

Riferimenti se vuoi approfondire di più: https://en.wikipedia.org/wiki/10_Gigabit_Ethernet#Copper
https://en.wikipedia.org/wiki/Pulse-amplitude_modulation
http://www.cablinginstall.com/ articoli / stampa / volume-15 / numero-7 / caratteristiche / tecnologia / twisted-pair-options-for-10-gigabit-ethernet.html
https://en.wikipedia.org/wiki/Differential_signaling


1
@HaLailahHaZeh Anche se non hanno trovato il modo di codificare quella frequenza effettiva. 12,8 GHz non sono inauditi sui canali di comunicazione tra le CPU in un sistema.
horta,

2
@HaLailahHaZeh A proposito, il tuo commento sopra va contro quel documento che hai collegato: la velocità di modulazione è 800Mbaud, quindi la frequenza di Nyquist è 400 MHz . Non moltiplicare la frequenza per il numero di livelli di tensione. Ciò significa che sarà sufficiente un cablaggio in grado di trasportare frequenze fino a ~ 500 MHz.
uint128_t

1
@HaLailahHaZeh 16 tensioni separate sono 4 bit, non 16 bit.
user253751

2
Dannazione. Ho controllato tutti i tipi -CX4 e -KX4 prima di pubblicare. Non avevo capito che esisteva un 10GBase-T.
The Photon,

1
@HaLailahHaZeh: PAM-16 utilizza 16 tensioni separate, ma viene trasmessa una sola tensione per ogni tempo di simbolo. Con 10GBASE-T, gli 800 MSymbols / sec indicano che la tensione di ciascun filo cambia ogni 1,25 nanosecondi. Grazie per il white paper; è utile
davidcary,

14

Ethernet 10G (come descritto da altre risposte) non esegue transizioni di segnale a 10 GHz, utilizza una codifica a più livelli diffusa su 4 coppie per raggiungere 10 Gb / s.

Tuttavia, 10+ ricetrasmettitori seriali gigabit sono abbastanza comuni sui chip ad alta velocità. Ad esempio i protocolli PCIe, USB3.1, thunderbolt e simili utilizzano tutti una velocità seriale di 10 gbit / s su singole coppie.

Hai ragione che la logica "in blocco" non riesce a tenere il passo con quella velocità di dati. Certamente i core della CPU non funzionano a quella frequenza, ma nemmeno la logica che implementa cose come le interfacce PCIe non può funzionare a quella velocità. Invece usano SERDES dedicati ad alta velocità.

I dati vengono instradati con l'IC in ampi bus paralleli. Un componente hardware dedicato esegue la conversione da seriale a parallelo o da parallelo a seriale proprio vicino all'ingresso / uscita. SERDES esegue un minimo assoluto di logica effettiva. I trasmettitori sono molto semplici. Avrà un PLL per generare l'orologio dati seriale ad alta velocità e la logica parallela a seriale. I ricevitori sono più complicati, devono eseguire il ripristino dell'orologio sui dati in arrivo e anche il rilevamento dell'inquadramento per assicurarsi che i bit siano raggruppati correttamente. Tutto sommato, solo un po 'di logica deve funzionare ad altissima velocità. Sì, i ritardi di propagazione attraverso le transizioni sono estremamente importanti e il circuito deve essere progettato con cura in modo che tutti i segnali siano allineati correttamente.


E Thunderbolt funziona solo 20-40 gbit / s su sottili fili di rame perché i cavi sono attivi per amplificare i segnali deboli e come tali, piuttosto costosi.
chx,

2

Molti collegamenti Ethernet da 10 GBit / s sono effettivamente ottici (ad es. 10GBASE-SR o 10GBASE-LR, vedere https://en.wikipedia.org/wiki/10_Gigabit_Ethernet ) sebbene ci siano anche 10GBASE-T su cavi a doppino intrecciato con 8P8C ( "RJ45") come descritto da @horta. Per quanto ne so, questo è abbastanza affamato di potere rispetto alle varianti ottiche.

Il trasferimento di dati dalla CPU (o meglio dalla memoria) alla scheda Ethernet avviene di solito attraverso il bus PCIe in un computer x86. Le corsie PCIe Gen 1 hanno una velocità di trasferimento dati utilizzabile di 2 Gbit / s secondo (dopo la codifica 8/10 bit). Con 8 corsie il massimo teorico è di 16 GBit / s (per direzione), sufficiente per pilotare una singola porta di 10 GBit / s Ethernet.

La CPU deposita i dati da trasmettere nella RAM, quindi indica alla scheda di rete da dove prelevare (DMA) e allo stesso modo per la ricezione la CPU alloca i buffer e informa la scheda di rete su di esso quando quindi in genere genera un interrupt quando il buffer ) sono stati riempiti. Si noti che la larghezza di banda della RAM è in genere molto più grande di quella del bus PCIe.

Oggi abbiamo PCIe Gen 3 ampiamente disponibile che ha una velocità dati utilizzabile di circa 8 GBit / s per corsia e direzione. Uno slot a 16 corsie può teoricamente gestire 128 GBit / s, sufficiente per 100 GBit / s Ethernet (PCIe Gen 4 è stato annunciato di recente).

Quindi il "trucco" per raggiungere un throughput elevato all'interno del PC (senza dover andare a velocità di segnalazione esorbitanti) è utilizzare bus paralleli (RAM) o corsie seriali multiple (PCIe).

Per Ethernet da 100 Gbit / s in genere uno ha quattro collegamenti con velocità di segnalazione di 25 GBaud (100GBASE-SR4, 100GBASE-LR4, 100GBASE-CR4), esistono anche standard per cavi con dieci collegamenti (ad es. Coppie in fibra) di 10 Gbit / s (100GBASE-CR10, 100GBASE-SR10, 100GBASE-CR10). Per collegamenti a lunga distanza, esistono anche standard che utilizzano solo una singola fibra, che utilizzano quattro lunghezze d'onda (100GBASE-CWDM4) o due modalità di polarizzazione e QPSK (100GBASE-ZR).

Per velocità di collegamento estremamente elevate su collegamenti a lungo raggio (come il cavo transatlantico Marea con 20 Terabit / s per coppia di fibre) si inseriscono il maggior numero possibile di trasmettitori a diverse lunghezze d'onda nella banda di lunghezze d'onda utilizzabili delle fibre e degli amplificatori, noto anche come denso Multiplexing divisione lunghezza d'onda (DWDM). Si noti che un tale multiplexer / demultiplexer è in genere un dispositivo solo ottico al suo interno ed è alimentato da più flussi di larghezza di banda inferiore che possono essere elaborati elettronicamente in parallelo.

Per raggiungere 20 TBit / s uno ha quindi anche utilizzato tecniche di modulazione avanzate in cui ad ogni ciclo di clock è possibile trasmettere più ampiezze e fasi (ho visto 64QAM in un white paper ), quindi trasmettere più bit per ciclo di clock, simile allo standard 10GBASE-T descritto da @horta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.