Długość kabla USB vs Ethernet

10

Rozmawiałem z kolegą o ograniczeniach długości kabla USB i, o ile pamiętałem, było to ograniczone przez ciasne okno, w którym host wymaga odpowiedzi urządzenia (wspomnianego tutaj ).

Zaznaczył, że Ethernet przesyła dane z większą prędkością ( USB 1,5 / 12/480/5000 Mbit / s (w zależności od trybu) w porównaniu z Ethernetem 10/100 Gb / s) i pozwala na dłuższą długość kabla ( 100 m dla kabla CAT6 ).

Myślę, że oboje zastanawiamy się, który aspekt protokołu USB ogranicza długość kabla do 5 m i czym różni się on od Ethernetu?

Luke Quinane
źródło
3
kluczowym aspektem sieci Ethernet, której szukasz, jest „domena kolizyjna”.
symbol zastępczy
Kolizje sieciowe @rawbrawb spowolniłyby łącze Ethernet, ale sieć Ethernet nadal może przesyłać węzeł do routera z prędkością 10 Gb / s w idealnych warunkach. USB nie ma kolizji, jak rozumiem, ponieważ to host decyduje, kto mówi; więc wydaje się, że kolizje nie powinny być przyczyną.
Luke Quinane
Rozmawiałem TYLKO o Ethernecie - wydaje się, że masz kontrolę nad USB.
symbol zastępczy
„... w porównaniu z Ethernetem 10/100 Gb / s) i pozwala na dłuższy kabel (100 m dla kabla CAT6)” - Niepoprawnie. 10G Ethernet przez CAT6 jest dobre tylko na 55m (zobacz tę tabelę ) i 100G nie można uruchomić skrętką w ogóle (patrz tej tabeli ). Myślę, że mylisz standardy sieci Ethernet o niższej prędkości (takie jak 1 gigabit).
marcelm

Odpowiedzi:

6

Według Wikipedii :

USB 2.0 zapewnia maksymalną długość kabla 5 metrów dla urządzeń pracujących z wysoką prędkością (480 Mbit / s). Głównym powodem tego limitu jest maksymalne dozwolone opóźnienie w obie strony około 1,5 μs. Jeśli urządzenie USB nie odpowie na polecenia hosta USB w dozwolonym czasie, host uważa, że ​​polecenie zostało utracone. Po dodaniu czasu reakcji urządzenia USB, opóźnień od maksymalnej liczby koncentratorów dodanych do opóźnień z podłączania kabli, maksymalne dopuszczalne opóźnienie na kabel wynosi 26 ns. Specyfikacja USB 2.0 wymaga, aby opóźnienie kabla było mniejsze niż 5,2 ns na metr (192 000 km / s, co jest bliskie maksymalnej osiągalnej prędkości transmisji dla standardowego drutu miedzianego).

Zatem przy opóźnieniu na kabel wynoszącym 26ns i wymaganiu, aby opóźnienie kabla było mniejsze niż 5,2ns / m, daje to teoretyczną maksymalną długość kabla 26ns / (5,2ns / m) = 5m.

To źródło wspomina również, że USB 2.0 jest ograniczony do 5 m, ale USB 3.0 nie.

Mały człowiek
źródło
1
Myślę, że pytanie brzmi: dlaczego ograniczyli maksymalny czas podróży w obie strony do 1,5 μs? Początkowo myślałem, że to z powodu wysokiej prędkości transferu, ale ethernet jakoś unika tego problemu.
Luke Quinane
@LukeQuinane, właśnie zauważyłem, że powód jest wymieniony tuż nad obszarem w opublikowanym linku, usb.org/developers/usbfaq#cab1
PeterJ
@PeterJ to bardzo interesujące. Jakieś pomysły, w jaki sposób ethernet unika tego problemu?
Luke Quinane
1
@LukeQuinane, nie, nie wiem wiele o fizycznej warstwie Ethernet. Podejrzewam jednak, że ogólna decyzja dotycząca USB została podjęta, aby utrzymać koszty urządzenia na możliwie najniższym poziomie, utrzymując proste sterowniki.
PeterJ
4
Oryginalna sieć Ethernet została zaprojektowana w innej erze, kiedy istniały różne priorytety i koszty komponentów i złożoności kabla VS. USB został zaprojektowany bardzo z myślą o Joe Bloggs i jego iPhonie, mając na uwadze najniższy możliwy koszt i najmniejsze zużycie powierzchni / złącze / kabel / moc.
John U
6

USB zaprojektowano z myślą o zastąpieniu różnych interfejsów okołozębowych komputerów PC, w tym takich jak klawiatury i myszy. Priorytety obejmowały niski koszt, niskie zużycie energii i przekazywanie ruchu o wysokim priorytecie przy niskim opóźnieniu. Obsługa długich kabli nie była priorytetem. Tak więc po stronie protokołu wybrali prosty protokół half duplex „mów, kiedy mówimy do” z małymi rozmiarami pakietów. Po stronie sprzętowej wybrali nieizolowany różnicowy system sygnalizacji, który przy skracaniu terminów wymagał pewnych skrótów.

USB stopniowo ewoluowało, aby dodać wyższe prędkości i pełny dupleks, ale większa odległość nigdy nie była celem projektowym.

Ethernet (w jego wczesnej formie) miał inny zestaw kryteriów projektowych. Został zaprojektowany jako standard sieci lokalnej, żadna stacja nie była nadrzędna i wybrali system wielokrotnego dostępu operatora z wykrywaniem kolizji. Aby zapewnić prawidłowe wykrywanie kolizji, nałożyli ograniczenia zarówno na minimalny rozmiar pakietu, jak i całkowity rozmiar sieci. Warstwa fizyczna została zaprojektowana z dużo bardziej ostrożnym zakończeniem, aby zapewnić integralność sygnału nawet podczas długich przebiegów. Istniała bariera izolacyjna chroniąca przed problemami spowodowanymi różnicami potencjałów uziemienia w długich seriach (skrętka Ethernet wykorzystuje transformatory, wierzę, że ethernet koncentryczny stosuje optoizolatory i przetworniki DC na DC)

CSMA / CD działał dobrze na małych sieciach LAN 10 Mb / s, ale zaczął wykazywać obciążenie w miarę wzrostu prędkości i powiększania sieci. Wprowadzono mosty (później znane jako przełączniki), które umożliwiają podział sieci na wiele domen kolizyjnych. Pozwoliło to na zwiększenie sieci powyżej limitów narzuconych przez CSMA / CD, a także na współistnienie wielu prędkości.

Później Ethernet odszedł od CSMA / CD 1 i koncentratorów w kierunku łączy i przełączników full duplex punkt-punkt. Umożliwia to szybkie łącza dalekobieżne, ponieważ pakiety nigdy nie mogą się ze sobą kolidować.

Za to wszystko trzeba jednak zapłacić, ponieważ warstwy fizyczne, które mogą pracować na duże odległości, wymagają znacznie większej mocy i znacznie droższych urządzeń nadawczo-odbiorczych niż te, które są przeznaczone do pracy tylko na krótkim dystansie. Bufory danych na końcu urządzeń muszą być znacznie większe, aby poradzić sobie z potencjalnie długim czasem potwierdzenia i potencjalną utratą pakietów. Przełączniki są urządzeniami stosunkowo złożonymi, często zawierającymi znaczne ilości pamięci buforowej. Określanie priorytetów wymaga, aby każdy przełącznik w łańcuchu był świadomy informacji o ustalaniu priorytetów.

1 Przy prędkości 10 Mb / s koncentratory i CSMA / CD były dość uniwersalne. Wczesne wdrożenia 100 Mb / s również intensywnie używane koncentratory i CSMA / CD. Później sieci 100 Mb / s używały łączy i przełączników full duplex. W gigabit standardy obejmowały CSMA / CD i huby, ale nigdy nie słyszałem o nikim, kto faktycznie sprzedawałby hub gigabitowy. Przy 10 gigabitach i więcej CSMA / CD i hub nie obsługują wcale.

Peter Green
źródło
2

Innym ważnym aspektem jest to, że szybki Ethernet ma pełny dupleks : są używane dwie pary kabli, po jednej dla każdego kierunku. USB jest half duplex : jest tylko jedna para i może być używana tylko w jednym kierunku jednocześnie.

USB wymaga również potwierdzenia, podczas gdy Ethernet nie. Protokoły na nim mogą wymagać potwierdzenia (TCP) lub nie (strumieniowanie UDP). Jednak ponieważ jest to pełny dupleks, potwierdzenia mogą być wysyłane jedną parą bez przerywania strumienia danych idącego w innym kierunku.

pjc50
źródło
Jest też część okienkowa TCP: TCP nie czeka na ACK. Zamiast tego po prostu wysyła dane, a jeśli ACK zaginie, ponownie wysyła dane. Oprócz tego protokół TCP pozwala jednemu ACK potwierdzać wiele datagramów TCP.
AndrejaKo,
„... szybki Ethernet jest pełny dupleks: zastosowano dwie pary kabli, po jednej dla każdego kierunku”. - Dotyczy to Ethernetu 100 Mb, ale nie Gigabit Ethernet (1000BASE-T), który używa czterech par kabli w obu kierunkach jednocześnie (patrz wikipedia / 1000BASE-T ).
marcelm