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?
Odpowiedzi:
Według Wikipedii :
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.
źródło
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.
źródło
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.
źródło