Как физически возможно 10G Ethernet? [закрыто]


22

10-гигабитный Ethernet означает, что каждую секунду передается 10 миллиардов битов, но я не понимаю, как это физически возможно (не говоря уже о 100G Ethernet). Самые быстрые процессоры сегодня работают только на частоте ~ 8 ГГц, но даже если для передачи не требуется процессор, это все равно кажется проблематичным.

При 10G каждый бит длится всего 100 пикосекунд, и в этот промежуток времени я думаю, что задержки затвора становятся проблемой. Это не так просто, как установить высокую или низкую линию для каждого бита, конечно, для вывода сложной формы сигнала Ethernet требуются сотни транзисторов.

Это кажется еще большей проблемой на принимающей стороне, поскольку сигнал должен быть дискретизирован с очень высокой скоростью, и, если это использует АЦП, это вносит еще большую задержку.


6
Думаю, лучше всего было бы пойти и посмотреть технические документы?
Евгений Ш.

6
Посмотрите, как закодированы данные, подсказка: «волшебное» использование PAM16 требует гораздо меньше переходов.
PlasmaHH

10
8 ГГц * 64 бит = 512 Гбит / с. Так что на самом деле 10 Гбит / с далеко не так быстро, как процессор.
Том Карпентер

5
Большинство ваших предположений о том, как это работает, совершенно неверны - если бы это сработало так, как вы себе представляете, это, вероятно, было бы невозможно. Но это не так, и это так.
Крис Страттон

8
@ChrisStratton Я не согласен, что это не по теме. У нас есть много "Как работает X?" вопросы в архивах, а этот достаточно узок.
Адам Хаун

Ответы:


25

Погоня за этим ответом заняла несколько разных ссылок, но, похоже, все сводится к следующему:
1. 4 дифференциальных пары (всего 8 проводов, но только 4 полосы).
2. 800 мега символов в секунду.
3. Используя PAM16, используется 16 символов, что переводится в 4 бита на бод на линию.

Учитывая эту информацию, вы получаете 4 бита * 800 МГц * 4 полосы, что приводит к 12800 Мбит / с или 12,8 Гбит / с. Из-за кодирования исправления ошибок и других издержек они ожидают от вас только 10 Гбит / с.

Обратите внимание, что сами провода меняют только символы или амплитуду на частоте 800 МГц. Это довольно хорошо, с точки зрения скорости переключения транзисторов.


Теперь это все для 10Gb Ethernet. То, как они это делают для 100Gb Ethernet, немного ошеломляет. Для этого кажется, что они действительно накачивают частоту до 10,3 ГГц или 25 ГГц . КАКОГО ЧЕРТА? Смотри здесьдля этого стола. Разница в частоте связана с тем, сколько линий данных по медным парам вы выберете. Было бы интересно узнать, сделал ли кто-нибудь фактически этот 25 ГГц Ethernet в меди. Возможно, они только уточнили это. Когда вы начинаете переходить на эти частоты, ваши кабели либо должны быть очень короткими, либо вы просто переключаетесь на волоконную оптику, где вы можете отправлять сотни световых пучков по одному волокну. Таким образом, вам не нужно идти на сумасшедших скоростях, вы просто распараллеливаете свои данные в источнике и депараллелизуете их в месте назначения.

Ссылки, если вы хотите посмотреть его подробнее: https://en.wikipedia.org/wiki/10_Gigabit_Ethernet#Copper
https://en.wikipedia.org/wiki/Pulse-amplitude_modulation
http://www.cablinginstall.com/ статьи / печать / том 15 / выпуск-7 / функции / технология / витая пара-опции-для-10-гигабит-ethernet.html
https://en.wikipedia.org/wiki/Differential_signaling


1
@HaLailahHaZeh Даже если они не нашли способ кодировать эту эффективную частоту. 12,8 ГГц не является неслыханным из каналов связи между процессорами в системе.
Орта

2
@HaLailahHaZeh Кстати, ваш комментарий выше идет против того документа, который вы связали: частота модуляции составляет 800 Мбод, поэтому частота Найквиста составляет 400 МГц . Вы не умножаете частоту на количество уровней напряжения. Это означает, что кабеля, способного передавать частоты до ~ 500 МГц, будет достаточно.
uint128_t

1
@HaLailahHaZeh 16 отдельных напряжений - это 4 бита, а не 16 бит.
user253751

2
Проклятье. Я проверил все типы -CX4 и -KX4 перед публикацией. Не понял, что там была 10GBase-T.
Фотон

1
@HaLailahHaZeh: PAM-16 использует 16 отдельных напряжений, но только одно напряжение передается в течение каждого символа времени. С 10GBASE-T, 800 мс / с означает, что напряжение каждого провода изменяется каждые 1,25 наносекунды. Спасибо за технический документ; это полезно
Дэвидкари

14

Ethernet 10G (как описано в других ответах) не выполняет переходы сигналов на частоте 10 ГГц, он использует многоуровневое кодирование с разбросом по 4 парам для достижения скорости 10 Гбит / с.

Однако 10-гигабитные последовательные приемопередатчики довольно распространены на высокоскоростных чипах. Например, PCIe, USB3.1, Thunderbolt и аналогичные протоколы используют последовательную скорость 10 Гбит / с для отдельных пар.

Вы правы, что «объемная» логика не справляется с такой скоростью передачи данных. Конечно, ядра процессора не работают на этой частоте, но даже логика, реализующая такие вещи, как интерфейсы PCIe, не может работать с такой скоростью. Вместо этого они используют специальные высокоскоростные SERDES.

Данные направляются с IC по широким параллельным шинам. Выделенное аппаратное обеспечение выполняет преобразование последовательного в параллельное или параллельное в последовательное соединение прямо возле входа / выхода. SERDES делает абсолютный минимум фактической логики. Передатчики очень просты. Он будет иметь ФАПЧ для генерации высокоскоростных тактовых последовательных данных и параллельной последовательной логики. Приемники являются более сложными, они должны выполнять восстановление тактовых импульсов для входящих данных, а также обнаружение кадров, чтобы убедиться, что биты сгруппированы правильно. В общем, только небольшая часть логики должна работать на сверхвысокой скорости. Да, задержки распространения через переходы чрезвычайно важны, и цепь должна быть тщательно спроектирована так, чтобы все сигналы выстраивались правильно.


И Thunderbolt работает только на 20-40 Гбит / с на тонких медных проводах, потому что кабели активны для усиления слабых сигналов и, как таковые, довольно дорогие.
chx

2

Множество 10 Гбит / с Ethernet-соединений фактически являются оптическими (например, 10GBASE-SR или 10GBASE-LR, см. Https://en.wikipedia.org/wiki/10_Gigabit_Ethernet ), хотя существует также 10GBASE-T по кабелям витой пары с 8P8C ( 'RJ45') разъемы, как описано в @horta. Насколько я знаю, это достаточно энергоемко по сравнению с оптическими вариантами.

Передача данных из ЦП (или, скорее, из памяти) на карту Ethernet обычно происходит через шину PCIe в компьютере на базе x86. Каналы PCIe Gen 1 имеют полезную скорость передачи данных 2 Гбит / с (после кодирования 8/10 бит). При 8 линиях теоретический максимум составляет 16 Гбит / с (в каждом направлении), что достаточно для подключения одного порта Ethernet 10 Гбит / с.

ЦП помещает данные, которые должны быть переданы в ОЗУ, а затем инструктирует сетевую карту, где взять данные (DMA) и, аналогично, для приема ЦП выделяет буферы и информирует об этом сетевую карту, когда обычно генерирует прерывание, когда буфер (ы) ) были заполнены. Обратите внимание, что пропускная способность для ОЗУ обычно намного больше, чем пропускная способность шины PCIe.

Сегодня у нас есть широко доступный PCIe Gen 3, который имеет полезную скорость передачи данных около 8 Гбит / с на линию и направление. Слот на 16 линий теоретически может обрабатывать 128 Гбит / с, что достаточно для Ethernet 100 Гбит / с (PCIe Gen 4 был официально анонсирован недавно).

Таким образом, «хитрость» для достижения высокой пропускной способности внутри ПК (без необходимости использовать непомерную скорость передачи сигналов) заключается в использовании параллельных шин (RAM) или нескольких последовательных линий (PCIe).

Для Ethernet 100 Гбит / с каждый обычно имеет четыре канала со скоростью передачи 25 ГБод (100GBASE-SR4, 100GBASE-LR4, 100GBASE-CR4), также существуют стандарты для кабелей с десятью каналами (например, оптоволоконные пары) 10 Гбит / с. (100GBASE-CR10, 100GBASE-SR10, 100GBASE-CR10). Для более длинных линий связи также существуют стандарты, использующие только одно волокно, либо с использованием четырех длин волн (100GBASE-CWDM4), либо с использованием двух режимов поляризации и QPSK (100GBASE-ZR).

Для чрезвычайно высоких скоростей передачи по длинным линиям связи (таким как трансатлантический кабель Marea со скоростью 20 терабит / с на пару волокон) можно упаковать как можно больше передатчиков на разных длинах волн в используемую полосу длин волн волокон и усилителей, также известную как Dense Мультиплексирование с разделением по длине волны (DWDM). Следует отметить, что такой мультиплексор / демультиплексор, как правило, является оптическим устройством в своей основе и питается несколькими потоками с более низкой пропускной способностью, которые могут обрабатываться в электронном виде параллельно.

Для достижения скорости 20 Тбит / с можно использовать передовые методы модуляции, при которых в каждом такте можно передавать несколько амплитуд и фаз (я видел 64QAM в техническом документе ), поэтому передаются несколько битов за тактовый цикл, аналогично стандарту 10GBASE-T. описывается @horta.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.