Длина кабеля USB против Ethernet

10

Я говорил с коллегой об ограничениях длины USB-кабеля, и насколько я помню, он был ограничен узким окном, в котором хост требует, чтобы устройство отвечало (упомянуто здесь ).

Он отметил, что Ethernet передает данные с более высокой скоростью ( USB 1,5 / 12/480/5000 Мбит / с (в зависимости от режима) по сравнению с Ethernet 10/100 Гбит / с) и допускает большую длину кабеля ( 100 м для кабеля CAT6 ).

Итак, я думаю, нам обоим интересно, какой аспект протокола USB ограничивает длину кабеля до 5 м и чем она отличается от Ethernet?

Люк Куинан
источник
3
ключевой аспект Ethernet, который вы ищете, называется «домен коллизий».
заполнитель
Сетевые коллизии @rawbrawb замедляют соединение Ethernet, но сеть Ethernet все еще может передавать данные от узла к маршрутизатору со скоростью 10 Гбит / с в идеальных условиях. У USB нет коллизий, насколько я понимаю, потому что хост решает, кто говорит; так что, похоже, столкновения не должны быть причиной.
Люк Куинэйн
Я обсуждал ТОЛЬКО Ethernet - кажется, что USB находится под контролем.
заполнитель
«... против 10/100 Гбит / с Ethernet) и допускает большую длину кабеля (100 м для кабеля CAT6)» - неверно. 10G Ethernet через CAT6 хорош только для 55M (см этой таблицы ), и 100G не может работать по витой паре на всех (см этой таблицы ). Я думаю, что вы путаете более низкие стандарты Ethernet (например, 1 гигабит).
марта

Ответы:

6

Согласно Википедии :

USB 2.0 обеспечивает максимальную длину кабеля 5 метров для устройств, работающих на высокой скорости (480 Мбит / с). Основной причиной этого ограничения является максимально допустимая задержка туда-обратно около 1,5 мкс. Если USB-команды хоста не получили ответа от устройства USB в течение разрешенного времени, хост считает команду потерянной. При добавлении времени отклика USB-устройства, задержек от максимального количества концентраторов, добавляемых к задержкам от подключения кабелей, максимально допустимая задержка на кабель составляет 26 нс. Спецификация USB 2.0 требует, чтобы задержка кабеля была менее 5,2 нс на метр (192 000 км / с, что близко к максимально достижимой скорости передачи для стандартного медного провода).

Таким образом, с задержкой на кабель 26 нс и спецификацией, требующей задержки кабеля менее 5,2 нс / м, это дает теоретическую максимальную длину кабеля 26 нс / (5,2 нс / м) = 5 м.

В этом источнике также упоминается, что USB 2.0 ограничен 5 м, а USB 3.0 - нет.

Маленький человек
источник
1
Я думаю, вопрос в том, почему они ограничивают максимальное время прохождения туда и обратно до 1,5 мкс? Первоначально я думал, что это из-за высокой скорости передачи данных, но Ethernet как-то избегает этой проблемы.
Люк Куинэйн
@LukeQuinane, я только что заметил причину, упомянутую чуть выше области в ссылке, которую вы разместили, usb.org/developers/usbfaq#cab1
PeterJ
@PeterJ это очень интересно. Любые идеи, как Ethernet избежать этой проблемы?
Люк Куинэйн
1
@ LukeQuinane, нет, я не знаю много о физическом уровне Ethernet. Я подозреваю, что общее решение для USB было принято, чтобы сохранить стоимость устройства как можно ниже, сохраняя простоту драйверов.
PeterJ
4
Оригинальный Ethernet был разработан в другую эпоху, когда были разные приоритеты и стоимость компонентов и сложности VS кабеля. USB разработан с минимально возможными затратами и минимальными затратами / разъемом / кабелем / потреблением энергии для Джо Блоггса и его iPhone.
Джон U,
6

USB был разработан для замены различных периферийных интерфейсов ПК, включая такие, как клавиатуры и мыши. Приоритеты включали низкую стоимость, низкое энергопотребление и пропуск трафика с высоким приоритетом с низкой задержкой. Поддержка длинных кабелей не была приоритетом. Таким образом, на стороне протокола они выбрали простой полудуплексный протокол «говори, когда говоришь» с пакетами небольшого размера. С аппаратной стороны они выбрали неизолированную систему дифференциальной сигнализации, которая приняла несколько комбинаций при завершении.

USB постепенно развивался, добавляя более высокие скорости и полный дуплекс, но большее расстояние никогда не было целью проектирования.

Ethernet (в его ранней форме) имел другой набор критериев проектирования. Он был разработан в качестве стандарта локальной сети, ни одна станция не была ведущей, и они выбрали систему множественного доступа с контролем несущей и обнаружением коллизий. Чтобы обеспечить правильное обнаружение коллизий, они накладывают ограничения как на минимальный размер пакета, так и на общий размер сети. Физический уровень был спроектирован с гораздо более тщательным завершением, чтобы гарантировать целостность сигнала даже при длительной работе. Существовал изолирующий барьер для защиты от проблем, вызванных разницей потенциалов заземления при длительных пробегах (витая пара использует трансформаторы, я полагаю, коаксиальный Ethernet использовал оптоизоляторы и преобразователи постоянного тока в постоянный)

CSMA / CD отлично работал в небольших локальных сетях 10 Мбит / с, но он начал демонстрировать нагрузку с ростом скорости и расширением сетей. Были введены мосты (позже известные как коммутаторы), позволяющие сети делиться на несколько доменов коллизий. Это позволило сделать сети больше ограничений, установленных CSMA / CD, а также позволило сосуществовать на нескольких скоростях.

Позже Ethernet отошел от CSMA / CD 1 и концентраторов к двухточечным дуплексным каналам и коммутаторам. Это позволяет использовать высокоскоростные соединения на большие расстояния, поскольку пакеты никогда не сталкиваются друг с другом.

За все это приходится платить, но физические уровни, которые могут работать на больших расстояниях, требуют значительно большей мощности и значительно более дорогих приемопередатчиков, чем те, которые предназначены только для работы на малых расстояниях. Буферы данных на конечных устройствах должны быть намного больше, чтобы иметь дело с потенциально длительным временем подтверждения и потенциальной потерей пакетов. Коммутаторы являются относительно сложными устройствами, часто включающими существенные объемы буферной памяти. Приоритизация требует, чтобы каждый коммутатор в цепочке должен был знать информацию о расстановке приоритетов.

1 Концентраторы со скоростью 10 Мбит / с и CSMA / CD были практически универсальными. В ранних развертываниях со скоростью 100 Мбит / с также использовались хабы и CSMA / CD. Позднее сети 100 Мбит / с имели тенденцию использовать полнодуплексные каналы и коммутаторы. В гигабитных стандартах использовались CSMA / CD и концентраторы, но я никогда не слышал, чтобы кто-то на самом деле продавал гигабитный концентратор. На 10 гигабит и выше CSMA / CD и поддержка концентратора вообще не существует.

Питер Грин
источник
2

Другим важным аспектом является то, что высокоскоростной Ethernet является дуплексным : используются две пары кабелей, по одной для каждого направления. USB полудуплексный : есть только одна пара, и он может использоваться только в одном направлении одновременно.

USB также требует подтверждения, а Ethernet - нет. Протоколы поверх него могут требовать подтверждения (TCP) или не требовать (потоковая передача UDP). Однако, поскольку он дуплексный, подтверждения могут отправляться по одной паре, не прерывая поток данных, идущий в другом направлении.

pjc50
источник
Также есть оконная часть TCP: TCP не ждет ACK. Вместо этого он просто продолжает отправлять данные, и если ACK пропадает, он отправляет данные повторно. Кроме того, TCP позволяет одному ACK подтверждать наличие нескольких дейтаграмм TCP.
AndrejaKo
«... высокоскоростной Ethernet в дуплексном режиме: используются две пары кабелей, по одной для каждого направления». - Это верно для 100 Мбит Ethernet, но не для Gigabit Ethernet (1000BASE-T), который использует четыре пары кабелей в обоих направлениях одновременно (см. Wikipedia / 1000BASE-T ).
марта