Comment Ethernet 10G est-il physiquement possible? [fermé]


22

Ethernet 10 gigabits signifie que 10 milliards de bits sont transmis chaque seconde, mais je ne comprends pas comment cela est physiquement possible (et encore moins Ethernet 100G). Les processeurs les plus rapides ne fonctionnent aujourd'hui qu'à ~ 8 GHz, mais même si la transmission ne nécessite pas de processeur, cela semble toujours problématique.

À 10G, chaque bit ne dure que 100 picosecondes, et dans ce laps de temps, je pense que les retards de porte deviennent un problème. Ce n'est pas aussi simple que de définir une ligne haute ou basse pour chaque bit, des centaines de transistors sont sûrement nécessaires pour produire la forme d'onde Ethernet complexe.

Cela semble être encore plus un problème du côté réception, car la forme d'onde doit être échantillonnée à un taux très élevé, et si cela utilise des ADC, cela introduit encore plus de retard.


6
Je suppose que le meilleur pari serait d'aller voir les documents techniques?
Eugene Sh.

6
Jetez un œil à la façon dont les données sont encodées, indice: l'utilisation du PAM16 "comme par magie" vous oblige à beaucoup moins de transitions.
PlasmaHH

10
8 GHz * 64 bits = 512 Gbps. Donc, 10 Gbps sont loin d'être aussi rapides que le CPU.
Tom Carpenter

5
La plupart de vos hypothèses sur la façon dont cela fonctionne sont tout à fait erronées - si cela fonctionnait comme vous l'imaginez, ce ne serait probablement pas possible. Mais ce n'est pas le cas, et ça l'est.
Chris Stratton

8
@ChrisStratton Je ne suis pas d'accord que ce soit hors sujet. Nous avons beaucoup de "Comment fonctionne X?" questions dans les archives, et celle-ci est raisonnablement étroite.
Adam Haun

Réponses:


25

La poursuite de cette réponse a pris quelques liens différents, mais cela semble se résumer à ceci:
1. 4 paires différentielles (8 fils au total, mais seulement 4 voies).
2. 800 méga symboles par seconde.
3. En utilisant PAM16, 16 symboles sont utilisés, ce qui se traduit par 4 bits par baud par voie.

Compte tenu de ces informations, vous obtenez 4 bits * 800 Mhz * 4 voies, ce qui donne 12800 Mb / s ou 12,8 Gb / s. En raison du codage de la correction d'erreur et d'autres frais généraux, ils s'attendent à ce que vous n'obteniez que 10 Gb / s.

Notez que les fils eux-mêmes ne changent que les symboles ou l'amplitude à une fréquence de 800 MHz. C'est assez meh, en termes de vitesses de commutation pour les transistors.


C'est tout pour Ethernet 10 Gb. Comment ils le font pour Ethernet 100 Go est un peu plus ahurissant. Pour cela, il semble qu'ils pompent réellement la fréquence à 10,3 GHz ou 25 GHz . QUE DIABLE? Voir icipour cette table. La différence de fréquence est due au nombre de voies de données de paire de cuivre que vous choisissez d'avoir. Il serait intéressant de savoir si quelqu'un a réellement réalisé cet Ethernet 25 GHz en cuivre. Il est possible qu'ils l'aient seulement précisé. Lorsque vous commencez à atteindre ces fréquences, vos câbles doivent être vraiment courts ou vous passez simplement à la fibre optique où vous pouvez envoyer des centaines de faisceaux de lumière sur une seule fibre. De cette façon, vous n'avez pas à aller à des vitesses folles, vous parallélisez simplement vos données à la source et les déparallélisez à la destination.

Références si vous souhaitez en savoir plus: 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-options-for-10-gigabit-ethernet.html
https://en.wikipedia.org/wiki/Differential_signaling


1
@HaLailahHaZeh Même s'ils n'ont pas trouvé de moyen d'encoder cette fréquence effective. 12,8 GHz n'est pas inconnu sur les canaux de communication entre les processeurs d'un système.
horta

2
@HaLailahHaZeh BTW, votre commentaire ci-dessus va à l'encontre de ce document que vous avez lié: le taux de modulation est de 800Mbaud, donc la fréquence de Nyquist est de 400 MHz . Vous ne multipliez pas la fréquence par le nombre de niveaux de tension. Cela signifie qu'un câblage capable de transporter des fréquences jusqu'à ~ 500 MHz suffira.
uint128_t

1
@HaLailahHaZeh 16 tensions distinctes est 4 bits, pas 16 bits.
user253751

2
Bon sang. J'ai vérifié tous les types -CX4 et -KX4 avant de poster. Je ne savais pas qu'il y avait un 10GBase-T.
Le Photon

1
@HaLailahHaZeh: PAM-16 utilise 16 tensions distinctes, mais une seule tension est transmise pendant chaque symbole-temps. Avec 10GBASE-T, les 800 MSymbols / sec signifient que la tension de chaque fil change toutes les 1,25 nanosecondes. Merci pour le livre blanc; C'est utile.
davidcary

14

Ethernet 10G (comme décrit dans d'autres réponses) ne fait pas de transitions de signaux à 10 GHz, il utilise un codage à plusieurs niveaux répartis sur 4 paires pour atteindre 10 Gb / s.

Cependant, plus de 10 émetteurs-récepteurs série gigabit sont assez courants sur les puces haute vitesse. Par exemple, les protocoles PCIe, USB3.1, Thunderbolt et similaires utilisent tous un débit série de 10 gbit / s sur des paires individuelles.

Vous avez raison de dire que la logique "en vrac" ne peut pas suivre ce débit de données. Certes, les cœurs de processeur ne fonctionnent pas à cette fréquence, mais même la logique qui implémente des choses comme les interfaces PCIe ne peut pas fonctionner à cette vitesse. Au lieu de cela, ils utilisent des SERDES haute vitesse dédiés.

Les données sont acheminées avec l'IC dans de larges bus parallèles. Un matériel dédié effectue la conversion série-parallèle ou parallèle-série juste à côté de l'entrée / sortie. Le SERDES fait un minimum absolu de logique réelle. Les émetteurs sont très simples. Il aura une PLL pour générer l'horloge de données série haute vitesse et la logique parallèle à série. Les récepteurs sont plus compliqués, ils doivent effectuer une récupération d'horloge sur les données entrantes, ainsi qu'une détection de trame pour s'assurer que les bits sont correctement groupés. Dans l'ensemble, seul un tout petit peu de logique doit fonctionner à ultra-haute vitesse. Oui, les retards de propagation dans les transitions sont extrêmement importants et le circuit doit être soigneusement conçu pour que tous les signaux s'alignent correctement.


Et Thunderbolt ne fonctionne que de 20 à 40 gbit / s sur des fils de cuivre minces car les câbles sont actifs pour amplifier les signaux faibles et en tant que tels, assez chers.
chx

2

Beaucoup de liaisons Ethernet à 10 Go / s sont en fait optiques (par exemple 10GBASE-SR ou 10GBASE-LR, voir https://en.wikipedia.org/wiki/10_Gigabit_Ethernet ) bien qu'il existe également des câbles 10GBASE-T sur paire torsadée avec 8P8C ( Connecteurs 'RJ45') comme décrit par @horta. Autant que je sache, c'est assez gourmand en puissance par rapport aux variantes optiques.

Le transfert de données du CPU (ou plutôt de la mémoire) vers la carte Ethernet se fait généralement via le bus PCIe dans un ordinateur x86. Les voies PCIe Gen 1 ont un taux de transfert de données utilisable de 2 Gbit / s seconde (après l'encodage 8/10 bits). Avec 8 voies, le maximum théorique est de 16 Go / s (par direction), suffisant pour piloter un seul port Ethernet de 10 Go / s.

Le CPU dépose les données à transmettre dans la RAM, puis indique à la carte réseau où récupérer (DMA) et de même pour la réception, le CPU alloue des tampons et informe la carte réseau à ce sujet lorsqu'il génère alors généralement une interruption lorsque le tampon (s ) Ont été remplis. Notez que la bande passante vers la RAM est généralement beaucoup plus grande que celle du bus PCIe.

Aujourd'hui, nous avons PCIe Gen 3 largement disponible qui a un débit de données utilisable d'environ 8 Go / s par voie et par direction. Un emplacement à 16 voies peut théoriquement gérer 128 Go / s, ce qui est suffisant pour 100 Go / s Ethernet (PCIe Gen 4 a été annoncé officiellement récemment).

Ainsi, le «truc» pour atteindre un débit élevé à l'intérieur du PC (sans avoir à passer à des vitesses de signalisation exorbitantes) est d'utiliser des bus parallèles (RAM) ou plusieurs voies série (PCIe).

Pour Ethernet 100 Gbit / s, on a généralement quatre liaisons avec une vitesse de signalisation de 25 Go (100GBASE-SR4, 100GBASE-LR4, 100GBASE-CR4), il existe également des normes pour les câbles avec dix liaisons (par exemple des paires de fibres) de 10 Gbit / s (100GBASE-CR10, 100GBASE-SR10, 100GBASE-CR10). Pour les liaisons à plus longue distance, il existe également des normes utilisant une seule fibre, soit en utilisant quatre longueurs d'onde (100GBASE-CWDM4), soit en utilisant deux modes de polarisation et QPSK (100GBASE-ZR).

Pour des vitesses de liaison extrêmement élevées sur des liaisons longue distance (comme le câble transatlantique Marea avec 20 térabits / s par paire de fibres), on emballe autant d'émetteurs à différentes longueurs d'onde que possible dans la bande de longueur d'onde utilisable des fibres et des amplificateurs, également connue sous le nom de Dense Multiplexage par répartition en longueur d'onde (DWDM). Il est à noter qu'un tel multiplexeur / démultiplexeur est généralement un dispositif optique uniquement en son cœur et est alimenté par plusieurs flux à faible bande passante qui peuvent être traités électroniquement en parallèle.

Pour atteindre 20 TBit / s, on utilise également des techniques de modulation avancées où à chaque cycle d'horloge plusieurs amplitudes et phases peuvent être transmises (j'ai vu 64QAM dans un livre blanc ) transmettant ainsi plusieurs bits par cycle d'horloge, similaire à la norme 10GBASE-T décrit par @horta.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.