Довжина кабелю USB та Ethernet


10

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

Він зазначив, що Ethernet передає дані з більш високою швидкістю ( USB 1,5 / 12/480/5000 Мбіт / с (залежно від режиму) проти 10/100 Гбіт / с Ethernet) і дозволяє отримати більшу довжину кабелю ( 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 гігабіт).
marcelm

Відповіді:


6

За даними Вікіпедії :

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

Таким чином, із затримкою на кабель 26ns та специфікацією, яка вимагає затримки кабелю, бути менше 5,2ns / m, що дає теоретичну максимальну довжину кабелю 26ns / (5,2ns / m) = 5m.

Це джерело також згадує, що 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.
Джон У

6

USB був розроблений для заміни різних периферійних інтерфейсів для ПК, включаючи такі речі, як клавіатури та миші. Пріоритети включали низьку вартість, низьке енергоспоживання та пропускний трафік високого пріоритету з низькою затримкою. Підтримка великої довжини кабелю не була пріоритетною. Тож на стороні протоколу вони перейшли на простий напівдуплексний протокол "говорити, коли тебе говорять" з невеликими розмірами пакетів. З боку апаратного забезпечення вони розробили неізольовану диференціальну систему сигналізації, яка зайняла деякі комбінації клавіш по завершенню.

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

Ethernet (в ранньому вигляді) мав різний набір проектних критеріїв. Він був розроблений як стандарт локальної мережі, жодна станція не була майстром, і вони використовували систему множинного доступу з носієм зв'язку з виявленням зіткнень. Щоб забезпечити належне спрацювання виявлення зіткнень, вони встановлювали обмеження як на мініатюрний розмір пакету, так і на загальний розмір мережі. Фізичний рівень був розроблений з набагато більш ретельним завершенням, щоб забезпечити збереження цілісності сигналу навіть на тривалих дистанціях. Був ізоляційний бар'єр для захисту від проблем, спричинених різницею потенціалів заземлення в довгострокових періодах (кручена пара Ethernet використовує трансформатори, я вірю коаксіальним Ethernet, використовуючи оптоізолятори та перетворювачі постійного струму в постійний струм)

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

Пізніше Ethernet відійшов від CSMA / CD 1 та концентраторів у напрямку до пункту повного дуплексного зв'язку та комутаторів. Це дозволяє високошвидкісні міжміські зв’язки, оскільки пакети ніколи не можуть стикатися один з одним.

Хоча за все це варто заплатити, але фізичні шари, які можуть працювати на великих відстанях, потребують значно більшої енергії та, можливо, дорожчих приймачів, ніж ті, які призначені лише для роботи на невеликій відстані. Буфер даних, в кінцевому рахунку, пристрої повинні бути набагато більшими, щоб вирішити потенційно довгий час підтвердження та потенційну втрату пакету. Вимикачі - це досить складні пристрої, що часто включають значну кількість буферної пам'яті. Визначення пріоритетів вимагає, щоб кожен перемикач ланцюга повинен знати про інформацію про пріоритетність.

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


2

Ще один аспект, який є важливим, - це те, що високошвидкісний Ethernet є повнодуплексним : використовуються дві кабельні пари, по одному для кожного напрямку. USB є напівдуплексним : є лише одна пара, і його можна використовувати відразу в одному напрямку.

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


Також є частина вікон TCP: TCP не чекає ACK. Натомість він просто продовжує надсилати дані, і якщо ACK втрачається, він надсилає дані. На додаток до цього, TCP дозволяє для одного ACK розпізнавати кілька дейтаграм TCP.
AndrejaKo

"... високошвидкісна мережа Ethernet є повною дуплексністю: використовуються дві кабельні пари, по одному для кожного напрямку." - Це справедливо для 100 Мбіт Ethernet, але не для Gigabit Ethernet (1000BASE-T), який використовує чотири пари кабелів в обох напрямках одночасно (див. Wikipedia / 1000BASE-T ).
marcelm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.