Como a Ethernet 10G é fisicamente possível? [fechadas]

22

Ethernet de 10 gigabits significa que 10 bilhões de bits são transmitidos a cada segundo, mas não entendo como isso é fisicamente possível (sem falar na Ethernet 100G). Atualmente, as CPUs mais rápidas funcionam apenas a ~ 8GHz, mas mesmo que a transmissão não exija uma CPU, ainda parece problemática.

No 10G, cada bit dura apenas 100 picossegundos e, nesse período, eu pensaria que os atrasos nos gateways se tornariam um problema. Não é tão simples como definir uma linha alta ou baixa para cada bit; certamente centenas de transistores são necessários para gerar a complicada forma de onda Ethernet.

Isso parece ser um problema ainda maior no lado receptor, já que a forma de onda deve ser amostrada em uma taxa muito alta e, se ela usa ADCs, isso introduz ainda mais atraso.

HaLailah HaZeh
fonte
6
Acho que a melhor aposta seria procurar artigos técnicos?
Eugene Sh.
6
Dê uma olhada em como os dados são codificados, dica: o uso do PAM16 "magicamente" faz com que você precise de muito menos transições.
precisa saber é o seguinte
10
8GHz * 64bit = 512Gbps. Então, na verdade, 10 Gbps não chega nem perto da velocidade da CPU.
Tom Carpenter
5
A maioria de suas suposições sobre como isso funciona está completamente errada - se funcionasse como você imagina, provavelmente não seria possível. Mas não, e é.
Chris Stratton
8
@ ChrisStratton Não concordo que isso seja fora de tópico. Temos muitos "Como o X funciona?" perguntas nos arquivos, e essa é razoavelmente estreita.
Adam Haun

Respostas:

25

A busca dessa resposta levou alguns links diferentes, mas parece resumir-se a isso:
1. 4 pares diferenciais (8 fios no total, mas apenas 4 faixas).
2. 800 mega símbolos por segundo.
3. Utilizando o PAM16, são utilizados 16 símbolos que se traduzem em 4 bits por transmissão por faixa.

Dada essa informação, você cria faixas de 4 bits * 800 Mhz * 4, o que resulta em 12800 Mb / s ou 12,8 Gb / s. Devido à codificação da correção de erros e outras sobrecargas, eles esperam apenas que você obtenha 10 Gb / s.

Observe que os próprios fios estão apenas alterando símbolos ou amplitude na frequência de 800 MHz. Isso é bastante meh, em termos de velocidades de comutação para transistores.


Agora isso é tudo para 10Gb Ethernet. Como eles fazem isso para Ethernet de 100Gb é um pouco mais impressionante. Para isso, parece que eles realmente aumentam a frequência para 10,3 GHz ou 25GHz . O QUE O DIABO? Veja aquipara essa mesa. A diferença de frequência se deve a quantas faixas de dados de pares de cobre você escolhe. Seria interessante saber se alguém realmente fez essa Ethernet de 25GHz em cobre. É possível que eles apenas tenham especificado. Quando você começa a chegar a essas frequências, seus cabos precisam ser muito curtos ou você passa para a fibra óptica, onde é possível enviar centenas de feixes de luz por uma única fibra. Dessa forma, você não precisa ir a velocidades absurdas, apenas paralela seus dados na fonte e os paralelos no destino.

Referências, se você quiser ver mais detalhes: 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 / opções de par trançado para 10 gigabit-ethernet.html
https://en.wikipedia.org/wiki/Differential_signaling

horta
fonte
1
@HaLailahHaZeh Mesmo que não tenham encontrado uma maneira de codificar essa frequência efetiva. 12,8 GHz não é inédito nos canais de comunicação entre CPUs em um sistema.
precisa
2
@HaLailahHaZeh BTW, seu comentário acima vai contra o documento que você vinculou: a taxa de modulação é de 800Mbaud, portanto, a frequência Nyquist é de 400 MHz . Você não multiplica a frequência pelo número de níveis de tensão. Isso significa que o cabeamento capaz de transportar frequências de até ~ 500 MHz será suficiente.
uint128_t
1
@HaLailahHaZeh 16 tensões separadas são 4 bits, não 16 bits.
usar o seguinte comando
2
Droga. Verifiquei todos os tipos -CX4 e -KX4 antes de postar. Não sabia que havia um 10GBase-T.
O fóton
1
@HaLailahHaZeh: O PAM-16 usa 16 tensões separadas, mas apenas uma tensão é transmitida durante cada símbolo. Com 10GBASE-T, os 800 MSymbols / s significam que a tensão de cada fio muda a cada 1,25 nanossegundo. Obrigado pelo whitepaper; é útil.
Davidcary
14

A Ethernet 10G (como descrito por outras respostas) não realiza transições de sinal a 10 GHz, usa codificação de múltiplos níveis espalhados por 4 pares para atingir 10 Gb / s.

No entanto, transceptores seriais de mais de 10 gigabits são bastante comuns em chips de alta velocidade. Por exemplo, PCIe, USB3.1, Thunderbolt e protocolos similares usam taxa de serial de 10 gbit / s em pares individuais.

Você está certo de que a lógica "em massa" não pode acompanhar essa taxa de dados. Certamente os núcleos da CPU não operam nessa frequência, mas mesmo a lógica que implementa coisas como as interfaces PCIe não pode operar nessa velocidade. Em vez disso, eles usam SERDESs dedicados de alta velocidade.

Os dados são roteados com o IC em barramentos paralelos largos. Uma peça de hardware dedicada faz a conversão serial-paralela ou paralela-serial exatamente junto à entrada / saída. O SERDES faz um mínimo absoluto da lógica real. Os transmissores são muito simples. Ele terá um PLL para gerar o relógio de dados seriais de alta velocidade e a lógica paralela à serial. Os receptores são mais complicados, precisam recuperar o relógio nos dados recebidos e também detectar o enquadramento para garantir que os bits estejam agrupados corretamente. Em suma, apenas um pouquinho de lógica precisa operar em velocidade ultra-alta. Sim, os atrasos de propagação através das transições são extremamente importantes, e o circuito deve ser cuidadosamente projetado para que todos os sinais se alinhem adequadamente.

Evan
fonte
E o Thunderbolt funciona apenas de 20 a 40 gbit / s em fios finos de cobre porque os cabos estão ativos para amplificar os sinais fracos e, como tal, bastante caros.
chx
2

Muitos links Ethernet de 10 GBit / s são realmente ópticos (por exemplo, 10GBASE-SR ou 10GBASE-LR, consulte https://en.wikipedia.org/wiki/10_Gigabit_Ethernet ), embora também haja 10GBASE-T sobre cabos de par trançado com 8P8C ( 'RJ45') conforme descrito por @horta. Tanto quanto eu sei, isso tem muita energia em comparação com as variantes ópticas.

A transferência de dados da CPU (ou melhor, da memória) para a placa Ethernet ocorre geralmente através do barramento PCIe em um computador baseado em x86. As faixas PCIe Gen 1 têm uma taxa de transferência de dados utilizável de 2 Gbit / s por segundo (após a codificação de 8/10 bits). Com 8 pistas, o máximo teórico é de 16 GBit / s (por direção), suficiente para conduzir uma única porta de 10 GBit / s Ethernet.

A CPU deposita os dados a serem transmitidos na RAM e, em seguida, instrui a placa de rede onde buscar (DMA) e, similarmente, para recepção, a CPU aloca buffers e informa a placa de rede sobre isso quando normalmente gera uma interrupção quando o buffer (s) ) foram preenchidos. Observe que a largura de banda para a RAM geralmente é muito maior que a do barramento PCIe.

Hoje, temos o PCIe Gen 3 amplamente disponível, com taxa de dados utilizável de aproximadamente 8 GBit / s por faixa e direção. Um slot de 16 pistas pode, teoricamente, lidar com 128 GBit / s, suficiente para 100 GBit / s Ethernet (o PCIe Gen 4 foi anunciado oficialmente recentemente).

Portanto, o 'truque' para obter alta taxa de transferência dentro do PC (sem a necessidade de velocidades exorbitantes de sinalização) é usar barramentos paralelos (RAM) ou múltiplas vias seriais (PCIe).

Para Ethernet de 100 Gbit / s, normalmente há quatro links com velocidade de sinalização de 25 GBaud (100GBASE-SR4, 100GBASE-LR4, 100GBASE-CR4), também existem padrões para cabos com dez links (por exemplo, pares de fibras) de 10 Gbit / s (100GBASE-CR10, 100GBASE-SR10, 100GBASE-CR10). Para links de longa distância, também existem padrões usando apenas uma fibra, usando quatro comprimentos de onda (100GBASE-CWDM4) ou usando dois modos de polarização e QPSK (100GBASE-ZR).

Para velocidades de link extremamente altas em links de longo curso (como o cabo transatlântico Marea com 20 Terabit / s por par de fibra), é embalado o maior número possível de transmissores em diferentes comprimentos de onda na faixa de comprimento de onda utilizável das fibras e amplificadores, também conhecido como Denso Multiplexagem por divisão de comprimento de onda (DWDM). Observe que esse multiplexador / desmultiplexador é tipicamente um dispositivo óptico apenas em seu núcleo e é alimentado por vários fluxos de largura de banda inferior que podem ser processados ​​eletronicamente em paralelo.

Para atingir 20 TBit / s, também é possível usar técnicas avançadas de modulação, nas quais, a cada ciclo do relógio, várias amplitudes e fases podem ser transmitidas (vi 64QAM em um white paper ), transmitindo vários bits por ciclo de clock, semelhante ao padrão 10GBASE-T descrito por @horta.

Andre Holzner
fonte